[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개를 생성해냄
<<각 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)
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
Post a Comment