4주차 정리_고전 암호

2022. 7. 28. 15:4722-여름방학/암호학

고전 암호


1. 서론

고전 암호 : 간단한 기계와 손 등으로 암복호화를 수행하던 암호

 

-고전 암호의 설계 방법

  1. 치환(Substitution) : 평문의 문자를 다른 문자로 바꾸는 것
  2. 전치(Transposition) : 평문 문자들의 위치를 바꾸는 것

 -단순한 고전 암호

한 가지 원리만을 사용하는 치환 암호(Substitution Cipher) 또는 전치 암호(Transposition Cipher)

 

-복잡한 고전 암호

두 원리(치환 암호 & 전치 암호)를 모두 사용한다.

 

-치환 암호

  1. 단일 문자 치환 암호(Monoalphabetic Substitution Cipher)
  2. 다중 문자 치환 암호(Polyalphabetic Substitution Cipher)


2. 고전 암호

-단일 문자 치환 암호(Monoalphabetic Substitution Cipher)

  • 평문의 각 문자를 약속된 다른 문자로 치환하는 암호
  • 복호화를 위해 치환의 대응 관계는 일대일 대응이다.
  • 평문의 'A'가 암호문의 'B'로 치환된다면, 평문의 다른 어떤 문자도 'B'로 치환되지 않는다.

-카이사르 암호(Caesar Cipher)

  • 단일 문자 치환 암호의 대표적인 예이다.
  • 평문의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 치환하는 암호
  • 복호화할 때는 암호문의 각 문자를 다시 원래 위치로 밀어서 평문을 구한다.
  • 송신자와 수신자가 몇 칸을 밀 것인지를 사전에 합의해야 통신이 이뤄질 수 있다.
  • 알파벳을 밀어낸 횟수를 키(Key)라고 한다면, (알파벳은 총 26자이므로) 가능한 키의 개수는 26개이다.
  • 가능한 모든 키의 집합을 키 공간(Key Space)라고 하고, 카이사르 암호에서 키 공간의 크기는 26이다.

01

-춤추는 인형 암호

  • 복잡한 단일 치환암호로, 사람 한 명이 글자 하나에 대응된다.
  • 모든 알파벳을 서로 다른 기호와 무작위로 일대일 대응시켜 치환하기 때문에 키 공간의 크기는 26!이다.

-단일 치환 암호의 단점

  • 언어가 지닌 통계적 특성이 유지된다.
  • 이 특정을 이용하면 일반적인 영문 단일 치환 암호문은 어렵지 않게 해독될 수 있다.

-난수표나 코드북을 이용한 단일 치환 암호

  • 송신자와 수신자가 책을 정하고, 송신자가 책의 페이지 x와 단어의 인덱스 y를 보내면, 수신자는 책 x 페이지의 y번째 단어를 확인하여 송신자의 메세지를 해독한다.
  • 공작원에게 지령을 전달하는 목적으로 최근에도 쓰이고 있다.

 

-다중 문자 치환 암호(Polyalphabetic Substitution Cipher)

  • 평문의 한 문자가 암호문에서 여러 종류의 문자로 치환될 수 있다.
  • 대표적인 다중 문자 치환 암호로 비제네르 암호(Vigenere Cipher)가 있다.

-비제네르 암호(Vigenere Cipher)

  • 암호화와 복호화는 미리 정해진 키워드를 통해 이루어진다.

 

-전치 암호(Transposition Cipher)

  • 평문을 구성하는 문자들의 순서를 재배열하여 암호문을 만든다.
  • 평문을 정해진 길이의 블럭들로 나누고, 규칙을 적용하여 블록 안의 문자들을 재배치한다.
  • ex) 기원전 450년에 고대 그리스인들이 발견한 스키테일 암호(Scytale Cipher)가 있다.

 

-고전 암호 공격

  1. 전수 키 탐색 공격(Exhaustive Key Search Attack)
  2. 빈도수 분석(Frequency Analysis)

-전수 키 탐색 공격(Exhaustive Key Search Attack)

  • 평문과 암호문을 알 때, 키 공간을 전부 탐색하며 주어진 암호문과 같은 암호문을 생성하는 키를 찾는 방법
  • 단순한 공격 방법이지만 키 공간의 크기가 작다면 빠른 시간 안에 키를 찾고, 암호를 해독할 수 있다.
  • 단일 치환 암호인 카이사르 암호는 키 공간이 26으로 매우 작기 때문에 전수 키 탐색 공격에 취약하다.

-빈도수 분석

  • 영문에서 E가 가장 많이 등장하는 알파벳이므로, 평문의 E를 A로 치환해서 암호문을 만들었다면 암호문에서 가장 많이 등장하는 알파벳이 A일 가능성이 높다. 
  • 이런 추측을 바탕으로 암호문을 복구하는 것을 빈도수 분석이라고 한다.
  • 암호문이 어떤 언어로 구성되어 있어도 대상 언어의 특성을 안다면 시도해볼 수 있다.
  • 다중 치환 암호는 이러한 통계적 특정이 사라지기 때문에, 빈도수 공격으로부터 비교적 안전하다.

3. 마치며

고전 암호의 주요 원리인 치환과 전치는 현대 암호에서도 종종 사용된다.

-퀴즈

Q1. 어렵다

Q2. 유효한

 

'22-여름방학 > 암호학' 카테고리의 다른 글

8주차 정리  (0) 2022.08.25
7주차 정리  (0) 2022.08.17
6주차 정리  (0) 2022.08.14
5주차 정리  (0) 2022.08.03
3주차 정리  (0) 2022.07.23