Index: third_party/tlslite/tlslite/utils/Python_AES.py |
diff --git a/third_party/tlslite/tlslite/utils/Python_AES.py b/third_party/tlslite/tlslite/utils/Python_AES.py |
deleted file mode 100644 |
index 657152f8921d60b559150fda35c72a3b83c4246b..0000000000000000000000000000000000000000 |
--- a/third_party/tlslite/tlslite/utils/Python_AES.py |
+++ /dev/null |
@@ -1,68 +0,0 @@ |
-"""Pure-Python AES implementation.""" |
- |
-from cryptomath import * |
- |
-from AES import * |
-from rijndael import rijndael |
- |
-def new(key, mode, IV): |
- return Python_AES(key, mode, IV) |
- |
-class Python_AES(AES): |
- def __init__(self, key, mode, IV): |
- AES.__init__(self, key, mode, IV, "python") |
- self.rijndael = rijndael(key, 16) |
- self.IV = IV |
- |
- def encrypt(self, plaintext): |
- AES.encrypt(self, plaintext) |
- |
- plaintextBytes = stringToBytes(plaintext) |
- chainBytes = stringToBytes(self.IV) |
- |
- #CBC Mode: For each block... |
- for x in range(len(plaintextBytes)/16): |
- |
- #XOR with the chaining block |
- blockBytes = plaintextBytes[x*16 : (x*16)+16] |
- for y in range(16): |
- blockBytes[y] ^= chainBytes[y] |
- blockString = bytesToString(blockBytes) |
- |
- #Encrypt it |
- encryptedBytes = stringToBytes(self.rijndael.encrypt(blockString)) |
- |
- #Overwrite the input with the output |
- for y in range(16): |
- plaintextBytes[(x*16)+y] = encryptedBytes[y] |
- |
- #Set the next chaining block |
- chainBytes = encryptedBytes |
- |
- self.IV = bytesToString(chainBytes) |
- return bytesToString(plaintextBytes) |
- |
- def decrypt(self, ciphertext): |
- AES.decrypt(self, ciphertext) |
- |
- ciphertextBytes = stringToBytes(ciphertext) |
- chainBytes = stringToBytes(self.IV) |
- |
- #CBC Mode: For each block... |
- for x in range(len(ciphertextBytes)/16): |
- |
- #Decrypt it |
- blockBytes = ciphertextBytes[x*16 : (x*16)+16] |
- blockString = bytesToString(blockBytes) |
- decryptedBytes = stringToBytes(self.rijndael.decrypt(blockString)) |
- |
- #XOR with the chaining block and overwrite the input with output |
- for y in range(16): |
- decryptedBytes[y] ^= chainBytes[y] |
- ciphertextBytes[(x*16)+y] = decryptedBytes[y] |
- |
- #Set the next chaining block |
- chainBytes = blockBytes |
- |
- self.IV = bytesToString(chainBytes) |
- return bytesToString(ciphertextBytes) |