Transcript (I)-고대암호
정보보호기초강의
제2장 관용암호: 고전암호 기법
2007. 9.
http://www.ezpia.biz
[[email protected]]
목차
2.1 암호학 개요
2.1.1 암호화 정의
2.1.2 암호 방식의 분류
2.2 관용암호 모델 (Symmetric Cipher Model)
2.2.1 치환[환자] 암호 기법 (Substitution Techniques)
2.2.2 전치[변환] 암호 기법 (Transposition Techniques)
회전기 암호 (Rotor Machines)
2.2.3 적 암호 (치환+전치)
2.3 스테가노그래피 (Steganography)
2.4 암호 공격
2007-02 정보보호기초
2
2.1 암호학 개요
암호학 역사
암호학 분류
라이산더 암호(그리스 BC.
400)
시저 암호(로마 BC. 100~44)
ENIGMA 암호
고대 암호
치환 암호
전치 암호
근대 암호
암호기 사용
ADFGVX 암호
무라사끼 암호 (97식)
DES (1974)
현대 암호
현대 대수학
공개키 암호 방식
(Diffie-Hellman, 1976)
RSA (1978)
2007-02 정보보호기초
3
2.1.1 암호의 정의
암호
통신 당사자들끼리만 아는 비밀스런 신호나 부호
암호학
암호화와 복호화하기 위한 원리, 수단, 방법 등을 다루
는 기술 및 과학
평문(Plaintext):
이해하기 쉬운 일반 메시지
암호문(Ciphertext):
이해할 수 없도록 변형된 메시지
2007-02 정보보호기초
4
2.1.1 암호의 정의
암호시스템 3가지 영역
평문을 암호화하기 위한 연산자의 유형
치환(置換, Substitution) : 평문의 각 원소를 다른 원소로 사상
전치(轉置, Transposition) : 평문의 각 원소를 재배열
사용된 키의 수
관용키 : single-key, symmetric, secret-key
– 송수신자가 같은 키를 사용
공개키 : two-key, asymmetric, public-key
– 송수신자가 다른 키를 사용
평문 처리 방법
블록 암호화 (Block cipher) : 연산을 블록 단위로 처리
스트림 암호화 (Stream cipher) : 입력을 연속적으로 처리
2007-02 정보보호기초
5
2.1.1 암호의 정의
제3의 해독자
평문 M
E
암호화
송신자
D
암호문 C
평문 M
복호화
키 Ke
키 Kd
• 평문 : M
• 암호문 : C
• 암호화 알고리듬 : E
• 복호화 알고리듬 : D
수신자
Eke(M) = C
Dkd(C) = M
Dkd(Eke(M)) = M
DkdEke = 1
• 키 : Ke (암호화 키), Kd (복호화 키)
2007-02 정보보호기초
6
2.1.2 암호 방식의 분류
관용 암호 방식
환자식 암호 방식
– Caesar 암호 방식,
– Vigenere cipher
전치식 암호 방식
– Scytale 암호,
– Nihilist 암호
적 암호
– ADFGVX 암호 ,
– DES, FEAL,
– LOK1, SKIPJACK
– Rijndael (AES)
공개키 암호 방식
소인수 분해 문제 이용
– RSA, Rabin, LUC
이산대수 문제 이용
– ElGamal
부분합 문제 이용
– Knapsack
2007-02 정보보호기초
7
2.2 관용암호 모델
암호화 과정
특정한 방식의 알고리즘
비밀 유지되는 키를 적용
평문 암호문으로 변환
동일한 메시지도 키에 따라서 결과가 다르게 출현
2007-02 정보보호기초
8
2.2 관용암호 모델
관용암호방식의 안전성 특징
키 없이 암호문 자체만으로 해독 불가
안전성은 알고리즘이 아니라 키의 비밀성에 의존
암호문과 알고리즘이 알려져도 해독은 불가하다고 가정
키만을 비밀 유지 필요
저가의 칩으로 개발 유용(알고리즘을 비밀유지 비용 없다)
다양한 알고리즘
DES, RC5, SKIPJACK, IDEA, SEAL, RC4, SEED, AES 등
2007-02 정보보호기초
9
2.2 관용암호 모델
그림 2.1 관용암호방식의 단순 모델
장점
알고리즘 수행속도 빠르다
단점
키 관리 및 키 분배와 디지털 서명의 어려움
2007-02 정보보호기초
10
2.2.1 치환 암호
단순 전치 암호 방식
Caesar 암호 방식
Affine 암호 방식
동음이의 전치 암호
Vigenere cipher
playfair cipher
2007-02 정보보호기초
11
2.2.1 치환 암호
단순 치환 암호
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 z
EGL T B NMQ P AOW C R X H I Y ZD S F J K U V
평 문(M)
i n f o r m a t i o n
암호문(C) P R N X Y C E D P X R
2007-02 정보보호기초
12
2.2.1 치환 암호
Caesar 암호
C = M + K mod 26
알파벳을 숫자로 생각
a
b
c
d
e
f
g
h
i
j
k
...
z
0
1
2
3
4
5
6
7
8
9
10
…
25
e
H
f
I
g
J
h
K
i
L
j
k
M N
K = 3 인 시저 암호
a b
D E
c
F
d
G
2007-02 정보보호기초
... z
… C
13
2.2.1 치환 암호
Caesar 암호 예
문자 P를 C로 암호화
C = E ( P ) = (P+3) mod (26)
P = D ( C ) = (C–3) mod (26)
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 z
D E F G H I J K L MN O P Q R S T U V WX Y Z A B C
평문 M
암호문 C
i
n
f
L Q I
o
r
m a
R U P
t
i
o
n
D W L R Q
2007-02 정보보호기초
14
2.2.1 치환 암호
Affine 암호
Caesar 암호
CM+K
K=3
mod 26
Affine 암호
C K1 M + K2 mod 26
gcd (K1, 26) = 1
– gcd : 최대공약수
– gcd(a,b)=1 : a,b가 서로소
2007-02 정보보호기초
15
2.2.1 치환 암호
Affine 암호
26과 서로소 집합 = {1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25}
예
K1 = 3, K2 = 5
a
b
c
d
e
f
g
h
i
j
k
0
1
2
3
4
5
6
7
8
9
10 … 25
평 문(M)
암호문(C)
...
z
i n f o r m a t i o n
D S U V E P F K D V S
2007-02 정보보호기초
16
2.2.1 치환 암호
동음이의 치환 암호 예
i
n
f
o
r
m
a
t
i
o
n
s
e
c
u
r
i
t
y
27
89
21
67
13
50
44
65
42
41
84
77
48
11
8
66
07
55
26
2007-02 정보보호기초
17
2.2.1 치환 암호
동음이의 치환 암호
2007-02 정보보호기초
18
2.2.1 치환 암호
다표식 치환 암호 (Vigenere cipher)
키워드
SECURITY
평문
t h i s c r y p t o s y s t em i s n o t s e c u r e
키워드
S E CU R I T Y S E CUR I T Y S E CUR I T Y S E C
암호문
L L KMT Z R N L S U S J B X K AWP I K A X AMV G
2007-02 정보보호기초
19
2.2.1 치환 암호
다표식 치환 암호 (Vigenere cipher)
2007-02 정보보호기초
20
2.2.1 치환 암호
Hill 암호
1929년 미국 수학교수 Laster Hill 제안
n-gram 치환 암호방식
M개의 연속적인 평문자를 m개의 암호문자로 치환
M = 3일 경우 암호문 치환
C1 = (k11 p1 + k12 p2 + k13 p3 ) mod 26
C2 = (k21 p1 + k22 p2 + k23 p3 ) mod 26
C3 = (k31 p1 + k32 p2 + k33 p3 ) mod 26
C: 암호문
P: 평문
k: 키
2007-02 정보보호기초
21
2.2.1 치환 암호
Hill 암호
암호문 형식을 열 벡터와 행렬로 표현
C1
C2
C3
=
k11 k12 k13
k21 k22 k23
k31 k32 k33
P1
P2
P3
암호화 사례
평문: PAYMOREMONEY
암호 키
K =
17 17 5
21 18 21
2 2 19
2007-02 정보보호기초
22
2.2.1 치환 암호
Hill 암호
암호문 계산
C1
C2
C3
=
k11 k12 k13
k21 k22 k23
k31 k32 k33
P1
P2
P3
평문을 숫자변환 PAYMOREMONEY: P 15, A 0, Y 24, …
숫자 대입 암호문 치환
C1
C2
C3
17 17 5
= 21 18 21
2
2 19
15
0
24
mod 26
11
13
18
L
N
S
K(15 0 24) + (375 819 486) mod 26 = (11 13 18) = LNS
C1 = 17 * 15 + 17 * 0 + 5 * 24 = 375 mod 26 = 11
C2 = 21 * 15 + 18 * 0 + 21 * 24 = 819 mod 26 = 13
C3 = 2 * 15 + 2 * 0 + 19 * 24 = 486 mod 26 = 18
2007-02 정보보호기초
23
2.2.1 치환 암호
Hill 암호
복호문 계산
암호문 계산 형식 C = EK(P) = KP에서
평문 P = DK(C) = K-1C = K-1KP = P; K-1는
P1
P2
P3
4 9 15
= 15 17
6
24 0
7
11
13
18
역행열: K-1K = I
mod 26
15
0
24
P
A
Y
역행렬 계산
17 17 15
4 9 15
443 442 442
1 0 0
21 18 2 15 17 6 = 858 495 780 mod 26 0 1 0
2 2 19 24 0 7
494 52 365
0 0 1
2007-02 정보보호기초
24
2.2.1 치환 암호
암호화 방법
playfair 암호
T
I
G E
S
A B
C
1. 반복되는 평문은 X와 같은 채움
R
문자로 분리
예)ballow : ba lx ow로 분리
D
2. 같은 행 경우 우측 문자로 치환
F
H K L
N O P
M
3. 같은 열 경우 바로 밑에 문자로
치환
Q U
4. 다른 행,열 경우 대각선에 위치
V W X Y Z
평 문
i
n
f
o
한 문자로 치환
r m a
암호문 T O H N D U S
t
i
o n
s
e
t
y x
I A W V F C L D Z G I
Z Y
2007-02 정보보호기초
c
u
r
i
25
2.2.1 치환 암호
playfair 암호
특징
2중자의 빈도수 분석은 1중자보다 어려움
1차 대전 중 영국 육군 야전 표준 시스템 사용
2차 대전 중 미국 육군 및 연합군에서 사용
단점
평문의 원래 구조가 많이 드러남
수 백자의 암호문자로 구조를 알 수 있다.
암호기법은 평문보다 일정한 분포를 갖지만 해독이 용이함.
2007-02 정보보호기초
26
2.2.1 치환 암호
단일문자 치환 암호기법의 단점
문자 출현 빈도수를 이용해 평문 유추가능
암호문에서의 평문에 대응 문자가 같은 빈도로 나타남
2007-02 정보보호기초
27
2.2.2 전치 암호
전치 암호:
평문자 나 비트의 순서를 절차에 따라 위치를 재조정
단순전치 암호
복잡한 전치기법
2007-02 정보보호기초
28
2.2.2 전치 암호
단순 전치 암호
암호화
1
3
2
5
평 문
암호문
복호화
3
1
4
6
5
4
6
2
1
3
2
6
3
1
4
5
5
2
6
4
i n f o r m a t i o n s e c u r i t y x y z a b
F R I MO N I N A S O T U I E T R C Y A Y B Z X
2007-02 정보보호기초
29
2.2.2 전치 암호
scytale 암호: (기원전 400년경 고대 그리스인이 사용)
a b c d e f g
s c y t a l e
as
bc
cy
dt
ea
2007-02 정보보호기초
fl
ge
30
2.2.2 전치 암호
rail fence : 깊이 2
평문 : meet me after the toga party
m e m a t r h t g p r y
e t e f e t e o a a t
암호문 : mematrhtgpryetefeteoaat
2007-02 정보보호기초
31
2.2.2 전치 암호
L
E
M
O
N
평 문
암호문
2
1
3
5
4
L E M O N
2 1 3 5 4
h t i i s
g s o d o
o f r e s
u c r c e
p i h r e
t h i s i s g o o d f o r s
e c u r e c i p h e r
G S O D O H T I I S O F R E S P I H R E U C R C E
2007-02 정보보호기초
32
2.2.2 전치 암호
복잡한 전치기법
메시지를 행렬의 행 순서로 쓰고 열 순서로 판독
n x m 행렬로 평문구성
평문 : a t t a c k p o s t p o n e d u n t i l t w o a m x y z
키
:
평문
: a t t a c k p
4 312 5 6 7
o s t p on e
d un t i l t
woa mx y z
암호화 : TTNAAPTMTSUOAODWCOIXKNIYPETZ
문자가 바뀌는 일정한 주기 발견
2007-02 정보보호기초
33
2.2.2 전치 암호
회전자 기계 (Rotor Machine)
다단계 재암호화의 원리를 적용
특징
독립적으로 회전 순환하는 실린더 집합으로 사용
각 실린더는 26개의 입력핀과 출력핀 보유
주기가 26인 다중 단일문자 치환
– (26주기 polyalphabetic substitution)
저/ 중/ 고속의 3단계 실린더로 다중 치환방식을 수행
사용 예(2차 세계대전 사용)
영국: Typex; 미국: Sigaba(M-134);
독일: Enigma; 일본: Purple
2007-02 정보보호기초
34
그림 2.8 번호 연결 회로를 갖는 3-실린더 회전자 기계
2007-02 정보보호기초
35
3. 적 암호 방식
2007-02 정보보호기초
36
2.2.3 적 암호
치환과 전치기법을 혼합하여 사용
ADFGVX 암호
Feistel
2007-02 정보보호기초
37
2.2.3 적 암호
ADFGVX 암호
치환 과정 예
c
o
n
v
e
n
t
i
o
n
a
l
XA
DX
DA
GX
VG
DA
GV
VX
DX
DA
AF
DG
c
r
y
p
t
o
g
r
a
p
h
y
XA
XV
GG
XX
GV
DX
DD
XV
AF
XX
FV
GG
2007-02 정보보호기초
38
2.2.3 적 암호
ADFGVX 암호
ADFGVX 표 구성
A
D
F
G
V
X
A
f
x
a
9
u
1
D
n
g
0
l
d
o
F
5
b
k
2
h
z
G
m
j
s
y
t
v
V
7
4
3
e
8
i
X
c
w
q
6
r
p
2007-02 정보보호기초
39
2.2.3 적 암호
ADFGVX 암호
전치 과정 예
C
I
P
H
E
R
1
4
5
3
2
6
X
A
D
X
D
A
G
X
V
G
D
A
G
V
V
X
D
X
D
A
A
F
D
G
X
A
X
V
G
G
X
X
G
V
D
X
D
D
X
V
A
F
X
X
F
V
G
G
암호문
XGGDXXDX DDDD
GDAG XGXFVVVV
AXVAAXDX DVVA
XGXF AAXGFXFG
2007-02 정보보호기초
40
2.2.3 적 암호
Feistel 암호
평문(2w)
LE0(w)
RE0(w)
f
LEi(w)
REi(w)
f
LEn–1(w)
K1
Ki
REn–1(w)
Kn
f
LEn(w)
REn(w)
REn(w)
LEn(w)
암호문(2w)
2007-02 정보보호기초
41
2.2.3 적 암호
Feistel 암호
관계식
LE16 = RE15
RE16 = LE15 f (RE15, K16)
복호화 과정
LD1 = RD0 = LE16 = RE15
RD1 = LD0 f (RD0, K16)
= RE16 f (RD0, K16)
= [LE15 f (RE15, K16)] f (RE15, K16)
= LE15
LD16 = RE0
RD16 = LE0
A B B = A
2007-02 정보보호기초
42
2.3 Steganograhpy
보안기술의 범주
보안(Security): 정보를 보호하는 방법
첩보(Intelligence): 정보를 탐지하는 방법
평문 메시지의 은닉 방법
Steganograhpy 방법:
메시지의 존재 자체를 은폐
cryptography 방법
다양한 원문의 변환에 의해 외부인이 그 의미를 알지 못하도록 메시지를 변형
특징
메시지의 존재 자체를 은폐
원문내의 단어나 문자를 적절히 발췌하여 조합배열 함으로써 실제 메시지를 나타냄
2007-02 정보보호기초
43
2.3 Steganograhpy
사용 예
문자 마킹 (Character marking)
원문의 문자에 연필로 덧써서 표시를 빛을 적당한 각도로 비추어야만
보임
보이지 않는 잉크 (Invisible ink)
종이에 열이나 화학 처리를 해야만 보이는 잉크를 사용
핀 구멍 (Pin punctures)
빛을 비춰야만 보이는 작은 구멍을 원문에 넣는 방법
타자 수정 리본 (Typewriter correction ribbon)
흑색 리본으로 타자된 줄 사이에 강한 빛에서만 보이는 수정리본을 이
용하여 타자하는 방법
2007-02 정보보호기초
44
2.3 Steganograhpy
Steganography의 장점
비밀통신에 대한 사실이 발견되면 안 되는 사용자들에 의해 이용
암호화의 경우의 문제점
암호화 한다는 사실이 통신 메시지가 중요하거나 비밀임을 암시
즉, 암호화는 송수신자간에 무언가 감출게 있다고 생각하게 함
Steganography의 단점
상대적으로 적은 정보비트를 은닉하는데 많은 오버헤드 요구
방법 노출시 재사용 불가
(키를 적용하는 기법을 추가하여 단점 극복)
(메시지를 먼저 암호화 한 후에 Steganography을 이용하여 은닉가능)
2007-02 정보보호기초
45
2.4 암호 공격
Cryptanalysis
평문이나 키 또는 이 두 가지를 모두 발견하려는 시도 과정
Brute-Force Attack
가능한 모든 경우의 수를 시도(전사적 탐색, 전사 공격)
Probable-Word Attack
안전성
절대 안전성: 비용과 시간이 충분하여도 복호하기가 불가능
계산상 안전성
해독 비용 > 정보의 가치; 해독시간 > 정보유효시간
2007-02 정보보호기초
46
2.4 암호 공격
암호 메시지에 대한 공격의 유형
암호문 단독 공격 (Ciphertext only)
암호 알고리즘, 해독할 암호문
기지 평문 공격 (Known plaintext)
하나 또는 그 이상의 알고 있는 평문에 대한 암호문을 인지
선택 평문 공격 (Chosen plaintext)
해독자가 선택한 평문 메시지와 해당 암호문을 인지
선택 암호문 공격 (Chosen ciphertext)
해독자가 선택한 암호문과 해독된 평문을 인지
선택 원문 공격 (Chosen text)
해독자가 선택한 평문 메시지와 해당 암호문을 인지
해독자가 선택한 암호문과 해독된 평문을 인지
2007-02 정보보호기초
47
2.4 암호 공격
표2.2 모든 키 탐색을 위해 요구되는 평균시간
키 크기(비트) 가능한 키의 수
s당 1 암호화
s당 106 암호화
32
232 =4.3 x 109
231 s = 35.8분
2.15 ms
56
256 =7.2 x 1016
255 s = 1142년
10.01 h
128
26문자
permutation
2128 = 3.4 x 1038
26 ! =4 X 1026
2127 s
= 5.4 X 1024년
2 X 1026 s
= 6.4 X 1012년
2007-02 정보보호기초
5.4 x 1018년
6.4 x 106년
48