diff --git a/index.py b/index.py index 57a7253..3586689 100644 --- a/index.py +++ b/index.py @@ -7,6 +7,11 @@ def caesar(ptextletter, keyletter): return chr((ptextNum + keyletterNum) % 26 + ord('A')) +def caesar_reverse(ptextletter, keyletter): + ptextNum = ord(ptextletter) - ord('A') + keyletterNum = ord(keyletter) - ord('A') + return chr((ptextNum - keyletterNum) % 26 + ord('A')) + def encryption(plaintext, key): ciphertext = '' for i in range(len(plaintext)): @@ -15,21 +20,24 @@ def encryption(plaintext, key): def decryption(ciphertext, key): - return ciphertext + plaintext = '' + for i in range(len(ciphertext)): + plaintext += caesar_reverse(ciphertext[i], key[i % len(key)]) + return plaintext def main(): # parse command line argument parser = argparse.ArgumentParser() - parser.add_argument('--ptext', type=str) + parser.add_argument('--text', type=str) parser.add_argument('--key', type=str) args = parser.parse_args() key = args.key - ciphertext = encryption(args.ptext, key) + user_text = args.text - print("Ciphertext: " + ciphertext) - print("Decrypted plaintext: " + decryption(ciphertext, key)) + print("Ciphertext: " + encryption(user_text, key)) + print("Decrypted plaintext: " + decryption(user_text, key)) if __name__ == '__main__':