pyaes
pyaes copied to clipboard
Pure-Python implementation of AES block-cipher and common modes of operation.
I believe that it is somewhat irresponsible to not mention Message Authentication. Otherwise, users will copy the insecure code in the README without realizing e.g. CBC without a MAC is...
why CFB mode need text is a multiple of segment_size? golang and C don't need this limit
Python 2.7.2 and 2.7.3 struct.unpack() fail with: error: unpack requires a string argument of length 4 If key is passed in as a bytearray parameter, this is fine in later...
This PR include: 1. remove dependency on copy module which is unnecessary, that also allow pyaes run on micropython. 2. fix imports. for tests, correct path of import, use recommended...
Sometimes you're testing package not from ~/Projects/pyaes or something, but from ~/Projects/python-pyaes. Let's allow people to rename a project's top-level directory. Also let's allow run tests from ./tests/ as well....
There is a method called ciphertext stealing (https://en.wikipedia.org/wiki/Ciphertext_stealing) which allows encryption of plaintext of artibrary length (the length does not have to be a multiply of blocksize) using ECB and...
Closes #43. - Added GitHub Actions CI workflow for Python versions 2.7 and 3.8-3.12. - Some bare exceptions for Python 2/3 checks were replaced with more specific methods like `sys.version_info`...
Python 3.12 has removed `distutils`. Fedora is using this patch in the deployed version of this package.
**Is it not possible to use a text in 32b?** ``` key = b"B123456789987654321123456789ABCD" plaintext = b"B6668803310500770XCBB3994GkC6g" plaintext += bytes([2]) * 2 aes = pyaes.AESModeOfOperationECB(key) data = aes.encrypt(plaintext) ``` Error...