본문으로 바로가기

기초 암호 시스템(Basic Crypto System)

category Study/crypto 2018. 4. 21. 20:23

고대암호부터 여러 기초적인 암호 시스템에 대해 알아보자



기초 암호 시스템


Simple Substitution Cipher(단일 치환 암호)


암호 알고리즘

알파벳 테이블과 키 테이블을 매칭시켜 평문을 알파벳 하나씩 치환하여 암호화 하는 암호체계이다. 키 테이블을 만드는 방법에 따라 여러가지 암호가 나올 수 있다.
Caesar's Cipher
시프트 연산을 통해 키 테이블을 만드는 방식. 키 테이블의 경우의 수가 26가지 이므로 해독이 쉽다
Atbash Cipher
카이사르의 키 테이블을 역순으로 재정렬하는 방식. 경우의 수가 카이사르 암호와 같아 해독이 쉽다.
Vigenere Cipher
키워드를 통해 비즈네르표에서 기준점을 설정하고 치환해나가는 방식. 단어빈도를 분석하여 키워드의 길이를 찾아내면 해독할 수 있다.

암호 분석

가능한 경우의 수가 너무나도 많기 때문에 빈도를 분석하여 치환하며 해독할 수 있다.



Double Transposition Cipher(이중 전위 암호)


대체와 치환 개념의 조합을 사용하는 알고리즘이다. "ILLBEBACK"의 문장을 암호화 하는 과정은 다음과 같다


 

col1

col2

col3

row1

I

L

L

row2

B

E

B

row3

A

C

K


 

col3

col1

col2

row2

B

B

E

row3

K

A

C

row1

L

I

L


이렇게 바뀐 표의 정보를 행과 열로 나타내면 (2,3,1)과 (3,1,2)가 되며, 이것이 키 값이다.



OTP : One-Time-Pad(일회용 암호)


XOR연산의 특징을 이용하여 평문에 크기가 동일한 키를 XOR연산하여 암호문을 만들어내고, 암호문에 키를 XOR연산하여 평문을 도출해는 방식이다. 암호문에 평문을 XOR연산하면 키 값이 나온다. 암호문이 평문에 대한 정보를 담지 않으며, 키가 임의의 수로 한번만 사용하여 안정성이 있다. 그러나 암호문에 다른 평문을 XOR연산을 하게되면 잘못된 키(Fake key)를 얻을 수 있다. 이러한 잘못된 키를 이용하영 암호문을 해독하면 다른 평문을 받게되는 취약점이 존재한다.



Codebook(코드북 암호)


말 그대로 코드북을 이용하여 암호하는 방식이다. 코드북은 각 단어들을 치환한 코드워드들로 이루어져있다. 짐머맨 전보를 예로들 수 있다.




'Study > crypto' 카테고리의 다른 글

스트림 암호(Stream Cipher) #RC4  (2) 2018.04.22
스트림 암호(Stream Cipher) #A5/1  (0) 2018.04.22
암호분석(Crytanalysis)  (0) 2018.04.22
암호체계(Crypto System)  (0) 2018.04.21
암호(Crypto)  (0) 2018.04.21