AES: Difference between revisions
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) — ''MAYBE INCORRECT'' |
: Including step-by-step test vector (for AES-256) — ''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:
- AES (Rijndael) Encryption Test in JavaScript, from Herbert Hanewinkel (input in hexadecimal, as it ought to be!)