Cryptography

Cryptography(암호학) - 고전암호

HackHiJack 2021. 12. 12. 22:17
728x90
반응형

오늘은 고전 암호에 대해서 알아볼 것이다.(참고:드림핵 암호학 강의)

 

1. 고전암호

 

고전 암호는 요즘처럼 좋은 컴퓨터가 생기기전에 주로 사용한 암호인데, 지금은 그 암호의 복호화가 너무 쉽기때문에 특별한 경우 빼고 잘 사용하지는 않는다.

 

고전암호는 치환전치  의 과정으로 암호화한다.

 

치환은 평문 문자를 다른문자로 바꾸는 것이다.

전치는 평문 문자의 위치를 바꾸는 것이다.

 

고전 암호 중 한 가지 원리만 이용한 것에는 치환 암호, 전치 암호가 있고,

더 많은 원리를 이용한 것에는 단일 문자 치환 암호, 다중 문자 치환 암호가 있다.

 

단일 문자 치환 암호는 평문의 각 글자를 약속된 다른 문자로 치환하는 암호이다.

대표적으로 카이사르암호 라는 것이 있는데, 이는 평문의 각 알파벳을 일정한 거리만큼 밀어서 다른 암호로 치환하는 것이다.

이 암호에는 키가 있는데 이 키는 얼마 정도의 거리를 벌릴 것인지 정하는 수이다.

 

위 사진은 알파벳 3칸의 거리를 벌려서 만든 암호이다. 

평문이 ABCD라면 암호문은 DEFG인 것이다.

 

또 셜록홈스에서 나온 춤추는 인형 암호가 있다.

이는 각 춤추는 사진에 알파벳을 각각 대응시키면 경우의 수가 26! 이 나오는데 이는 현대 기술로도 해석하기 어렵다.

이런 유형은 통계학적으로 분석이 가능하다.

예를 들면 문장에서 가장 많이 사용되는 문자가 통계학적으로 e라는 분석을 이용하여, 암호문에서 가장 많이 사용된 문자를 e라고 생각할 수 있는 것이다.

반응형

다중 문자 치환 암호는 평문의 한 문자가 여러 종류의 문자로 치환될 수 있다. 

다중 문자 치환 암호의 예는 비제네르암호(Vigenere cipher)가 있다.

위는 비제네르 표인데, 만약 내가 hacking을 암호화하고 싶다면, 

아래처럼 sky를 평문의 숫자만큼 반복하여 위의 표에서 대칭하는 알파벳을 찾으면 암호화가 된다.

skyskys
hacking

s에 원래 h자리의 알파벳은 z, k의 원래 a자리 알파벳은 k 이런 식으로 반복하면 아래의 암호문이 완성된다.

zkacsly

 

전치 암호는 평문을 구성하는 문자를 규칙을 정해 새로 배열하는 암호이다.

예를 들면 DREAM HACK이라는 평문을 (3,1,2)의 규칙으로 암호화하고 싶다면 아래처럼 된다.

 

고전 암호 공격은 전수 키 탐색 공격, 빈도수 공격이 있다.

 

전수 키 탐색 분석은 암호문과 평문을 가지고 있을 때, 키 공간을 탐색하여 키를 찾는 방법이다.

키 공간이 작으면 작을수록 더욱 탐색하기 쉽다.

대표적으로 위에서 말한 카이사르 암호가 취약하다.

 

빈도수 공격은 단일 치환 암호를 해석할 때 통계적 특성을 이용하여 해석하는 것이다.

위에서 말한 것처럼 암호문에서 가장 많이 나타나는 문자를 e라고 예측할 수 있다.

 

다중 치환 암호는 통계적 특성이 사라지기 때문에 빈도수 공격에 덜 취약하다.

728x90
반응형