Python Cryptodome.Cipher.AES.MODE_EAX Examples
The following are 30
code examples of Cryptodome.Cipher.AES.MODE_EAX().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
Cryptodome.Cipher.AES
, or try the search function
.
Example #1
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 6 votes |
def create_test(cls, name, factory, key_size): def test_template(self, factory=factory, key_size=key_size): cipher = factory.new(get_tag_random("cipher", key_size), factory.MODE_EAX, nonce=b("nonce")) ct, mac = cipher.encrypt_and_digest(b("plaintext")) cipher = factory.new(get_tag_random("cipher", key_size), factory.MODE_EAX, nonce=b("nonce")) pt2 = cipher.decrypt_and_verify(ct, mac) self.assertEqual(b("plaintext"), pt2) setattr(cls, "test_" + name, test_template)
Example #2
Source File: test_EAX.py From jarvis with GNU General Public License v2.0 | 6 votes |
def create_test(cls, name, factory, key_size): def test_template(self, factory=factory, key_size=key_size): cipher = factory.new(get_tag_random("cipher", key_size), factory.MODE_EAX, nonce=b("nonce")) ct, mac = cipher.encrypt_and_digest(b("plaintext")) cipher = factory.new(get_tag_random("cipher", key_size), factory.MODE_EAX, nonce=b("nonce")) pt2 = cipher.decrypt_and_verify(ct, mac) self.assertEqual(b("plaintext"), pt2) setattr(cls, "test_" + name, test_template)
Example #3
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 6 votes |
def create_test(cls, name, factory, key_size): def test_template(self, factory=factory, key_size=key_size): cipher = factory.new(get_tag_random("cipher", key_size), factory.MODE_EAX, nonce=b("nonce")) ct, mac = cipher.encrypt_and_digest(b("plaintext")) cipher = factory.new(get_tag_random("cipher", key_size), factory.MODE_EAX, nonce=b("nonce")) pt2 = cipher.decrypt_and_verify(ct, mac) self.assertEqual(b("plaintext"), pt2) setattr(cls, "test_" + name, test_template)
Example #4
Source File: test_EAX.py From jarvis with GNU General Public License v2.0 | 6 votes |
def test_invalid_decrypt_or_update_after_verify(self): cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) ct = cipher.encrypt(self.data_128) mac = cipher.digest() for method_name in "decrypt", "update": cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.decrypt(ct) cipher.verify(mac) self.assertRaises(TypeError, getattr(cipher, method_name), self.data_128) cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.decrypt_and_verify(ct, mac) self.assertRaises(TypeError, getattr(cipher, method_name), self.data_128)
Example #5
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 6 votes |
def test_invalid_decrypt_or_update_after_verify(self): cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) ct = cipher.encrypt(self.data_128) mac = cipher.digest() for method_name in "decrypt", "update": cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.decrypt(ct) cipher.verify(mac) self.assertRaises(TypeError, getattr(cipher, method_name), self.data_128) cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.decrypt_and_verify(ct, mac) self.assertRaises(TypeError, getattr(cipher, method_name), self.data_128)
Example #6
Source File: test_EAX.py From jarvis with GNU General Public License v2.0 | 6 votes |
def test_mac_len(self): # Invalid MAC length self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_EAX, nonce=self.nonce_96, mac_len=3) self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_EAX, nonce=self.nonce_96, mac_len=16+1) # Valid MAC length for mac_len in range(5, 16 + 1): cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96, mac_len=mac_len) _, mac = cipher.encrypt_and_digest(self.data_128) self.assertEqual(len(mac), mac_len) # Default MAC length cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) _, mac = cipher.encrypt_and_digest(self.data_128) self.assertEqual(len(mac), 16)
Example #7
Source File: test_EAX.py From jarvis with GNU General Public License v2.0 | 6 votes |
def test_valid_multiple_encrypt_or_decrypt(self): for method_name in "encrypt", "decrypt": for auth_data in (None, b("333"), self.data_128, self.data_128 + b("3")): if auth_data is None: assoc_len = None else: assoc_len = len(auth_data) cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) if auth_data is not None: cipher.update(auth_data) method = getattr(cipher, method_name) method(self.data_128) method(self.data_128) method(self.data_128) method(self.data_128)
Example #8
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 6 votes |
def test_valid_multiple_encrypt_or_decrypt(self): for method_name in "encrypt", "decrypt": for auth_data in (None, b("333"), self.data_128, self.data_128 + b("3")): if auth_data is None: assoc_len = None else: assoc_len = len(auth_data) cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) if auth_data is not None: cipher.update(auth_data) method = getattr(cipher, method_name) method(self.data_128) method(self.data_128) method(self.data_128) method(self.data_128)
Example #9
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 6 votes |
def test_valid_multiple_encrypt_or_decrypt(self): for method_name in "encrypt", "decrypt": for auth_data in (None, b("333"), self.data_128, self.data_128 + b("3")): if auth_data is None: assoc_len = None else: assoc_len = len(auth_data) cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) if auth_data is not None: cipher.update(auth_data) method = getattr(cipher, method_name) method(self.data_128) method(self.data_128) method(self.data_128) method(self.data_128)
Example #10
Source File: create_user.py From aztk with MIT License | 6 votes |
def decrypt_password(user_conf): cipher_text = user_conf["password"] encrypted_aes_session_key = user_conf["aes_session_key"] cipher_aes_nonce = user_conf["cipher_aes_nonce"] tag = user_conf["tag"] # Read private key with open(os.path.join(os.environ["AZTK_WORKING_DIR"], "id_rsa"), encoding="UTF-8") as f: private_key = RSA.import_key(f.read()) # Decrypt the session key with the public RSA key cipher_rsa = PKCS1_OAEP.new(private_key) session_key = cipher_rsa.decrypt(encrypted_aes_session_key) # Decrypt the data with the AES session key cipher_aes = AES.new(session_key, AES.MODE_EAX, cipher_aes_nonce) password = cipher_aes.decrypt_and_verify(cipher_text, tag) return password.decode("utf-8")
Example #11
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 6 votes |
def test_mac_len(self): # Invalid MAC length self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_EAX, nonce=self.nonce_96, mac_len=3) self.assertRaises(ValueError, AES.new, self.key_128, AES.MODE_EAX, nonce=self.nonce_96, mac_len=16+1) # Valid MAC length for mac_len in xrange(5, 16 + 1): cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96, mac_len=mac_len) _, mac = cipher.encrypt_and_digest(self.data_128) self.assertEqual(len(mac), mac_len) # Default MAC length cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) _, mac = cipher.encrypt_and_digest(self.data_128) self.assertEqual(len(mac), 16)
Example #12
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 6 votes |
def test_invalid_decrypt_or_update_after_verify(self): cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) ct = cipher.encrypt(self.data_128) mac = cipher.digest() for method_name in "decrypt", "update": cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.decrypt(ct) cipher.verify(mac) self.assertRaises(TypeError, getattr(cipher, method_name), self.data_128) cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.decrypt_and_verify(ct, mac) self.assertRaises(TypeError, getattr(cipher, method_name), self.data_128)
Example #13
Source File: crypto.py From training with Apache License 2.0 | 6 votes |
def encrypt_file(public_key, src_file, dest_file): try: with open(src_file) as f: rsa_key = RSA.import_key(open(public_key).read()) session_key = get_random_bytes(16) # Encrypt session key cipher_rsa = PKCS1_OAEP.new(rsa_key) encrypted_session_key = cipher_rsa.encrypt(session_key) # Encrypt data cipher_aes = AES.new(session_key, AES.MODE_EAX) ciphertext, tag = cipher_aes.encrypt_and_digest(f.read().encode("utf-8")) except Exception as e: print("Unable to encrypt file: {}".format(src_file)) raise e try: with open(dest_file, "wb") as f: for x in (encrypted_session_key, cipher_aes.nonce, tag, ciphertext): f.write(x) except Exception as e: print("Unable to write output file {}".format(dest_file)) raise e
Example #14
Source File: common_mysql.py From NanoWalletBot with BSD 3-Clause "New" or "Revised" License | 6 votes |
def mysql_select_seed(user_id): cnx = mysql.connector.connect(**mysql_config) cursor = cnx.cursor(buffered=True) query = ("SELECT seed FROM rai_bot_seeds WHERE user_id = %s") cursor.execute(query, (int(user_id),)) select_seed = cursor.fetchone() cursor.close() cnx.close() seed = False try: # Decryption encrypted_seed = select_seed[0] bin = binascii.unhexlify(encrypted_seed) nonce = bin[:16] tag = bin[16:32] ciphertext = bin[32:] private_key = hashlib.scrypt(aes_password.encode('utf-8'), salt=(str(user_id)+salt).encode('utf-8'), n=2**16, r=16, p=1, maxmem=2**28, dklen=32) cipher = AES.new(private_key, AES.MODE_EAX, nonce) data = cipher.decrypt_and_verify(ciphertext, tag) seed = binascii.hexlify(data).decode().upper() except Exception as e: seed = False return(seed)
Example #15
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 5 votes |
def test_valid_init_verify(self): # Verify path INIT->VERIFY cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) mac = cipher.digest() cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.verify(mac)
Example #16
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 5 votes |
def test_valid_init_update_digest_verify(self): # No plaintext, fixed authenticated data # Verify path INIT->UPDATE->DIGEST cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.update(self.data_128) mac = cipher.digest() # Verify path INIT->UPDATE->VERIFY cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.update(self.data_128) cipher.verify(mac)
Example #17
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 5 votes |
def test_nonce_must_be_bytes(self): self.assertRaises(TypeError, AES.new, self.key_128, AES.MODE_EAX, nonce=u'test12345678')
Example #18
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 5 votes |
def test_valid_init_digest(self): # Verify path INIT->DIGEST cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.digest()
Example #19
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 5 votes |
def test_nonce(self): # If not passed, the nonce is created randomly cipher = AES.new(self.key_128, AES.MODE_EAX) nonce1 = cipher.nonce cipher = AES.new(self.key_128, AES.MODE_EAX) nonce2 = cipher.nonce self.assertEqual(len(nonce1), 16) self.assertNotEqual(nonce1, nonce2) cipher = AES.new(self.key_128, AES.MODE_EAX, self.nonce_96) ct = cipher.encrypt(self.data_128) cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) self.assertEquals(ct, cipher.encrypt(self.data_128))
Example #20
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 5 votes |
def test_valid_init_encrypt_decrypt_digest_verify(self): # No authenticated data, fixed plaintext # Verify path INIT->ENCRYPT->DIGEST cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) ct = cipher.encrypt(self.data_128) mac = cipher.digest() # Verify path INIT->DECRYPT->VERIFY cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.decrypt(ct) cipher.verify(mac)
Example #21
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 5 votes |
def test_valid_multiple_digest_or_verify(self): # Multiple calls to digest cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.update(self.data_128) first_mac = cipher.digest() for x in xrange(4): self.assertEqual(first_mac, cipher.digest()) # Multiple calls to verify cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.update(self.data_128) for x in xrange(5): cipher.verify(first_mac)
Example #22
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 5 votes |
def test_loopback_64(self): cipher = DES3.new(self.key_192, DES3.MODE_EAX, nonce=self.nonce_96) pt = get_tag_random("plaintext", 8 * 100) ct = cipher.encrypt(pt) cipher = DES3.new(self.key_192, DES3.MODE_EAX, nonce=self.nonce_96) pt2 = cipher.decrypt(ct) self.assertEqual(pt, pt2)
Example #23
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 5 votes |
def runTest(self): for assoc_data, pt, ct, mac, key, nonce in self.test_vectors: # Encrypt cipher = AES.new(key, AES.MODE_EAX, nonce, mac_len=len(mac)) cipher.update(assoc_data) ct2, mac2 = cipher.encrypt_and_digest(pt) self.assertEqual(ct, ct2) self.assertEqual(mac, mac2) # Decrypt cipher = AES.new(key, AES.MODE_EAX, nonce, mac_len=len(mac)) cipher.update(assoc_data) pt2 = cipher.decrypt_and_verify(ct, mac) self.assertEqual(pt, pt2)
Example #24
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 5 votes |
def test_invalid_encrypt_or_update_after_digest(self): for method_name in "encrypt", "update": cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.encrypt(self.data_128) cipher.digest() self.assertRaises(TypeError, getattr(cipher, method_name), self.data_128) cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.encrypt_and_digest(self.data_128)
Example #25
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 5 votes |
def test_invalid_mixing_encrypt_decrypt(self): # Once per method, with or without assoc. data for method1_name, method2_name in (("encrypt", "decrypt"), ("decrypt", "encrypt")): for assoc_data_present in (True, False): cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) if assoc_data_present: cipher.update(self.data_128) getattr(cipher, method1_name)(self.data_128) self.assertRaises(TypeError, getattr(cipher, method2_name), self.data_128)
Example #26
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 5 votes |
def test_valid_multiple_digest_or_verify(self): # Multiple calls to digest cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.update(self.data_128) first_mac = cipher.digest() for x in xrange(4): self.assertEqual(first_mac, cipher.digest()) # Multiple calls to verify cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.update(self.data_128) for x in xrange(5): cipher.verify(first_mac)
Example #27
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 5 votes |
def test_valid_init_verify(self): # Verify path INIT->VERIFY cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) mac = cipher.digest() cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.verify(mac)
Example #28
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 5 votes |
def test_valid_init_digest(self): # Verify path INIT->DIGEST cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.digest()
Example #29
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 5 votes |
def test_valid_full_path(self): # Fixed authenticated data, fixed plaintext # Verify path INIT->UPDATE->ENCRYPT->DIGEST cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.update(self.data_128) ct = cipher.encrypt(self.data_128) mac = cipher.digest() # Verify path INIT->UPDATE->DECRYPT->VERIFY cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.update(self.data_128) cipher.decrypt(ct) cipher.verify(mac)
Example #30
Source File: test_EAX.py From PokemonGo-DesktopMap with MIT License | 5 votes |
def test_either_encrypt_or_decrypt(self): cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.encrypt(b("")) self.assertRaises(TypeError, cipher.decrypt, b("")) cipher = AES.new(self.key_128, AES.MODE_EAX, nonce=self.nonce_96) cipher.decrypt(b("")) self.assertRaises(TypeError, cipher.encrypt, b(""))