본문 바로가기
암호학

고전 암호

by whiteTommy 2024. 6. 18.

고전 암호

: 컴퓨터와 같은 고성능 연산 장치가 발명되기 전에 비교적 간단한 기계와 손 등으로 암/복호화를 수행하던 암호이다.

 

고전 암호는 일반적으로 2가지 방법으로 설계된다.

  • 치환(substitution) : 평문의 문자를 다른 문자로 바꾸는 것
  • 전치(transposition) : 평문 문자들의 위치를 바꾸는 것

 

치환 암호

  • 단일 문자 치환 암호 : 평문의 각 문자를 약속된 다른 문자로 치환하는 암호이며, 일대일 대응 관계이다.
    • 카이사르 암호 : 평문의 각 알파벳을 정해진 횟수만큼 다음 순서에 해당하는 알파벳으로 치환
       평문 B는 오른쪽으로 3번 밀어내는 암호화 방식으로 E로 암호화 되며, E는 왼쪽으로 3번 밀어내는 방식으로     복호화 된다. (단, 'Z' 알파벳 다음은 'A'이다.) 여기서, 알파벳을 밀어낸 횟수를 키(key)라고 하면 key는 3이고,       가능한 키의 가짓수는 26개(알파벳 개수)이다.

    • 춤추는 인형 암호
      평문 B는 오른쪽으로 3번 밀어내는 암호화 방식으로 E로 암호화 되며, E는 왼쪽으로 3번 밀어내는 방식으로      복호화 된다. (단, 'Z' 알파벳 다음은 'A'이다.) 여기서, 알파벳을 밀어낸 횟수를 키(key)라고 하면 key는 3이고, 가능한 키의 가짓수는 26개(알파벳 개수)이다.

    • 코드북 암호
      송/수신자가 책을 정하고, 송신자가 책의 페이지 x와 단어의 인덱스 y를 보내면, 수신자는 책 x 페이지의 y번째 단  어를 확인하여 송신자의 메시지를 해독한다.

               송신자가 21537라는 암호문을 보내면, 수신자는 215페이지 37번째 단어를 찾아서 come이라는 메시지를 구할                   수 있다. 

  • 다중 문자 치환 암호 : 평문의 한 문자가 암호문에서 여러 종류의 문자로 치환된다.
    • 비제네르 암호(Vigenere Cipher) : 암/복호화는 미리 정해진 키워드를 통해 이루어진다. 

                'SKY' 라는 키워드로 평문 'Hello'를 암호화하면, 먼저, 아래 비제네르 표에서 'S', 'K', 'Y' 행을 찾는다. 그 뒤, 키워
                드를 반복하며 키워드의 각 행에서 평문의 문자에 대응되는 문자로 평문을 치환한다.

S K Y S K
평문 H E L L O
암호문 Z O J D Y

                 
               HELLO는 ZOJDY로 암호화 된다.

 

 

전치 암호

: 평문을 구성하는 문자들의 순서를 재배열하여 암호문을 만든다. 평문을 정해진 길이의 블록들로 나누고, 규칙을 적용하여 블록 안의 문자들을 재배치한다.

 

아래는 평문 HELLOWORLD을 블록의 길이가 3이고, 키가(3,1,2)일 때의 암호화 과정이다.

H E L L O W O R L D

 

L H E W L O L O R D

3                   1                  2

 

  • 스키테일 암호 : 나무봉을 이용한 암호이다. 메시지를 교환할 두 사람이 같은 크기의 나무봉을 제작한다. 그 뒤 송신자는 종이 테이프를 나무봉에 감고, 테이프 위에 세로로 메시지를 기입하여 암호문을 만든다. 종이테이프를 풀어내면 순서가 뒤섞여 메시지를 읽을 수 없지만, 같은 나무봉을 가진 수신자는 테이프를 다시 나무봉에 감아서 이를 해석할 수 있다.

고전 암호 공격

  • 전수 키 탐색 공격 : 평문과 암호문을 알 때, 키 공간을 전부 탐색하며 주어진 암호문과 같은 암호문을 생성하는 키를 찾는 방법이다. 키 공간의 크기가 작을 때 유용하다. 
  • 빈도수 공격 : 단일 치환 암호는 평문과 암호문의 문자가 항상 일대일 대응 관계이기 때문에, 통계적 특성이 유지된다. 평문의 E를 A로 치환해서 암호문을 만들면, 암호문에서 가장 많이 등장하는 알파벳이 A일 가능성이 높다. 이러한 추측을 바탕으로 암호문을 복구하는 것을 빈도수 분석이라고 한다. 하지만, 다중 치환 암호는 이러한 통계적 특성이 없기 때문에, 안전하다.

'암호학' 카테고리의 다른 글

정수론(암호학)  (0) 2024.06.21
현대 암호  (0) 2024.06.18