def test_break_if_iv_is_same_as_key(self): """Challenge 27""" key = Crypto.gen_random_key(16) iv = key oracle = lambda c: Crypto.decrypt_aes(c, key, AES.MODE_CBC, iv) cipher = Crypto.encrypt_aes("X" * 48, key, AES.MODE_CBC, iv) self.assertEquals( key, Crypto.extract_key_if_key_is_same_as_key(cipher, oracle))
def test_break_if_iv_is_same_as_key(self): """Challenge 27""" key = Crypto.gen_random_key(16) iv = key oracle = lambda c: Crypto.decrypt_aes(c, key, AES.MODE_CBC, iv) cipher = Crypto.encrypt_aes("X"*48, key, AES.MODE_CBC, iv) self.assertEquals(key, Crypto.extract_key_if_key_is_same_as_key(cipher, oracle))