DES (Data Encryption Standard)

암호화 키(Encryption key) = 복호화 키(Decryption key)

대칭키 암호 시스템

혼합(confusion), 확산(Diffusion)을 이용 원문과 암호문간에 통계적 연관이 없다.

 

64비트 블록 암호 알고리즘
• 입력 메시지를 64비트씩 나누어 처리


56비트 키를 사용
• 64비트 중 8비트는 parity check로 사용 (** parity bit : 에러 검출하기 위한 bit)


기본 구조
• round 수 : 16 round
• 복호화는 암호화의 역순

 

▶ 진리표

- 치환 : 문자를 다른 문자로 바꾸는 것

- 전치 : 문자 위치 바꾸는 것

1 라운드

위 라운드를 16번 반복한 것이 아래와 같다.

▶ 초기 전치

초기 전치

역전치는 전치를 반대로 하는 것이다.

▶ 확장 순열

확장 순열

▶ 치환 선택

▶ S-box

 

<S1>

 

▶ 순열(P)

 

▶ KEY

64비트의 키를 이용
• 64비트를 56비트로 축약하여 서브키를 생성
• 8번째 비트마다 패리트비트를 포함하여 64비트를 키로 이용
• 패리트비트를 제거하여 56비트로 이용

 

암호화 과정에 맞추어 16라운드를 실행
• 각 라운드마다 서브키를 생성

 

오버플로우 - 좌측 이동 : 1010 > 0100 > 1000 > 0000 > 0000

와퍼라운드 - 좌측 이동 : 1010 > 0101 > 1010 > 0101 > 1010  (뒤로 붙임)

이것을 16번 반복해 키를 16개 생성

 

▶ PC-1

▶ PC-2 (축약전치)

▶ 좌측 이동 횟수

 

▶ DES 작동 모드

- ECB (Electronic Codebook) 모드

 

- CBC (Cipher Block Chaining)

 

- CFB (Cipher Feedback)

 

- OFB (Output Feedback) : 링크암호

* CFB와 OFB는 같은 것이다. (데이터 추출 위치만 다르다.)

* 단대단 암호와 링크 암호는 사용 용도만 다르고 구별하는 의미가 없다.

 

▶ DES 작동 모드 - 3중 DES

DES의 brute-force공격에 대한 취약성을 보완
 • 새로운 알고리즘 개발 : IDEA (128 bit 키 사용)
 • DES의 응용 : 3중 DES, 2중 DES


3중 DES
 • 2개의 키를 사용 (DES 3번 사용)
 • 암호화 : 암호화, 복호화, 암호화
 • 복호화 : 복호화, 암호화, 복호화
 • brute-force 공격에 DES보다 강함

 • 암호화 복호화 과정

 

 

 

 

+ Recent posts