이 작업은 정보의 오른쪽 절반인 R을 32비트에서 48비트로 확장하고 이 작업은 특정 비트를 반복할 뿐만 아니라 비트의 순서를 변경합니다. 이것을 확장 순열이라고 합니다.
이 연산은 XOR 연산의 키와 비슷한 크기의 오른쪽 절반을 생성하고 대체 연산 중에 압축할 수 있는 더 긴 결과를 지원하는 것을 포함하여 두 가지 목적을 가지고 있습니다. 하나의 비트가 두 개의 대체에 영향을 줄 수 있으며 입력 비트에 대한 출력 비트의 종속성이 더 빠르게 확산됩니다. 이것을 눈사태 효과라고 합니다.
DES는 평문의 각 비트와 키의 각 비트를 기반으로 암호문의 각 비트를 갖는 동작에 최대한 빠르게 도달하도록 설계되었습니다. 이것은 다음과 같이 나타납니다 -
-
32비트 오른쪽 일반 텍스트는 8개의 블록으로 나뉘며 각 블록은 4비트를 포함합니다.
-
다음으로 다음 프로세스의 각 4비트 블록은 해당 6비트 블록으로 확장됩니다. 즉, 4비트 블록당 2비트가 추가로 삽입됩니다. 4비트 블록의 첫 번째와 네 번째 비트가 절대적으로 반복됩니다.
두 번째 및 세 번째 비트는 입력에 있던 그대로 기록됩니다. 첫 번째 비트 다운로드는 두 번째 출력 위치로 출력되고 출력 위치 48에서 추가로 갱신됩니다. 마찬가지로 32번째 입력 비트는 47 번째 에서 발견됩니다. 출력 위치와 첫 번째 출력 위치에 있습니다.
분명히 이 단계는 출력을 만드는 동안 입력 비트의 확장 및 순열로 이어집니다. 첫 번째 입력 비트는 두 번째 및 48 번째 에 들어갑니다. 출력 위치.
두 번째 입력 비트는 세 번째 출력 위치 등으로 이동합니다. 결과적으로 확장 순열이 일반적으로 그림의 테이블 표시를 사용했음을 감지합니다.
RPT 확장 순열 테이블
32 | 1 | 2 | 3 | 4 | 5 | 4 | 5 | 6 | 7 | 8 | 9 |
8 | 9 | 10 | 11 | 12 | 13 | 12 | 13 | 14 | 15 | 16 | 17 |
16 | 17 | 18 | 19 | 20 | 21 | 20 | 21 | 22 | 23 | 24 | 25 |
24 | 25 | 26 | 27 | 28 | 29 | 28 | 29 | 30 | 31 | 32 | 1 |
먼저 키 변환 단계에서 56비트 키를 48비트로 압축하는 것을 볼 수 있습니다. 따라서 확장 순열 프로세스는 32비트 RPT(Right PlainText)를 48비트로 확장합니다. 이제 48비트 키가 48비트 RPT와 XOR되고 결과 출력이 그림에 표시된 대로 S-박스 대체인 다음 단계에 제공됩니다.
확장 순열 후 DES는 확장된 오른쪽 섹션과 라운드 키에 대한 XOR 연산이 필요합니다.