AES: Difference between revisions

From miki
Jump to navigation Jump to search
Line 3: Line 3:
* [https://jhafranco.com/2013/06/03/validation-of-an-aes-implementation-in-python/ Validation of an AES implementation in Python 3, by João H de A Franco]
* [https://jhafranco.com/2013/06/03/validation-of-an-aes-implementation-in-python/ Validation of an AES implementation in Python 3, by João H de A Franco]
: Look good at first sight, but actually the interface is incredibly weird and twisted. Why people can't do simple things?!?
: Look good at first sight, but actually the interface is incredibly weird and twisted. Why people can't do simple things?!?
: Example of use
<source lang=python>
run aes.py
a=AES('MODE_ECB')
a.setKey('SIZE_128',0x00000000000000000000000000000000)
print "%x" % a.listToInt(a.encryptBlock(a.intToList(0x00000000000000000000000000000000)))
</source>

* [http://brandon.sternefamily.net/2007/06/aes-tutorial-python-implementation/ Brandon Stern's AES implementation in Python]
* [http://brandon.sternefamily.net/2007/06/aes-tutorial-python-implementation/ Brandon Stern's AES implementation in Python]
: Including step-by-step test vector (for AES-256) &mdash; ''MAYBE INCORRECT''
: Including step-by-step test vector (for AES-256) &mdash; ''MAYBE INCORRECT''

Revision as of 13:25, 9 June 2016

Implementations

In Python:

Look good at first sight, but actually the interface is incredibly weird and twisted. Why people can't do simple things?!?
Example of use
run aes.py
a=AES('MODE_ECB')
a.setKey('SIZE_128',0x00000000000000000000000000000000)
print "%x" % a.listToInt(a.encryptBlock(a.intToList(0x00000000000000000000000000000000)))
Including step-by-step test vector (for AES-256) — MAYBE INCORRECT

In Go:

Clear explanation and implemetation

In Javascript: