42 lines
2.0 KiB
Markdown
42 lines
2.0 KiB
Markdown
|
## 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}
|