본문 바로가기

공부/암호학

[암호학] 2. 고전암호학(Traditional Ciphers)

1. 암호학의 시작

위의 그림을 보자. Alice는 Bob에게 어떤 문서를 보내기 위해 문서를 암호화(Encrypt)했고, 밥은 암호화한 문서를 받아 해석했다. 이 때 원본의 문서를 Plaintext라고 하며, 암호화된 문서를 Ciphertext라고 한다. 보통 암호화하는 과정에 있어 Encrypt Algorithm을 사용하며 이 알고리즘에 key가 사용된다. 암호화된 문서를 복호화(Decrypt)하기 위해서는 Encrypt에 사용된 key를 알아야 할 것이다. 이와 같은 과정을 통해 문서를 전송하면, 암호화된 문서를 제 3자가 가로채어도 그 문서를 해독하지 못해 원하는 정보를 얻을 수 없다. Alice와 Bob이 비밀로 문서를 주고 받기 위해서는 둘만의 약속된 key만 유출이 되지 않으면 가능하다.


보통 Encrypt하는 과정을 함수를 로 나타내며, Decrypt하는 과정을 함수를 이용해 나타낸다. 이 때의 k는 사용된 key를 나타낸다.

이 때, 원본 문서를 P, 암호화된 문서를 C라하면 다음과 같은 식이 성립한다.

Encryption:   Decryption: 

이런 경우, n명의 사람들이 서로간에 비밀리에 소통을 하기 위해서는 각각의 사람이 모두 다른 key를 사용해 소통해야하므로, nX(n-1)/2개의 key가 필요하게 된다.


※ Kerckhoff's Principle

Encrypt/Decrypt는 모두 Kerckhoff's Principle에 기반하고 있다. Encryption/Decryption Algorithm을 다른 사람이 알 수도 있지만, key만은 보호하는 것이다. 제 3자가 암호화된 문서를 알고 싶다면, key를 알아내면 암호를 풀 수 있을 것이다. 하지만 최근의 암호학에서는 key의 범위가 매우 넓어, 추측하지 못하도록 만들어 문서를 암호화한다.


2. 암호해독학(Cryptanalysis)

암호해독학은 말그대로 암호화된 문서를 해독하기 위한 연구를 말한다. 즉, 암호화에 사용된 key를 찾아내는 작업이다. 암호해독 공격(Cryptanalysis Attack)에는 크게 네가지 종류가 있다.



1) Ciphertext-only Attack

제 3자인 Eve는 Alice와 Bob이 주고받는 암호화된 문서를 가로챈다. Eve가 암호화에 사용된 알고리즘을 알고 있다고 가정할 때, Eve는 암호화에 사용된 key를 추측해서 Plaintext를 만들 수 있을 것이다. Ciphertext-only Attack은 가장 쉽고, 가장 빈번히 일어날 수 있는 공격이므로, 암호화를 잘하기 위해서는 이 공격에 대해서 철저히 방어할 수 있어야할 것이다.


2) Known-Plaintext Attack

Known-Plaintext Attack은 Ciphertext-only Attack과 비슷하다. 추가해서 Eve는 이전에 Alice와 Bob이 주고받았던 Plaintext와 Ciphertext를 가지고 있다. 여기서 Eve는 이전에 사용된 Plaintext, Ciphertext의 쌍을 이용해 key를 추측할 수 있다. 이미 알고있는 자료를 통해 분석하므로, Ciphertext-only Attack보다 쉽게 key를 추측할 수 있을 것이다. 하지만 이 방법은 Alice와 Bob이 Key를 바꾸는 순간 무용지물이 된다는 단점이 있다.


3) Chosen-Plaintext Attack

Chosen-Ciphertext Attack은 Known-Plaintext와 유사한 방법이다. 하지만, 앞서 사용했던 Previous Pair의 Plaintext와 Ciphertext가 아니다. Eve는 새로운 Plaintext를 만들어, Alice의 컴퓨터(has Encrypt Algorithm)에 침입해 Ciphertext를 만들어낸다. 이를 통해 Plaintext와 Ciphertext를 분석할 수 있고, key를 추측할 수 있다. (이 과정에 있어, Eve는 Alice의 컴퓨터에 짧은 시간 동안만 침입할 수 있으므로, Eve가 만든 Plaintext는 원본 Plaintext보다 훨씬 짧을 것이다.)


4) Chosen-Ciphertext Attack

Chosen-Ciphertext Attack은 Chosen-Plaintext Attack과 유사한 방법이다. Chosen-Plaintext Attack과는 다르게, Eve는 가로챈 Ciphertext의 일부를 이용해 새로운 Ciphertext를 만든다. 그리고 Bob의 컴퓨터(has Decrypt Algorithm)에 침입해 생성한 Ciphertext에 대한 Plaintext를 얻어낸다. 이를 분석해 사용된 key를 추측하는 방법이다.

 


반응형