<s> """<STR_LIT>""" <EOL> class AES ( object ) : <EOL> def __init__ ( self , key , mode , IV , implementation ) : <EOL> if len ( key ) not in ( <NUM_LIT:16> , <NUM_LIT> , <NUM_LIT:32> ) : <EOL> raise AssertionError ( ) <EOL> if mode != <NUM_LIT:2> : <EOL> raise AssertionError ( ) <EOL> if len ( IV ) != <NUM_LIT:16> : <EOL> raise AssertionError ( ) <EOL> self . isBlockCipher = True <EOL> self . block_size = <NUM_LIT:16> <EOL> self . implementation = implementation <EOL> if len ( key ) == <NUM_LIT:16> : <EOL> self . name = "<STR_LIT>" <EOL> elif len ( key ) == <NUM_LIT> : <EOL> self . name = "<STR_LIT>" <EOL> elif len ( key ) == <NUM_LIT:32> : <EOL> self . name = "<STR_LIT>" <EOL> else : <EOL> raise AssertionError ( ) <EOL> def encrypt ( self , plaintext ) : <EOL> assert ( len ( plaintext ) % <NUM_LIT:16> == <NUM_LIT:0> ) <EOL> def decrypt ( self , ciphertext ) : <EOL> assert ( len ( ciphertext ) % <NUM_LIT:16> == <NUM_LIT:0> ) </s>
