암호화는 다음과 같이 이루어집니다.
평문 + 암호 키 → 암호문
복호화는 다음과 같이 이루어집니다.
암호문 + 암호 키 → 평문
해커 Alice가 John의 비밀번호를 알려면 Alice는 John과 서버 간 통신할 때 사용되는 암호 키를 얻어야 합니다. Alice가 John의 암호 키를 알아내고자 이것저것 임의의 암호 키 입력을 시도한다면 어떨까요? 언젠가는 암호 키를 찾겠지만, 현대 컴퓨터에서는 이 암호 키를 찾는 데 걸리는 시간이 현실적이지 않습니다. 전 세계 컴퓨터를 모두 동원해서 찾아내려고 하더라도 평생 못 찾을 것입니다. 이것이 현대 암호 알고리즘이 효과적인 이유입니다.
그런데 문제가 있습니다. 어떻게 John과 서버 간의 암호 키를 Alice가 모르게 할까요? 이를 해결할 수 있는 또 다른 암호화 알고리즘이 있습니다. 암호 키를 2개 두는 것입니다.
암호 키 1로 만든 암호문은 암호 키 2로만 풀 수 있는 알고리즘입니다.
• 평문 + 암호 키 1 → 암호문
• 암호문 + 암호 키 2 → 평문