Feistel암호DES 내부에 존재하는 16개의 라운드에서 암호화하는 방식이다. 라운드에서는 입력으로 들어온 64비트를 각 32비트로 나누어 왼쪽, 오른쪽 비트로 나눈 후 MixerSwapper를 거쳐 32비트씩 출력한다. Mixer 안에서는 함수 동작 및 XOR가 일어난다. 이 함수는 DES 함수라고 불리는데 이 함수 내부에서 확장 P-박스가 이용된다. 확장 P-박스는 입력 값으로 들어온 32비트를 48비트로 확장하는 역할을 한다. 확장하는 방식은 32비트를 4비트씩 나누고 나눠진 4비트는 그대로 내려오고 제일 상위 비트와 제일 하위비트를 양 옆의 4비트에서 한 비트씩 교환하며 비트 수를 늘리는 방식이다. 확장 P-박스를 거쳐 생성된 48비트를 Round-Key generator에서 받은 48비트와 XOR한다. XOR를 거친 48비트는 S박스에 들어가게 되는 데, S박스48비트를 6비트씩 나누어 제일 상위 비트와 제일 하위비트를 이용해 테이블의 세로를, 가운데 4비트를 이용해 테이블의 가로를 구성 한다. 이러한 방식으로 총 8개의 테이블이 생성되고 그 테이블에서 각각 4비트를 출력한다. S 박스를 통해 나온 32비트는 마지막으로 P박스를 거치게 된다. P박스는 단순히 비트를 전치하는 역할이다.

 

 

* 위의 글은 www.kocw.net/home/search/kemView.do?kemId=1320013 3주차 강의를 보고 제가 작성한 내용입니다.

'시스템보안(이론)' 카테고리의 다른 글

메시지 인증  (0) 2020.08.14
AES  (0) 2020.08.11
DES 2  (0) 2020.08.11
관용 암호  (0) 2020.08.10
보안서비스  (0) 2020.08.10