write-ups-challenges-2023-2024/i-need-better-friends/SOLUTION.md

42 lines
2.0 KiB
Markdown
Raw Normal View History

2023-11-28 15:24:59 +00:00
## 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}