DES (Data Encryption Standard)
DES (Data Encryption Standard)
KhΓ‘i niα»m
DES(Data Encryption Standard) lΓ thuαΊt toΓ‘n mΓ£ hΓ³a theo khα»i, nΓ³ xα» lΓ½ tα»«ng khα»i thΓ΄ng tin cα»§a bαΊ£n rΓ΅ cΓ³ Δα» dΓ i xΓ‘c Δα»nh lΓ 64 bit. TrΖ°α»c khi Δi vΓ o 16 chu trΓ¬nh chΓnh, khα»i dα»― liα»u cαΊ§n bαΊ£o mαΊt sαΊ½ Δược tΓ‘ch ra thΓ nh tα»«ng khα»i 64 bit, vΓ tα»«ng khα»i 64 bit nΓ y sαΊ½ lαΊ§n lượt Δược ΔΖ°a vΓ o 16 vΓ²ng mΓ£ hΓ³a DES Δα» thα»±c hiα»n. Tiα»n thΓ’n cα»§a nΓ³ lΓ Lucifer, mα»t thuαΊt toΓ‘n do IBM phΓ‘t triα»n. Cuα»i nΔm 1976, DES Δược chα»n lΓ m chuαΊ©n mΓ£ hΓ³a dα»― liα»u cα»§a nΖ°α»c Mα»Ή, sau ΔΓ³ Δược sα» dα»₯ng rα»ng rΓ£i trΓͺn toΓ n thαΊΏ giα»i. DES cΓΉng vα»i mΓ£ hΓ³a bαΊ₯t Δα»i xα»©ng ΔΓ£ mα» ra mα»t thα»i kα»³ mα»i trong ngΓ nh mΓ£ hΓ³a thΓ΄ng tin. TrΖ°α»c DES, viα»n nghiΓͺn cα»©u vΓ sα» dα»₯ng mΓ£ hΓ³a dα»― liα»u chα» giα»i hαΊ‘n trong chΓnh phα»§ vΓ quΓ’n Δα»i.

ΔαΊ§u vΓ o cα»§a DES lΓ khα»i 64 bit, ΔαΊ§u ra cΕ©ng lΓ khα»i 64 bit. KhΓ³a mΓ£ hΓ³a cΓ³ Δα» dΓ i 56 bit, nhΖ°ng thα»±c chαΊ₯t ban ΔαΊ§u lΓ 64 bit, Δược lαΊ₯y Δi cΓ‘c bit α» vα» trΓ chia hαΊΏt cho 8 dΓΉng Δα» kiα»m tra tΓnh chαΊ΅n lαΊ».
CΖ‘ chαΊΏ hoαΊ‘t Δα»ng

ThuαΊt toΓ‘n sinh khΓ³a con
SΖ‘ Δα» tα»ng quΓ‘t:



Thα»±c hiα»n hoΓ‘n vα»

Gα»i C_0 lΓ nα»a trΓ‘i cα»§a PC1K
Gα»i D_0 lΓ nα»a phαΊ£i cα»§a PC1K
Sau khi thα»±c hiα»n PC1 nhΖ° hΓ¬nh αΊ£nh trΓͺn vΓ bα» cΓ‘c bit kiα»m tra 8, 16, 24, 32, 40, 48, 56, 64 thΓ¬ PC1K cΓ³ Δα» dΓ i 56 bit
TΓnh cΓ‘c giΓ‘ trα» dα»ch vΓ²ng C_i, D_i

ChΓΊng ta cΓ³ thα» nhΓ¬n bαΊ£ng trΓͺn Δα» dα» hΓ¬nh dung.
Thα»±c hiα»n hoΓ‘n vα» PC2 vΓ gΓ‘n khΓ³a con K_i

Sau khi thα»±c hiα»n hoΓ‘n vα» PC2 khΓ³a K_i cΓ³ Δα» dΓ i 48 bit
QuÑ trình mã hóa DES
Giai ΔoαΊ‘n 1
Plaintext 64bit Δược ΔΖ°a vΓ o IP , 1 chuα»i C sαΊ½ Δược tαΊ‘o ra bαΊ±ng cΓ‘ch thα»±c hoΓ‘n vα» cΓ‘c bit cα»§a plaintext theo hoΓ‘n vα» IP

