Caesar cipher(시저 암호) : plaintext를 일정한 문자수(key space)만큼 평행이동 시킴으로써 암호화

 

a b c -> d e f  의 경우 더 길게 써보면

x y z a b c d e f ... w -> a b c d e f g h i ... z

오른쪽에 있는 알파벳은 cipher text에 속한다.

-> 를 mapping function이라고 하는데 위의 경우 Shift R3 charachers 의 역할을 한다. 

<- 은 mapping(-1) function = inverse mapping function으로 decrypt function을 의미한다. 

위의 경우 <-는 Shift L3 charachters = Shift R23 characters의 역할을 한다.

(Shift L3와 R23가 같은 이유는 알파벳의 전체 개수는 26이고 (xyzabcdef...w/xyz...)이렇게 반복을 하기 때문)

 

Shift 13 characters가 의미하는 것은?

"13"은 specific하고 strange한 number

why? 

"원래함수(암호화) = 역함수(복호화) " 가 되기 때문

-- 알파벳이 총 26개니까 Shift left right 모두 동일하다

 

stronger function? 

key space가 클수록!

 

brute-force attack

- 모든 케이스를 다 확인하는 공격

- 25!를 시도해야 얻을 수 있다

 

frequency analysis possible?

mapping table (fixed mapping) 

Original Encrypt
A L
B O
C F
D M
E Q
F Z

simple substitution cipher, You can find some patterns/frequency in the cypertext

 

복잡도가 충분히 높고, how can you improve it? 

실제로는 25!보다 훨씬 더 높은 확률로  break가능 (이유 :  fixed mapping)

how stronger?

(Enigma idea) codebook을 여러개 사용하는 것

+ Recent posts