본문 바로가기

Information Security Theory

3. Traditional symmetric key ciphers (3)

반응형

5) One-time pad 
Perfect secrecy를 목표로 고안

hello 

additive cipher의 문제 동일한 key의 사용으로 취약한 보안
P
7
4
11
11
14
k
15
15
15
15
15
C
22
19
0
0
3


k를 random sequence로 채택할때
P
7
4
11
11
14
k(random sequence)
15
7
3
22
19
C
22
11
14
7
23
이론적으로 additive cipher에 key가 random sequence로 생성하면 perfect security가 달성될 것이라는게 증명되어 있다.

이론과의 차이
- computer는 완벽한 random이 불가능하다. puedo random

조건
동일한 난수 생성기를 송수신자가 가지고 있어야 한다.



3. Transposition Cipher

글자자체가 대체되어 바뀌는 subsitution cipher와 달리 문자를 섞는 암호화 방식

1) Keyless transposition cipher


P = meet me at the park
C = MEMATEAK ETETHPR

m
e
e
t
m
e
a
t
t
h
e
p
a
r
k


m
e
e
t
m
e
a
t
t
h
e
p
a
r
k


사전에 표를 만드는 기준을 정해놓고 암호화 (key가 별도로 없다)

(*사실 표의 크기를 key라고 생각할 수도 있다.)



2) Keyed transposition cipher

P = enemy attacks tonight
key 

k = (3 1 4 5 2) 
(1,2,3,4,5의 permutation)


Encrpytion 

enemy -> EEMYN
attac -> TAACT
kston -> TKONS
...
사전에 정해둔 k의 permutaion 크기를 기준으로 각 블럭을 transposition

Decryption
(2 5 1 3 4)로 복호화 해야함 -> 역 permutation



3) Combining Two Approaches

keyless + keyed의 조합한 

key = (3 1 4 5 2)
enemy attacks tonight

e
n
e
m
y
a
t
t
a
c
k
s
t
o
n
i
g
h
t
z(garbage data)

E
E
M
Y
N
T
A
A
C
T
T
K
O
N
S
H
I
T
Z
G

C : ETTHEAKIMAOTYCNZNTSG

해당 C를 다시 평문으로 취급하여 다시 암호화하면 double encrypt 시도도 가능할 수 있다.



일반적인 현대 암호화 방식 패턴

Substitution + Transposition

다른 복잡한 방식없이 큰 두 줄기를 잘 조합해서 보안성 높은 암호화가 가능하다.



4. Stream Cipher & Block Cipher

1)Block Cipher
group of m symbols에 대해 하나의 key사용

ex) Hill cipher, plainfair cipher, ...

2)Stream Cipher
한 글자 -> 컴퓨터 관점에선 1bit단위

P = (P₁ P₂ P₃ ... ) : plaintext stream 
k = (k₁ k₂ k₃ ... ) : key stream
C = (C₁ C₂ C₃ ... ) : ciphertext stream
C_i = (P_i, k_i) 결합

ex) Additive cipher, Auto key cipher, ...

명확한 구분이 필요한건 아니지만 줄기를 개념적으로 나누는 편이다


반응형