TiαΊΏp theo C sαΊ½ Δược chia lΓ m 2 phαΊ§n L_0 (32 bit ΔαΊ§u) vΓ R_0 ( 32 bit cuα»i)
Giai ΔoαΊ‘n 2

LαΊ₯y R_0 Δi qua hΓ m Feistel, Vα»i giΓ‘ trα» ΔαΊ§u vΓ o R_{i-1} (32 bit), K_i (48 bit)
R_{i-1} khi Δi qua hoΓ‘n vα» E sαΊ½ tΔng Δα» dΓ i tα»« 32 -> 48 bit Δα» cΓΉng Δα» dΓ i vΓ thα»±c hiα»n XOR vα»i K_i

TΓnh
TΓ‘ch kαΊΏt quαΊ£ cα»§a phΓ©p tΓnh trΓͺn thΓ nh 8 khα»i, mα»i khα»i 6 bit vΓ ΔΖ°a lαΊ§n lượt vΓ o bαΊ£ng S-box : S1, S2, S3, S4, ..., S8 .








Vα»i mα»i S-box sαΊ½ cΓ³ 6bit ΔαΊ§u vΓ o vΓ 4 bit ΔαΊ§u ra
KαΊΏt quαΊ£ tα»« 8 khα»i 6bit sαΊ½ cho ra 8 khα»i 4 bit C_i
Mα»i 4 bit ΔαΊ§u ra cα»§a cΓ‘c S-box sαΊ½ Δược ghΓ©p lαΊ‘i, theo thα»© tα»± cΓ‘c vΓ Δược Δem vΓ o P-box.

Giai ΔoαΊ‘n 3
Γp dα»₯ng hoΓ‘n vα» kαΊΏt thΓΊc FP cho R_{16}L_{16} ta thu Δược bαΊ£n mΓ£

QuΓ‘ trΓ¬nh giαΊ£i mΓ£ cα»§a DES cΕ©ng tΖ°Ζ‘ng tα»± quΓ‘ trΓ¬nh mΓ£ hΓ³a. Chα» khΓ‘c nhau α»: Li = Ri-1. Ri = Li-1 β f(Ri-1, K16-i+1). NhΖ° vαΊy khΓ³a K cα»§a hΓ m F sαΊ½ Δi tα»« khΓ³a K16 -> K1.
HΓ m Feistel(F)

