VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙 프로젝트 계획서 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 Round Function Key Scheduling Plaintext Ciphertext ……
2. DES(3) Encryption(left), Decryption(right) Initial Permutation IP-1 R15 k16 L15 Initial Permutation f IP-1 L0 k1 R0 L14 k15 R14 L2 R2 R1 k2 L1 L16 R16 R16 L16 f Initial Permutation IP-1 R16 k16 L16 L15 k15 R15 R14 L14 R2 k2 L2 L1 k1 R1 R0 L0 L0 R0
2. DES(4) DES의 Round (1 Round) Li = Ri-1 Ri = Li-1 f ( Ri-1 , Ki ) Key(64) PC-1 Plaintext(64) Key(56) IP C0(28) D0(28) 좌 Shift 좌 Shift L0(32) R0(32) C1(28) D1(28) 48 PC-2 SubKey f(R0, K1) 56 좌 Shift 좌 Shift L1(32) R1(32) C2(28) D2(28) Li = Ri-1 Ri = Li-1 f ( Ri-1 , Ki )
2. DES(5) Key Transformation Shift C D + PC-2 28 56 48 SubKey
2. DES(6) 암호화 함수 f(Ri-1, Ki)의 계산 Ri-1(32) 확장순열 E Ri-1(48) S1 S2 S3 S4 순열함수 P(32) Ri = f (Ri-1, Ki)(32)
2. DES(7) 암호화 함수 (S-Box) S1 부터 S8 까지의 8개의 Box로 구성됨 6비트를 입력으로 받아 4비트를 출력하는 표 작성 1 2 3 4 5 6 1 2 3 4 S1 입력비트 S-Box 출력비트 MSB LSB S-Box의 행 결정 : 1번째 비트, 6번째 비트 S-Box의 열 결정 : 2, 3, 4, 5번째 비트
2. DES 알고리즘 내부구조
3. 수행방법 및 일정 수행방법 1. 알고리즘 구현(DES 코어 작성, 핀 ASSIGN) 2. 시뮬레이션 수행 3. HBE-DTK-10K 트레이닝 키트 상에서의 구현 입력(DIN[64bit], KIN[64bit]), 출력(DOUT[64bit]) 1주 : 프로젝트 주제 선정 및 수행계획 수립 2주 ~ 3주 : 알고리즘 설계 4주 : 시뮬레이션을 통해서 작동여부를 확인 5주 : Training Kit를 통해 검증