[python] 카이사르 암호 응용, 무차별 대입 공격
여기 암호가 있습니다.
'YT LJY QTXY NX YT KNSI F BFD'
이 암호문 이외의 다른 정보는 아무것도 없습니다. 우리는 이 암호문의 형상을 보고 카이사르 암호문이라고 가정해 봅시다.
카이사르 암호는 평문을 구성하는 모든 문자를 일정 크기만큼 이동하여 만든 암호문이므로, 이 암호문을 해독하기 위해서는 모든 문자를 1부터 26까지 이동시켜 보면 됩니다.
이런 암호 공격 방법을 무차별 대입 공격 또는 전수 조사 공격이라고 하고 영어로는 Brute Force Attack이라고 합니다.
이 코드는 저번 글에서 만든 카이사르 암호 도구 소스코드를 약간 수정한 것입니다.
코드 1.5에서 추가된 부분은 attack(msg)입니다.
attack(msg)는 우리가 습득한 암호문을 인자로 받아서 암호문의 각 문자를 1씩 이동한 결과를 화면에 출력합니다.
이런 과정을 25까지 반복합니다.
코드 실행결과는 다음과 같습니다.
이 결과에서 SHIFT[5]의 내용이 이해할 수 있는 문장입니다.
SHIFT[5] : 'TO GET LOST IS TO FIND A WAY'
'길을 잃는 다는 것은 곧 길을 알게 된다는 것이다.'
아프리카의 속담이다.
보안이라는 분야는 IT 분야의 상위에 있는 분야이고 넓고 깊은 지식이 필요한 분야라 무엇을 어디서부터 어떻게 시작해야 할지 잘 모르겠다. 하지만 포기하지 않고 계속해서 배움을 익혀 간다면 언젠가는 나에게 맞는 길과 공부법을 발견하여 실력을 키울 수 있을 것이라 믿는다 그러니 포기하지 말고 계속해서 나아가는 게 중요하다고 생각한다.