Initial release

This commit is contained in:
Francois JUMELLE
2021-05-03 22:32:40 +02:00
commit 20526d93c8
928 changed files with 452368 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
input = "CJKDPQZZZLSULOEXFPNMXOSVLJSVRHRMFFOABIKBZFJM"
proxima = "PROXIMA"
def vigenere(key, message):
message = message.upper().replace(" ", "")
key = key.upper()*(len(message)//len(key)+1)
plain = ""
for i in range(len(message)):
plain = plain + chr(ord('A') + (ord(message[i]) + ord(key[i])) % 26)
return plain
def vigenere_1(key, message):
message = message.upper().replace(" ", "")
key = key.upper()*(len(message)//len(key)+1)
plain = ""
for i in range(len(message)):
plain = plain + chr(ord('A') + (ord(message[i]) - ord(key[i])) % 26)
return plain
print("*", vigenere("FUA", 'PRO'))
print("*", vigenere("XGA", 'PRO'))
keys = list()
for i in range(26):
for j in range(26):
key = chr(i+ord('A')) + chr(j+ord('A'))
res = vigenere(key, proxima[:len(key)])
if input.find(res) == -1:
continue
for k in range(26):
key = chr(i+ord('A')) + chr(j+ord('A')) + chr(k+ord('A'))
res = vigenere(key, proxima[:len(key)])
if input.find(res) == -1:
continue
for l in range(26):
key = chr(i+ord('A')) + chr(j+ord('A')) + chr(k+ord('A')) + chr(l+ord('A'))
res = vigenere(key, proxima[:len(key)])
if input.find(res) == -1:
continue
for m in range(26):
key = chr(i+ord('A')) + chr(j+ord('A')) + chr(k+ord('A')) + chr(l+ord('A')) + chr(m+ord('A'))
res = vigenere(key, proxima[:len(key)])
if input.find(res) == -1:
continue
for n in range(26):
key = chr(i+ord('A')) + chr(j+ord('A')) + chr(k+ord('A')) + chr(l+ord('A')) + chr(m+ord('A')) + chr(n+ord('A'))
res = vigenere(key, proxima[:len(key)])
if input.find(res) == -1:
continue
for o in range(26):
key = chr(i+ord('A')) + chr(j+ord('A')) + chr(k+ord('A')) + chr(l+ord('A')) + chr(m+ord('A')) + chr(n+ord('A')) + chr(o+ord('A'))
res = vigenere(key, proxima[:len(key)])
if input.find(res) == -1:
continue
keys.append(key)
for key in keys:
res = vigenere_1(key, input[input.find(vigenere(key, proxima)):])
print(key, res)
print("")
print(vigenere_1("LOKI", input))