본문 바로가기

Library/Cryptography

Possible Attacks that Mr. X can choose..

암호를 사용한다는 것은, 결국 메세지를 중간에 누출되는 것을 막기 위한 것이며, 더 직설적으로는 메세지를 허락없이 보려는 사람이 존재한다는 것이다. 일반적으로, 메세지를 암호화해서 보내는 사람을 앨리스(Alice), 이 암호문을 받는 사람을 밥(Bob)이라고 하며, 정당한 권한 없이 이 메세지를 보려고 하는 사람을 오스카(Oscar) 또는 Mr. X라고 부른다. 점잖게 표현하면 암호 공격자, 암호 분석가라고 할 수 있다. 암호공격이란, 결국 가능한 모든 정보를 분석하여 키를 찾아내는 것이다.


Mr. X가 암호문(ciphertext)을 분석하기 위해 선택할 수 있는 방법은 다음 4가지가 있다.

첫번째, Mr. X는 암호문만 획득할 수 있다(Ciphertext Only) : Mr. X가 암호문만 가지고 있을 때, Mr. X는 키를 알아내기 위해 사용 가능한 모든 조합을 해봐야 한다. 이 방법이 단순무식한 전수공격(Brute-Force)이다. 확실하게 키를 알아낼 수 있지만, 시간이 얼마나 걸릴지 예상할 수 없다. 또, 확실하게 해결된다고 하더라도 너무나 많은 시간이 걸린다면 의미없다.

두번째, Mr.X는 특정 평문과 이에 해당하는 암호문을 알고 있을 수 있다(Known Plaintext). 즉, 특정 문서의 경우 특정 단어가 일반적으로 사용되는데, 예를 들어 암호문이 항상 특정 단어로 시작되고, 키를 바꾸지 않는다면 공격자는 이 문서가 일반적으로 어떤 단어로 시작하는지 가정할 수 있고, 여기서 키를 추론할 수 있게 된다.

세번째, Mr. X가 우연하게 Encryption Machine에 접근할 수 있었다고 하자. Mr. X는 키를 알 수 없지만, 암호화하기를 원하는 몇몇 평문들을 암호문으로 바꿀 수 있다. Mr. X는 키를 추론하기 위해 이 암호문들을 분석할 수 있다. 이런 경우를 선택 평문 공격(Chosen Plaintext)이라 한다.

네번째, Mr. X가 우연하게 Decryption Machine에 접근할 수 있었다면, 세번째 경우와 마찬가지로 키를 알지 못한 상태에서 몇몇 관심을 가진 암호문을 해석할 수 있다. 그리고, 역시 이 결과로부터 키를 추론할 수 있는 단서를 얻게 된다. 이런 경우를 선택 암호문 공격(Chosen Ciphertext)이라 한다.