★케르크호프 법칙 - 암호화알고리즘은 반드시 공개되어야한다. (키만 비공개해야함)
1. 암호의 분류
1.1 비밀키 암호 방식(Secret Key Cryptography)
Ke = Kd
- 관용 암호 방식(Conventional Cryptography)
- 대칭 암호 방식(Symmetric key Cryptography)
1.2 공개키 암호 방식(Public Key Cryptography)
Ke =/ Kd
- Two Key 암호 방식
- 비대칭 암호 방식
2. 비밀키 암호 방식
2.1 환자 암호(Substitution Cipher) - 글자를 다른 글자로 바꿈
2.2 전치 암호(Transposition Cipher) - 위치를 바꿈
2.3 적 암호(Product Cipher) - 환자, 전치를 섞음
3. 환자 암호(Substitution Cipher)
치환형 : 평문의 글자 하나하나를 암호문의 문자로 바꾸는 암호(치환)
- Caeser(Shift) 암호 방식
- 단순 환자 암호 방식
- Affine 암호 방식
- 동음이의 환자 암호
- Vigenere 암호
- HILL 암호
- PlayFair 암호
4. Caeser 암호(Shift 암호)
- 사용가능 암호화 키 : 25개
- 소모적 공격, Brute Force, 무작위 대입, 전사 공격, 전수 공격
- C = (M + K) mod 26
- 암, 복호화과정이 단순하다.
5. Affine 암호
- C = (K1 * M + K2) mod 26
6. 단순환자암호
- 평문의 영문자를 무작위로 다른 영문자로 치환
- 단순환자 암호는 키숫자가 많다. (26! 개)
- 언어의 통계적 성질을 이용하여 문자 빈도수에 따른 암호문 문자를 평문 문자로 대칭시킴으로써 암호문 해독이 가능하다.
7. 동음이의 환자 암호
- 암호문의 문자빈도가 균등하게 분포되도록 만들었다.
- 짧은 문장에는 강하나 긴 문장에는 약하다. (2문자, 3문자 연속출현시 통계학적 성질이 그대로 남아있기 때문에 문제가 된다.)
8. Vigenere 암호
- 평문을 여러부분으로 나누어 암호를 적용
- 목표 : 통계적 성질을 없애는 것
키의 길이가 d인 암호의 키 총수는 26^d 개로 소모적 공격에 강하다.