VHDL를 이용한 DES 설계

Download Report

Transcript VHDL를 이용한 DES 설계

프로젝트 계획서
VHDL를 이용한 DES 설계
정보통신컴퓨터공학부
5조
김인옥, 백미숙
1. 개요

제목 : VHDL를 이용한 DES 설계

목적 및 필요성
- DES 알고리즘의 개요와 구조 및 암호화 과정을 이해
- 암호화 연산에 필요한 블록들을 VHDL을 사용하여 설계
- 시뮬레이션을 통해서 작동여부를 확인.
- Training Kit를 통해서 실제로 검증
2. DES(1)








Data Encryption Standard
1972년, LUCIFER[FEIS 73]를 기반으로 IBM 개발
1977년, NIST에 의거 미국정부 암호 표준으로 채택 및
5년마다 검증
64비트 단위 블록 암호, 56비트 키
16라운드 반복, 비선형 요인(S-box)
개인키 사용하여 데이터를 암호화하는 방법
72천조 개 이상의 암호 키가 사용되는 것이 가능
송신자와 수신자 둘 모두는 동일한 개인 키를 알고, 사용
2. DES(2)

DES building block
Key
Round
Function
Key
Scheduling
Ciphertext
……
Plaintext
2. DES(3)

Encryption(left), Decryption(right)
Initial Permutation
L0
k1
IP-1
R0
f
R1
L0
R0
R0
k2
L0
f
L1
L1
f
L2
R2
k15
R1
k2
L2
f
R2
L14
k1
R14
R14
f
L14
f
R15
k16
L15
f
L16
R16
R16
L16
IP-1
L15
k15
R15
k16
L16
f
R16
Initial Permutation
2. DES(4)

DES의 Round (1 Round)
Key(64)
PC-1
Plaintext(64)
Key(56)
IP
L0(32)
R0(32)
48
SubKey
f(R0, K1)
L1(32)
Li = Ri-1
R1(32)
Ri = Li-1
f ( Ri-1 , Ki )
C0(28)
D0(28)
좌 Shift
좌 Shift
C1(28)
D1(28)
PC-2
56
좌 Shift
좌 Shift
C2(28)
D2(28)
2. DES(5)

Key Transformation
Shift
Shift
C
D
28
28
+
56
PC-2
48
SubKey
2. DES(6)

암호화 함수 f(Ri-1, Ki)의 계산
Ri-1(32)
확장순열 E
Ri-1(48)
Ki(48)
S1
S2
S3
S4
S5
순열함수 P(32)
Ri = f (Ri-1, Ki)(32)
S6
S7
S8
2. DES(7)

암호화 함수 (S-Box)
S1 부터 S8 까지의 8개의 Box로 구성됨
6비트를 입력으로 받아 4비트를 출력하는 표 작성
S1 입력비트
1
2
3
4
5
6
0
1
1
0
1
1
S-Box
출력비트
1
2
3
4
0
1
0
1
MSB
S-Box의 행 결정 : 1번째 비트, 6번째 비트
S-Box의 열 결정 : 2, 3, 4, 5번째 비트
LSB
2. DES 알고리즘 내부구조
3. 수행방법 및 일정






수행방법
1. 알고리즘 구현(DES 코어 작성, 핀 ASSIGN)
2. 시뮬레이션 수행
3. HBE-DTK-10K 트레이닝 키트 상에서의 구현
입력(DIN[64bit], KIN[64bit]), 출력(DOUT[64bit])
1주 : 프로젝트 주제 선정 및 수행계획 수립
2주 ~ 3주 : 알고리즘 설계
4주 : 시뮬레이션을 통해서 작동여부를 확인
5주 : Training Kit를 통해 검증