CTFlearn의 열네번째 문제
드디어 암호학 다운 암호학 문제가 나왔다.
문제 제목에 써있는것처럼 비제네르 암호와 관련된 문제이다.
Vigenere 암호는 프랑스 외교관 블레즈 드 비제네르가 개발한 암호이다.
문제 설명에도 써있는것처럼 시저 암호보다 진화된 형태로
알파벳 순서를 key에 맞게 바꿔서 암호문을 만들어 준다.
gwox{RgqssihYspOntqpxs}
문제에서 주어진 암호문은 위와 같고,
I’m not sure what this means, but it was left lying around: blorpy
이 문장에서 갑자기 뜬금없이 blorpy 라는 단어를 언급하는걸로 보아
key 값이 blorpy 인듯 하다.
비제네르 암호의 원리는 아주 간단하다.
이 표와 키값만 있으면 다 풀 수 있다.
key 값의 첫글자는 b, 암호문의 첫글자는 g 이다.
표를 보면 1번행이 b로 시작하는것을 볼 수 있다.
1번 행에서 암호문의 첫글자인 g를 찾고, 이 g가 있는 부분의 열 이름(파란색)을 읽어주면 된다.
평문의 첫번째 글자는 f 가 되는것이다.
다음으로 key 값의 두번째 글자는 l, 암호문의 두번째 글자는 w이다.
11번 행이 l 로 시작하고, 11번 행에서 w를 찾아 그 위치의 열 이름을 확인하면 l 이 된다.
따라서 평문의 두번째 글자는 l 이다.
그다음 key값의 세번째, 암호문의 세번째 글자는 둘다 o 이다.
o로 시작하는 14번 행에서 o 위치의 열 이름을 읽으면 a 가 된다.
평문의 세번째 글자는 a 이다.
마지막으로 한번만 더해보면
key 값의 네번째 글자는 r, 암호문의 네번째글자는 x 이다.
r로 시작하는 17번 행에서 x 위치의 열 이름을 읽어주면 g 가된다.
평문의 네번째 글자는 g 이다.
여기까지하면 평문 앞의 4글자가 flag 인걸 알아낼 수 있다.
같은 방식으로 쭉- 해주면 평문을 모두 찾아낼 수 있다.
사실 비제네르 암호는 아주 단순한 암호라서
온라인 디코딩 툴이 아주 많이 존재한다.
CyberChef(https://gchq.github.io/CyberChef) 에서도 쉽게 디코딩 할 수 있다.
암호문과 key 값을 넣어주면 바로바로 디코딩이 가능하다.
'워게임 > CTFlearn' 카테고리의 다른 글
[CTFlearn] BruXOR - 암호학 / XOR (50) | 2022.08.26 |
---|---|
[CTFlearn] Don't Bump Your Head(er) - 웹해킹 / 헤더변조 (64) | 2022.08.23 |
[CTFlearn] Hextroadinary - 암호학 / XOR (45) | 2022.08.17 |
[CTFlearn] WOW.... So Meta - 포렌식 / ExifTool (53) | 2022.08.14 |
[CTFlearn] Binwalk - 포렌식 / HxD (46) | 2022.08.11 |