Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Tips for implementing cryptosystems on FPGA

Status
Not open for further replies.

gnudaemon

Member level 1
Joined
Sep 16, 2004
Messages
33
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
338
I'm currently involved in a project implementing cryptosystems on FPGA.
Anybody out there has experience with this before? Like implementing DES, RSA, ECC, etc...
I am seeking directions for constructing individual modules of this system.
Thanks
 

research fpga ecc

And what are you asking for? If you ask more specificly, I may have some answers.

BR,
/Farhad
 
Crypto on FPGA

Hi,
I want to know the procedure to construct such system. How would I start? Would you plot out some milestones as a guidance for me?
In particular, I'm going to build Elliptic Curve cryptosystem in Xilinx board.
I have done some research from internet and gathered papers about similar projects. They often broke down their system into modules like multipliers and adders. You have any ideas about this?
Pls help :)
 

Re: Crypto on FPGA

Hi gnudaemon,

The main block in all of these designs is the DES the ECC, ECB .. etc are just a connection of the DES module.

There is a DES module available on Xilinx Application note xapp270 but it was targetted to Virtex FPGA and it is fully pipelined you can adjust it to make it fit on Spartan-II easily
 

Re: Crypto on FPGA

Hi bibo,
I don't think there is any relation between ECC and DES. ECC use different mechanism for key generation. Based on my understanding, the difficulty of ECC implementation in FPGA is to optimise those adders and multipliers structure. The ultimate goal of this is calculate A=kB, I believe.
 

Re: Crypto on FPGA

Hi gnudaemon

I am not sof familiar with ECC but in most cases when I work with complex caculations in FPGA, I start with creating a peudo code for what I want to do.

In some cases, like this one, if you have access to the MathLab->VHDL toolbox, you can specify your problem in Mathlab and then convert it to VHDL, it will give you some help to start with and you can clean up the VHDL code afterwards.

The second idea is to try to identify the areas of the calculation that can be pipelined, and breaking those pieces out of your code.

I don't this was a great help, but if I knew the concept of ECC, I could help you weith more specific answer.

BR,
/Farhad
 

Re: Crypto on FPGA

Have a look at h**p://www.opencores.org. They have free DES encoder/decocoder(Verilog).
I used it in my project.
 

Crypto on FPGA

the IP of opencore site is too simple to use in practice. if u want to develop a cryptosystem, i think u can find some good papers on the google.
 

Crypto on FPGA

DES is a Symmetric-key encryption algorithm, which is easy to implemented. You may find some open sources on the net or do your own in 1~2 weeks if you are familiar with digital design.
ECC, Elliptic Curve Cryptosystems, is a public-key encryption (nothing related to DES), which is fairly difficult to be implemented for a newbee. Before your start, some basic mathematical and cryptographical knowledge are needed. Some resources for you:
1. chapter 2 & 4 in _Handbook of Applied Cryptography_, (search google for the free pdf copy)
2. _An Overview of Elliptic Curve Cryptography_ , a paper by Julio Lopez
3. _IEEE Std 1363-2000: IEEE Standard Specifications for Public-Key Cryptography_
4. search on https://citeseer.ist.psu.edu/cs, many papers on FPGA based crypto design.
RSA is another very popular pub-key algo, which is easier than ECC.
Both RSA and ECC on prime field ( GF(p) ) need large integer modular calculations, including modular exponent ( m^d mod n) and modular multiplication (x * y mod n), which are the key parts of the design. Most paper focus on how to do them fast and economically.
ECC can also operate on binary field (GF(2^m) ), which may be easier than GF(p).
 

Re: Crypto on FPGA

What vale said is pretty well.
Normally,for RSA algo,1024bit/2048bit large integer modular exponent and modular multiplication co-process module implement is OK.
For prime field ECC,its co-process module architechture is similar with RSA,but is more quick and easier for its less bit length.
For binary field ECC,over Polynomial's hardware implement is easier than GF(p).I mean field element calculate such as field element addition,multiplication,square and inversion.For curve's point calculate,I think mcu do it would be better.
 

Re: Crypto on FPGA

gnudaemon said:
I'm currently involved in a project implementing cryptosystems on FPGA.
Anybody out there has experience with this before? Like implementing DES, RSA, ECC, etc...
I am seeking directions for constructing individual modules of this system.
Thanks

You know CAM modules for STBs are a kind of crtposystem realized by CPLD or FPGA.
Buy one CAM and try to hack it.
 

Re: Crypto on FPGA

Legend - to what Atmaca is refering to:
CAM - Satellite Conditional Access Module - used to calc correct Keys from a Satellite Crypto Smart Card
STB - Satellite Set Top Box
 

Re: Crypto on FPGA

Hi
the DES module is available in the net. You can get it by seach in google. The samll modules of RSA and ECC are also you can get in the Internet. But RSA and ECC Implementation in FPGA is an active research area. Till now there is only one concrete research papaer on RSA is available by T.Blum. Regarding ECC in FPGA there are number of papers and class notes are available in the Internet.
you can get some information at **broken link removed**. and **broken link removed**
He is one of the poineer in the area of VLSI and FPGA implementation of Cryptographic algorithms

--moorthi
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top