ΔαΊ§u vΓ o hΓ m f cΓ³ 2 biαΊΏn:
BiαΊΏn thα»© nhαΊ₯t: Ri-1 lΓ xΓ’u bit cΓ³ Δα» dΓ i 32 bit. - BiαΊΏn thα»© hai: Ki lΓ xΓ’u bit cΓ³ Δα» dΓ i 48 bit. ΔαΊ§u ra cα»§a hΓ m f lΓ xΓ’u cΓ³ Δα» dΓ i 32 bit. Quy trΓ¬nh hoαΊ‘t Δα»ng cα»§a hΓ m f nhΖ° sau:
BiαΊΏn thα»© nhαΊ₯t Ri-1 Δược mα» rα»ng thΓ nh mα»t xΓ’u cΓ³ Δα» dΓ i 48 bit theo mα»t hΓ m mα» rα»ng hoΓ‘n vα» E (Expansion permutation). Thα»±c chαΊ₯t hΓ m mα» rα»ng E(Ri-1) lΓ mα»t hoΓ‘n vα» cΓ³ lαΊ·p trong ΔΓ³ lαΊ·p lαΊ‘i 16 bit cα»§a Ri-1.
TΓnh
TΓ‘ch kαΊΏt quαΊ£ cα»§a phΓ©p tΓnh trΓͺn thΓ nh 8 xΓ’u 6 bit B1, B2, β¦, B8.
ΔΖ°a cΓ‘c khα»i 8 bit Bi vΓ o 8 bαΊ£ng S1, S2, β¦, S8 (Δược gα»i lΓ cΓ‘c hα»p S-box). Mα»i hα»p S-Box lΓ mα»t bαΊ£ng 4*16 cα» Δα»nh cΓ³ cΓ‘c cα»t tα»« 0 ΔαΊΏn 15 vΓ cΓ‘c hΓ ng tα»« 0 ΔαΊΏn 3. Vα»i mα»i xΓ’u 6 bit Bi = b1b2b3b4b5b6 ta tΓnh Δược Si(Bi) nhΖ° sau: hai bit b1b6 xΓ‘c Δα»nh hΓ ng r trong hα»p Si, bα»n bit b2b3b4b5 xΓ‘c Δα»nh cα»t c trong hα»p Si. Khi ΔΓ³, Si(Bi) sαΊ½ xΓ‘c Δα»nh phαΊ§n tα» Ci = Si(r,c), phαΊ§n tα» nΓ y viαΊΏt dΖ°α»i dαΊ‘ng nhα» phΓ’n 4 bit. NhΖ° vαΊy, 8 khα»i 6 bit Bi (1 β€ i β€ 8) sαΊ½ cho ra 8 khα»i 4 bit Ci vα»i (1 β€ i β€ 8).
XΓ’u bit C = C1C2C3C4C5C6C7C8 cΓ³ Δα» dΓ i 32 bit Δược hoΓ‘n vα» theo phΓ©p toΓ‘n hoΓ‘n vα» P (P-Box). KαΊΏt quαΊ£ P(C ) sαΊ½ lΓ kαΊΏt quΓ‘ cα»§a hΓ m f(Ri-1,Ki).
Vα»i sα»± phΓ‘t triα»n cα»§a khoa hoαΊ‘c kα»Ή thuαΊt, DES khΓ΄ng Δược xem lΓ an toΓ n do Δα» dΓ i 56 bΓt cα»§a khΓ³a lΓ quΓ‘ nhα», nhiα»u kαΊΏt quαΊ£ nghiΓͺn cα»©u, phΓ’n tΓch cho thαΊ₯y viα»c mΓ£ hΓ³a cΓ³ thα» bα» phΓ‘ khΓ³a, thuαΊt toΓ‘n 3DES cΓ³ tΓnh an toΓ n cao hΖ‘n vΓ Δược sα» dα»₯ng trong thα»±c tαΊΏ nhiα»u hΖ‘n. NΔm 2002 tiΓͺu chuαΊ©n mΓ£ hΓ³a tiΓͺn tiαΊΏn AES (Advanced Encryption Standard) Δược Δα» xuαΊ₯t thay thαΊΏ cho tiΓͺu chuαΊ©n DES vΓ 3DES, song vαΊ«n cΓ³ nhiα»u lΔ©nh vα»±c Γ‘p dα»₯ng sα» dα»₯ng DES, 3DES sau nΓ y.
CΓ³ nhiα»u khΓ³a Δược xem lΓ khΓ³a yαΊΏu trong thuαΊt toΓ‘n DES, ΔΓ³ lΓ cΓ‘c khΓ³a dα» cΓ³ khαΊ£ nΔng bα» Δα»i tượng phΓ‘ khΓ³a do mα»t sα» bits cα»§a khΓ³a lαΊ·p lαΊ‘i vΓ dα» dα»± ΔoΓ‘n trΖ°α»c. Viα»c sα» dα»₯ng khΓ³a yαΊΏu cΓ³ thα» lΓ m giαΊ£m tΓnh bαΊ£o mαΊt cα»§a DES, do ΔΓ³ trΓ‘nh sα» dα»₯ng cΓ‘c khΓ³a yαΊΏu nΓ y. Cα»₯ thα» lΓ :
Triple DES
KhΓ‘i niα»m
Triple DES (3DES) lΓ mα»t phΖ°Ζ‘ng phΓ‘p mΓ£ hΓ³a dα»― liα»u, Δược phΓ‘t triα»n Δα» tΔng cΖ°α»ng bαΊ£o mαΊt cα»§a thuαΊt toΓ‘n DES (Data Encryption Standard) truyα»n thα»ng. Thay vΓ¬ chα» sα» dα»₯ng mα»t khΓ³a nhΖ° trong DES, Triple DES thα»±c hiα»n ba lαΊ§n mΓ£ hΓ³a vα»i ba khΓ³a khΓ‘c nhau, hoαΊ·c hai khΓ³a trong mα»t sα» phiΓͺn bαΊ£n. Δiα»u nΓ y giΓΊp tΔng Δα» mαΊ‘nh cα»§a mΓ£ hΓ³a, lΓ m cho viα»c tαΊ₯n cΓ΄ng trα» nΓͺn khΓ³ khΔn hΖ‘n.
CΖ‘ chαΊΏ hoαΊ‘t Δα»ng
QuÑ trình mã hóa

