def test_unsupported_mgf1_hash_algorithm_ripemd160_decrypt(self): private_key = RSA_KEY_512.private_key(backend) with raises_unsupported_algorithm(_Reasons.UNSUPPORTED_PADDING): private_key.decrypt( b"0" * 64, padding.OAEP(mgf=padding.MGF1(algorithm=hashes.RIPEMD160()), algorithm=hashes.RIPEMD160(), label=None))
class TestRIPEMD160(object): test_RIPEMD160 = generate_hash_test( load_hash_vectors, os.path.join("hashes", "ripemd160"), [ "ripevectors.txt", ], hashes.RIPEMD160(), ) test_RIPEMD160_long_string = generate_long_string_hash_test( hashes.RIPEMD160(), "52783243c1697bdbe16d37f97f68f08325dc1528", )
def test_rsa_padding_unsupported_oaep_sha1_ripemd160(self): assert backend.rsa_padding_supported( padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA1()), algorithm=hashes.RIPEMD160(), label=None ), ) is False
class TestHMACRIPEMD160(object): test_hmac_ripemd160 = generate_hmac_test( load_hash_vectors, "HMAC", [ "rfc-2286-ripemd160.txt", ], hashes.RIPEMD160(), )
) @pytest.mark.hash class TestSHA512(object): test_SHA512 = generate_hash_test( load_hash_vectors, os.path.join("hashes", "SHA2"), [ "SHA512LongMsg.rsp", "SHA512ShortMsg.rsp", ], hashes.SHA512(), ) @pytest.mark.supported( only_if=lambda backend: backend.hash_supported(hashes.RIPEMD160()), skip_message="Does not support RIPEMD160", ) @pytest.mark.hash class TestRIPEMD160(object): test_RIPEMD160 = generate_hash_test( load_hash_vectors, os.path.join("hashes", "ripemd160"), [ "ripevectors.txt", ], hashes.RIPEMD160(), ) test_RIPEMD160_long_string = generate_long_string_hash_test( hashes.RIPEMD160(),
class TestRIPEMD160(object): test_RIPEMD160 = generate_base_hash_test( hashes.RIPEMD160(), digest_size=20, block_size=64, )
set_run.append(algo_run) lib_run.append(set_run) # BEGIN HASHING OPERATIONS set_run = ['hash'] # All message digest operations can use the same setup; need to copy empty # Hash object outside of timing run to avoid growing data size with each run setup = """\ from __main__ import digest_prime, message digest = digest_prime.copy() """ algo_run = ['RIPEMD160'] digest_prime = hashes.Hash(hashes.RIPEMD160(), backend=backend) trial = Timer("digest.update(message); digest.finalize()", setup) algo_run.append(trial.repeat(RUN_COUNT, 1)) set_run.append(algo_run) algo_run = ['SHA512'] digest_prime = hashes.Hash(hashes.SHA512(), backend=backend) trial = Timer("digest.update(message); digest.finalize()", setup) algo_run.append(trial.repeat(RUN_COUNT, 1)) set_run.append(algo_run) algo_run = ['Whirlpool'] digest_prime = hashes.Hash(hashes.Whirlpool(), backend=backend) trial = Timer("digest.update(message); digest.finalize()", setup) algo_run.append(trial.repeat(RUN_COUNT, 1)) set_run.append(algo_run)
def create_test_list(): hash_msg_bitsizes = tuple(pow(2, _) for _ in range(8, 24)) symm_msg_bitsizes = tuple(pow(2, _) for _ in range(8, 24)) prng_msg_bitsizes = tuple(pow(2, _) for _ in range(8, 18)) return [ TestArgRange(TestPythonRandom, msgbits=prng_msg_bitsizes), TestArgRange(TestPythonSysRandom, msgbits=prng_msg_bitsizes), TestArgRange(TestPyCryptPRNG, msgbits=prng_msg_bitsizes), TestArgRange(TestGenPrime, bits=(32, 64, 128, 256, 512)), # cryptography symmetric ciphers TestArgRange(TestCryptCipher, algorithms.AES, keybits=256, msgbits=symm_msg_bitsizes), TestArgRange(TestCryptCipher, algorithms.TripleDES, keybits=64, msgbits=symm_msg_bitsizes), TestArgRange(TestCryptCipher, algorithms.TripleDES, keybits=128, msgbits=symm_msg_bitsizes), TestArgRange(TestCryptCipher, algorithms.TripleDES, keybits=192, msgbits=symm_msg_bitsizes), TestArgRange(TestCryptCipher, algorithms.Blowfish, keybits=256, msgbits=symm_msg_bitsizes), TestArgRange(TestCryptCipher, algorithms.CAST5, keybits=128, msgbits=symm_msg_bitsizes), TestArgRange(TestCryptCipher, algorithms.ARC4, keybits=256, msgbits=symm_msg_bitsizes), TestArgRange(TestCryptCipher, algorithms.IDEA, keybits=128, msgbits=symm_msg_bitsizes), TestArgRange(TestCryptCipher, algorithms.SEED, keybits=128, msgbits=symm_msg_bitsizes), TestArgRange(TestCryptCipher, algorithms.Camellia, keybits=256, msgbits=symm_msg_bitsizes), # pycrypt symmetric ciphers TestArgRange(TestPyCryptCipher, Crypto.Cipher.AES, keybits=256, msgbits=symm_msg_bitsizes), TestArgRange(TestPyCryptCipher, Crypto.Cipher.DES, keybits=64, msgbits=symm_msg_bitsizes), TestArgRange(TestPyCryptCipher, Crypto.Cipher.DES3, keybits=128, msgbits=symm_msg_bitsizes), TestArgRange(TestPyCryptCipher, Crypto.Cipher.DES3, keybits=192, msgbits=symm_msg_bitsizes), TestArgRange(TestPyCryptCipher, Crypto.Cipher.Blowfish, keybits=256, msgbits=symm_msg_bitsizes), TestArgRange(TestPyCryptCipher, Crypto.Cipher.CAST, keybits=128, msgbits=symm_msg_bitsizes), TestArgRange(TestPyCryptCipher, Crypto.Cipher.ARC4, keybits=256, msgbits=symm_msg_bitsizes), TestArgRange(TestPyCryptCipher, Crypto.Cipher.XOR, keybits=256, msgbits=symm_msg_bitsizes), TestArgRange(TestPyCryptCipher, Crypto.Cipher.ARC2, keybits=256, msgbits=symm_msg_bitsizes), # cryptography hashes TestArgRange(TestCryptHash, hashes.SHA224(), msgbits=hash_msg_bitsizes), TestArgRange(TestCryptHash, hashes.SHA256(), msgbits=hash_msg_bitsizes), TestArgRange(TestCryptHash, hashes.SHA384(), msgbits=hash_msg_bitsizes), TestArgRange(TestCryptHash, hashes.SHA512(), msgbits=hash_msg_bitsizes), TestArgRange(TestCryptHash, hashes.SHA1(), msgbits=hash_msg_bitsizes), TestArgRange(TestCryptHash, hashes.MD5(), msgbits=hash_msg_bitsizes), TestArgRange(TestCryptHash, hashes.RIPEMD160(), msgbits=hash_msg_bitsizes), TestArgRange(TestCryptHash, hashes.Whirlpool(), msgbits=hash_msg_bitsizes), # pycrypt hashes TestArgRange(TestPyCryptHash, Crypto.Hash.SHA224, msgbits=hash_msg_bitsizes), TestArgRange(TestPyCryptHash, Crypto.Hash.SHA256, msgbits=hash_msg_bitsizes), TestArgRange(TestPyCryptHash, Crypto.Hash.SHA384, msgbits=hash_msg_bitsizes), TestArgRange(TestPyCryptHash, Crypto.Hash.SHA512, msgbits=hash_msg_bitsizes), TestArgRange(TestPyCryptHash, Crypto.Hash.SHA, msgbits=hash_msg_bitsizes), TestArgRange(TestPyCryptHash, Crypto.Hash.MD5, msgbits=hash_msg_bitsizes), TestArgRange(TestPyCryptHash, Crypto.Hash.RIPEMD, msgbits=hash_msg_bitsizes), TestArgRange(TestPyCryptHash, Crypto.Hash.MD2, msgbits=hash_msg_bitsizes), TestArgRange(TestPyCryptHash, Crypto.Hash.MD4, msgbits=hash_msg_bitsizes), # cryptography rsa TestArgRange(TestCryptRsa, modbits=(1024,2048,4096), msgbits=(2,256,512,1024)), # PyCrypto rsa TestArgRange(TestPyCryptRsa, modbits=(1024,2048,4096), msgbits=(2,256,512,1024)), # now some tests to see how very simple operations perform TestEval("pass"), TestEval("1+2"), TestEval("8*9"), TestLambda(nop), TestLambda(lambda: 1), TestLambda(lambda: 1+2), TestLambda(lambda: 1+2+3+4), TestLambda(lambda: 8*9), TestLambda(lambda: pow(1, 1, 2)), # some elliptic curve crypto TestCryptEc(cryptography.hazmat.primitives.asymmetric.ec.SECT571R1), TestCryptEc(cryptography.hazmat.primitives.asymmetric.ec.SECT409R1), TestCryptEc(cryptography.hazmat.primitives.asymmetric.ec.SECT283R1), TestCryptEc(cryptography.hazmat.primitives.asymmetric.ec.SECT233R1), TestCryptEc(cryptography.hazmat.primitives.asymmetric.ec.SECT163R2), TestCryptEc(cryptography.hazmat.primitives.asymmetric.ec.SECT571K1), TestCryptEc(cryptography.hazmat.primitives.asymmetric.ec.SECT409K1), TestCryptEc(cryptography.hazmat.primitives.asymmetric.ec.SECT283K1), TestCryptEc(cryptography.hazmat.primitives.asymmetric.ec.SECT233K1), TestCryptEc(cryptography.hazmat.primitives.asymmetric.ec.SECT163K1), TestCryptEc(cryptography.hazmat.primitives.asymmetric.ec.SECP521R1), TestCryptEc(cryptography.hazmat.primitives.asymmetric.ec.SECP384R1), TestCryptEc(cryptography.hazmat.primitives.asymmetric.ec.SECP256R1), TestCryptEc(cryptography.hazmat.primitives.asymmetric.ec.SECP256K1), TestCryptEc(cryptography.hazmat.primitives.asymmetric.ec.SECP224R1), TestCryptEc(cryptography.hazmat.primitives.asymmetric.ec.SECP192R1), ]
import signal import sys import time #Reads line by line, since reading entire file will consume too much ram choice = 0; numhashes = 0; filename = ""; file1 = ""; encoded_string = ""; choices = { 1 : hashes.SHA256(), 2 : hashes.MD5(), 3 : hashes.RIPEMD160(), 4 : hashes.Whirlpool(), } def menu(): global choice; invalid = True while invalid : print ("\n\ Please Select a Hashing Algorithm:\n\ 1. sha2 (256-bit hash)\n\ 2. md5 (128-bit hash)\n\ 3. ripemd160 (160-bit hash)\n\ 4. whirlpool (512-bit hash)\n\