@ Skytale
@Enigma
- 독일군에서 사용한 암호
@ Steganography
- BC 494 암호문이 없는 것처럼 암호문을 전달
ex) 머리에 암호문을 작성하고 머리를 길러 암호문을 숨김
@ Classification (고전 사이퍼 분류)
1) Transposition Cipher
- 기본적인 아이디어 : 자리를 바꾸는 것
key에 따라 배치할 수 있는 개수는 5!(120)개 만큼 있다. 여기서 하나만 랜덤으로 선택을 한다. 평문을 작성할 때 마지막 남은 공간은 정해져있는 것으로 패딩한다. 여기서는 Z로 패딩했다.
2) Substitution Cipher
- 이것은 알파벳 위치와는 상관이 없다. 하나의 법칙을 작성해두고 대칭되는 알파벳으로 바꾼다.
ex) tree -> ackk
- 똑같은 알파벳은 같은 알파벳으로 대칭된다.
- Monoalphabetic Ciphers
- 평문 내의 하나의 심볼과 암호문의 하나의 심볼의 관계는 1 대1 이다.
ex) Additive, Multiplicative, Affin
- Polyalphabetic Ciphers
- 평문 내의 하나의 심볼과 암호문의 하나의 심볼의 관계는 1 대 다 이다.
ex) Autokey, Playfair, Vigenere, Hill
전수 조사하기에는 상당히 어려운 많은 키를 가지고 있으나 문자의 통계를 그대로 적용하기 때문에 통계적 암호 공격에 취약하다. |
@ Additive Cipher
쉬프트 암호는 오직 26개의 키만이 존재하므로 암호문을 복호화하기 위해 최대 26회의 키를 쉬프트하면 된다.
따라서 암호 해독 중 exhaustive key search로 쉽게 해독할 수 있다.
@ 유클리드 확장 알고리즘
정수 m,n의 최대공약수를 gcd(m,n)과 같이 나타낼 때 확장된 유클리드 알고리즘을 이용하여 am+bn=gcd(m,n)의 해가 되는 정수 a,b의 짝을 찾아낼 수 있다.
@ Affin Cipher
취약점1 : 여기서 모든 경우의 수는 12 * 26 개이다. 따라서 brute force attack으로 해독할 수 있다. |
증명은 아래와 같다.
이를 이해할려면 아래의 정리를 이해해야 한다.
- 오일러 피함수
- 1부터 n까지의 양의 정수 중에서 n과 서로소인 것의 개수
- 일반적으로 아래와 같이 표기한다.
- 아래와 같은 정리가 존재한다.
위 그림 풀이에서 하단의 풀이가 잘 못 되었다.
4 * 20 * 6이다.
따라서 총 480개이다.
- K 곱셉에 대한 역원 구하기
K에 대한 덧셈에 대한 역원은 -K 였다. 곱셈에 대한 역원은 어떻게 구할 수 있을 까?
이를 이용하면 다음과 같이 암호화, 복호화를 할 수 있다.
취약점2 : known plaintext attack으로 해독이 가능하다. |
@ Vigenere Cipher
- 복잡한 표를 미리 만들고 이에 따라 암호를 조정하거나 푸는 방법이다.
- 빈도수 공격을 가리기 위해 만들어졌다. (언어 통계학적인 문제)
- 카지스키, 프리드만 암호 공격 방법에 의해 해독이 가능하다.
취약점 : 문장이 길어지면 반복되는 팬턴이 존재해 키의 길이를 추측할 수 있다. |
@ Hill Cipher
- 평문을 d개의 블록으로 나눈다.
- 마지막이 d보다 모자랄 경우 Z로 채운다.
하지만 이는 암호문과 평문 일부분이 주어졌을 때 key를 알아낼 수 있다.
취약점 : Known plaintext attack으로 해독이 가능하다. |
example 1)
example 2)
'보안 > 정보보호이론' 카테고리의 다른 글
Bock Cipher Modes (0) | 2015.03.02 |
---|---|
암호화를 위한 보안 모델 (0) | 2015.03.02 |
Lottery를 이용한 단일 대치 암호문 해독 (0) | 2015.03.02 |
정보보호이론에서 알아두어야할 공식 (0) | 2015.03.02 |
정보보호이론 소개 (0) | 2015.03.02 |