본문 바로가기

Cryptography/Cryptography

[Dreamhack] Cryptography - 고전암호

고전 암호

고성능 연산 장치 발명 전, 비교적 간단한 기계와 손으로 암복호화를 수행하던 암호

 

Substitution cipher 치환 암호

 

평문의 문자를 다른 문자로 바꾸는 것

Monoalphabetic substitution cipher 단일 문자 치환 암호

  • 평문의 각 문자를 약속된 다른 문자로 치환하는 암호
  • 치환의 대응 관계는 일대일 대응

 

Caesar cipher 카이사르 암호

  • 평문의 각 알파벳을 정해진 횟수만큼 다음 순서에 해당하는 알파벳을 치환
  • 따라서 알파벳을 밀어낸 횟수만 알면 해독할 수 있음
  • 알파벳 밀어낸 횟수를 Key라고 하면 가능한 키의 가짓수는 26개
  • 키 공간의 크기가 작기 때문에 컴퓨터 사용시 쉽게 복호화 가능

 

춤추는 인형 암호

  • 카이사르 암호보다 조금 더 복잡한 단일 치환 암호
  • 사람 한 명이 글자 하나에 대응됨
  • 규칙성이 없어서 평문 유추하기 쉽지 않음
  • 모든 알파벳을 서로 다른 기호와 무작위로 일대일 대응시켜 치환하면 키 공간의 크기는 26! (4*10^26)
  • 현대 컴퓨터로도 전부 탐색하기 어려움
  • 하지만 단일 치환 암호는 언어가 지닌 통계적 특성이 유지된다는 단점이 있음

 

코드북 암호

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

 

Polyalphabetic substitution cipher 다중 문자 치환 암호

  • 평문의 한 문자가 암호문에서 여러 종류의 문자로 치환될 수 있음

 

Vigenere cipher 비제네르 암호

  • 암복호화는 미리 정해진 키워드를 통해서 이루어짐

 

Transposition cipher 전치 암호

평문을 구성하는 문자들의 순서를 재배열하며 암호문을 만듦

평문을 정해진 길이의 블록들로 나누고, 규칙을 적용해서 블록 안의 문자를 재배치

 

Scytale cipher 스키테일 암호

  • 같은 크기의 나무봉에 종이 테이프를 감아서 해석하는 고대 암호

 

고전 암호 공격

 

Exhaustive key search attack 전수 키 탐색 공격

  • 평문과 암호문을 알 때, 키 공간을 전부 탐색하며 키를 찾는방법
  • 단순한 공격 방법
  • 카이사르 암호가 키 공간이 작기 때문에 이 공격에 취약함

Frequency analysis 빈도수 공격

  • 평문의 통계적 특성을 이용한 공격
  • 암호문이 어떤 언어로 구성되어 있어도 대상 언어의 특성을 안다면 시도할 수 있음
  • 치환 암호는 이런 통계적 특성이 사라지기 때문에 빈도수 공격으로부터 비교적 안전함