1장. 시저의 암호

Download Report

Transcript 1장. 시저의 암호

2장. 비제네르 암호
2.1 비제네르 암호
 1586년 프랑스 외교관 비제네르(Blaise de
Vigenere)에 의해 발표.
 기본적인 아이디어 : 평문장을 여러 부분으
로 나누어 각각 서로 다른 단일문자암호를
적용.
 전문가들이 많이 사용하는 암호들의 기본형.
 암호공격법 : 카지스키 테스트,
프리드만 테스트
비제네르 암호문 만들기
1)
2)
3)
4)
키는 키 단어라고 하는 문자로 된 수열 사용.
키 단어를 평문의 각 문자 바로 아래에 반복하여 쓴
다.
키를 정하여 서로 공유.
암호문은 키 단어의 문자와 평문의 문자를 세로로
더하여 만든다.
비제네르 암호
평
문
p
o
l
y
a
l
p
h
a
b
e
t
i
c
키 단어
V
E
N
U
S
V
E
N
U
S
V
E
N
U
암호문
K
S
Y
S
S
G
T
U
U
T
Z
X
V
W
비제네르 암호문 풀기
1) 암호문자 바로 아래에 키 단어를 반복하여
쓴다.
2) 암호문의 문자에서 키 단어의 문자를 뺀다.
암호문
K
S
Y
S
S
G
T
U
U
T
Z
X
V
W
키 단어
V
E
N
U
S
V
E
N
U
S
V
E
N
U
평
p
o
l
y
a
l
p
h
a
b
e
t
i
c
문
2.2 카지스키 테스트
 다음 암호문을 보자.
카지스키 테스트
계속
 같은 단어가 여러번 반복되면, 그 단어의 첫번째 문
자가 같은 키 단어로 암호화되는 경우가 있다. 그러
면 같은 암호문이 나타난다.
 같은 암호문이 반복해서 나타나는 간격이 키 단어
의 배수.
 평문의 문자열이 일정한 간격으로 반복되면, 암호
문의 문자열도 일정한 간격으로 반복된다.
카지스키 테스트
계속
 앞의 암호문의 문자열의 반복주기를 살펴보면 다음
과 같다.
반복되는 문자열들의 출현간격
OPVF
165
5 • 31
LVV
20
2•2•5
MGY
20
2•2•5
DVLQ
50
2•5•5
NZZ
25
5•5
카지스키 테스트
계속
 문자들의 출현간격을 보면 최대공약수가 5 이므로
키 단어 길이가 5라고 생각할 수 있다.
 실제 키 단어 길이는 10이나 15일 수도 있으므로
키 단어 길이를 결정하는 데는 신중해야 한다.
 카지스키 테스트는 키 단어 길이의 약수나 배수가
얼마라는 정도까지 알아내는 데 그친다.
2.3 프리드만 암호공격

n개의 문자들로 이루어진 문자열이 있고, n1 은 a의
개수, n2 는 b의 개수, …,


n26 은 z의 개수라 하자.
임의로 두 문자를 택하였을 때 두 문자 모두 a일 확
률은 ?
n1
n
첫번째 문자가 a일 확률은
이고, 두 번째 문자도
a일 확률은 n1  1 이다. 따라서 두 문자가 모두 a일
n 1
확률은 n1 (n1  1) 이다.
n(n  1)

일치지수(I ) : 임의로 선택한 두 문자가 서로 같을
확률 26 ni ( ni  1)

i 0
n( n  1)
프리드만 암호공격
계속
 문자는 고유의 확률을 가지고 있다. a는 확률
p1 을,
b는 확률 p2 를, …, z는 확률 p26 을 가지고 있다.
 첫번째 문자가 a일 확률은
률은
p1  p1
p1 두 문자 모두 a일 확
이다.
 임의로 선택한 두 문자가 서로 같을 확률은
p1  p1  p2  p2  p26  p26 
이다.
26
p
i 1
2
i
프리드만 암호공격
26
 영어에서는 
i 1
계속
pi2  0.065 즉, 6.5%
 모든 문자의 출현빈도를 같게 조절해 놓으면
p1 
1
26
26

i 1
이다.
과 같으므로
pi2  26 
1
1

 0.038
2
26
26
프리드만 암호공격
계속
 비제네르 암호로 작성한 암호문에서 일치지수는
0.065보다 작아진다.
 키 단어의 길이 l 에 따라 달라진다.
 일치지수의 계산
- l : 중복되지 않는 문자로 된 키 단어 길이
- 암호문을l 개의 열로 배열, 같은 열은 같은 키
단
어로
암호화
것이다.S
…
키 단어
문자들 된 S
S3
Sl
1
2
1
2
3
l 1 l  2 l  3
2l  1 2l  2 2l  3
…
…
…
l
2l
프리드만 암호공격
계속
 각 열은 단일문자 암호이면서 더하기 암호이므로 각 열
의 일치지수는 0.065이다
 서로 다른 열에서 두 문자를 선택할 경우는 0.038이라
고 가정한다.
 같은 열에서 두 문자를 선택하는 경우의 수는
( nl  1) n(n  l )
n

2
2l
 서로 다른 열에서 같은 문자를 선택하는 경우의 수는
(n  nl ) n 2 (l  1)
n

2
2l
프리드만 암호공격
계속
 임의로 두 문자를 선택했을 때 같은 문자일 경우의
기대값 A는
n( n  l )
n 2 (l  1)
A
 0.065 
 0.038
2l
2l
이다.
 임의로 두 문자를 선택했을 때 서로 같을 확률은, 기
대값을 전체 문자 선택 경우의 수로 나누어서,
이다.
A
nl

 0.065  ....
n( n  1) 2 l ( n  1)
프리드만 암호공격
계속
 일치지수는 확률값과 거의 근사하므로
I
0.027n 0.038n  0.065

l (n  1)
n 1
이고,
 키 단어의 길이를 l 에 관하여 다시 정리하면
26
ni (ni  1)
0.027n
단,
I


l
(n  1) I  0.038n  0.065
i 1
n(n  1)
프리드만 암호공격
계속
 (예제) 앞의 예를 적용해 보자.
 문자와 빈도수를 계산해 보면
26
2
n
n  491,
 i  11,107 이므로
i 1
I 
10,606
 0.044083
240,590
임을 알 수 있다.
 이 식에서 키 단어의 길이 l 은 l  4.34 이고, 키 단어
의 길이는 5이다.
프리드만 암호공격
계속
 (예제) 키 단어 확정
- 문자들은 키 단어 길이에 맞추어 l 개의 열로 다시
쓴다.
- 각 열은 더하기 암호이므로 1장의 암호공격법을 l
번 한다.
- l 열에서 가장 많이 나타나는 문자는 Z이고, 평문에
서 가장 많이 사용하는 문자인 E가 암호화된 것으로
추측할 수 있다.
- 따라서 키 단어의 첫 문자는 V 이다.
2.4 결론
 키 단어의 길이가 길면 암호를 공격하기 어렵다.
 어떤 책에 있는 문장을 키 단어로 사용하면 암호 공격
이 어렵다.(단, 이 방법도 영어문장을 이용하므로 통
계적 데이타를 완전히 없앨 수는 없다.)
 무작위로 선택한 문자들로 만든 무한 수열을 키 단어
로 사용하면 암호공격이 어렵다.