des 암호화 예제

By in Non classé on 2 août 2019

암호 해독은 단순히 암호화의 역이며, 위와 동일한 단계를 폴링하지만 하위 키가 적용되는 순서를 반전시입니다. 예를 들어 이전 확장 예제의 출력을 사용 해 보겠습니다: 111010 101000 00000 001000 011010 101001 011110 100111. 이 예제에서는 모든 입력 값에 대해 동일한 S-Box를 사용하지만 실제로는 각 값이 다른 S-Box를 통과합니다. 이 예에서 S(A,B)는 S-Box 테이블의 행 A와 열 B의 교차점에 있는 셀을 참조합니다. 이 예제에서는 다음과 같이 R0에서 E(R0)를 얻을 수 있습니다: 암호화의 S-Box 단계의 경우 입력(배타적 또는 출력)은 8개의 6비트 블록(이전 섹션의 테이블의 행)으로 나뉩니다. 이러한 각 블록은 다른 대체 상자 또는 S-Box를 통과합니다. 첫 번째 S-Box의 예는 아래 표에 나와 있습니다. 이 예제에서는 S1 출력 111 및 S2 출력 110이 있습니다. 따라서 함수 f(Ri-1,Ki)의 출력은 111110, S1 출력은 S2 출력이 됩니다. DES 알고리즘의 초기 순열은 첫 번째 암호화 라운드 전에 일반 텍스트의 순서를 변경합니다.

초기 순열의 구조는 아래 표에 나와 있습니다. 예를 들어 라운드 번호 1, 2, 9 또는 16이 다른 라운드의 위치에 대해서만 시프트가 수행되는 경우 원형 시프트는 두 개의 위치에 의해 수행됩니다. 라운드당 이동된 키 비트의 수는 그림으로 표시됩니다. 예를 들어 32비트 문자열을 확장해 보겠습니다: 11010100 00000100 11010100 11110011. 이 예제에서는 이전 라운드에서 반복된 왼쪽 두 개의 열과 고유한 오른쪽 네 개의 열의 두 부분으로 단계를 나타갑니다. 기호 `:`는 포함되고 둘러싸는 범위, 즉 30:2(30, 31, 1, 2)를 나타내는 데 사용됩니다. B의 첫 번째 비트와 마지막 비트는 소수점 범위 0에서 3(이진 00 ~ 11)의 숫자를 기본 2에 나타냅니다. 그 숫자가 내가 될 수 있습니다. B의 중간에 있는 4비트는 소수점 범위 0에서 1111까지의 숫자를 기본 2에 나타낸다. 이 숫자가 j. i-th 행과 j-th 열의 숫자를 테이블에서 조회하도록 합니다.

0에서 15 까지의 숫자이며 4 비트 블록으로 고유하게 표현됩니다. 해당 블록은 입력 B에 대한 S1의 출력 S1(B)입니다. 예를 들어 입력 블록 B = 011011의 경우 첫 번째 비트는 « 0 »이고 마지막 비트 « 1 »은 01을 행으로 제공합니다.

Comments are closed.