치환암호
치환암호(substitution cipher)란 비트, 문자 또는 문자의 블록을 다른 비트, 문자 또는 블록으로 대체하는 방법이다. 즉, 평문의 문자를 다른 문자로 교환하는 규칙이다. 대체암호 또는 환자암호라고도 한다.
목차
개요
치환암호는 특정 글자를 다른 글자로 치환함으로서 암호를 생성하는 방법이다. 예를 들어 알파벳 A를 임의로 H로 지정하듯이 특정 문자를 다른 문자로 치환하면 된다. 치환 암호에는 단일치환암호와 다중치환암호라는 두 가지 방식이 있다. 단일치환암호는 '단일문자치환암호'라고도 하며, 항상 문자에 대해서는 같은 문자로 치환 하는 방식이다. 예를 들어, 앞서 A를 H로 치환했다면 하나의 키를 통해 암호화된 문서에서 나타나는 모든 H는 평문의 A가 된다. 반면에 '다중문자치환암호'라고도 불리는 다중치환암호는 하나의 문자가 여러 다른 문자로 바뀔 수 있다. 즉 평문의 A가 H가 될 수도, Y가 될 수도 있다는 말이다. 이 말은 일반적으로 다중치환암호가 단일치환암호 방식보다 더욱 알아내기 어렵다고 생각할 수 있다.
암호방식
단일치환암호
알파벳에서 숫자(키 값)을 이용해서 다른 알파벳이 되도록 치환시키는 방식이다. 알파벳 26문자를 무작위로 나열한 집합과 원래의 알파벳 26문자를 서로 1대1 대응시킴으로써 암호문을 생성해낸다.[1] 단일치환암호 방식으로는 덧셈암호, 곱센암호, 아판암호가 있다.
덧셈암호
덧셈암호(Additional Cipher)는 암호학에서 가장 기초가 되는 방법이고, 실제로 시저 암호(Caesar Cipher)라고 많이 알려져 있는 암호 방법이다. 카이사르 암호라고도 불린다. 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식이다.
곱셈암호
곱셈암호(Multiplicative Cipher)는 키 값을 곱한 값을 이용해 암호화를 시키는 암호 방법이다. 곱셈암호는 덧셈암호보다 키 공간이 작기 때문에 전수 조사 공격에 더욱 취약하며 빈도수의 특징 또한 나타나기 때문에 통계적인 공격에도 취약하다.[2]
아핀암호
아핀암호(Affine Cipher)는 두 개의 암호법을 합쳐놓은 기법이다. 즉 덧셈암호화 곱셉암호 두 가지를 병합하여 구현한다. 그렇기 때문에 키 또한 두 개가 존재한다.[3]
다중치환암호
평문에서 하나의 알파벳은 여러 알파벳으로 나타낼 수 있다. 단일치환 방식에서 알파벳의 빈도정보를 파악해서 어느정도 유추할 수 있는 약점이 있었는데, 이 빈도정보를 무력화시키는 방법으로 등장했다. 자둥치환암호로는 자동키암호, 플레이페어암호, 비즈네르암호, 힐암호가 있다.
자동키암호
자동키암호(Autokey Cipher)는 키에 평문을 포함시킨 암호이다. 키는 때로 평문에서 일부 문자를 선택하거나, 주로 짧은 접두 키워드를 평문 앞에 추가하는 일부 자동화된 방식으로 평문으로부터 생성된다. 자동키암호에는 두가지 방식이 있다. 키 자동키암호(Key-autokey cipher)는 키 스트림의 이전 요소가 키 스트림의 다음 요소를 결정하는데 사용된다. 텍스트 자동키는 이전 평문이 키 스트림의 다음요소를 결장하는데 사용된다.[4]
플레이페어암호
플레이페어암호(Playfair Cipher)는 영국의 물리학자인 휘트스톤(Charles Wheatstone)과 영국의 수학자 및 지질학자인 플레이페어(John Playfair)가 만든 암호화 방식이다. 하지만, 휘트스톤이 죽고 플레이페어는 이 암호화 방식을 자신의 이름을 본따 발표했다. 이 암호는 5x5 알파벳 행렬을 이용하고, 키 값을 사용한다.[5]
비즈네르암호
비즈네르암호(Vigenere Cipher)는 가장 오래된 다중치환암호 중 하나이다. 가장 많이 알려진 방식의 비즈네르암호는 카이사르 코드 26개, 즉 26x26 대응표를 사용한다. 추가적으로 비즈네르 암호체계에서는 사전에 약속된 키가 필요하다. 비즈네르암호의 장점은 언어의 특성에 따른 통계적인 글자의 빈도수를 숨길 수 있다는 것이다.[6]
힐암호
힐암호(Hill Cipher)는 행렬을 이용한 치환암호의 일종이다. 1929년 레스터 힐이라는 미국 수학자에 의해 발명되었으며, 단순 치환암호와는 달리 둘 이상의 알파벳을 함께 다른 문자로 바꾸기 때문에 빈도 분석에 쉽게 깨지지 않는다는 특징이 있다. 힐암호 역시 26을 법으로하는 연산을 바탕으로 한다.[7]
각주
- ↑ 〈Simple Substitution Cipher(단일치환암호)〉, 《티스토리》, 2019-04-20
- ↑ 월혼지주, 〈곱셈 암호(Multiplicative Cipher)〉, 《네이버 블로그》, 2010-09-24
- ↑ 〈Affine Cipher - 아핀 암호〉, 《이글루스》
- ↑ delliot, 〈(0x02) Autokey Cipher〉, 《개인블로그》
- ↑ Notchicken, 〈플레이페어 암호 (Playfair cipher)〉, 《티스토리》, 2013-08-08
- ↑ 〈비즈네르암호〉, 《이글루스》
- ↑ 적분의 수학 이야기, 〈힐 암호〉, 《개인블로그
참고자료
- 치토스맨, 〈(정보보안기사) 치환 암호, 전치 암호〉, 《네이버 블로그》, 2018-03-14
- ITqom, 〈단일치환 암호방식과 다중치환 암호방식〉, 《개인블로그》, 2018-04-14
- FlameSlash, 〈(암호학)2.고전암호학(Traditional Ciphers)-치환 암호(Substitution Cipher)〉, 《티스토리》, 2016-04-02
- 〈Simple Substitution Cipher(단일치환암호)〉, 《티스토리》, 2019-04-20
- 월혼지주, 〈곱셈 암호(Multiplicative Cipher)〉, 《네이버 블로그》, 2010-09-24
- 〈Affine Cipher - 아핀 암호〉, 《이글루스》
- Notchicken, 〈플레이페어 암호 (Playfair cipher)〉, 《티스토리》, 2013-08-08
- 〈비즈네르암호〉, 《이글루스》
- 적분의 수학 이야기, 〈힐 암호〉, 《개인블로그》
- delliot, 〈(0x02) Autokey Cipher〉, 《개인블로그》
같이 보기