## Difficulty 50/100 ## Category Cryptography ## How To Solve The challenge is a simple enigma encoding. You are given the ciphertext and the plug board. It can be bruteforced with the following tool: https://github.com/the-lambda-way/bruteforce-enigma Once cloned, you have to add the ciphertext and the plugboard to the crack_enigma.cpp file. ```cpp Ciphertext ct = "BYNCXFMMWAESLCQMYZPFYFSFPYQFGXHYTKKMHORH"; Plugboard plug = "BQ CR DI EJ KW MT OS PX UZ GH"; ``` Then you just run `make && ./crack_enigma` and the answer should roll right out ``` Breaking enigma... # Score Refl Rotor Order Ring Pos Rotor Pos Text 1 -225.605389 UKWB II III I 0 0 0 9 13 11 THANKYOUALANTURINGITCOULDNOTHAVEBEENEASY 2 -225.605389 UKWB II III I 0 4 0 9 17 11 THANKYOUALANTURINGITCOULDNOTHAVEBEENEASY 3 -225.605389 UKWB II III I 0 2 0 9 15 11 THANKYOUALANTURINGITCOULDNOTHAVEBEENEASY 4 -225.605389 UKWB II III I 0 9 0 9 22 11 THANKYOUALANTURINGITCOULDNOTHAVEBEENEASY 5 -225.605389 UKWB II III I 0 3 0 9 16 11 THANKYOUALANTURINGITCOULDNOTHAVEBEENEASY 6 -225.605389 UKWB II III I 0 5 0 9 18 11 THANKYOUALANTURINGITCOULDNOTHAVEBEENEASY 7 -225.605389 UKWB II III I 0 1 0 9 14 11 THANKYOUALANTURINGITCOULDNOTHAVEBEENEASY 8 -225.605389 UKWB II III I 0 11 0 9 24 11 THANKYOUALANTURINGITCOULDNOTHAVEBEENEASY 9 -225.605389 UKWB II III I 0 6 0 9 19 11 THANKYOUALANTURINGITCOULDNOTHAVEBEENEASY 10 -225.605389 UKWB II III I 0 10 0 9 23 11 THANKYOUALANTURINGITCOULDNOTHAVEBEENEASY Elapsed time: 0.83 seconds ``` ## Hints - I hope you payed attention to the course automata and computability! - It might be useful information that my friend is German. ## Flag IGCTF{THANKYOUALANTURINGITCOULDNOTHAVEBEENEASY}