| OLD | NEW |
| (Empty) |
| 1 """Cryptlib AES implementation.""" | |
| 2 | |
| 3 from cryptomath import * | |
| 4 from aes import * | |
| 5 | |
| 6 if cryptlibpyLoaded: | |
| 7 | |
| 8 def new(key, mode, IV): | |
| 9 return Cryptlib_AES(key, mode, IV) | |
| 10 | |
| 11 class Cryptlib_AES(AES): | |
| 12 | |
| 13 def __init__(self, key, mode, IV): | |
| 14 AES.__init__(self, key, mode, IV, "cryptlib") | |
| 15 self.context = cryptlib_py.cryptCreateContext(cryptlib_py.CRYPT_UNUS
ED, cryptlib_py.CRYPT_ALGO_AES) | |
| 16 cryptlib_py.cryptSetAttribute(self.context, cryptlib_py.CRYPT_CTXINF
O_MODE, cryptlib_py.CRYPT_MODE_CBC) | |
| 17 cryptlib_py.cryptSetAttribute(self.context, cryptlib_py.CRYPT_CTXINF
O_KEYSIZE, len(key)) | |
| 18 cryptlib_py.cryptSetAttributeString(self.context, cryptlib_py.CRYPT_
CTXINFO_KEY, key) | |
| 19 cryptlib_py.cryptSetAttributeString(self.context, cryptlib_py.CRYPT_
CTXINFO_IV, IV) | |
| 20 | |
| 21 def __del__(self): | |
| 22 cryptlib_py.cryptDestroyContext(self.context) | |
| 23 | |
| 24 def encrypt(self, plaintext): | |
| 25 AES.encrypt(self, plaintext) | |
| 26 bytes = stringToBytes(plaintext) | |
| 27 cryptlib_py.cryptEncrypt(self.context, bytes) | |
| 28 return bytesToString(bytes) | |
| 29 | |
| 30 def decrypt(self, ciphertext): | |
| 31 AES.decrypt(self, ciphertext) | |
| 32 bytes = stringToBytes(ciphertext) | |
| 33 cryptlib_py.cryptDecrypt(self.context, bytes) | |
| 34 return bytesToString(bytes) | |
| OLD | NEW |