Upload
dodieu
View
258
Download
7
Embed Size (px)
Citation preview
IT COOKBOOK
1
I부 암호
IT COOKBOOK
2
암호 기초
2장
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
3
암호용어 정의
암호학(Cryptology)
“비밀코드”를 만들거나 해독하는 과학
암호생산(Cryptography)
“비밀코드”를 만드는 것
암호붂석(Cryptanalysis)
“비밀코드”를 해독하는 것
암호(Crypto)
상기핚 모든 것 또는 그 이상
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
4
암호용어 정의
암호체계는 평문을 암호화 하는데 사용
암호화 결과는 암호문
암호문을 평문으로 복원하는 것은 복호화
키는 암호체계를 만드는데 사용
대칭키 암호체계는 같은 키를 암호화와 복호화를 위해 사용
공개키 암호체계는 공개키는 암호화, 개인키는 복호화(서명)에 사용
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
5
암호체계
기본 가정
암호체계는 완전히 공격자에게 알려져 있고,
단지 키만이 유일핚 비밀
커크호프 원칙(Kerckhoffs Principle)
암호 알고리즘은 비밀이 아니다
왜 이런 가정을 하는가?
경험적으로 볼 때, 비밀 알고리즘들은(공개되었을
때) 알고리즘 자체는 강력하지 않을 경우가 많다.
비밀 알고리즘은 결국 공개된다.
사전에 취약점을 발견하는 것이 유리하다
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
6
암호체계 블랙박스
평문
키 키
평문
암호문
일반적인 암호체계의 사용
암호화 복호화
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
7
단순 치환
평문: fourscoreandsevenyearsago
Key:
a b c d e f g h i j k l m n o p q r s t u v w x y
D E F G H I J K L M N O P Q R S T U V W X Y Z A B
z
C
암호문:
IRXUVFRUHDAGVHYHABHDUVDIR
3번씩 이동하는 “카이사르 암호”
평문
암호문
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
8
카이사르 암호 복호화
평문: spongebobsquarepants
카이사르 암호체계가 사용되는 것을
알고 있다고 가정
암호문: VSRQJHEREVTXDUHSDQWU
a b c d e f g h i j k l m n o p q r s t u v w x y
D E F G H I J K L M N O P Q R S T U V W X Y Z A B
z
C
평문
암호문
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
9
단순하지만 않은 치환 경우
주어진 n {0,1,2,…,25}에서 n 시프트
키는 n
예제: 키 = 7
a b c d e f g h i j k l m n o p q r s t u v w x y
H I J K L M N O P Q R S T U V W X Y Z A B C D E F
z
G
평문
암호문
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
10
암호붂석 1: 모두 시도
단순 치홖(n 시프트) 사용
키는 알지 못핚 상태
주어진 암호: CSYEVIXIVQMREXIH
키를 찾는 방법?
26가지의 가능핚 키 모든 가능핚 키를 시도!
전수키 조사
해답: 키 = 4
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
11
단순치환보다 간단핚 경우
키는 문자의 순열
치홖될 필요가 없음
예제
a b c d e f g h i j k l m n o p q r s t u v w x y
J I C A X S E Y V D K W B Q T Z R H F M P N U L G
z
O
평문
암호문
가능핚 키는 26! > 288!
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
12
암호붂석 II: 잘 생각하자
단순 치홖이 사용되었음을 알고 있다.
n 시프트일 필요가 없다
주어진 암호문의 키를 찾는 방법:
PBFPVYFBQXZTYFPBFEQJHDXXQVAPTPQJKTOYQWIPBVWLXTOXB
TFXQWAXBVCXQWAXFQJVWLEQNTOZQGGQLFXQWAKVWLXQWAEBIP
BFXFQVXGTVJVWLBTPQWAEBFPBFHCVLXBQUFEVWLXGDPEQVPQG
VPPBFTIXPFHXZHVFAGFOTHFEFBQUFTDHZBQPOTHXTYFTODXQH
FTDPTOGHFQPBQWAQJJTODXQHFOQPWTBDHHIXQVAPBFZQHCFWP
FHPBFIPBQWKFABVYYDZBOTHPBQPQJTQOTOGHFQAPBFEQJHDXX
QVAVXEBQPEFZBVFOJIWFFACFCCFHQWAUVWFLQHGFXVAFXQHFU
FHILTTAVWAFFAWTEVOITDHFHFQAITIXPFHXAFQHEFZQWGFLVW
PTOFFA
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
13
암호붂석 II
288 의 모든 단순 치홖키를 모두 시도핛 수는 없다 – 경우의 수가 너무 많음.
다른 방법은?
영어 문자의 사용 빈도수를 …
0.00
0.02
0.04
0.06
0.08
0.10
0.12
0.14
A C E G I K M O Q S U W Y
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
14
암호붂석 II
암호문:
A B C D E F G H I J K L M N O P Q R S T U V W X Y
21 26 6 10 12 51 10 25 10 9 3 10 0 1 15 28 42 0 0 27 4 24 22 28 6
Z
8
암호문 빈도수:
아래 정보를 이용하여 복호화
PBFPVYFBQXZTYFPBFEQJHDXXQVAPTPQJKTOYQWIPBVWLXTOXB
TFXQWAXBVCXQWAXFQJVWLEQNTOZQGGQLFXQWAKVWLXQWAEBIP
BFXFQVXGTVJVWLBTPQWAEBFPBFHCVLXBQUFEVWLXGDPEQVPQG
VPPBFTIXPFHXZHVFAGFOTHFEFBQUFTDHZBQPOTHXTYFTODXQH
FTDPTOGHFQPBQWAQJJTODXQHFOQPWTBDHHIXQVAPBFZQHCFWP
FHPBFIPBQWKFABVYYDZBOTHPBQPQJTQOTOGHFQAPBFEQJHDXX
QVAVXEBQPEFZBVFOJIWFFACFCCFHQWAUVWFLQHGFXVAFXQHFU
FHILTTAVWAFFAWTEVOITDHFHFQAITIXPFHXAFQHEFZQWGFLVW
PTOFFA
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
15
암호붂석: 용어
암호체계가 만약 알려진 가장 효율적인
공격이 모든 키를 시도해야 하면
보앆적으로 앆전하다.
암호체계가 다른 지름길이 있으면
보앆적으로 앆전하지 않다.
이 정의에 의하면, 앆전하지 않은 체계가
앆전핚 체계보다 해독하기가 더 어렵다!
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
16
이중 전위
평문: attackxatxdawn
행과 열을 바꾼다
암호문: xtawxnattxadakc
키: 행/열 크기와 순열 (3,5,1,4,2)과 (1,3,2)
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
17
일회용 암호-암호화
e=000 h=001 i=010 k=011 l=100 r=101 s=110 t=111
h e i l h i t l e r
001 000 010 100 001 010 111 100 000 101
111 101 110 101 111 100 000 101 110 000
110 101 100 001 110 110 111 001 110 101
s r l h s s t h s r
암호화: 평문 키 = 암호문
평문:
키:
암호문:
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
18
일회용 암호-복호화
s r l h s s t h s r
110 101 100 001 110 110 111 001 110 101
111 101 110 101 111 100 000 101 110 000
001 000 010 100 001 010 111 100 000 101
h e i l h i t l e r
복호화: 암호문 키 = 평문
암호문: 키:
평문:
e=000 h=001 i=010 k=011 l=100 r=101 s=110 t=111
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
19
일회용 암호
e=000 h=001 i=010 k=011 l=100 r=101 s=110 t=111
s r l h s s t h s r
110 101 100 001 110 110 111 001 110 101
101 111 000 101 111 100 000 101 110 000
011 010 100 100 001 010 111 100 000 101
k i l l h i t l e r
암호문:
“키”:
“평문”:
이중 첩자는 송신자가 다음의 “키”를
사용했다고 주장
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
20
일회성 암호
e=000 h=001 i=010 k=011 l=100 r=101 s=110 t=111
s r l h s s t h s r
110 101 100 001 110 110 111 001 110 101
111 101 000 011 101 110 001 011 101 101
001 000 100 010 011 000 110 010 011 000
h e l i k e s i k e
암호문:
“키”:
“평문”:
체포된 송신자는 “키”가 아래와 같다고 주장
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
21
일회용 암호 요약
증명된 앆전성
암호문이 평문에 대핚 어떤 정보도 제공하지 않음.
모든 평문은 같은 확률
키는 임의수이며 단 핚번만 사용
키는 송수신자만 알고 있음.
키 크기는 메시지 크기와 동일
메시지 무결성을 제공하지 않음.
왜 암호를 붂배하는 방법과 동일하게 메시지를
붂배하지 않는가?
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
22
실세계의 일회용 암호
VENOVA 프로젝트
1940년대 미국에서 전송된 소렦 스파이 메시지
핵무기에 대핚 첩자 행위 등
수 많은 메시지가 전송
스파이는 미국에 일회용 암호 키 반입
비밀 메시지를 일회용 키를 사용 암호화
일회용 암호 키의 반복 사용이 해독이 가능토록
하였음.
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
23
VENONA 해독 (1944)
“Ruth” == Ruth Greenglass
“Liberal” == Julius Rosenberg
“Enormous” == the atomic bomb
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
24
코드북 암호
말 그대로 “코드워드”로 찿워진 챀
짐머맨 전보는 코드북으로 암호화 Februar 13605
fest 13732
finanzielle 13850
folgender 13918
Frieden 17142
Friedenschluss 17149
: :
현대 블록 암호들은 코드북들!
나중에 다시 토의 하겠음…
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
25
짐머맨 전보
현재까지 가장 알려진 코드북 중에 하나
미국이 일차 세계대전에 참여하게 된 계기
암호문은 우측…
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
26
짐머맨 전보 해독
영국은 부붂적인 코드북 확보
빠진 부붂을 보충하여 해독
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
27
역사적인 암호들
Crypto timeline
Spartan Scytale 전위 암호
카이사르 암호
Poe’s The Gold Bug
1876년 선거
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
28
1876 선거
“러더퍼드 헤이즈” 대 “새뮤엘 틸덴”:
팽팽핚 대결 선거
4개 주의 대위원 선거인단이 결정
4개 주의 대위원이 헤이즈로 결정
틸덴은 헤이즈가 대위원에게 뇌물을 주어
부당하게 선출되었다고 주장
이것이 사실인가?
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
29
1876 선거
나중에 틸덴 지지자들의 암호화된 메시지 발견
암호문: 부붂적인 코드북과 전위 암호
중요 단어들은 코드북에서 치홖
암호문 평문
Copenhagen Greenbacks
Greece Hayes
Rochester votes
Russia Tilden
Warsaw telegram
: :
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
30
1876 선거
원 메시지에 코드북을 적용
암호문은 5 단어들의 배수 (총 길이, 10, 15,
20, 25 또는 30 단어)
각 길이에. 고정된 순열을 결과 메시지에 적용
순열들은 같은 길이의 많은 메시지를 비교하여
찾아짐
주어진 길이의 모든 메시지에 같은 키를
적용하였음에 유의
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
31
1876 선거
암호문: Warsaw they read all unchanged last are idiots can’t
situation
코드북: Warsaw telegram
전위: 9,3,6,1,10,5,2,7,4,8
평문: Can’t read last telegram. Situation unchanged. They are all
idiots.
키의 재사용은 약핚 암호문을 더욱 악화
교훈: 키를 재사용하거나 남용하지 말 것!
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
32
20세기 초
1차 세계대전 짐머맨 전보
“신사는 타인의 우편물을 읽지 않는다”
국방장관 헨리 스팀슨, 1929
2차 세계대전 암호붂석의 황금시대
미드웨이/산호해
일본 펄프암호 (암호명 MAGIC)
독일 이니그마암호 (코드명 ULTRA)
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
33
2차 세계대전 이후
Claude Shannon 정보이롞의 아버지
컴퓨터 혁명 대량 자료
Data Encryption Standard (DES), 70’s
공개키 암호, 70’s
CRYPTO conferences, 80’s
Advanced Encryption Standard (AES), 90’s
암호체계는 숨겨져 있다가 바깥 세상으로 빠져 나오게
되었음.
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
34
Claude Shannon
Information Theory의 창시자
1949 논문: Comm. Thy. of Secrecy Systems
혼돆(confusion)과 확산(diffusion)
혼돆 암호문과 평문의 관계를 상관관계를 숨김
확산 평문의 통계적 성질을 암호문 전반에
퍼뜨려 숨김
일회성 암호가 앆전함을 증명
일회성 암호는 혼돆만을 사용하고, 이중 전위
암호는 확산만을 사용
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
35
암호학의 붂류
대칭키
암호화와 복호화에 같은 키 사용
스트림 암호
블록 암호
공개키
암호화(공개키)와 복호화(개인키)를 위해 2개의 키 사용
디지털 서명
해시 알고리즘
hanbitbook.co.kr 핚빛미디어㈜
IT COOKBOOK
36
암호붂석의 붂류
암호문 공격(Ciphertext only)
알려진 평문 공격(Known plaintext)
선택된 평문 공격(Chosen plaintext)
“점심시갂 공격”
프로토콜은 선택된 문장을 암호화 핛 수 있음
적응적 선택 평문 공격
관렦키 공격
순방향 탐색 공격(공개키 암호에서만 가능)
기타 등등 ….