본문으로 바로가기

DES Round : P-box S-box

category 끄적거림 2018.10.19 00:46

DES Round에서 P-box와 S-box 에 대해 질문 주셨는데요. 기본적인 DES 알고리즘은 알고 계신다는 가정하에 대충 그림으로 설명드릴게요.


P-box 종류도 확장(Expansion)이니 축소(compression)니 단순(straight)이니 감이 잘 안 잡힌다고 하셔서



아래 그림은 확장(Expansion), 단순(straight) P(Permutation, 치환)-box 와 S(Substitution, 대입)-box 사용 예제(기본)입니다. (파워포인트로 대충 끄적거렸어요;)



※ 해당 그림에서 확장 P-box 자리에 축소 P-box가 올 수도 있습니다. 설계하는 사람에 따라 확장이 올 수도 있고 축소가 올 수도 있고 단순이 올 수도 있습니다.


말 그대로


n비트를 입력해 출력 비트인 m이 크면 확장 P-box (n < m)

n비트를 입력해 출력 비트인 m이 작으면 축소 P-box (n > m)

n비트를 입력해 출력 비트인 m과 같으면 단순 P-box (n = m)


입니다.


DES는 총 64비트(좌측 32비트, 우측 32비트 : 페이스텔 방식)에서 유효 키 길이가 56비트이고 나머지 8비트는 체크비트로 사용됩니다.


각 라운드 함수(Round Function) // 확장 P-box 사용시 예제


1. 32비트 확장(Expansion) P-box 입력 (입력값은 32비트인데, 출력값이 48비트가 되어야 하기 때문에, 확장(Expansion) P-box 를 사용합니다. (n비트를 입력받아 m 비트 출력 (n < m) 해당 그림은 32비트를 입력받아 48비트를 출력)


2. 출력 48비트


3. Ki(48비트) 값과 2번 출력값 48비트 xor 연산


4. 결과값 48비트


5. 결과값 48비트 S-box 입력 (8개 S1~S8 → S-box 테이블: 6개 비트 → S-box 출력값 : 4개 비트)


6. S-box 출력값 32비트


7. S-box 출력값 32비트를 단순(straight) P-box 입력


8. 출력값 32비트


*축소, 확장 P-box는 역방향이 존재하지 않습니다.


*단순 P-box는 역방향이 존재합니다.


*S-box의 입력값과 출력값이 같은 경우역함수가 존재하며, 입력값과 출력값이 다를 시엔 역함수가 존재하지 않습니다.


DES S-Box (2018년 지방 교육행정 전산직9)


2018년 교행에서 출제 된 문제의 경우를 보면 S-box 입력값과 출력값이 서로 상이하기에 해당 S-box의 경우는 역함수가 존재하지 않습니다. (S-box 테이블: 6개 비트 입력값 → S-box 출력값 : 4개 비트)



댓글을 달아 주세요