- 평문
- 암호문
- 암호화
- 의미 알수없는 형식(암호문)으로 정보를 변환하는 것
- 복호화
- 암호화 과정의 역과정 암호 알고리즘에 의하여 암호문을 평문으로 바꾸는 과정
- 암호기법
- 암호해독
대칭 암호화
- 평문
- 암호화 알고리즘
- 암호키
- 암호문
- 암호해독 알고리즘
암호화시 요구사항
- 강력한 암호화 알고리즘이여야 한다.
- 키가 예측 불가능 해야한다.
대칭 암호화시스템
- Y = E(K,X) : k,x입력 y출력 (암호화 과정)
- X = D(K,Y) 복호화 과정
3가지의 특징
- 평문을 암호문으로 변환
- 치환: a,b,c,d를 a->b로 치환 b->c로 치환 같은것
- 전치: a,b,c,d를 b,c,d,a로 섞어서 보내는 것
- 발신자와 수신자가 같은 키를 사용한다.
- 대칭암호화기술, single-key, secret-key
- 평문 처리되는 과정
- block cipher : 많은 양의 데이터를 블럭단위로 잘라서 암호문으로 만드는것
- stream cipher: 하나의 비트단위로 암호문 만드는 것
caesar cipher
-
대칭암호기술 중 대표적인 치환암호기술 caesar cipher이 있다
-
앞 3문자 a,b,c를 D,E,F로 치환
- 위같은 경우는 C = E(P,3) key가 3이다
-
EX) 암호화시 key =3 (복호화시 key= -3)
plaintext: kabsoonyee,
ciphertext: NDEVRRQBHH
-
수식으로 표현시
- C = E(3,p) = (p+3)mod26 <- 26은 알파뱃 갯수, mod는 %연산(3mod26은 3%26 = 3 즉 d)
- C = E(k,p) = (p+k)mod26, 1<=k<=25
- C = D(3,C) = (C-3)mod26
만약 b를 복호화 할때 (1-3)mod26은 모듈러 연산을 하여
-2+26 = 24가 된다.
단점
- 브로드포스를 사용하면 쉽게 알수 있어 보안에 취약
Monoalphabetic cipher
단일문자 암호기술이며 caesar의 키스페이스가 너무 작아 보안에 취약한 점을 보안
- caesar은 대칭이동하였지만 단일문자 암호기술은 하나하나 다른 문자로 매핑되는 것 26!개이다
- 빈도수를 이용해서 파악할 수 있다.
단점
- 한문자를 하나의 문자로만 치환하여 쓰기에 한문자를 알면 그 문자는 고정적으로 알수있음
- 빈도수측면에서 취약
Polyalphabetic cipher
- 하나의 문자가 여러개의 문자로 바뀔수 있다.
- key값은 일반적으로(다른것도) 평문보다 더 짧다
길이 맞추려고 deceptive(key)를 늘림
- 첫번째 보면 3(key)+ 22(plaintext) = 25
25mod26이면 25가 나온다
- 각각의 같은 평문 문자들을 암호문으로 바꿨을 때 다르게 표현 가능(빈도수 문제 해결)
단점
- 키가 반복적으로 사용해서 암호화를 사용하기에 평문에서의 빈도 정보가 나올 수도 있다.(VTW)
해결
- 키가 plaintext만큼 길면 된다.
- 길이가 긴 랜덤한 키를 어떻게 만들건지
- 송신과 수신 둘다 키를 알고 있어야하는데 긴 키를 어떻게 알려줄것인지
해독
Transposition Cipher
- 순열(평문의 문자를 섞는 것)을 사용