예제 #1
0
def main():
    s = Sender()
    r = Receiver()

    c = choose_cipher()
    if isinstance(c, RSA):
        s.set_cipher(c)
        r.set_cipher(c)
        operate_rsa(s, r)
    else:
        s.set_cipher(c)
        s.operate_cipher()
        print(s.get_encoded())

        r.set_cipher(c)
        r.set_key(s.get_key())
        r.set_encoded(s.get_encoded())

        r.operate_cipher()
        print(r.get_decoded())
        print(
            "**************************************************************************"
        )

        time.sleep(2)
        print("OH, NO!")
        time.sleep(0.5)
        print("A WILD HACKER APPEARED!!!")
        h = Hacker()
        h.set_key(s.get_key())
        time.sleep(1)
        print("Hacker found traces of a key...")
        h.set_encoded(s.get_encoded())
        time.sleep(1)
        print("Hacker found an encoded message...")
        h.set_dict(h.open_file())
        time.sleep(1)
        print("SHIT, he's started hacking!!!!!!")
        time.sleep(1)
        cracked = h.hack(h.encoded, s.get_cipher())
        if cracked:
            time.sleep(2)
            print("The hacker has successfully cracked your " + str(c) +
                  " cipher algorithm.\n\\end")
        else:
            time.sleep(2)
            print("You have successfully beaten the hacker!")
            time.sleep(1)
            print("Or maybe used some words not in the dictionary...")
예제 #2
0
def main(cipher, rsa = 0):
    print(cipher)
    sender = Sender(cipher)
    receiver = Receiver(cipher)
    key = cipher.generate_keys()
    if rsa:
        sender.set_key(key[0])
        receiver.set_key(key[1])
    else:
        sender.set_key(key)
        receiver.set_key(key)
    message = "shady crypto"

    print("Key is: ", key)
    print("Plaintext: ", message)
    crypted = message = sender.operate_cipher(message)
    print("Cryptedtext : ", message)
    message = receiver.operate_cipher(message)
    print("Cryptedtext converted back to Plaintext: ", message)

    if cipher.verify("text hacking example", key):
        print("Cipher is verified")
    else:
        print("Cipher is invalid")

    if not rsa:
        hacker = Hacker()
        print("Hacker will hack this cryptedtext: ", crypted)
        hacked = hacker.operate_cipher(crypted, cipher)
        print("Message:", '"' + str(hacked[0]) + '"', "is hacked with Key:", hacked[1])
    print("\n"*2)
예제 #3
0
print("Encrypted: " + encrypted)
decrypted = receiver.operate_cipher(encrypted)
print("Decrypted: " + decrypted)
print("Verified: " + str(algorithm.verify("verify text")))

"""

#Unbreakable
algorithm = Unbreakable()
sender = Sender(algorithm)
receiver = Receiver(algorithm)
algorithm.generate_keys(sender, receiver)
print("Keys: " + str(sender.get_key()) + " and " + str(receiver.get_key()))
encrypted = sender.operate_cipher("hello world")
print("Encrypted: " + encrypted)
decrypted = receiver.operate_cipher(encrypted)
print("Decrypted: " + decrypted)
print("Verified: " + str(algorithm.verify("verify text")))
hacker = Hacker()
hacker_result = hacker.operate_cipher(encrypted)
print("Hacked: " + hacker_result)
"""Affine
algorithm = Affine()
sender = Sender(algorithm)
receiver = Receiver(algorithm)
algorithm.generate_keys(sender, receiver)
print("Keys: " + str(sender.get_key()) + " and " + str(receiver.get_key()))
encrypted = sender.operate_cipher("hello world")
print("Encrypted: " + encrypted)
decrypted = receiver.operate_cipher(encrypted)
print("Decrypted: " + decrypted)