示例#1
0
def test_ElGamal(num_bit, message):
    print("\n------------------------------------------------------")
    # Generate random prime numbers
    p = BlumBlumShub.generate_prime(num_bit)

    # Test generate_keypair which returns public key ( g, p, h) and the private key (g, p, x)
    public, private = ElGamal.generate_keypair(p)

    print("\n------------------------------------------------------")
    encrypted_msg = ElGamal.encrypt(public, message)

    print("\n------------------------------------------------------")
    decrypted_msg = ElGamal.decrypt(private, encrypted_msg)

    print("\n------------------------------------------------------")
    eve_decrypted_msg = ElGamal.eve(public, encrypted_msg)

    return decrypted_msg, eve_decrypted_msg
示例#2
0
文件: main.py 项目: aslit/RSA-ElGamal
                    if type_encryption == "1":

                        # Use Blum Blum Shub algorithm to generate random prime numbers
                        p = BlumBlumShub.generate_prime(num_bit)
                        q = BlumBlumShub.generate_prime(num_bit)

                        RSA.generate_keypair(p, q)

                    # If encryption algorithm is El-Gamal
                    elif type_encryption == "2":

                        # Use Blum Blum Shub algorithm to generate random prime number
                        p = BlumBlumShub.generate_prime(
                            num_bit)  # 127 #999416681 #2860486313 #127

                        public, private = ElGamal.generate_keypair(p)

                # Otherwise, function 2 - Encrypt a message
                elif function == "2":

                    # Get the message from user
                    message = input("Please enter your message : ")

                    # Get the public key from user
                    public = input(
                        "Please enter the public key ( (g, p, h) for El-Gamal /(e,n) for RSA ): "
                    )

                    print(
                        "\n------------------------------------------------------"
                    )