(I)-고대암호

Download Report

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 암호
CM+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