본문 바로가기

Information Security Theory

3. Traditional symmetric key ciphers (1)

반응형

Traditional symmetric key ciphers
대칭키 암호화

("Cryptography & Network Security (McGraw-Hill Forouzan Networking - Fig 3.1 참조)
Alice                                             <->             Bob
plain text평문(P)

-> Encryption(암호)(E) Algorithm          decryption(복호)(D) algorithm
    (secret key)(k)                                        (secret key) (k)


-> ciphertext (암호문)                    ->         ciphertext
(C)


사전에 미리 Alice와 Bob이 (secret) key (-> alice와 bob만 알고 있음)를 갖고 있다고 가정
  • E_k(P) = C
  • D_k(C) = P
  • D_k(C)=D_k(E_k(P))=P
decryption은 encryption의 역이 되는 작업

kerckhoff's priciple
Assume that the enemy knows the encryption / decryption algorithm

Secrecy of the key

알고리즘이 모든 사람이 쓰게 하기 위해 공개 되어있지만, 암호의 안정성은 송수신자 둘만 key값으로 알고 있기 때문에 안정성이 보장된다.

알고리즘의 핵심 : key값의 안정성을 보장해야한다.



Crytoanalysis?
cryptography(수비) : 암호를 만드려고 하는 사람들, Science and art of creating secret codes
crytoanalysis(공격) : 암호를 깨려고 하는 사람들, Science and art of breaking the codes

key값을 사전에 둘만 알게 할 수 있게할 방법?



Subsitution Cipher (대치 암호론)

암호 생성시에 가장 기본
Subsitution : 어떤 Symbol을 다른 Symbol로 변환 (P -> P`) ex) art -> xda
Transposition : symbol의 position을 바꾸는 식 (permutaion) ex) computer -> ertocmup

암호학은 크게 두 종류의 생성방식을 조합하여 사용됨.



1. Monoalphabetic Ciphers
a b c d ... z
0 1 2 3 ... 25
A B C D ... Z

(대소문자를 구분하지 않는 이유는 사람이 대소문자와 상관없이 동일하게 판단할 수 있기 때문)
*평문은 소문자, 암호문은 대문자로 표기하는 관습이 있다.

substitution
hello -> KHOOR
         -> ABNZF
KHOOR같은 경우에 같은 글자들은(l) 대응되는 같은 글자들로(o) 바뀐다 -> monoalphabetic
<->polyalphabetic

monoalphabetic에도 여러종류가 있지만 가장 전형적인 예로 additive cipher가 있다.

1) Additive Cipher
hello 7 4 11 11 14
ex) k = 15라 가정


Alice                                                                      Bob
C = (P+k) mod 26                                                 P = (C-k) mod 26 
(encryption algorithm)                                          (decryption algorithm)
P(plain text)
7
4
11
11
14
k(key)
15
15
15
15
15

22
19
26
26
29
C(ciphertext)
W
T
A ( = 26mod26=0)
A ( = 26mod26=0)
D ( = 29mod26=3)

C
22
19
0
0
3
k
15
15
15
15
15

7
4
11
11
14
P
h
e
l
l
o

k값을 사전에 key값으로 약속하는 방식이다.


공격자
Eve
패킷 감청으로 WTAAD를 알아내면, eve의 decryption을 위한 수행 방법

1)Brute Force
k=0, k=1, k=2, ..., k=25

2)Statiscal attack
E : 12.7 %
T : 9.1 %
A : 6.3 %
...
Z
X
영어 단어의 빈도수를 통계적으로 사전에 판단하여, 빈도수기반으로 brute force
or 2문자단위 .등등.. (th, ac , ...)

반응형

'Information Security Theory' 카테고리의 다른 글

3. Traditional symmetric key ciphers (3)  (0) 2019.03.26
3. Traditional symmetric key ciphers (2)  (0) 2019.03.26
2. Math of crpytography (3)  (0) 2019.03.20
2. Math of cryptography (2)  (0) 2019.03.20
2. Math of crptography (1)  (0) 2019.03.07