[KOR] DES, 3DES, AES

☝DES(Data Encryption Standard)


1. 목적 : data encryption standard
2. 방식 : substitution + permutation 
3. 라운드 : 16회전(P-box,S-box 각각 )
4. crack 이유 : 짧은 키
5. key size : 56bit 
==> feistel network 변형 구조 



Plaintext size : 64bit // key size : 56bit // round : 16

구성요소 : 2개의 permutation box (Initial permutation, Final permutation)
+
16개의 feistel 라운드 함수

각 라운드 키는 라운드 키 생성기에 이해 암호키로부터 생성된 48bit 키 16개를 생성해냄



Image result for des



<<각 Round 살펴보기 >>

DES 함수의 구성요소 
1. Expansion P-box 
2. key XOR
3. 8개의 S-box
4. Straight P-box



초반에 64bit 블럭이 32bit씩 나누어 L, R로 Input 
Expansion permutation으로 key bit size에 맞게 48bit로 맞추어지고,
XOR 이후 S-box 8개로 ( 8*6=48bit ==> 8*4=32bit ) 통과됨.
이후 다시 Straight permutation 





DES의 복호화 과정은 라운드 키(K1~K16)은 역순으로 적용.



DES함수 분석
1. S-BOX :  각 라운드에서 그 다음 라운드까지 혼돈을 만족하도록 설계됨. 
+
비선형 함수
+
입력값의 한 비트를 바꾼다면 출력값에서는 두 비트 이상이 바뀐다. 
2. P-BOX : Expansion permutation으로 확산(difusion)시킴


DES취약점
🙅DES는 평문 또는 키의 작은 변화가 암호문에 큰 변화를 만드는 쇄도효과(avalanche effect)가 매우 큼. 또한 암호문의 각 비트가 평문의 많은 비트들에 의존하는 완비성이 높은것으로 증명되어 암호문으로부터 평문을 추론하기가 매우 어려움. 


2DES
=> meet in the middle attack
man in the middle attack
취약 



3DES

1. DES-EDE2
2. DES-EDE3

DES-EDE2 
PlainText==> Encryption==>Decryption==>Encryption==>CipherText
                                 K1                    K2                K1                        


즉 여기서 K2=K1 된다면, DES와 호환 가능


DES-EDE3
PlainText==> Encryption==>Decryption==>Encryption==>CipherText
                                   K1                    K2                K3                        

세 개의 키를 갖는 3DES는 PGP와 같은 응용프로그램에서 이용


차이점: KEY 개수 
NUMBER OF ROUND FOR DES = 16회
NUMBER OF ROUND FOR 3DES = 16*3 = 48회



속도 비교
3DES<DES<AES<RC4(stream cipher)





☝AES(Advanced Encryption Standard)

Image result for AES
non-feistel algorithm 
==>SPN Network 따른다.
Rijndael 

Input bit : 128 bit 
number of round : 10/12/14
key size : 128/192/256

AES-128
AES-192
AES-256



AES ROUND 1 구성요소 
1. SubBYtes 바이트 치환 
2. ShiftRows 행의 이동 
3. MixColumns 열의 혼합 : 확산 기능, 마지막 라운드는 제외 
4. AddRoundKey 라운드 키와의 XOR



SPN구조 Algorithm 
ex) SAFER, SHARK, SQUARE, CRYPTON RIJNDAEL, SAFER+,PRESENT, SERPENT








Comments

Popular posts from this blog

[EN] DES, 3DES, AES

[KOR] 암호기법의 분류