Download presentation
Presentation is loading. Please wait.
1
1장. 시저의 암호
2
1.1 고전 암호 약 2,500년 전 그리스 지역의 스파르타에서는 전쟁터에 나가 있는 군대에 비밀메시지를 전할 때 사용한 암호 소개 G F O D !T S L I Y T M E U R H P A C B < 스 키 테 일 >
3
스키테일 암호방법 전쟁터에 나갈 군대와 본국에 있는 정부는, 각자 스키테일(Scytale)이라고 하는, 같은 굵기의 원통형 막대기를 나누어 갖는다. 비밀리에 보내야 할 메시지가 생기면, 암호담당자 는 스키테일에 가느다란 양피지 리본을 위에서 아래로 감은 다음 옆으로 메시지를 적는다. 3) 리본을 풀어내어 펼치면 메시지의 내용은 아무나 읽을 수 없게 된다. 4) 같은 굵기의 원통막대기를 가진 사람만이 메시지를 읽을 수 있다
4
스키테일 암호 공격 방법 메시지가 앞장과 같은 문자열이 나타났다고 하자. 스키테일에 리본을 위에서 아래로 감았을 때 한 바퀴에 쓸 수 있는 문자의 개수를 C라 하고, 그 C가 얼마인지 알아보자. 우선, 그 값을 알지 못하므로, C=5라 해보자. 암호문에 나타나 있는 문자열을 5개씩 건너뛰어 다시 써보면 다음과 같은 이상한 문자열을 얻는다
5
스키테일 암호 공격 방법 계속 security should be the sole aim of cryptography F O Y
! C=6 으로 하여 다시 배열하여 보면 메시지의 내용을 알 수 있다. ! Y H P A R G O T C F M I E L S B D U security should be the sole aim of cryptography
6
전치암호 전치암호란 메시지에서 사용한 문자들의 위치를 일정한 규칙에 의해 뒤섞어서 만드는 암호를 말한다. (예: 스키테일 암호) (예제) I LOVE ROSE 에서 이 메시지에 사용한 문자들 I, L, O, V, E, R, S 의 위치를 뒤바꾸어 L VRSI OEOE 와 같은 암호문을 만든 것
7
치환암호 치환암호는 메시지의 각 문자들을 다른 문자로 바꾸는 암호를 말한다. (예제) I LOVE ROSE 를
$#ÅXY≒↑AK 로 바꾸는 방식으로 만든다. 치환암호에서 암호문에 사용한 문자들은 이 메시지에서 사용한 것일 수도 있고 전혀 다른 기호일 수도 있다.
8
치환암호 계속 더하기 암호라고 알려져 있는 시저의 암호가 대표적인 치환암호이다. 시저가 사용한 암호법의 대응규칙:
더하기 암호라고 알려져 있는 시저의 암호가 대표적인 치환암호이다. 시저가 사용한 암호법의 대응규칙: You can write a letter 는 표를 이용해 암호문을 만들면 BRX FDQ ZUMWH D OHWWHU 로 바뀐다. 시저는 3칸을 뒤로 밀었지만 몇 칸을 움직이는가는 미리 상대방과 정해 놓기만 하면 된다. 영어알파벳은 모두 26개 이므로 이번 방식의 암호는 26가지가 있을 수 있다. B y Z w C A Y X W V U T S R Q P O N M L K J I H G F E D 암호문 z x v u t s r q p o n m l k j i h g f e d c b a 평 문
9
1.2 아핀암호 <더하기 암호의 암호화 과정>
컴퓨터를 사용하여 암호화하는 경우 보통 a는 1, b는2, …,y는 25, z는 0으로 바꾸어서 생각한다. 문자를 숫자로 바꾸어 놓으면 더하기 암호화 같은 경우 +s(/mod 26)이라는 수식으로 간단히 표현할 수 있다. <더하기 암호의 암호화 과정> 우선 평문의 문자를 숫자로 바꾼다 각 숫자에 s를 더한다. 더한 수가 25를 넘으면 26으로 나눈 나머지를 택한다. 수학적으로는 modulo 26 또는 mod 26을 구한다고 한다
10
더하기 암호 (예제) 문자 x를 오른쪽으로 3칸 옮기는 더하기 암호를 수식화 해 보자. · x는 24로 바뀐다.
· = 27 · 27을 26으로 나눈 나머지는 1이다. · 1은 암호문자 A에 해당한다.
11
곱하기암호 문자(해당하는 숫자)에 t를 곱한 다음 26으로 나눈 나머지를 구하면 대응하는 암호문자가 된다. 예를 들어 각 문자에 2를 곱하여 암호화하면 대응하는 문자표는 다음과 같다. 이때 2개의 문자가 한 문자로 대응할 수도 있음을 알아야 한다. 예를 들어 h와 u는 P로 대응된다. 이런 경우 암호화에 사용하기 곤란하다. 어떤 암호라도 복호화할 때(암호문자를 평문자로 바꿀 때) 반드시 한 문자에 한 문자씩 대응되어야 한다. X y T w Z V R P N L J H F D B 암호문 z x v u t s r q p o n m l k j i h g f e d c b a 평 문
12
아핀암호 (예제) 3을 곱한 문자표를 생각해 보자.
이 경우는 한 문자에 한 문자씩 중복되지 않은 채 대응되고 있으므로 실제로 사용할 수 있는 단일문자암호이다. 약간 더 생각해 보면 1, 3, 5, 7, 9, 11, 15, 17, 19, 21,23, 25를 곱할 경우에만 의미 있는 암호표가 얻어짐을 알 수 있다. 더하기와 곱하기를 적절히 결합하여 사용할 수도 있다. 우선 문자에 적절한 수 s 를 더한 다음 다시 그 결과에 t 를 곱하여 암호문자를 얻는다. 이런 암호화 방법을 아핀암호라고 하며, 모두 26×12 = 312 가지 방법이 가능하다. X y T w Z V R P N L J H F D B 암호문 z x v u t s r q p o n m l k j i h g f e d c b a 평 문
13
1.3 통계분석에 의한 암호공격 암호 분석가: 메시지를 허락없이 들여다 보려는 사람
앨리스(Alice, 여자): 메시지를 암호화해서 보내는 사람 밥(Bob, 남자): 암호문을 받아서 미리 정한 열쇠로 메시지를 읽을 사람 오스카(Oscar) 또는 Mr. X: 정당한 자격이 없는 상태에서 남의 메시지를 열어보려는 암호공격자
14
암호공격 Mr. X는 우선 이 암호문이 어떤 암호를 사용했을까를 판단해야 할 것이다.
사용한 암호방법(시저암호, 스키테일 암호, 아핀암호 등등)은 그리 어렵지 않게 알아낼 수 있다. 암호문의 형태나 특성, 사용용도, 사용기관 등을 잘 고려해 보면 사용한 암호방법이 무엇인지는 쉽게 알 수 있다.
Similar presentations