Download presentation
Presentation is loading. Please wait.
1
순천향대학교 정보보호연구회 2010. 1. 12 김현민 k_l_love@naver.com DES (Data Encryption Standard)
2
2 암호학 세미나 개요 1. 단순 DES 2. 블록 암호 기법의 원리 3. 블록 암호의 운용 모드
3
3 암호학 세미나 1. 단순 DES DES 1972 년, IBM 에서 Lucifer[FEIS 73] 을 개선하여 만듬 1977 년, 현재 미국 표준 기술연구소 (NIST) 의 전신인 미국 표준국에서 채택 56 비트 키를 이용, 64 비트 출력으로 변환 8 비트는 parity check 로 사용 단순 DES 교육용 알고리즘 Santa Clara 대학의 Edward Schaefer 교수에 의해 개 발
4
4 암호학 세미나 1. 단순 DES( 계속 ) S-DES 의 설계 개요 8-bit ciphertext 8-bit ciphertext P10 IP Shift f SW f IP Shift P8 f SW f IP 10-bit key 8-bit plaintext 8-bit plaintext IP k k k k k 1 k 1 k 2 k 2 암호화 복호화 키생성
5
5 암호학 세미나 1. 단순 DES( 계속 ) S-DES 키의 생성 P10 LS-1 LS-2 P8 10-bit key 10 5 5 5 5 8 8 5 5 k 1 k 2 k1k2k3k4k5k6k7k8k9k 10 1010000010k3k5k2k7k4k 10 k1k9k8k6k6 1000001100 P10 10000 LS-1 00001 01100 11000 k6k3k7k4k8k5k 10 k9 10000011 P8 00001 LS-2 00100 11000 00011 k6k3k7k4k8k5k 10 k9 01001011 P8 k 1 k 2
6
6 암호학 세미나 1032 3210 0213 3132 0123 0 1 2 3 0123 2013 3010 2103 0123 0 1 2 3 1. 단순 DES( 계속 ) S-DES 암호 알고리즘 IP S0S1 P4 k 1 8-bit plaintext 8 4 4 44 2 2 4 4 8 E/P SWSW 8 f k k1k2k3k4k5k6k7k8 10010100k2k6k3k1k4k8k5k5k7 01011000 IP 0101 1000 0101 k4k1k2k3k2k3k4k4k1 01000001 E/P 1110 S011 0101 S101 10100100 k 1 11100101 k5k6k7k8k1k2k3k4 10001000 SW 1101 P4 0101 IP 앞부분 1000 k2k4k3k1 1000
7
7 암호학 세미나 1. 단순 DES( 계속 ) S-DES 암호 알고리즘 IP S0S1 P4 E/P k 2 4 4 44 2 2 4 8 SW 8 4 8 8-bit ciphertext E/P f k k5k6k7k8k1k2k3k4 10001000 SW k4k1k2k3k2k3k4k4k1 01000001 E/P 01000011 k 2 00000010 1032 3210 0213 3132 0123 0 1 2 3 0123 2013 3010 2103 0123 0 1 2 3 0000 S001 0010 S101 1100 P4 1000 SW 앞부분 0100 k2k4k3k1k4k1k3k5k7k2k8k8k6 00010100 IP 1000
8
8 암호학 세미나 2. 블록 암호 기법의 원리 스트림 암호와 블록 암호 기법 스트림 암호 기법 1 비트 / 1 바이트의 디지털 데이터 스트림을 암호화 하는 방식 Vigenere 암호, Vernam 암호 방식 블록 암호 방식 평문 블록 전체를 가지고 같은 크기의 암호문 블록 생성 블록크기는 전형적으로 64 비트 사용 일반적으로 스트림 암호 방식 보다 더 넓은 범위에 응용될 수 있음 네트워크 기반 대칭 암호 응용시 사용
9
9 암호학 세미나 2. 블록 암호 기법의 원리 ( 계속 ) Feistel 암호 방식 단순한 치환 암호를 개략적으로 설계할 수 있음을 제안 두 개 이상의 기본 암호가 연속적으로 수행되는 방식 치환과 순열을 번갈아 수행하는 암호 방식의 사용을 제안 현재 사용되고 있는 거의 모든 중요한 대칭 블록 암호가 사용하는 구조
10
10 암호학 세미나 2. 블록 암호 기법의 원리 ( 계속 ) 확산과 혼돈 확산 : 평문의 통계적 구조가 암호문의 광범위한 통계 값 에 분산되어 버리는 방식 암호문 숫자는 다수의 평문 숫자에 의해 영향을 받음 키를 추론하기 어렵게 하기 위해 평문과 암호문 사이에 통계적인 관 계를 복잡하게 만듬 혼돈 : 키를 발견하기 어렵게 하기 위해 암호문에 대한 통계 값과 암호 키 값 사이의 관계를 가능한 복잡 하게 만듬 공격자가 통계값으로 암시를 얻어도 암호문을 생성하는 방법이 복 잡하여 키를 추론하기 어려움
11
11 암호학 세미나 블록크기 : 일반적으로 64 비트의 블록크기를 사 용. 큰 블록크기는 암호 / 복호 속도 저하 키 크기 : 큰 키는 보안이 강해지지만, 암호 / 복호 속도 저하. 일반적으로 128bit 사용 반복수 : 다중반복과정은 보안성 증가, 전형적인 반복 횟수 16 회 서브키 생성 알고리즘 : 알고리즘이 복잡할수록 암호해독이 더욱 어려움 반복함수 : 복잡할수록 암호해독이 더욱 어려움 Feistel 암호구조 2. 블록 암호 기법의 원리 ( 계속 ) 2w bits F Plaintext (2w bits) L 0 R 0 L 1 R 1 K 0
12
12 암호학 세미나 3. 블록 암호의 운용모드 모 드모 드설 명설 명전형적인 응용 전자 코드북 (ECB) (Electronic Code Book) 평문 64 비트 각각의 블록은 동일키를 사용하여 개별적으로 암호화 단일 값의 보안전송 (ex : 암호화 키 ) 암호 블록 연결 (CBC) (Cipher Block Chaining) 암호 알고리즘의 입력은 선행 암호문 64 비트와 다음 평문 64 비트를 연결하여 XOR 하는 방식 일반용도의 블록형 전송 인증 암호 피드백 (CFB) (Cipher Feedback) 입력은 한번에 J 비트씩 처리 선행 암호문은 평문과 XOR 연산된 의사 난수 출 력은 만드는 암호 알고리즘의 입력 일반용도의 스트림형 전송 인증 출력 피드백 (OFB) (Output Feedback) 암호 알고리즘의 입력이 선행한 DES 출력이라는 것을 제외하면 CFB 와 유사 잡음 있는 채널상의 스트림형 전송 (ex : 위성 통신 ) 계수기 (CTR) (Counter) 평문의 각 블록이 암호화된 카운터와 XOR 됨 카운터는 다음 블록을 위하여 증가 일반용도의 블록형 전송 고속의 요구 사항에 유용 블록 암호의 운용모드
13
13 암호학 세미나 3. 블록 암호의 운영모드 ( 계속 ) 전자 코드북 (ECB) 모드 DES 의 가장 단순한 모드 평문이 한 번에 64 비트씩 처리되고 각 평문 블록은 동 일키로 암호화 평문의 동일한 64 비트 블록이 두 번 이상 나올 경우 항 상 동일한 암호문 생성 메시지가 길 경우 ECB 모드가 안전하지 않을 수 있음
14
14 암호학 세미나 3. 블록 암호의 운영모드 ( 계속 ) Encrypt Encryption P 1 C 1 K C 2 K P 2 C N P N K Decryption Decrypt K KK C 1 C 2 C N P 1 P 2 P N Time = 1 Time = 2Time = N 전자 코드북 (ECB) 모드 ( 계속 )
15
15 암호학 세미나 3. 블록 암호의 운영모드 ( 계속 ) 암호 블록연결 (CBC) 모드 ECB 의 보안 결함을 극복하기 위하여 개발 암호 알고리즘 입력은 현 평문 블록과 선행 암호 블록 의 XOR 결과 ( 동일 키 사용 ) 평문 블록이 처리 과정에 연속적으로 연결 암호 함수의 입력은 평문 블록과의 고정된 관계가 없기 때문에 64 비트의 반복 패턴이 나타나지 않음 64 비트 이상의 메시지 암호화에 적절한 모드
16
16 암호학 세미나 암호 블록연결 (CBC) 모드 3. 블록 암호의 운영모드 ( 계속 ) Time = 1Time = 2Time = N Encrypt Encryption P 1 C 1 K C 2 K P 2 C N P N K IV C N-1 Decryption Decrypt K KK C 1 C 2 C N P 1 P 2 P N IV C N-1
17
17 암호학 세미나 3. 블록 암호의 운영모드 ( 계속 ) 암호 피드백 (CFB) 모드 본질적으로 64 비트 블록을 사용하는 블록암호 방식 문자 스트림의 전송 중 각 문자를 문자지향 스트림 암 호화를 이용하여 암호화 후 즉시 전송 가능 암호문이 평문과 같은 길이 8 비트 문자 전송의 경우 각 문자는 8 비트를 사용하여 암호화
18
18 암호학 세미나 암호 피드백 (CFB) 모드 3. 블록 암호의 운영모드 ( 계속 ) Shift register 64-j bits | j bits Shift register 64-j bits | j bits Shift register 64-j bits | j bits DES encrypt DES encrypt DES encrypt SelectDiscard j bit | 64-j bits SelectDiscard j bit | 64-j bits SelectDiscard j bit | 64-j bits IV C 1 C 2 P 1 P 2 P M C M C M-1 K K K 64 j j j Encryption
19
19 암호학 세미나 암호 피드백 (CFB) 모드 3. 블록 암호의 운영모드 ( 계속 ) Shift register 64-j bits | j bits Shift register 64-j bits | j bits Shift register 64-j bits | j bits DES encrypt DES encrypt DES encrypt SelectDiscard j bit | 64-j bits SelectDiscard j bit | 64-j bits SelectDiscard j bit | 64-j bits IV C 1 C 2 P 1 P 2 P M C M C M-1 K K K Decryption
20
20 암호학 세미나 3. 블록 암호의 운영모드 ( 계속 ) 출력 피드백 (OFB) 모드 CFB 의 구조와 유사 장점 전송중의 비트 오류가 전파되지 않음 단점 CFB 보다 메시지 스트림 변조 공격에 취약
21
21 암호학 세미나 출력 피드백 (OFB) 모드 3. 블록 암호의 운영모드 ( 계속 ) Encryption Shift register 64-j bits | j bits Shift register 64-j bits | j bits Shift register 64-j bits | j bits DES encrypt DES encrypt DES encrypt SelectDiscard j bit | 64-j bits SelectDiscard j bit | 64-j bits SelectDiscard j bit | 64-j bits IV C 1 C 2 P 1 P 2 P M C M M-1 K K K
22
22 암호학 세미나 출력 피드백 (OFB) 모드 3. 블록 암호의 운영모드 ( 계속 ) Decryption Shift register 64-j bits | j bits Shift register 64-j bits | j bits Shift register 64-j bits | j bits DES encrypt DES encrypt DES encrypt SelectDiscard j bit | 64-j bits SelectDiscard j bit | 64-j bits SelectDiscard j bit | 64-j bits IV C 1 C 2 P 1 P 2 P M C M M-1 K K K
23
23 암호학 세미나 3. 블록 암호의 운영모드 ( 계속 ) 계수기 (CTR) 모드 통신망 보안 및 IP 보안에 대한 응용 계수기 값이 암호화되는 각 평문 블록마다 달라야 함 CTR 모드의 장점 카운터하드웨어 효율성 소프트웨어 효율성 전처리 임의 접근 검증 보안 단순성
24
24 암호학 세미나 계수기 (CTR) 모드 3. 블록 암호의 운영모드 ( 계속 ) Encrypt Counter K C 1 P 1 Encrypt Counter + 1 K C 2 P 2 Encrypt Counter + N - 1 K C N P N Encryption Decryption Encrypt Counter K P 1 C 1 Encrypt Counter + 1 K P 2 C 2 Encrypt Counter + N - 1 K P N C N
25
Thank You
Similar presentations