CTF/암호학

[HouseplantCTF] Post-Homework Death - 암호학 / A1Z26

SecurityMan 2022. 6. 1. 11:00

 

고등학교 졸업 이후 다시는 쳐다보지 않았던 행렬과 관련된 문제였다.

 

문제 설명을 읽어보면

 

수학선생님이 숙제를 줬는데 나보고 좀 해달라고 한다.

 

반응형

 

이번 문제는 특이하게 힌트도 주어졌는데,

 

행렬(Matrix)을 만들때

 

위에서 아래로, 왼쪽에서 오른쪽으로 만들라고 적혀있다.

 

그리고 문제파일인 posthomeworkdeaths.txt 파일이 주어진다.

 

 

posthomeworkdeaths.txt 파일을 열어보면 이런 내용이 들어있다.

 

Decoding matrix 라고 해서 어떤 행렬이 하나 주어지고,

 

String 이라고 해서 알 수 없는 숫자들이 주어지는데 

 

아무래도 이것들이 암호문인것 같았다.

 

 

행렬 곱셉을 해주는 사이트가 마침 있어서

(https://matrixcalc.org/ko/)

 

앞쪽에 Decoding matrix를 넣어주고,

 

뒤쪽에는 Strings에 있는 숫자를 9개씩 끊어서

 

위-아래, 왼쪽-오른쪽 순서러 채워넣어 행렬을 만들어 곱해줬다. 

 

 

다음 9자리 숫자도 행렬로 만들어 곱해주고,

 

 

마지막 남는 세 자리 숫자 역시 3x1 행렬로 만들어 곱셉을 해줬다.

 

이제 곱셈의 결과값으로 나온 행렬들의 값을

 

다시 위-아래, 왼쪽-오른쪽 순으로 차례대로 써주면

 

7 15 0 4 15 0 25 15 21 18 0 8 15 13 5 23 15 18 11 0 0

 

이런 숫자들이 나온다.

 

이게 대체 무슨 값일까 고민하다가

 

숫자들이 전부 26보다 작은 값인걸 보고 A1Z26 Cipher 라는걸 알아냈다.

 

A1Z26 암호란

 

A를 1로, B를 2로, C를 3으로 .... Z를 26으로 바꿔서 표현하는 암호를 의미한다.

 

 

CyberChef에서 쉽게 디코딩이 가능하다.

(https://gchq.github.io/CyberChef)

 

다만 A1Z26 암호에 0이라는 값은 없기 때문에 0을 제외한 숫자들을 차례로 입력해주면

 

디코딩된 플래그를 찾을 수 있다.

반응형