summaryrefslogtreecommitdiff
path: root/locale
diff options
context:
space:
mode:
authorSean Cross <sean@xobs.io>2020-04-14 11:18:45 +0800
committerSean Cross <sean@xobs.io>2020-05-06 17:40:06 +0800
commitb168784fa0fd97b17807836b390c79abaadfa8e4 (patch)
treec7573841c97a534e12e54bfb1923d2f9db370105 /locale
parent90625d169a776e3ec2c6f5a690396085a7f4d521 (diff)
aesio: add basic AES encryption and decryption
This adds initial support for an AES module named aesio. This implementation supports only a subset of AES modes, namely ECB, CBC, and CTR modes. Example usage: ``` >>> import aesio >>> >>> key = b'Sixteen byte key' >>> cipher = aesio.AES(key, aesio.MODE_ECB) >>> output = bytearray(16) >>> cipher.encrypt_into(b'Circuit Python!!', output) >>> output bytearray(b'E\x14\x85\x18\x9a\x9c\r\x95>\xa7kV\xa2`\x8b\n') >>> ``` This key is 16-bytes, so it uses AES128. If your key is 24- or 32- bytes long, it will switch to AES192 or AES256 respectively. This has been tested with many of the official NIST test vectors, such as those used in `pycryptodome` at https://github.com/Legrandin/pycryptodome/tree/39626a5b01ce5c1cf51d022be166ad0aea722177/lib/Crypto/SelfTest/Cipher/test_vectors/AES CTR has not been tested as NIST does not provide test vectors for it. Signed-off-by: Sean Cross <sean@xobs.io>
Diffstat (limited to 'locale')
0 files changed, 0 insertions, 0 deletions