From 2715eafddf7e5ebf4dc114a863ead58050468917 Mon Sep 17 00:00:00 2001 From: Maxime Vorwerk Date: Sun, 7 Jul 2024 13:17:27 +0200 Subject: [PATCH] Vigenere --- vigenere/cipher.txt | 1 + vigenere/sol.py | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100755 vigenere/cipher.txt create mode 100755 vigenere/sol.py diff --git a/vigenere/cipher.txt b/vigenere/cipher.txt new file mode 100755 index 0000000..e42e00b --- /dev/null +++ b/vigenere/cipher.txt @@ -0,0 +1 @@ +rgnoDVD{O0NU_WQ3_G1G3O3T3_A1AH3S_cc82272b} diff --git a/vigenere/sol.py b/vigenere/sol.py new file mode 100755 index 0000000..ab755bf --- /dev/null +++ b/vigenere/sol.py @@ -0,0 +1,26 @@ +#!/home/maxime/.pyvenv/bin/python3 + +key = "CYLAB" + +with open("cipher.txt", 'r') as f: + cipher = f.read() + + plaintext = "" + i = 0 + for char in cipher: + char = ord(char) + a = ord('a') + z = ord('z') + A = ord('A') + Z = ord('Z') + keychar = ord(key[i%len(key)]) - A + if a <= char and char <= z: + plaintext += chr((char - a - keychar)%26 + a) + i += 1 + elif A <= char and char <= Z: + plaintext += chr((char - A - keychar)%26 + A) + i += 1 + else: + plaintext += chr(char) + print(plaintext) +