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.

Implementing an AES cryptographic algorithm

Status
Not open for further replies.

Binome

Full Member level 3
Joined
Nov 16, 2009
Messages
152
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Location
Lyon, France
Activity points
2,405
Hi,
I need to implement a VHDL AES algorithm on a DE0-Nano boad. As I'm not a cryptographic expert I'd like to find an existing and easy-to-use implementation. I've found several on the internet but I don't know which one I should use.
Can someone tell me what is important to look at or if they know a good implementation I could use?
Thanks.
 

dpaul

Advanced Member level 4
Joined
Jan 16, 2008
Messages
1,480
Helped
307
Reputation
614
Reaction score
303
Trophy points
1,373
Location
Germany
Activity points
11,081
I think you can trust the ones at opencores.org under the section "Crypto core". Best would be to go with the OCCP certified ones (personally I have never used any of them).
 

wesleytaylor

Full Member level 5
Joined
May 1, 2014
Messages
284
Helped
29
Reputation
58
Reaction score
24
Trophy points
18
Activity points
2,671
Binome,

First you need to understand what your requirement is.

What size key are you going to be using?

Are you going to be using EBC, CBC ...etc mode.

Open cores has some crypto cores that allow variable keylength. I believe they are EBC mode, however you can easily turn them into CBC by chaining (xor previous output with new input)

CBC is more secure because if you have a repeating 128 bit input with EBC mode then a pattern starts to emerge.


When testing you can generate your test vectors and validate them with the following website
https://aes.online-domain-tools.com/
 

Binome

Full Member level 3
Joined
Nov 16, 2009
Messages
152
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Location
Lyon, France
Activity points
2,405
I don't really have hard requirements, it's for testing. The 128-bit keysize seems more frequent and the operating mode is whatever. I need something that could be incorporated in a simple top-level design and used in no time.
 

rac70

Junior Member level 1
Joined
Jan 7, 2015
Messages
15
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
128
there are so many cores in opencores which are supporting 128 bit but they are with out any modes, under the name of crypt to core.
 

Binome

Full Member level 3
Joined
Nov 16, 2009
Messages
152
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Location
Lyon, France
Activity points
2,405
I've downloaded avs_aes as it's certified (another one is certified but it's in verilog and I'm using VHDL). For now I can't find a simple explanation on what I should do to use it (a chronogram for example). I'm reading the documentation...
 

rac70

Junior Member level 1
Joined
Jan 7, 2015
Messages
15
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
128
I've downloaded avs_aes as it's certified (another one is certified but it's in verilog and I'm using VHDL). For now I can't find a simple explanation on what I should do to use it (a chronogram for example). I'm reading the documentation...

yes, mostly you can find verilog cores, if you want to understand the AES implementation NIST FIPS 197 is the standard documentation.
 

Binome

Full Member level 3
Joined
Nov 16, 2009
Messages
152
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Location
Lyon, France
Activity points
2,405
Yes I've mostly understood that standard but I'd like to have a component implementing it.
 

wesleytaylor

Full Member level 5
Joined
May 1, 2014
Messages
284
Helped
29
Reputation
58
Reaction score
24
Trophy points
18
Activity points
2,671
There shall be AES variable keylength...try that core
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top