1. 고전 암호의 특징
ㅇ 문자(알파벳)를 대상으로 암호화 수행
ㅇ 간단한 연필,도구 등 만을 사용하여 암호 생성
2. 고전 암호의 방식 구분
ㅇ 대치,치환 (Substitution) : 문자를 다른 문자로 바꿈
- 구분 : 단일 대치, 다중 대치
ㅇ 전치 (Transposition) : 문자의 위치,순서를 바꿈
ㅇ 이 둘의 혼합
3. 대치(치환) 암호 (Substitution Cipher)
ㅇ 비트,문자,블록을 다른 비트,문자,블록으로 대치시켜 암호화하는 방법
ㅇ 단일 대치 (Monoalphabetic Substitution), 단순 대치(Simple Substitution)
- 하나의 문자를 다른 한 문자로 대치하는(바꾸는) 암호화 (일대일 대응관계)
. 평문을 구성하는 알파벳을 한 문자씩 대치표를 참조하여 변환
. 例) 덧셈 암호(시저 암호), 곱셈 암호, 아핀 암호
ㅇ 다중 대치 (Polyalphabet Substitution)
- 각 문자가 여러 다른 문자로 대치 (일대다 대응관계)
. 例) 비제네르 암호(Vigenere Cipher), 힐 암호(Hill Cipher)
- 특징 : 다중 치환을 이용하여 문자의 발생 빈도를 균일화
- 구분
. 다표식 대치 (polyalphabetic substitution)
.. 메세지 내 문자 위치에 따라 다른 대치 규칙을 적용
.. 한 번에 한 문자를 치환하지만, 문자 마다 다른 규칙을 적용
. 다중문자 대치 (polygraphic substitution)
.. 평문을 m 문자씩 블록화하고, 블록 마다 여러 문자를 한 번에 바꾸는 방식
4. 대치(치환) 암호의 例 : 시저 암호 (Caesar Cipher)
ㅇ 단일 대치 암호의 일종
- 알파벳 문자를 일정한 문자 수 만큼 평행 이동시킨 암호화
- 이동 암호, 덧셈 암호 등으로 불리움
ㅇ 역사상 실제 사용한 가장 단순한 형태의 암호
- 고대 로마 줄리어스 시저 장군이 사용한 암호
ㅇ 시저 암호의 수학적 표현 : (by 모듈로 연산)
- 암호화 : Ek(m) = (m + k) mod 26 = c (m∈Z26)
- 역암호화 : Dk(c) = (c - k) mod 26 = m (c∈Z26)
* 시저 암호는, 키 k = 3 을 씀
. (즉, 알파벳 자리수를 3 만큼 평행이동시킴)
5. 주요 공격 방식
ㅇ 무작위 공격 (Brute Force Attack)
- 모든 가능한 키를 전부 대입해 봄
ㅇ 빈도수 공격 (Frequency Attack)
- 평문의 문자별 빈도수를 분석
- 평문의 통계학적 특성을 이용
. 문자 빈도수에 따라 대응 : e = 12.7%, z = 0.1 % 등
. 어떤 문자 뒤에 자주 오는 문자로 추측 등
ㅇ 사회공학적 공격
- 사람과 관련된 것으로, 뇌물,협박,사기 등에 의한 비밀키 획득