Theory/Cryptology

비밀키 - 환자암호

D4tai1 2018. 8. 12.

1. 비밀키 - 환자암호[Substitution - Cipher]

- 글자를 다른글자로 치환

 

1) 시저 암호

- 같은 간격으로 밀어서 사용하는 시프트암호의 일종이다.

- 25개의 암호 키를 가지고 있으며 무차별, 전사, 전수, Brute Force Attack에 취약하다.

- 이것으로 알 수 있는 것은 키가 많아야 한다는 것통계적 성질이 눈에 띄지 않아야 한다는 것이다.

- 문자 출현 빈도 수에 대한 복호화가 용이하다.

 

 

2) Affine 암호

- C = (K· M + K) mod 26

- ex) M = info, K= 3, K= 15 -> NCEF

- 암호화는 가능하나 복호화를 할 수 없다.

- K1이면 시저암호와 동일하다.

 

 

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

댓글