cryptography 기본 용어 정리
2025-06-19
암호학(cryptography)은 평문(plaintext), 암호문(ciphertext), 그리고 키(key)를 중심으로 구성된다. 통신에서 Alice는 메시지를 안전하게 Bob에게 전달하고 싶어 한다. 이를 위해 Alice는 메시지를 암호화하고, Bob은 이를 복호화해서 원래의 내용을 읽는다.
Alice는 먼저 전달하려는 평문 메시지 을 가지고, 자신의 암호화 키 를 사용해 암호화한다. 이 과정을 통해 이라는 암호문(ciphertext)이 생성된다. 암호화는 평문을 외부에서 알아볼 수 없는 형태로 바꾸는 과정으로, 네트워크 상에서 중간에 누군가 메시지를 가로채더라도 내용을 파악하지 못하게 한다.
이 암호문은 Bob에게 전달된다. Bob은 자신의 복호화 키 를 사용해 이 암호문을 복호화한다. 복호화는 암호화를 역으로 수행하는 과정이고, 아래 식으로 표현할 수 있다.
즉, Bob이 자신의 키로 Alice의 암호문을 복원하면 원래 메시지 이 다시 나타난다.
실제로는 가 Alice의 공개키, 가 Bob의 개인키일 수도 있다. 대칭키 암호에서는 와 가 동일한 키를 공유하는 경우도 있다.
암호화 시스템도 완전히 안전하지는 않다. 만약 공격자인 Trudy가 시스템을 공격하려고 한다면, 사용 가능한 정보에 따라 다양한 방법을 시도할 수 있다.
첫 번째는 암호문만을 가지고 시도하는 공격(ciphertext-only attack)이다. 이 경우 Trudy는 평문은 전혀 모르고, 오직 암호화된 메시지(=ciphertext)만 가지고 분석해야 한다. 이 상황에서는 두 가지 주요 전략이 존재한다.
- 하나는 무차별 대입(brute force) 방식으로, 가능한 모든 키를 하나씩 대입해 복호화를 시도하고, 그중 자연스러운 결과가 나오는 키를 찾아내는 방식이다. 키 공간이 충분히 클 경우 시간과 자원이 매우 많이 들기 때문에 실용적인 키 크기를 사용하는 것이 중요하다.
- 다른 하나는 통계적 분석(statistical analysis)이다. 예를 들어 어떤 글자가 더 자주 나오는지를 분석해서 암호문 속 규칙을 추론하려는 시도다. 단순한 암호일수록 성공 확률이 높다.
두 번째는 알고 있는 평문을 기반으로 한 공격(known-plaintext attack)이다. 여기서 Trudy는 어떤 암호문이 어떤 평문에 대응되는지를 일부 알고 있다. 예를 들어, Trudy가 "alicebob"이라는 평문과 그에 대응하는 암호문을 알고 있다면, 특히 암호 체계가 단순하다면(ex, 단일 치환 암호) 각 알파벳이 어떻게 암호화되는지를 비교적 쉽게 유추할 수 있다.
세 번째는 선택 평문 공격(chosen-plaintext attack)이다. Trudy가 자신이 선택한 평문을 암호화해서 대응하는 암호문을 얻을 수 있는 상황을 의미한다. 이 경우 암호화 함수의 구조나 키에 대한 정보를 유추해내기가 상대적으로 쉬워진다. 특히 블록 암호나 대칭키 시스템에서는 주의가 필요하다.