정보보안/암호학2009. 2. 27. 18:44

암호는 자료 변환에 기반을 둔 수학의 한 분야로, 비밀을 보호하기 위해 정해진 사람들만이 알 수 있도록 개발된 일종의 언어라고 할 수 있다. 암호는 창조된 그 순간부터 정보를 보호하는 중요한 수단으로 사용되었다. 따라서 기밀을 유지하는 것이 가장 중요한 군대가 전쟁시에 사용하기 시작하였으며, 오늘날에는 컴퓨터 보안의 광범위한 분야에서 사용되고 있다. 컴퓨팅 기술의 발달로 인하여 암호 기술 및 성능 또한 급속하게 발전하고 있으며 정교함까지 더해가고 있다.

전통적인 암호는 오직 자료의 보안 유지와 관련되어 왔으나, 현대의 암호는 자료의 기밀성과 무결성, 전자서명, 사용자 인증 등의 서비스를 제공하는데 유용하게 사용되고 있다.

암호화(Cryptography)란 정보의 보안을 위해 다른 사람들이 알아볼 수 없도록 정보를 보안하는 작업을 말한다. 즉 평문 메시지를 변형시켜 다른 사람이 알아볼 수 없는 암호문으로 만들고 특정한 비밀키를 알고 있는 사람만이 암호문을 다시 평문 메시지로 복원시킬 수 있도록 하는 기술을 말한다.

 

▲암호 시스템


오늘날 정보가 자산으로 인식되고, 그 중요성에 나날이 증가함에 따라 네트워크를 통해 중요한 정보를 보관하거나 다른 사람에게 전달할 때 내용이 외부에 노출되지 않아야 하는 필요성 때문에 많은 분야에서 암호화 기술이 사용되고 있다.

[용어 설명]
* 평문(plaintext, cleartext) – 일반적으로 사용되는 메시지 즉, 전달해야 할 내용을 말한다.
* 암호문(ciphertext) – 평문을 제3자가 알아볼 수 없는 형태로 변형한 글자 또는 부호 즉, 암호화한 내용을 말한다.
* 암호화(encryption, encipher) – 보내는 사람이 평문을 암호문으로 변형시키는 과정, 즉 비밀 유지를 목적으로 암호 알고리즘을 이용하여 평문을 암호문으로 바꾸는 것을 말한다.
* 복호화(decryption, decipher) – 암호문을 받은 사람이 이를 다시 평문으로 복원하는 과정을 말한다.


◀ 좋은 암호 시스템이란?
암호 시스템이란 암호 기술을 이용하여 암호화/복호화하는 일련의 체계를 말한다. 이때 복호화는 정상적인 복호키를 알고 있는 수신자가 암호문을 평문으로 복원시키는 과정이지만, 해독은 복호키를 모르는 사람이나 암호를 분석하는 사람이 비정상적인 방법으로 복호키를 찾아내거나 평문의 내용을 알아내는 것을 말한다. 따라서 암호화와 복호화는 쉽고 빠르면서 해독은 어려울수록 좋은 암호 시스템이라 할 수 있다.

그렇다면 해독이 어려운 암호 시스템은 어떤 특성을 가져야 하는가? 좋은 암호 시스템, 해독이 어려운 암호 시스템은 안전한 암호 시스템을 의미한다. 안전한 암호 시스템은 평문의 정보를 암호문 전체에 고루 분산시켜야 한다. 이렇게 평문의 각 사용문자에 대한 정보가 암호문 전체에 분산되는 특성을 확산이라고 하는데, 확산의 정도가 커질수록 암호 해독자는 더 많은 양의 암호문을 필요로 하기 때문에, 암호문을 해독하는데 더 많은 시간과 노력이 필요하게 된다.

다음으로 암호 해독자가 평문의 문자와 암호문의 문자 사이의 대응 관계를 알 수 없도록 해야 하는데, 이런 특성을 혼돈이라고 한다. 혼돈과 확산 함수 자체는 암호학적으로 약한 함수지만, 여러 회 반복 사용하면 암호학적으로 강한 함수를 구성할 수 있다.

출처 : 안철수 연구소
Posted by Huikyun