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을 여러개 사용하는 것
'Computer Science > Cryptography' 카테고리의 다른 글
[Cryptography] 윈도우 openssl 실행방법 (+ 윈도우 bit 확인 방법) (0) | 2020.12.18 |
---|---|
[Crytography] DES란? (0) | 2020.11.13 |
[Cyptography] Enigma machine(에니그마) 란? (0) | 2020.10.18 |
[Cryptography] 대칭암호와 비대칭 암호(Symmetric Cryptography and Asymmetric Cryptography) (0) | 2020.10.15 |
[Cryptography] Cryptography 기본 (0) | 2020.10.12 |