개요
대칭 키 암호의 개념과 용어를 알아보고 고전 대칭 키 암호에 대해서 알아보겠다.
이와 같은 암호들은 현재 사용되고 있찌 않지만 현대 암호의 기초가 되며 이해에 도움이되기 때문에 학습한다.
대칭 키 암호
대칭 키 암호에서 사용하는 용어에 대해서 정리해보겠다.
Alice가 Bob에게 메시지를 보낸다고 가정해보자.
plaintext
: 평문이라고 부르며 본래의 메시지ciphertext
: 암호문encryption algorithm
: 암호화 알고리즘shared secret key
: Alice와 Bob이 공유하는 비밀 키decryption algorithm
: 복호화 알고리즘key
: 암호가 동작하는데 필요한 숫자들의 집합
알파벳의 암호값
덧셈 암호
덧셈 암호(addictive cipher)는 가장 간단한 단일문자 암호이다.
이동 암호(shift cipher), 시저 암호(caesar cipher)라고도 불린다.
- 평문을 위의 알파벳 값으로 변환한다.
- 알파벳 값에 키값을 더한다.
- 26으로 나눈 나머지 값을 위의 알파벳 값에 따라서 알파벳으로 다시 변환한다.
덧셈 암호는 전수조사 공격, 통계적인 공격에 취약하다.
곱셈 암호
덧셈과 비슷한 방법으로 암호화한다.
- 평문을 위의 알파벳 값으로 변환한다.
- 알바벳 값에 키값을 곱한다.
- 26으로 나눈 나머지 값을 위의 알파벳 값에 따라서 알파벳으로 다시 변환한다.
임의의 암호에 대해서 key space(키 공간)은 Z26*의 원소로 {1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25}이다.
여기서 키 공간은 가능한 모든 키의 집합이다.