Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

DES에서 초기 순열이란 무엇입니까?

<시간/>

초기 순열은 암호화 프로세스 시작 시 한 번만 필요합니다. DES에서는 완전한 평문을 각각 64비트 블록으로 나눈 후 각 블록에 IP가 필요합니다. 이 초기 순열은 전치 절차의 한 단계입니다.

초기 순열은 한 번만 나타나며 첫 번째 라운드 전에 나타납니다. 표와 같이 IP의 전치가 어떻게 진행되어야 하는지를 권장합니다.

예를 들어, IP는 58 번째 로 원래 일반 텍스트 블록의 첫 번째 비트를 복원한다고 말할 수 있습니다. 원래 일반 텍스트 블록의 비트 및 50 번째 가 있는 두 번째 비트 원래 일반 텍스트 블록의 비트 등. 이것은 원래 일반 텍스트 블록의 비트 위치에 대한 저글링에 불과합니다.

IP 개념

일반 텍스트 블록의 비트 위치 비트 위치의 내용으로 덮어쓰기
1 58
2 50
3 42
.... ....
64 7

각 순열은 64비트 입력을 생성하고 명확한 규칙에 따라 순열합니다. 몇 개의 입력 포트와 해당 출력 포트만 표시될 수 있습니다. 이러한 순열은 서로 반대인 키가 없는 직선 순열입니다.

예를 들어, 초기 순열에서 입력의 58번째 비트는 출력의 첫 번째 비트로 발전합니다. 마찬가지로 최종 순열에서는 입력의 첫 번째 비트가 출력의 58번째 비트로 발전합니다.

즉, 이 두 순열 사이의 라운드가 계속되지 않으면 초기 순열에 들어가는 58번째 비트가 최종 순열을 떠나는 58번째 비트와 유사합니다.

IP에서 사용하는 전체 조옮김 테이블이 테이블에 표시됩니다. 이 테이블은 왼쪽에서 오른쪽으로, 위에서 아래로 잘려야 합니다. 예를 들어, 첫 번째 위치에 있는 58은 58 번째 의 내용을 나타내는 것으로 유명합니다. 원래 일반 텍스트 블록의 비트는 1 st 의 내용을 덮어씁니다. 비트 위치, IP 동안.

마찬가지로 1은 40 번째 에 표시됩니다. 첫 번째 비트가 40 번째 를 덮어쓰도록 정의하는 테이블의 위치 원래 일반 텍스트 블록의 비트입니다. 다른 모든 비트 위치에 동일한 규칙이 사용됩니다.

58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7

IP가 완료된 후 결과 64비트 순열 텍스트 블록은 두 개의 하프 블록으로 나뉩니다. 각 하프 블록은 32비트를 포함합니다. 왼쪽 블록은 LPT, 오른쪽 블록은 RPT로 알려져 있습니다. 이제 이 두 블록에서 16 라운드가 구현됩니다.