How do I implement AES on Atmega 2560?
Can it handle it?
How do I implement AES on Atmega 2560?
Can it handle it?
Of course it can:
http://avrcryptolib.das-labor.or...
Atmel have an app note about an AES bootloader that is probably also worth a look.
Is it better to use AES 128 or AES 192 or AES 256?
Please define "better"!
Smaller code?
Faster execution?
More secure?
Something else?
Jim
Well, I suppose AES 128 gives smaller code, and I am not concerned encryption strength.. so, I mean in terms of execution time and ease of use..
AES128 should be good enough (unless you're storing/sending some nuclear launch code over your AVR)
as far as execution time, AES128 is definitely the fastest while AES256 the slowest.
Ease of use? If you have a library at your disposal, then it shouldn't matter. If you are going to code it from scratch, then you're in for some intellectual pain
Thanks, I am planning to do write it myself, of course referring to 'Design of Rijndael-AES',
Challenging but a good learning experience none-the-less. Are you going to do it in assembly? I haven't look at the detail of the algorithm yet but seems like a good project in the future.
Assembly would be too hard, i think. I will just stick to C..
AES128 with the CCM option / block truncation makes sense for microprocessors that tend to work with smaller blocks of data.
It's not computationally intensive.
If u have an option to change your device you can choose AVR32UC3A3S which has AES hardware engine. You will also get much higher performance.
I's not necessary to use AVR32, Xmega has AES hardware acceleration too.