반응형
Feistel Cipher (f)
= (*단순복사)
= f(,) (+)
(+) : bit-wise xor
f 함수 : DES의 핵심적인 부분
f는 암호화 시스템(DES, ... 등)별로 다를 수 있지만 이런 형태의 암호화 형태를 Feistel cipher이다.
DES는 Feistel Cipher의 한 예이다.
구조
Expansion P-box ( input : 32bits -> output : 48bits)
8x6의 Expansion P-box table (1~32사이의 중복이 포함된 수들)
P : Permutation
32번째 비트가 1번, 1번비트가 2번, ..., 1번째 비트가 48번째
(+) : xor (bitwise XOR)
input R_i-1(32bit)과 key(48bit)값 간에 xor연산을 하기위해 32비트를 48비트로 만드는 과정
S-boxes (input : 48bits -> output : 32bits)
8개의 S-box
S : Subsitution
각각은 6bit가 입력되고 4bit가 출력된다.
S-box 1 (input : 6bits -> output : 4bits)
4x16
각 row는 0~15사이 숫자가 중복없이 한번씩 등장한다. (Permutation)
각 SBox는 위의 형태의 표로 존재한다.
양끝 비트가 모여져서 row index가 되고, 중앙에 4비트가 column index가 된다.
입력 abcdef (6bits)
af : (2bits) 0~3 : row index
bcde : (4bits) 0~15 : column index
-> 상응하는 테이블 위치의 값을 출력
ex) 100011 to S-box1 출력 4bit?
100011 -> 11 (=3): row index
100011 -> 0001 (=1) : column index
output : 12 (1100)
*주의할 점 DES를 하려면 프로그램에서 위에 정해진 표를 입력해주어야 한다.
*S-box의 permutation 표가 결정된 기준?
-공식적으로 알려지진 않음
Straight P-box (input : 32bits -> output : 32bits)
1~32 Permutation box
마찬가지로 DES설계자들이 정해진 위의 표를 사용하게 했다. random permutation중에 위의 표로 정한 이유 역시 밝히지 않음
DES Cipher 정리
각 Round는 Mixer, Swapper로 구성
{ Round1 } { Round16 }
IP(64bits) -> Mixer(64bits) -> Swapper(64bits) -> ... -> Mixer -> Swapper -> FP(64bits) -> 64bits
↑K₁ ↑K_16
반응형
'Information Security Theory' 카테고리의 다른 글
4. Data Encryption Standard (DES) (3) (0) | 2019.03.31 |
---|---|
4. Data Encryption Standard (DES) (1) (0) | 2019.03.27 |
3. Traditional symmetric key ciphers (3) (0) | 2019.03.26 |
3. Traditional symmetric key ciphers (2) (0) | 2019.03.26 |
3. Traditional symmetric key ciphers (1) (0) | 2019.03.20 |