2012년 9월 23일 일요일

비제네르(Blaise de Vigenere) 암호


<서문>

본 암호는 외형상 카이사르 사이퍼와 비슷한듯 하지만, 조금만 유심히 보면 훨씬 더
고난도의 암호기술이라는 것을 알 수 있을 것이다. 일단, 카이사르 사이퍼를 풀때
사용할수 있었던, 알파벳 빈도수 비교라는 것을 이 암호에서는 사용할 수 없기 때문이다.
아래 암호화표 예를 보면 알겠지만, 평문의 y와 a가 같은 암호문자인 S로 나오는 것을 볼수
있다. 그러면 이 암호는 대체 어떠한 방식으로 풀수 있는 것일까?

이 암호를 공략하는데 사용하는 카지스키 테스트와 프리드만 테스트는 다음에 올리도록하고
여기서는 일단 암호화하는 방법만을 설명한다.

<비제네르 암호> 

비제네르 암호는 1586년 프랑스 외교관 비제네르(Blaise de Vigenere)에 의해 발표되었다.
이 암호의 기본적인 아이디어는, 평문장을 여러 부분으로 나누어 각각 서로 다른 단일문자암호를 적용하는 것이다. 이 아이디어는 어떤 의미로 무척 자연스럽기 때문에  약간씩 변형된 비제네르 암호의 여러 가지 다른 형태가 나타났다.

비제네르 이전에도 이미  Johannes Trithemius(1462-1516)와 Giovanni Battista Della Porta(1535-1615)도 비슷한 암호체계를 연구를 하였다.

Johannes Trithemius는  Poligraphia(1518), Stegonographia(1531) 등의 책을 썼으나 그가 죽은 후에야 출판되었다. Giovanni Battista Della Porta는 어둠상자 사진기의 발명가로 잘 알려져 있는데, 1558년에 출판된 그의 저서 Magia Naturalis에 비제네르 암호와 아주 유사한 다중문자 암호를 발표하였다.

 다중문자암호 중 비제네르 암호가 가장 유명한 이유는 다음과 같다.
● 이 암호는 오늘날 전문가들이 많이 사용하는 암호들의 기본형이다.
● 비제네르 암호를 깨기 위하여 사용하는 카지스키 테스트와 프리드만 테스트는 아주
    중요한 암호 공격법이다.

이제부터 비제네르 암호로 암호문을 만들어 보자.
① 암호문을 만들기 위해 먼저 키를 정하여 서로 공유하여야 한다. 키는 키 단어라고 하는
    문자로 된 수열을 사용한다.
② 그 다음 선택한 키 단어를 평문의 각 문자 바로 아래에 반복해서 쓴다.
    예를 들어 단어 VENUS를 키 단어로 택하였다면, 이 키 단어 VENUS를 평문의 끝에
    도달할 때까지 계속 쓴다.
③ 암호문은 키단어의 문자와 평문자를 세로로 더하여 만든다.
키단어
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
암호문
K
S
Y
S
S
G
T
U
U
T
Z
X
V
W
표 2.1 비제네르 암호

 암호풀기는 암호묶기의 역과정을 거치면 된다. 즉 암호문자 바로 아래에 키 단어를 반복해서 쓴 다음 더하기의 반대인 빼기를 수행하면 평문을 얻는다.  
암호문
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

비제네르 암호는 다중문자 암호이다. 위의 예를 보면 평문자 a는 서로 다른 암호문자 S와 U에 대응한다.
Mr. X의 입장에서 이 암호를 공격하려면 단일문자 암호공격보다 훨씬 많이 애를 써야 한다. 암호문자의 분포가 거의 균일화 되어있다는 점도 공격을 어렵게 하는 이유 중의 하나이다. 위의 예만 보더라도 평문에서 a가 여러번 나타나는데 대응하는 암호문자는 S, U와 같이 다른 문자로 나타난다. 한편 암호문의 S는 평문의 o, y, a 등으로부터 온 것이다.


<덧붙이기>


위의 내용중에 암호화시키는 부분에서 문자를 더한다는 의미를 모르는 사람이 있을것같아
이렇게 추가 해설을 덧붙인다.

문자를 더한다는 것은 각문자에(a부터 차례로) 차례로 0~25의 수를 붙이고,
평문의 숫자에 키단어의 숫자를 더하여, 그 숫자에 해당하는 문자를 쓰는 것이다.
더한 숫자가 26이상이라면 더한 숫자에 26을 빼주어 해당하는 문자를 쓴다.

이 방식은 카이사르 사이퍼의 방식을 대수적으로 나타낸 것이다.
그래서 카이사르 암호법은 더하기 암호법이라고도 불린다.

댓글 없음:

댓글 쓰기

블로그 보관함