비밀키 - 환자암호
1. 비밀키 - 환자암호[Substitution - Cipher]
- 글자를 다른글자로 치환
1) 시저 암호
- 같은 간격으로 밀어서 사용하는 시프트암호의 일종이다.
- 25개의 암호 키를 가지고 있으며 무차별, 전사, 전수, Brute Force Attack에 취약하다.
- 이것으로 알 수 있는 것은 키가 많아야 한다는 것과 통계적 성질이 눈에 띄지 않아야 한다는 것이다.
- 문자 출현 빈도 수에 대한 복호화가 용이하다.
2) Affine 암호
- C = (K₁ · M + K₂) mod 26
- ex) M = info, K₁ = 3, K₂ = 15 -> NCEF
- 암호화는 가능하나 복호화를 할 수 없다.
- K₁이 1이면 시저암호와 동일하다.
3) 단순 환자 암호
- 평문을 무작위로 다른 문자로 치환.
- 규칙이 없어 총 26 ! 개의 암호 키를 가지고 있으며 풀기 힘드나, 통계적 성질에 의해 풀 수 있다.
4) 동음이의 환자 암호
- 하나의 글자를 여러 글자로 치환.
5) Vigenere 암호(비즈네르)
- 평문을 블록단위로 암호화 한다.
- 다표식 암호로도 부른다.
- C = (M + Ke) mod 26
- M = (C - Kd) mod 26
ex) M = no pain no gain, Ke = SUNDAY
C = BRBHRK, Kd = FRIDAY
Ke = SUNDAY SUNDAY , Kd = FRIDAY
C = (13 + 18) mod 26 = 5[F]
M = (1 - 5) mod 26 = 22[W]
6) playfair 암호(플레이페어) - 5x5판
[1] 5x5판에 순서대로 암호 키를 입력
[2] 나머지 알파벳을 순서대로(왼쪽->오른쪽) 입력
[3] 평문을 2개씩 끊는다. [복호화는 암호문을 2개씩 끊는다.]
[4] 사각형이 만들어지면 같은 가로줄의 꼭지점에 있는 문자를 출력
[5] 같은 가로줄이 만들어지면 한 칸 오른쪽에 있는 문자를 출력 [복호화는 한 칸 왼쪽]
[6] 같은 세로줄이 만들어지면 한 칸 아래쪽에 있는 문자를 출력 [복호화는 한 칸 윗쪽]
[7] 같은 글자가 연속해서 있어 중복된다면 Padding을 한다.
- 5x5판이 상하좌우 전부 붙어있다고 생각한다.
ex) M = in . fo . rm . at . io . nx(단어 부족 시 Padding) , K = TUESDAY
'Theory > Cryptology' 카테고리의 다른 글
Onetime - Pad(일회용패드, OTP) (0) | 2018.08.12 |
---|---|
암호기술이 제공하는 목표 (0) | 2018.08.12 |
비밀키 - 적암호 (0) | 2018.08.12 |
비밀키 - 전치암호 (0) | 2018.08.12 |
암호학 기본지식 (0) | 2018.08.12 |
댓글