컴맹에서 컴공 그리고 화이트 해커가 되는 그날까지

[python] 카이사르 암호 응용, 무차별 대입 공격 본문

프로그래밍/python

[python] 카이사르 암호 응용, 무차별 대입 공격

공부하는 뚱이 2022. 11. 16. 20:42
반응형

여기 암호가 있습니다.

'YT LJY QTXY NX YT KNSI F BFD'

이 암호문 이외의 다른 정보는 아무것도 없습니다. 우리는 이 암호문의 형상을 보고 카이사르 암호문이라고 가정해 봅시다.

카이사르 암호는 평문을 구성하는 모든 문자를 일정 크기만큼 이동하여 만든 암호문이므로, 이 암호문을 해독하기 위해서는 모든 문자를 1부터 26까지 이동시켜 보면 됩니다.

이런 암호 공격 방법을 무차별 대입 공격 또는 전수 조사 공격이라고 하고 영어로는 Brute Force Attack이라고 합니다.

 

카이사르 암호문의 무차별 대입 공격 코드

이 코드는 저번 글에서 만든 카이사르 암호 도구 소스코드를 약간 수정한 것입니다.

코드 1.5에서 추가된 부분은 attack(msg)입니다.

 

attack(msg)

attack(msg)는 우리가 습득한 암호문을 인자로 받아서 암호문의 각 문자를 1씩 이동한 결과를 화면에 출력합니다. 

이런 과정을 25까지 반복합니다.

 

무차별 대입 공격 결과

코드 실행결과는 다음과 같습니다.

이 결과에서 SHIFT[5]의 내용이 이해할 수 있는 문장입니다.

 

SHIFT[5] : 'TO GET LOST IS TO FIND A WAY'

'길을 잃는 다는 것은 곧 길을 알게 된다는 것이다.'

아프리카의 속담이다.

 

보안이라는 분야는 IT 분야의 상위에 있는 분야이고 넓고 깊은 지식이 필요한 분야라 무엇을 어디서부터 어떻게 시작해야 할지 잘 모르겠다. 하지만 포기하지 않고 계속해서 배움을 익혀 간다면 언젠가는 나에게 맞는 길과 공부법을 발견하여 실력을 키울 수 있을 것이라 믿는다 그러니 포기하지 말고 계속해서 나아가는 게 중요하다고 생각한다.

반응형