본문 바로가기

Crypt

Caesar cipher

1. 단일문자 암호화


고대 암호 중 한 종류로, "카이사르 암호"로도 알려져 있다.

현재 알파벳 문자들의 간단한 순열로 있어 우리는 알파벳의 문자를 다음 단계의 문자로 치환하여 암호화된 알파벳을 얻는다.


전체 알파벳의 순서를 오른쪽으로 2글자씩 이동하면 다음과 같은 표를 얻을 수 있다.

[표 1]


일반적으로 암호화된 메시지는 대문자, 암호화되지 않은 메시지는 소문자이다.


위의 예에서 하나의 오프셋만 있으나 여러 알파벳을 혼합하여 암호화할 수 있다.

[표 2]


ex) 다음 문자로 "Attack the enemy's position!"의 메시지를 암호화.

- 먼저, 구두점(쉼표, 마침표, 콜론 등)과 공백을 제거한 다음 전체 메시지를 소문자로 묶는다.

attacktheenemysposition

- 각 문자를 표에서 해당하는 문자로 바꾼다.('a' -> 'I', 't' -> 'B')

- 암호화가 끝나면 메시지가 나타난다.

  IBBIHQBERRNRWXPLKPABAKN

해독하기 위해, 암호화된 문자를 반대 방향으로 치환하여 원래 메시지를 구사한다.


2. 카이사르 암호 해독


카이사르 암호는 매우 간단하고 신속하게 구현 할 수 있으며 고대 시대에 비교적 효율적이었다.

그러나 무슬림 문명의 발전으로 아랍계 수학자들은 알파벳 대용 암호로 암호화된 메시지의 암호화를 해독하는 방법을 발견하였다.

각 언어별 기능을 사용했다. : 알파벳의 각 문자 사용 빈도 수를 이용하여 추측한다.

예를 들어, 프랑스어의 경우 ‘e’가 가장 많이 사용되며 e > a > s, t, n > …… 이다.

-      빈도 수를 측정하여 가장 많아 사용된 문자를 ‘e’로 추측

 

이 방법의 문제점은 빈도 수를 측정하는 것이 평균이라는 사실로 짧은 텍스의 경우, 결과가 완전히 다를 수 있으며 실패할 가능성이 있다.


3. 결론


카이사르 암호는 해독을 할 수 있다.

그럼에도 불구하고, 이 암호는 여전히 남아있으며 메시지의 암호화를 신속하게 할 수 있다는 점이 특징이다.

'Crypt' 카테고리의 다른 글

SHA-2_(2)  (0) 2017.11.03
SHA-2_(1)  (0) 2017.11.03
MD5  (0) 2017.09.26
Hash Function  (0) 2017.09.26
UU Encoding  (0) 2017.09.15