AES: Difference between revisions

From miki
Jump to navigation Jump to search
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
== Specifications ==
* [http://csrc.nist.gov/archive/aes/rijndael/Rijndael-ammended.pdf Rijndael-ammended.pdf] — Latest version of Rijndael, published on NIST website.

== Implementations ==
== Implementations ==
In '''Python''':
In '''Python''':
* [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''

Latest revision as of 08:19, 10 June 2016

Specifications

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: