본문 바로가기
학부/Network Security

Simple Substitution Cipher(단일치환암호)

by ulqaef 2019. 4. 20.
728x90

Caesar cipher(시저암호, 카이사르암호)는 알파벳을 평행이동 시킴으로써 암호문을 생성하는 암호였다.

Simple Substitution Cipher(단일치환암호)는 알파벳 26문자를 무작위로 나열한 집합과

원래의 알파벳 26문자를 서로 1대1 대응시킴으로써 암호문을 생성해내는 방법이다.

 

예) 단일치환암호표

위의 표를 이용하여 'hello'를 암호화 하면'TXGGB'가 된다. 

평문에 등장하는 문자의 빈도가 암호문으로 바뀐 뒤에도 그대로 드러난다는 것이 

단일치환암호의 단점 중 하나이다.

 

암호화 때 사용한 표를 이용하여 암호문을 역으로 계산해내면 단일치환암호에 의한 복호화를 할 수 있다.

이 때 암호문을 복호화 하려면 암호화 할 때 사용한 표를 송신자와 수신자가 공유하고 있어야 하므로

단일치환암호표가 단일치환암호의 '키(key)'가 된다.

 

시저암호는 전사공격으로 해독해낼 수 있었지만 단일치환암호는 전사공격으로 해독하기 매우 어렵다.

암호에서 사용할 수 있는 모든 키의 집합을 '키 공간(key space)'이라 하며 키 공간이 클수록 

전사공격에 의한 암호해독은 어려워진다.

위의 예로 설명을 하면, 평문에 들어있는 알파벳 'h'는 26개 알파벳 중 한 알파벳과 대응되고

'e'는 'h'를 암호화한 알파벳을 제외한 25개의 알파벳 중 하나에 대응하게 된다.

이러한 방법으로 생각해보면 단일치환암호의 키의 총수를 일반화 해보면

 

26 x 25 x 24 x 23 x ... x 2 x 1 = 403291461126605635584000000

... 

전사공격으로는 사실상 해독이 불가능하다.

 

그렇다고 단일치환암호가 안전하다고 할 수는 없다.

왜냐하면 빈도분석이라는 암호해독방법을 사용하면 단일치환암호도 해독할 수 있기 때문이다.

빈도분석에서는 평문에 등장하는 문자의 빈도와 암호문에 등장하는 문자의 빈도가 일치한다는 사실을 이용하는 것이다.

 

 

 

 

빈도분석은 다음에 알아보자.

 

 

 

 

 

 

<참고 : 히로시 유키 - 알기 쉬운 정보보호개론>

 

728x90
반응형

'학부 > Network Security' 카테고리의 다른 글

ECB(Electric CodeBook)모드  (0) 2019.04.20
Triple-DES(트리플D  (0) 2019.04.20
DES(Data Encryption Standard)  (0) 2019.04.20
One-time pad(일회용패드)  (0) 2019.04.20
Caesar cipher(시저암호, 카이사르 암호)  (0) 2019.04.20

댓글


`