TrΖ°α»c tiΓͺn, thα»±c hiα»n mΓ£ hΓ³a DES vα»i khΓ³a K1, tiαΊΏp tα»₯c giαΊ£i mΓ£ DES vα»i khΓ³a K2 vΓ cuα»i cΓΉng mΓ£ hΓ³a DES vα»i khΓ³a K3 (E β Encryption: quΓ‘ trΓ¬nh mΓ£ hΓ³a; D - Decryption: quΓ‘ trΓ¬nh giαΊ£i mΓ£; BαΊ£n rΓ΅: Dα»― liα»u ΔαΊ§u vΓ o cα»§a phΓ©p mΓ£ hΓ³a hoαΊ·c dα»― liα»u ΔαΊ§u ra cα»§a phΓ©p giαΊ£i mΓ£; BαΊ£n mΓ£: Dα»― liα»u ΔαΊ§u ra cα»§a phΓ©p mΓ£ hΓ³a hoαΊ·c dα»― liα»u ΔαΊ§u vΓ o cα»§a phΓ©p giαΊ£i mΓ£).
QuÑ trình giải mã

QuΓ‘ trΓ¬nh giαΊ£i mΓ£ vα»i viα»c giαΊ£i mΓ£ vα»i khΓ³a K3, sau ΔΓ³ mΓ£ hΓ³a vα»i khΓ³a K2, vΓ cuα»i cΓΉng giαΊ£i mΓ£ vα»i khΓ³a K1...
3DES mΓ£ hΓ³a mα»t khα»i dα»― liα»u cΓ³ giΓ‘ trα» 64 bΓt (bαΊ£n rΓ΅) thΓ nh mα»t khα»i dα»― liα»u mα»i cΓ³ giΓ‘ trα» 64 bΓt (bαΊ£n mΓ£). CΓ‘c tiΓͺu chuαΊ©n chα» ra phΖ°Ζ‘ng thα»©c lα»±a chα»n nhΓ³m khΓ³a (K1, K2, K3) nhΖ° sau:
Vα»i K1, K2, K3 lΓ cΓ‘c khΓ³a Δα»c lαΊp. LΓ phΖ°Ζ‘ng thα»©c mΓ£ hΓ³a mαΊ‘nh nhαΊ₯t vα»i 168 bit khΓ³a Δα»c lαΊp (168=3x56)
Vα»i K1, K2 lΓ hai khΓ³a Δα»c lαΊp vΓ K3 = K1. Γt bαΊ£o mαΊt hΖ‘n vα»i 112 bit khΓ³a ( 2x56=112 bit)
Vα»i K1=K2=K3. Chα» tΖ°Ζ‘ng ΔΖ°Ζ‘ng vα»i viα»c mΓ£ hΓ³a DES 1 lαΊ§n vα»i 56 bΓt khΓ³a
Mα»i khΓ³a DES thΓ΄ng thΖ°α»ng Δược lΖ°u trα»― vΓ truyα»n Δi trong 8 byte, vΓ¬ vαΊy mα»t nhΓ³m khΓ³a yΓͺu cαΊ§u 8 hoαΊ·c 16, 24 byte cho viα»c lΖ°u trα»― khΓ³a.
Ζ―u vΓ nhược Δiα»m cα»§a 3DES
Ζ―u Δiα»m: KhΓ‘c vα»i DES, thuαΊt toΓ‘n mΓ£ hoΓ‘ 3DES Δược mΓ£ hoΓ‘ 3 lαΊ§n DES vα»i kΓch cα»‘ khΓ΄ng gian khoΓ‘ 168 bit cho nΓͺn an toΓ n hΖ‘n rαΊ₯t nhiα»u so vα»i DES.
Nhược Δiα»m: VΓ¬ 3DES sα» dα»₯ng 3 lαΊ§n mΓ£ hoΓ‘ DES cho nΓͺn tα»c Δα» mΓ£ hoΓ‘ sαΊ½ chαΊm hΖ‘n rαΊ₯t nhiα»u so vα»i DES. PhαΊ§n mα»m α»©ng dα»₯ng tα» ra rαΊ₯t chαΊm Δα»i vα»i hΓ¬nh αΊ£nh sα» vΓ mα»t sα» α»©ng dα»₯ng dα»― liα»u tα»c Δα» cao vΓ¬ kΓch thΖ°α»c khα»i 64 bit vαΊ«n cΓ²n lΓ mα»t nhược Δiα»m Δα»i vα»i nhα»―ng hα» cΓ³ tα»c Δα» cα»§a thαΊΏ kα»· 21.
KhΓ³a yαΊΏu
Mα»t sα» cαΊ·p khΓ³a yαΊΏu nΓͺn trΓ‘nh sα» dα»₯ng
NgoΓ i ra cΓ²n cΓ³ 48 khΓ³a Δược coi lΓ βcΓ³ thα» yαΊΏuβ nΓͺn hαΊ‘n chαΊΏ sα» dα»₯ng
KαΊΏt luαΊn
Hiα»n nay, vα»i nhu cαΊ§u bαΊ£o mαΊt thΓ΄ng tin, ΔαΊ·c biα»t lΓ bαΊ£o mαΊt thΓ΄ng tin truyα»n trΓͺn mαΊ‘ng internet, viα»c ΓΊng dα»₯ng cΓ‘c thuαΊt toΓ‘n mαΊt mΓ£ nΓ³i chung hay cα»₯ thα» lΓ sα» dα»₯ng cΓ‘c sαΊ£n phαΊ©m mαΊt mΓ£ trong cΓ‘c lΔ©nh vα»±c dΓ’n sα»±, an ninh quα»c phΓ²ng vΓ vΓ΄ cΓΉng cαΊ§n thiαΊΏt. ThuαΊt toΓ‘n DES vα»i Δα» dΓ i khΓ³a 56 bΓt ΔΓ£ khΓ΄ng cΓ²n an toΓ n, tuy nhiΓͺn thuαΊt toΓ‘n 3DES vαΊ«n Δang Δược sα» dα»₯ng trong nhiα»u sαΊ£n phαΊ©m mαΊt mΓ£ dΓ’n sα»±. BΓ i viαΊΏt tα»ng hợp cΓ‘c khuyαΊΏn nghα» Δα» α»©ng dα»₯ng an toΓ n thuαΊt toΓ‘n 3DES trong bαΊ£o vα» bΓ mαΊt, an ninh, thΓ΄ng tin. NgΖ°α»i sα» dα»₯ng cαΊ§n kαΊΏt hợp giα»―a cΓ‘c nhu cαΊ§u vα» bαΊ£o mαΊt, yΓͺu cαΊ§u hα» thα»ng vΓ cΓ‘c khuyαΊΏn nghα» trong phαΊ§n 3 Δα» ΔαΊ£m bαΊ£o an toΓ n, bΓ mαΊt thΓ΄ng tin khi sα» dα»₯ng thuαΊt toΓ‘n 3DES.
Last updated