Skip to content

Commit 984c4cc

Browse files
authored
enigma machine bruteforce
1 parent ce33513 commit 984c4cc

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

enigma_machine_bruteforce.py

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import sys
2+
from enigma import *
3+
4+
text = "MILFIRQKFRLQINVOOXQKNWRSQJOOLKEQDPIUYGUMLQPUAXEZIQAVHIFYLGQVGOTMLHBKZZELWELNRBACSWPRSXXBOVRGQZAKNZCMPGYGWBYBWKZBUTBQTXXBUCUCMRVIHQUJFYOQIMWJGKNMVLZPIDTBKXFRKFNVVRVFGGMVIWBXOGAXKEGQUDFUHVADFHYTQKWBMWQOLWAYWBLBPUYCIEGBESAFRXYSXXJRXSRUKMMUSLLPVLACHAXQPVNIQZFSLTYAKVHOTJLYKJMHNGVCTLLVISIUHEMXLNSKDUXPIJIBHFZYXBPANIBUEUAYEBXKHHAFYAVLZVEJQUCXNHVXVNKZATDLHQRBYXYKZXFLTGDBPHLADWRAMCFKVZHRTJBGDDSUILLVGQTYLOHPGQSMQXOHYIJGNPLJJZOLQODFRKAEXTKKJRZUTAKKQGJILTODZHVDEGLWYXEBVAMKCECWYPMWQWZZMKCKRVBDLUOMNWJUDTJXGMCKNUBQCQDRNMGMKXAHOUKNLYWMJPBMDWFDHAFAQZHBTGDKFCGNYOJAONXXMKXOASKCXCOWIZKHWCICWMASAPIQLLJMXWNWJIAZAVNUGDSKPTZJPAWEWWUQEDCJSEXXOJDUWWUBSNWWOIVSFNKFSVPEZHJAIDQGMATMSNDUGUCTDEAHKLELNQBCYHYZAXLNWYDTOUYQCOQHVGRXWXFBJZLORZJZLBTYSFXGYVYKFYDCTVIBOUKDTQBJPTIPYGJGINJVCAXOEQYFDJCPDTESZHWTKJYBOGBHIPDNQVLHWJQERQGLHIPKRYAZJMQHZSEZHJNKEMPEZSXGJJLFXCHXIRGIBSOOCMDONRWSBGZWYCTFBEZYGIFKHFKUKQPGRXDLYHKGENIBATOKHKQDOFJKZFLIYCMJSE"
5+
6+
def brute_ring_settings(ciphertext):
7+
for a in range(1, 26):
8+
for b in range(1, 26):
9+
for c in range(1, 26):
10+
machine = EnigmaMachine.from_key_sheet(
11+
rotors='I II III',
12+
reflector='B',
13+
ring_settings=[a, b, c],
14+
plugboard_settings='AQ BJ')
15+
plaintext = machine.process_text(ciphertext)
16+
if "ICECTF" in plaintext:
17+
print('[+] Ring settings: {}, {}, {}'.format(a, b, c))
18+
return a, b, c
19+
return -1, -1, -1
20+
21+
a, b, c = brute_ring_settings(text)

0 commit comments

Comments
 (0)