DES
블록암호의 일종으로, 미국 NBS (National Bureau of Standards, 현재 NIST)에서 국가 표준으로 정한 암호이다. DES는 대칭키암호이며, 56비트의 키를 사용한다.
64비트 블럭 암호 알고리즘. 56비트 키를 사용(64비트 중 8비트는 parity check로 사용)
라운드 수 : 16
DES 심플버전
IP(Initial Permutation) : 초기 전치
fk : 전위나 전치, 치환 (키 의존적)
SW : 데이터의 두 절반을 상호 교환하는 함수
암호화와 복호화 프로세스는 아래와 같다.
키생성 과정
가운데 키 생성과정 보자. 예를들어 여기서 1 0 0 1 0 0 1 1 1 0 의 10bit 키 입력이 들어가게 되면,
P10
P10에 의해서 0 0 0 1 1 0 1 1 1 0 가 출력된다. 이를 반씩 나누어 0 0 0 1 1 / 0 1 1 1 0 가 되고
P8
P8을 통해 1 1 1 1 1 0 0 0 의 8bit 키 K1이 생성된다.
K2 생성도 이와 같다.
8bit의 평문은 IP를 거치게되는데,
IP
이 과정을 예를 들면, 1 0 1 0 1 1 0 0 이 입력 0 1 1 1 0 0 1 0 가 출력되는 것이다.
fk의 내부는 아래와 같다.
E/P에서는 4bit입력에 대한 8bit출력으로 확장과 치환이 일어난다.
여기까지 DES의 심플 버전이었다.
DES의 심플버전은 8비트로 2단계처리 밖에 안하지만, 실제 DES는 64비트, 16단계 처리를 한다. F함수또한 4비트가아닌 32비트연산이다.
'좌뇌 > 보안' 카테고리의 다른 글
블록 암호 기법(Block cipher) (0) | 2018.04.09 |
---|---|
AES(고급 암호화 표준) (0) | 2018.04.09 |