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 nl 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 결론 키 단어의 길이가 길면 암호를 공격하기 어렵다. 어떤 책에 있는 문장을 키 단어로 사용하면 암호 공격 이 어렵다.(단, 이 방법도 영어문장을 이용하므로 통 계적 데이타를 완전히 없앨 수는 없다.) 무작위로 선택한 문자들로 만든 무한 수열을 키 단어 로 사용하면 암호공격이 어렵다.