Download presentation
Presentation is loading. Please wait.
Published by서규 창 Modified 8년 전
1
1 정보보안 경일대학교컴퓨터공학과 김 현 성 kim@kiu.ac.kr
2
2 강의구성 교과목 소개 (1 주 ) 산업체 전문가 특강실시 (2 주 ) 소프트웨어 공학 (3 주 ~7 주 : 5 주 ) 산업체 전문가 특강실시 (8 주 ) 팀 프로젝트 (9 주 ~14 주 : 6 주 ) 팀별 프로젝트 최종 보고 및 시연회 (15 주 ) 교과목 소개 (1 주 ) 산업체 전문가 특강실시 (2 주 ) 소프트웨어 공학 (3 주 ~4 주 ) 암호기초특강 / 프로그래밍 (5 주 ) 네트워크 프로그래밍 (6 주 ~7 주 : 6 주 )=> 이성운 산업체 전문가 특강실시 (8 주 ) 팀 프로젝트 (9 주 ~14 주 : 6 주 ) 팀별 프로젝트 최종 보고 및 시연회 (15 주 )
3
3 1. 암호의 개념 통신 당사자들끼리만 아는 비밀스런 신호나 부호 암호화와 복호화하기 위한 원리, 수단, 방법 등을 취급 하는 기술이나 과학 Alice Bob Plaintext attackattack? ? Cryptography 개방통신로
4
4 2. 암호 용어 암호알고리즘암호알고리즘복호알고리즘복호알고리즘 attack 암호해독 평문 (plaintext) 평문 (plaintext) 암호문 (ciphertext) 암호화 키 (public key) 공개키 디렉토리 송신자수신자 ( 암호장치 ) 복호화 키 (secret key)
5
5 3. 관용 암호 방식 암호화 키 (Encryption key) = 복호화 키 (Decryption key) 대칭키 암호 시스템, 단일키 암호 시스템, 관용 암호 방식 암호알고리즘복호알고리즘 평문 (plaintext) 평문 (plaintext) 암호문 (ciphertext) 공용키
6
6 4. 공개키 암호 방식 암호화 키 (Encryption key) => 상대의 공개키 복호화 키 (Decryption key) => 자신의 비밀키 비대칭키 암호 시스템, 공개키 암호 시스템 암호알고리즘복호알고리즘 평문 (plaintext) 평문 (plaintext) 암호문 (ciphertext) 공개키비밀키
7
7 5 시이저 암호법 쥴리어스 시저에 의해 개발 예제 (Key : 3) 평문 : meet me after the toga party 암호문 : PHHW PH DIWHU WKH WRJD SDUWD 암호화 ( 문자 p 를 암호화 ) C = E(p) = (p+3) mod (26) 일반화 : C = E(p) = (p+k) mod (26) 문자 p 는 C 로 암호화
8
8 프로그래밍 입력처리 : 문자열로 처리 키 처리 : 자신의 학번 제일 마지막 자리를 키로 활용 입력 문자열 : 임의의 문자열로 처리 출력 암호 입력 문자열 암호된 문자열 복호 암호된 문자열 복호된 문자열
9
9 6 단순 DES DES (Data Encryption Standard) IBM 에서 Lucifer System 을 개선하여 만듬 1997 년 미 상무성의 국립 표준국 (NBS) 에서 표준 암호 알고리즘으로 채택 64 비트 블럭 암호 알고리즘 56 비트 키를 사용 –64 비트 중 8 비트는 parity check 로 사용 기본 구조 round 수 : 16 round 복호화는 암호화의 역순 단순 DES 교육용 알고리즘 8 비트 평문 블럭 과 10 비트 키를 사용
10
10
11
11 기본 함수 IP (Initial Permutation) : 초기순열 함수 f K 전치 (transposition) 치환 (substitution) SW : 데이터의 두 절반을 상호 교환하는 함수 함수 f K IP -1 (Inverse Initial Permutation) : 초기 순열의 역인 순열 함수 암호화 / 복호화 Ciphertext = IP -1 (f K2 (SW(f K1 (IP(Plaintext))))) Plaintext = IP -1 (f K1 (SW(f K2 (IP(Ciphertext)))))
12
12
13
13 키생성 S-DES 는 10-bit Key 를 사용 두개의 8-bit sub key 생성 P10( k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) =( k3, k5, k2, k7, k4, k10, k1, k9, k8, k6) P10 입력 : 1 2 3 4 5 6 7 8 9 10 출력 : 3 5 2 7 4 10 1 9 8 6 ex : Key(1010000010) --> (1000001100)
14
14 LS-1 : 1 비트 Circular Left Shift 연산 ex : (10001) --> (00011) ex : (10001) --> (00011) P8 입력 : 10 비트 출력 : 8 비트 P8( k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) =( k6, k3, k7, k4, k8, k5, k10, k9) P8 6 3 7 4 8 5 10 9 6 3 7 4 8 5 10 9
15
15 1 0 0 1 0 0 1 1 1 0 3 5 2 7 4 10 1 9 8 6 0 0 0 1 1 0 1 1 1 0 1 2 3 4 5 6 7 8 9 10 0 0 1 1 0 1 1 1 0 0 6 3 7 4 8 5 10 9 1 2 3 4 5 6 7 8 9 10 1 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 1 2 3 4 5 6 7 8 9 10 6 3 7 4 8 5 10 9 1 1 1 0 0 0 1 0
16
16 암호화 과정 입력 : 8 비트 출력 : 8 비트 IP( 초기 순열 ) 과 IP -1 ( 역 초기 순열 ) M = (IP -1 (IP(M)) IP 입력 : 1 2 3 4 5 6 7 8 출력 : 2 6 3 1 4 8 5 7 IP -1 출력 : 4 1 3 5 7 2 8 6
17
17 함수 f K 전치 (transposition) 치환 (substitution) 입력 8 비트 L (Left most 4 bits) R (Right most 4 bits) 처리 f K = ( L XOR F( R, SK ), R ) SK (Sub Key = K1 or K2) 함수 F() 사용
18
18
19
19 E/P (Expansion/Permutation) 입력 : 4 비트 출력 : 8 비트 P4 E/P 4 1 2 3 2 3 4 1 4 1 2 3 2 3 4 1 P4 2 4 3 1 2 4 3 1
20
20 S-Box 입력 : 4 비트 ( 1 0 1 0 ) 처리 행 : 1 번째와 4 번째 비트 ( 1 0 ) 열 : 2 번째와 3 번째 비트 ( 0 1 ) 0123 01032 13210 20213 33132 S0S1012300123 12013 23010 32103
21
21
22
22 S-DES 분석 Brute force 공격 가능 10 비트 키로 단지 2^10 = 1024 가지의 가능성 암호해독 가능 기지 평문 공격 : 단일평문과 그 출력 암호문이 알려져 있 을때 10 개의 미지수 ( 키 ) 를 갖는 8 개의 비 선형 방정식 (p, c) 으로 나타낼 수 잇음 => 공격 가능
23
23 특징 IBM 에서 Lucifer System 을 개선하여 만듬 1977 년 미 상무성의 국립 표준국 (NBS) 에서 표준 암호 알고리 즘으로 채택 64 비트 블럭 암호 알고리즘 56 비트 키를 사용 –64 비트 중 8 비트는 parity check 로 사용 기본 구조 round 수 : 16 round 복호화는 암호화의 역순 최근에는 DES 암호화를 세 개의 키로 세 번 반복함으로써 암 호의 강도를 높인 Triple-DES 를 사용 7 DES (Data Encryption Standard)
24
24 7.1 DES DES 의 기본 구조 ( 데이타 암호화부 ) 입 력입 력입 력입 력 K1 K2 :::: 초기 치환 L0L0L0L0 L1L1L1L1 L2L2L2L2 R0R0R0R0 R1R1R1R1 R2R2R2R2 :::: f f R 16 L 16 f 역초기 치환 출 력출 력출 력출 력 K16 L i = R i-1 R i = L i-1 XOR f (R i-1, K i )
25
25 초기 치환 IP 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7
26
26 f 함수의 구성도 R(32bit) 확장순열 48bit K (48bit) S1S2S8S7.. P 32 bit S-box table
27
27 확장순열 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1 치환 P 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25
28
28 S-box Table S1 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 예 ) 1 0 1 1 0 1 ------ 6 비트 입력 행 (3 행 ) 열 (6 열 ) 0 0 0 1 10 진수 ‘1’ 를 4 비트로 출력 : 0 0 0 1
29
29 DES 의 기본 구조 ( 키 생성부 ) 키 순열선택 1 c0c0c0c0 좌측 시프트 c1c1c1c1 c2c2c2c2 c 15 좌측 시프트 d0d0d0d0 d1d1d1d1 d2d2d2d2 d 15 좌측 시프트 순열선택 2 K1 K2 K16 :::: :::: ::::
30
30 순열선택 1(PC1) 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 순열선택 2(PC2) 14 17 11 24 1 5 3 28 15 6 21 10 23 19 2 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 38 44 49 39 56 34 53 46 42 50 36 29 32
31
31 쉬프트 스케줄 라운드 수 좌측 쉬프트 수 1 1 2 1 3 2 4 2 5 2 6 2 7 2 8 2 9 1 10 2 11 2 12 2 13 2 14 2 15 2 16 1
32
32 DES 는 강한 쇄도 효과 (Avalanche Effet) 를 갖는다. DES 에 관한 우려사항 미 정부의 채택이후 DES 의 보안 수준에 대한 우려가 지속. 알고리즘의 성질을 이용한 암호 해독의 가능성 – 예 ) s - box 의 약점에 대한 공격 가능성 주장 제기됨 그러나, 약점을 발견한 사람은 현재 존재 하지 않음 키 길이에 관한 우려 –Key Serarch Machine ( 기지 평문 공격 ) Cost Expected search Time $ 100,000 35hours $1,000,000 3.5hours $10,000,000 21minutes
33
33 –Brute force Attack ; 1970 년대 /80 년대 --- low computing power 90 년대 --- high computing power – 미국 수출 허용 기준인 40 비트의 키 : Michael Wienerd 의 key search machine 으로 0.2 초만에 해독 가 능 Key size Number of One Encryption 10 6 Encryption Key size Number of One Encryption 10 6 Encryption Alternative Keys per micro sec per micro sec 32bits 2 23 = 4.3 * 10 9 35.8 minutes 2.15ms 32bits 2 23 = 4.3 * 10 9 35.8 minutes 2.15ms 56bits 2 56 = 7.2 * 10 16 1142years 10.01h 56bits 2 56 = 7.2 * 10 16 1142years 10.01h 128bits 2 128 = 3.4 * 10 38 10 24 years 5.4 * 10 18 years 128bits 2 128 = 3.4 * 10 38 10 24 years 5.4 * 10 18 years
34
34 7.2 DES 작동 모드 7.2 DES 작동 모드
35
35 ECB (Electronic Codebook) 모드의 특징 평문은 64 비트씩 처리 마지막 비트가 64 비트 미만이면 나머지 비트를 채운 후 진행 동일한 블록이 입력되면 암호문도 같다. --> 해독될 위험성이 있다. 중요 데이타가 같은 위치에 있을 때 취약블럭이 상호 결합하 지 않음 => 연속적인 블럭 암호화법 ; Chaining 기법
36
36 ECB (Electronic Codebook) 모드 암호화 DES 암호화 P1P1 C1C1 K DES 암호화 P2P2 C2C2 K DES 암호화 PNPN CNCN K... DES 복호화 C1C1 P1P1 K 4 복호화 DES 복호화 CNCN PNPN K DES 복호화 C2C2 P2P2 K...
37
37 CBC (Cipher Block Chaining) 모드의 특징 하나의 암호화 스텝의 출력을 사용하여 다음 입력으로 수정 각각의 암호 블럭은 서로 영향을 받음 선행하는 평문 블럭 전체에 좌우됨 C n : 모든 평문 블럭 P 1, P 2,..., P n 의 함수 암호화 : C n =E k (P n +C n-1 ) 복호화 : Q n =D k (C n ) + C n-1 =P n Padding Self-Recovering 기능
38
38 CBC (Cipher Block Chaining) 모드 암호화 4 복호화 DES 복호화 C1C1 P1P1 K DES 암호화 P2P2 C2C2 K DES 암호화 PNPN CNCN K ... C N-1 DES 암호화 P1P1 C1C1 K DES 복호화 C2C2 P2P2 K DES 복호화 CNCN PNPN K C N-1...
39
39 CFB (Cipher Feedback) 모드의 특징 문자의 길이 : m(1<m<64) 암호화 하기 위한 m 비트 : DES 출력의 m 비트 DES 알고리즘이 회선 양단에서 암호화로서 사용 Shift Register : 매번 새로운 비트로 교체 암호문은 선행하는 평문 모두의 함수
40
40 CFB (Cipher Feedback) 모드 암호화 64 비트 레지스터 DES 암호화 선택 j 비트 K P1P1P1P1 C1C1C1C1 64 비트 레지스터 DES 암호화 선택 j 비트 K P2P2P2P2 C2C2C2C2 64 비트 레지스터 DES 암호화 선택 j 비트 K PNPNPNPN CNCNCNCN... C N-1 4 복호화 64 비트 레지스터 DES 복호화 선택 j 비트 K P1P1P1P1 C1C1C1C1 64 비트 레지스터 DES 복호화 선택 j 비트 K P2P2P2P2 C2C2C2C2 64 비트 레지스터 DES 복호화 선택 j 비트 K PNPNPNPN CNCNCNCN... C N-1
41
41 OFB (Output Feedback) 모드의 특징 CBC, CFB 의 Error Extention 에 대한 응용 Vernam type 키 스트림 : 주기성이 있음 Feedback 의 출발 위치를 제외하고는 CFB 와 유사
42
42 OFB (Output Feedback) 모드 64 비트 레지스터 DES 암호화 선택 j 비트 K P1P1P1P1 C1C1C1C1 64 비트 레지스터 DES 암호화 선택 j 비트 K P2P2P2P2 C2C2C2C2 64 비트 레지스터 DES 암호화 선택 j 비트 K PNPNPNPN CNCNCNCN... O N-1 64 비트 레지스터 DES 복호화 선택 j 비트 K P1P1P1P1 C1C1C1C1 64 비트 레지스터 DES 복호화 선택 j 비트 K P2P2P2P2 C2C2C2C2 64 비트 레지스터 DES 복호화 선택 j 비트 K PNPNPNPN CNCNCNCN... O N-1 4 복호화 4 암호화
Similar presentations