목차
Ⅰ. S-DES의 암ㆍ복호화 과정
1. S-DES 키의 생성
① K1생성
② K2 생성
2. S-DES 암호화 과정
① fK1 함수
② fK2 함수
Ⅱ. S-DES 복호화 과정
① fK2 함수
② fK1 함수
1. S-DES 키의 생성
① K1생성
② K2 생성
2. S-DES 암호화 과정
① fK1 함수
② fK2 함수
Ⅱ. S-DES 복호화 과정
① fK2 함수
② fK1 함수
본문내용
수 적용 후 오른쪽 4자리를 다시 E/P(확장/순열)작업을 수행
1
0
1
1
0
1
0
1
0
1
1
0
8-비트 서브키 K2 = (K21, K22, K23, K24, K25, K26, K27, K28)이 배타적 논리합을 이용하여 위의 값에 더해짐
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
K2
0
0
1
0
1
1
0
0
S-box
S-box(S0,S1)에서 배타적 논리합 후 INDEX에 해당되는 값을 찾아 4-비트 생성
0
0
1
0
S0(00,01)=S0(0,1)=00 S1(10,10)=S1(2,2)=10
=> (S0,S1)=
S-BOX에 의하여 생성된 4-비트를 P4(4-비트순열)을 적용하여 순열 변환
0
0
1
0
0
0
1
0
P4 결과 후 생성된 4비트와 SW함수 단계 출력 후 왼쪽 4자리를 배타적 논리합
0
0
1
0
0
0
1
1
=
0
0
0
1
배타적 논리합 후 생성된 왼쪽 4자리와 SW단계 출력 후 오른쪽 4자리를 IP-1함수 적용
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
암호문 10011100 생성
Ⅱ. S-DES 복호화 과정
8-bit의 암호문
1
0
0
1
1
1
0
0
IP함수를 적용하여 8-비트 암호문 순열 작업 수행
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
① fK2 함수
IP함수 적용 후 오른쪽 4자리를 E/P(확장/순열)작업을 수행
1
0
1
1
0
1
1
1
1
1
1
0
8-비트 서브키 K2 = (K21, K22, K23, K24, K25, K26, K27, K28)이 배타적 논리합을 이용하여 위의 값에 더해짐
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
K2
0
0
1
0
1
1
0
0
배타적 논리합 후 왼쪽, 오른쪽 4-비트씩 나누어 각각 S-BOX의 S0,S1에 INDEX로 적용 한다.
S-box
S-box(S0,S1)에서 배타적 논리합 후 INDEX에 해당되는 값을 찾아 4-비트 생성
0
0
1
0
S0(00,01)=S0(0,1)=00 S1(10,10)=S1(2,2)=10
=> (S0,S1)=
S-BOX에 의하여 생성된 4-비트를 P4(4-비트순열)을 적용하여 순열 변환
0
0
1
0
0
0
1
0
P4 결과 후 생성된 4비트와 IP함수 단계 출력 후 왼쪽 4자리를 배타적 논리합
0
0
1
0
0
0
0
1
=
0
0
1
1
배타적 논리합 후 생성된 왼쪽 4자리와 IP함수 단계 출력 후 오른쪽 4자리를 SW함 수에 의해 교환한다.(SWICH) SW(00111011)=(10110011)
② fK1 함수
SW함수 적용 후 오른쪽 4자리를 다시 E/P(확장/순열)작업을 수행
0
0
1
1
0
1
0
1
0
1
1
0
8-비트 서브키 K1 = (K11, K12, K13, K14, K15, K16, K17, K18)이 배타적 논리합을 이용하여 위의 값에 더해짐
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
K1
1
0
1
1
0
1
1
0
S-box
S-box(S0,S1)에서 배타적 논리합 후 INDEX에 해당되는 값을 찾아 4-비트 생성
0
1
1
0
S0(11,01)=S0(3,1)=01 S1(00,11)=S1(0,3)=10
=> (S0,S1)=
S0와 S1에 의해 생성된 4-비트가 다른 순열 작업 수행
0
1
1
0
0
1
1
0
P4 결과 후 생성된 4비트와 SW함수 단계 출력 후 왼쪽 4자리를 배타적 논리합
0
1
1
0
1
0
1
1
=
1
1
0
1
배타적 논리합 후 생성된 왼쪽 4자리와 SW단계 출력 후 오른쪽 4자리를 IP-1함수 적용
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
평문 10111001 생성
1
0
1
1
0
1
0
1
0
1
1
0
8-비트 서브키 K2 = (K21, K22, K23, K24, K25, K26, K27, K28)이 배타적 논리합을 이용하여 위의 값에 더해짐
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
K2
0
0
1
0
1
1
0
0
S-box
S-box(S0,S1)에서 배타적 논리합 후 INDEX에 해당되는 값을 찾아 4-비트 생성
0
0
1
0
S0(00,01)=S0(0,1)=00 S1(10,10)=S1(2,2)=10
=> (S0,S1)=
S-BOX에 의하여 생성된 4-비트를 P4(4-비트순열)을 적용하여 순열 변환
0
0
1
0
0
0
1
0
P4 결과 후 생성된 4비트와 SW함수 단계 출력 후 왼쪽 4자리를 배타적 논리합
0
0
1
0
0
0
1
1
=
0
0
0
1
배타적 논리합 후 생성된 왼쪽 4자리와 SW단계 출력 후 오른쪽 4자리를 IP-1함수 적용
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
암호문 10011100 생성
Ⅱ. S-DES 복호화 과정
8-bit의 암호문
1
0
0
1
1
1
0
0
IP함수를 적용하여 8-비트 암호문 순열 작업 수행
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
① fK2 함수
IP함수 적용 후 오른쪽 4자리를 E/P(확장/순열)작업을 수행
1
0
1
1
0
1
1
1
1
1
1
0
8-비트 서브키 K2 = (K21, K22, K23, K24, K25, K26, K27, K28)이 배타적 논리합을 이용하여 위의 값에 더해짐
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
K2
0
0
1
0
1
1
0
0
배타적 논리합 후 왼쪽, 오른쪽 4-비트씩 나누어 각각 S-BOX의 S0,S1에 INDEX로 적용 한다.
S-box
S-box(S0,S1)에서 배타적 논리합 후 INDEX에 해당되는 값을 찾아 4-비트 생성
0
0
1
0
S0(00,01)=S0(0,1)=00 S1(10,10)=S1(2,2)=10
=> (S0,S1)=
S-BOX에 의하여 생성된 4-비트를 P4(4-비트순열)을 적용하여 순열 변환
0
0
1
0
0
0
1
0
P4 결과 후 생성된 4비트와 IP함수 단계 출력 후 왼쪽 4자리를 배타적 논리합
0
0
1
0
0
0
0
1
=
0
0
1
1
배타적 논리합 후 생성된 왼쪽 4자리와 IP함수 단계 출력 후 오른쪽 4자리를 SW함 수에 의해 교환한다.(SWICH) SW(00111011)=(10110011)
② fK1 함수
SW함수 적용 후 오른쪽 4자리를 다시 E/P(확장/순열)작업을 수행
0
0
1
1
0
1
0
1
0
1
1
0
8-비트 서브키 K1 = (K11, K12, K13, K14, K15, K16, K17, K18)이 배타적 논리합을 이용하여 위의 값에 더해짐
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
K1
1
0
1
1
0
1
1
0
S-box
S-box(S0,S1)에서 배타적 논리합 후 INDEX에 해당되는 값을 찾아 4-비트 생성
0
1
1
0
S0(11,01)=S0(3,1)=01 S1(00,11)=S1(0,3)=10
=> (S0,S1)=
S0와 S1에 의해 생성된 4-비트가 다른 순열 작업 수행
0
1
1
0
0
1
1
0
P4 결과 후 생성된 4비트와 SW함수 단계 출력 후 왼쪽 4자리를 배타적 논리합
0
1
1
0
1
0
1
1
=
1
1
0
1
배타적 논리합 후 생성된 왼쪽 4자리와 SW단계 출력 후 오른쪽 4자리를 IP-1함수 적용
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
평문 10111001 생성