티스토리 뷰

암호학

DES

소심야채 2021. 11. 18. 16:07

개요

데이터 암호화 표준(Data Encryption Standard, DES)은 블록 암호의 일종으로,
미국 NBS (National Bureau of Standards, 현재 NIST)에서 국가 표준으로 정한 암호이다.
DES는 대칭키 암호이며, 56비트의 키를 사용한다.

 

 

DES 암호화 과정

General structure of DES

 

DES 암호화 과정에는 크게 3가지로 나눌 수 있다.

  • Initial Permutation & Final Permutation
  • Round Function
  • Round-key generator

 

Initial Permutation & Final Permutation

초기 및 최종 순열은 정해진 규칙에 따라 bit 교환이 이루어진다.

Initial and final permutation steps in DES
Initial and final permutation tables

초기와 최종 순열은 암호화 의미가 없으나 이 두 순열은 소프트웨어 시뮬레이션 메커니즘을 방해 할 수있는것으로 추측된다.

 

 

Round Function

One round of DES

R 32bit은 Round Function과  XOR연산을 취한다.

L 32bit은 R 32bits로 swap된다.

 

 

expand

R 32-bit을 48-bit으로 확장시키기 위해 아래 그림과 같은 방법을 사용한다.

Expansion permutation

확장 순열의 결과를 정리한 테이블은 아래 그림과 같다.

Expansion D-box table

 

S-Boxes

S-Boxes의 구조를 표현하는 그림은 아래와 같다.

S-boxes

총 8개의 S-Box로 구성되어져 있으며 각각의 박스는 입력으로 6bit을 받아 정해진 규칙(S-box rule)에 따라 4bit을 출력한다.

S-box rule

입력으로 주어지는 1, 6번째 비트를 조합하여 4가지 열의 경우를 만들 수 있다.

입력으로 주어지는 2~5번째 비트를 조합하여 16가지 행의 경우를 만들 수 있다.

 

각각의 S-box는 입력으로 주어진 6bit를 4 x 16 형태의 테이블에 일대일 대응시켜 대응되는 테이블 값으로 4bit을 출력한다.

S-box 1

위의 이미지는 S-box 첫 번째의 테이블이며 S-box 마다 존재하기 때문에 총 8개가 존재한다.

 

 

P box

S-Boxes에서 출력되는 32-bit을 정해진 순열 테이블에 따라 섞어준다.

Straight permutation table

P box에 따라 출력된 32bit이 Round Function의 결과 값이다.

 

 

Round-key Generator

Key generation

위의 그림은 매 라운드 마다 필요한 48-bit key를 만드는 과정을 보여준다.

 

1. key와 parity bits로 구성된 64-bit중 parity bits(8 bits)를 드랍한 56 bits가 라운드키를 만드는데 사용된다.

Parity-bit drop table

2. 위의 순열후 1, 2, 9, 16 라운드에서는 1bit를 그 외 라운드에서는 2bits을 왼쪽 순환 쉬프트를 취해준다.

 

3. D-box 이용하여 58 bits을 48 bits로 압축하여 라운드 키로 사용한다.

Key-compression table

 

 

참고자료

DES 블록 암호  정보 보안 암호학 강좌 : https://www.youtube.com/watch?v=2CiaO7JrjJE&list=PLW8wOTYOluvFmqr01lKXKku_4zjn2RqKH&index=12

academic.csuohio.edu.Chapter6 : https://academic.csuohio.edu/yuc/security/Chapter_06_Data_Encription_Standard.pdf

'암호학' 카테고리의 다른 글

비밀글입니다  (0) 2022.01.07
AES  (0) 2021.11.26
블록 암호 운영모드  (0) 2021.11.22
댓글