암호의 역사
고전암호
- 스키테일 암호
- 시저 암호)
- 모노 알파베틱 암호
현대암호
- Claude Shannon : 정보이론의 창시자
- 혼돈과확산
- 혼돈 : 키와 암호문의 상관관계를 숨김 ( 치환 이용 [S-BOX] )
- 확산 : 평문과 암호문의 상관관계를 숨김 ( 순열 이용 [P-BOX] )
)
블록암호
블록암호 : 평문과 암호문이 고정된 크기의 블록으로 구성되어 있다.
)
DES
Date Encryption Standard (데이터 암호화 표준)
- 64-bit 평문을 받아 56-bit 키를 사용하여 64-bit 데이터를 암호화
- 복호화 알고리즘은 암호화 알고리즘과 동일하고 키만 reverse order(역순)으로 입력하면 된다. (Feistel 구조)
- 총 16라운드로 구성
Q. 64-bit 평문을 받았지만 56-bit 키를 받아서 안전할까?
A. NO
병렬처리와 전용칩으로 전수키 조사로 쉽게 분석 가능
이중 DES (Double DES, 2DES)
Q. 키가 112-bit가 되었으니 안정성 증가?
A. NO
키가 112-bit가 되어도 전수조사가 두배가 아닌 현저히 낮아진 사이즈의 안전성만 확보
** 삼중 DES (Triple DES, 3DES)**
위의 문제점들을 해결책으로 삼중DES가 나온것
삼중 DES쓰는이유
- DES와의 호환성 때문
- MITM 공격을 이용해도 112-bit 안전성 보장 가능
3DES는 널리 사용되었으나 AES등장으로 사라지는추세
AES
Advanced Encryption Standard) : 고급 암호화 표준
128-bit 입력값에 대해 byte 단위의 state를 만들고 state를 입력값으로 사용
- SubBytes -> 평문값을 S-BOX의 값으로 치환 과정
- ShiftRows -> S-BOX이후 만들어진 값을 규칙대로 옮겨주는 과정
- Mix Columns -> 열 별로 바이트를 섞는 과정
- AddRoundKey -> 라운드키와 XOR하는 과정
댓글