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