This commit is contained in:
UrloMythus
2026-02-19 20:15:03 +01:00
parent 7785e8c604
commit cfc6bbabc9
181 changed files with 32141 additions and 4629 deletions

View File

@@ -3,6 +3,7 @@
"""Abstract class for AES."""
class AES(object):
def __init__(self, key, mode, IV, implementation):
if len(key) not in (16, 24, 32):
@@ -19,21 +20,21 @@ class AES(object):
self.isAEAD = False
self.block_size = 16
self.implementation = implementation
if len(key)==16:
if len(key) == 16:
self.name = "aes128"
elif len(key)==24:
elif len(key) == 24:
self.name = "aes192"
elif len(key)==32:
elif len(key) == 32:
self.name = "aes256"
else:
raise AssertionError()
#CBC-Mode encryption, returns ciphertext
#WARNING: *MAY* modify the input as well
# CBC-Mode encryption, returns ciphertext
# WARNING: *MAY* modify the input as well
def encrypt(self, plaintext):
assert(len(plaintext) % 16 == 0)
assert len(plaintext) % 16 == 0
#CBC-Mode decryption, returns plaintext
#WARNING: *MAY* modify the input as well
# CBC-Mode decryption, returns plaintext
# WARNING: *MAY* modify the input as well
def decrypt(self, ciphertext):
assert(len(ciphertext) % 16 == 0)
assert len(ciphertext) % 16 == 0