The password for the next level is stored in the file data.txt, where all lowercase (a-z) and uppercase (A-Z) letters have been rotated by 13 positions.
Level Goal에 제시된 rotated by 13 positions
는 ROT13
이라는 암호를 의미한다.
cat
명령어를 수행하여 data.txt를 출력해보면, password라고 하기에는 애매한 문자들이 출력된다.
bandit11@bandit:~$ cat data.txt
Gur cnffjbeq vf WIAOOSFzMjXXBC0KoSKBbJ8puQm5lIEi
이 문자는 암호화되어 있기 때문에, ROT13
decoder를 활용하여 password을 얻어낼 수 있다.
Gur cnffjbeq vf WIAOOSFzMjXXBC0KoSKBbJ8puQm5lIEi
→ The password is JVNBBFSmZwKKOP0XbFXOoW8chDz5yVRv
ROT13 Decoder site : https://cryptii.com/pipes/rot13-decoder
Bandit12 Password : JVNBBFSmZwKKOP0XbFXOoW8chDz5yVRv
ROT13(Rotated by 13)
은 단순한 카이사르 암호의 일종으로, 영어 알파벳을 13글자씩 밀어서 만든다. 즉, 카이사르 암호에 키 값으로 13을 준 것과 동일하다.
영어 알파벳을 13글자씩 밀어내서 치환했음으로, HELLO는 URYYB가 된다. 아주 간단한 방식으로 암호화되었기에, 암호학적으로는 기밀성을 전혀 보장하지 못한다. 아마 bandit에서도 약한 암호화 방법을 비유하는 목적 하에 쓰인 듯 하다. (이번 level은 그냥 재미를 맛 보라는 듯한?)
카이사르 암호 또는 시저 암호 는 암호학에서 다루는 간단한 치환 암호의 일종이다. 실제 로마의 황제 카이사르가 동맹군들과의 소통 목적으로 사용했던 암호이기도 하다. 암호화하고자 하는 내용을 알파벳별로 일정한 거리만큼 밀어서 다른 알파벳으로 치환하는 방식이다.