Khơpncg cgziốpncg lmơ hìpnh lmậvtlmã 3cổ đziểpn ivà 3cơ họ3c vterướ3c ñó, hệ vthốpncg lmậvt lmã lmámy vtípnh hoạvt ñộpncg ivớzi pnhữpncgsphésp vtípnh sphứ3c vtạsp 3củxa 3cá3c 3chhuỗzi pn
Khá z i p n z iệ l m
T e rướ 3 c o kh z i v tỡ l m h z iể h u 3 cỏ 3 c p nộ z i g d h u p n c g @ bảo l mậ v t v thụ p n c g v t z i p n ủề 3 cậ s p ở 3 c h uố p n y l h uậ p n i vă p n p nà m y,
3chú p n c g v t x a 3 cầ p n h z iể h u l mộ v t l số o khá z i p n z iệ l m l s x a h u.
- k Mó hú x a: y là i v z iệ 3 c @ b z iế p n ủổ z i v thụ p n c g v t z i p n v từ g dạ p n c g 3 cú v thể h z iể h u ủượ 3 c l s x a p n c g g dạ p n c g okhụ p n c g v thể h z iể h u ủượ 3 c.
- G z iả z i l mó: y là i v z iệ 3 c @ b z iế p n ủổ z i v thụ p n c g v t z i p n v từ g dạ p n c g o khụ p n c g v thể h z iể h u ủượ 3 c v t e rở i về gdạ p n c g 3 cú v thể h z iể h u ủượ 3 c @ bằ p n c g 3 cỏ 3 ch l sử g dụ p n c g o khú x a ủó @ b z iế v t.
- Thỏ l m l mó: y là i v z iệ 3 c @ b z iế p n ủổ z i v thụ p n c g v t z i p n v từ g dạ p n c g o khụ p n c g v thể h z iể h u ủượ 3 c v t e rở i về gdạ p n c g 3 cú v thể h z iể h u ủượ 3 c l mà o khụ p n c g @ b z iế v t o khú x a.
- Khú x a: y là ủạ z i y lượ p n c g v thụ p n c g v t z i p n l sử g dụ p n c g ủể v thự 3 c h z iệ p n l mó hú x a, hoặ 3 c c g z iả z i l mó.
- k Mã o khố z i: y là s phươ p n c g v thứ 3 c l mậ v t l mã v t e rê p n v từ p n c g o khố z i 3 củ x a @ bả p n v t z i p n.
- k Mã g dò p n c g: y là s phươ p n c g v thứ 3 c l mậ v t l mã v t e rê p n v từ p n c g @ b z i v t 3 củ x a @ bả p n v t z i p n.
- Hệ l mậ v t ủố z i p xứ p n c g (hệ l mậ v t o khú x a @ bớ l mậ v t): y là hệ l mậ v t 3 cú o khú x a c g z iả z i l mó l s h u m y e r x a gdễ g dà p n c g v từ o khú x a l mó hú x a i và p n c gượ 3 c y lạ z i ( 3 cỏ 3 c o khú x a ủượ 3 c c g z iữ @ bớ l mậ v t).
- Hệ l mậ v t o khú x a 3 cụ p n c g o kh x a z i (hệ l mậ v t @ bấ v t ủố z i p xứ p n c g): y là hệ l mậ v t 3 cú o khú x a l mó hú x a ủượ 3 c 3 cụ p n c g o kh x a z i, 3 cũ p n o khú x a c g z iả z i l mó ủượ 3 c c g z iữ @ bớ l mậ v t ( e rấ v t o khú ủể v tỡ l m o khú x a cg z iả z i l mã v từ o khó x a l mã hó x a).
- Chữ o ký l số ( 3 chữ o ký ủ z iệ p n v tử): y là v thụ p n c g v t z i p n ủ z i o kố l m g dữ y l z iệ h u ủ z iệ p n v tử p nhằ l m lmụ 3 c ủớ 3 ch p xỏ 3 c ủị p nh p n c gườ z i 3 chủ 3 củ x a g dữ y l z iệ h u ủú.
- Chứ p n c g v thự 3 c l số ( 3 chứ p n c g v thự 3 c o khó x a 3 cô p n c g o kh x a z i): y là 3 chứ p n c g v thự 3 c l sử g dụ p n c g 3 chữ oký l số ủể c gắ p n l mộ v t o khú x a 3 cụ p n c g o kh x a z i i vớ z i l mộ v t v thự 3 c v thể.
- Hạ v tầ p n c g o khó x a 3 cô p n c g o kh x a z i: y là v tậ s p hợ s p 3 cá 3 c v thà p nh s phầ p n v tạo, q h uả p n y lý, s phâ p n sphố z i, l sử g dụ p n c g, y lư h u v t e rữ, hủ m y 3 chứ p n c g v thự 3 c l số.
- Hà l m h x a l sh: y là hà l m v tớ p nh e r x a c g z iỏ v t e rị 3 cú o kớ 3 ch v thướ 3 c p xỏ 3 c ủị p nh, v từ @ bả p n v t z i p n @ bấ v t o kỳ.
é Đá p nh c g z iá hệ l mậ v t
Cỏ 3 c hệ v thố p n c g l mậ v t l mó (hệ l mậ v t) o khỏ 3 c p nh x a h u 3 cú ư h u, p nhượ 3 c ủ z iể l m o khỏ 3 c p nh x a h u l Như p n c g pnhỡ p n 3 ch h u p n c g, 3 chỳ p n c g 3 cú v thể ủượ 3 c ủỏ p nh c g z iỏ y là v tố v t h x a m y o khụ p n c g, 3 că p n 3 cứ i vào ủộ s phứ 3 c vtạ s p 3 củ x a 3 cỏ 3 c v th h uậ v t v toỏ p n v thỏ l m 3 chỳ p n c g l N c gườ z i v t x a 3 ch z i x a ủộ s phứ 3 c v tạ s p v th h uậ v t v toỏ p n v thà p nh:
- é Độ s phứ 3 c v tạ s p v t h u m yế p n v tí p nh
- é Độ s phứ 3 c v tạ s p y lũ m y v thừ x a
- é Độ s phứ 3 c v tạ s p v tự x a hà l m l mũ
- é Độ s phứ 3 c v tạ s p hà l m l mũ
Th h uậ v t v toỏ p n 3 cú ủộ s phứ 3 c v tạ s p o khụ p n c g i vượ v t q h uỏ ủộ s phứ 3 c v tạ s p y lũ m y v thừ x a v thỡ 3 co z i y là “ g dễ” ( c g z iả z i ủượ 3 c) Th h uậ v t v toỏ p n 3 cú ủộ s phứ 3 c v tạ s p o khụ p n c g p nhỏ hơ p n ủộ s phứ 3 c v tạ s p hà l m l mũ v thỡ
3co z i y là “ o khú” ( o khụ p n c g c g z iả z i ủượ 3 c) Th h uậ v t v toỏ p n 3 cú ủộ s phứ 3 c v tạ s p p nằ l m c g z iữ x a 2 l mứ 3 c
“ o khú” i và “ g dễ” 3 cú v thể c g z iả z i ủượ 3 c, hoặ 3 c o khụ p n c g c g z iả z i ủượ 3 c.
Hệ l mậ v t v tố v t v th h uộ 3 c 3 cá 3 c y loạ z i l s x a h u:
- Hệ l mậ v t x a p n v toà p n v t h u m yệ v t ủố z i: p nhữ p n c g h z iể h u @ b z iế v t i về @ bả p n l mó o khụ p n c g v th h u hẹ s p ủượ 3 c ủộ @ bấ v t ủị p nh 3 củ x a @ bả p n e rừ ủố z i i vớ z i p n c gườ z i v thỏ l m l mó, p nú z i 3 cỏ 3 ch o khỏ 3 c, hệ lmậ v t p nà m y o khụ p n c g v thể v thỏ l m ủượ 3 c v t e rờ p n y lý v th h u m yế v t.
- Hệ l mậ v t x a p n v toà p n v thự 3 c l sự: l mọ z i s phươ p n c g s phỏ s p v thỏ l m l mó ủó @ b z iế v t ủề h u 3 cầ p n ủế p n vthờ z i c g z i x a p n v tí p nh v toá p n, hoặ 3 c p nă p n c g y lự 3 c v tí p nh v toá p n i vô 3 cù p n c g y lớ p n.
- Hệ l mậ v t x a p n v toà p n 3 chứ p n c g l m z i p nh: i v z iệ 3 c v thỏ l m l mó ủượ 3 c 3 chứ p n c g l m z i p nh y là v tươ p n c g ủươ p n c g i v z iệ 3 c c g z iả z i l mộ v t @ bà z i v toỏ p n o khú ủó @ b z iế v t.
Hệ l mậ v t x a p n v toà p n v thự 3 c l sự, h x a m y x a p n v toà p n 3 chứ p n c g l m z i p nh o khô p n c g 3 có p n c ghĩ x a y là o khô p n c g v thể @ bị vthá l m, @ bở z i y lẽ p nă p n c g y lự 3 c v tí p nh v toá p n p n c gà m y 3 cà p n c g 3 cả z i v th z iệ p n, 3 cò p n y lờ z i c g z iả z i v tố v t 3 cho @ bà z i vtoỏ p n o khú v tươ p n c g ủươ p n c g 3 cú v thể ủượ 3 c l s z i p nh e r x a T e ro p n c g @ bà z i i v z iế v t v t e rờ p n v tạ s p 3 chớ “Kho x a họ 3 c Q h uõ p n l sự” 3 củ x a Phỏ s p p nă l m 1883, A h u c g h u l s v t e e K e e e r 3 c o khoff l s (1835 – 1903) ủề p x h uấ v t 6 q h u m y v tắ 3 c v t e r z iể p n o kh x a z i l mộ v t hệ l mậ v t l mó q h uõ p n l sự v tạ z i v thờ z i ủ z iể l m ủú y là:
- Hệ l mậ v t 3 chư x a v từ p n c g v thỏ l m ủượ 3 c v t e ro p n c g v thự 3 c v tế.
- Hoạ v t ủộ p n c g 3 củ x a hệ l mậ v t, 3 cũ p n c g p như v th z iế v t @ bị l mậ v t l mó o khụ p n c g 3 cầ p n c g z iữ @ bớ l mậ v t.
- Khú x a y là v thà p nh s phầ p n @ bớ l mậ v t g d h u m y p nhấ v t, v tạo l mớ z i, v t e r h u m yề p n ủ z i, c gh z i p nhớ g dễ g dà p n c g.
- Hệ l mậ v t v tươ p n c g v thớ 3 ch i vớ z i 3 cụ p n c g p n c ghệ ủ z iệ p n v tớ p n.
- Th z iế v t @ bị l mậ v t l mã c gọ p n p nhẹ, l mộ v t p n c gườ z i 3 cũ p n c g 3 có v thể l sử g dụ p n c g.
- Cá 3 ch l sử g dụ p n c g g dễ g dà p n c g. ộĐế p n p n x a m y p n c goạ z i v t e rừ q h u m y v tắ 3 c v thứ 4 ủó v t e rở p nờ p n y lạ 3 c hậ h u, 3 chỳ p n c g v t x a i vẫ p n s phả z i hướ p n c g ủế p n 5 q h u m y v tắ 3 c 3 cũ p n y lạ z i.
Cơ l sở v toá p n họ 3 c
Lĩ p nh i vự 3 c @ bảo l mậ v t v thụ p n c g v t z i p n y l z iờ p n q h u x a p n ủế p n y lý v th h u m yế v t l số, y lý v th h u m yế v t v thụ p n c g v t z i p n, p xỏ 3 c ls h uấ v t, ủộ s phứ 3 c v tạ s p v tớ p nh v toỏ p n, ủạ z i l số v t e rừ h u v tượ p n c g, v t e rườ p n c g hữ h u hạ p n, hà l m l mộ v t
3ch z iề h u l Như p n c g i vớ z i o kh h uô p n o khổ 3 củ x a 3 c h uố p n y l h uậ p n i vă p n v thạ 3 c l sỹ p n c gà p nh é Đ z iệ p n v tử V z iễ p n vthụ p n c g, họ 3 c i v z iờ p n o khụ p n c g c g z iớ z i v th z iệ h u 3 ch z i v t z iế v t p nhữ p n c g y lý v th h u m yế v t ủú l mà 3 chỉ v t e rỡ p nh @ bà m y o ký h z iệ h u, o khỏ z i p n z iệ l m, ủị p nh y lý, i và c g z iả z i v th h uậ v t v toỏ p n họ 3 c l sử g dụ p n c g v t e ro p n c g v tà z i y l z iệ h u p nà m y.
Ký h z iệ h u c g 3 c g d( x a, @ b), y l 3 c l m( x a, @ b) y là ướ 3 c 3 ch h u p n c g y lớ p n p nhấ v t, @ bộ z i 3 ch h u p n c g p nhỏ p nhấ v t 3 củ x a 2 l số pn c g h u m yê p n x a, @ b; p x, p x y là l số p n c g h u m yê p n y lớ p n p nhấ v t o khô p n c g y lớ p n hơ p n p x, l số p n c g h u m yê p n p nhỏ p nhấ v t okhô p n c g p nhỏ hơ p n p x; 3 cò p n Z p n y là v tậ s p 3 cá 3 c l số p n c g h u m yê p n {0, 1, 2, , p n1}. lNhú l m (G, *) y là 3 cấ h u v t e rỳ 3 c ủạ z i l số c gồ l m v tậ s p G i và s phộ s p v toỏ p n 2 p n c gụ z i * v t e ro p n c g G, v thỏ x a l mó p n:
- Phé s p * 3 có v tí p nh o kế v t hợ s p: x a * ( @ b * 3 c) = ( x a * @ b) *
- Tồ p n v tạ z i s phầ p n v tử v t e r h u p n c g hò x a G G: x a * G = G * x a = x a
- Tồ p n v tạ z i s phầ p n v tử ủố z i y lậ s p p xG G: x a * p xG = p xG * x a = G
( i vớ z i l mỗ z i x a G) lNhó l m (G, *) c gọ z i y là p nhó l m c g z i x ao hoá p n p nế h u s phé s p * 3 cò p n 3 có v tí p nh c g z i x ao hoá p n: x a * @ b = @ b * x a.
Và p nh (R, +, ) y là 3 cấ h u v t e rỳ 3 c ủạ z i l số c gồ l m v tậ s p R i và 3 cỏ 3 c s phộ s p v toỏ p n 2 p n c gụ z i +, v t e ro p n c g R, vthỏ x a l mã p n:
- Phé s p 3 có v tí p nh o kế v t hợ s p: x a ( @ b 3 c) = ( x a @ b) 3 c
- Tồ p n v tạ z i s phầ p n v tử v t e r h u p n c g hò x a R R: x a R = R x a = x a
- Phé s p 3 có v tí p nh s phâ p n s phố z i i vớ z i s phé s p +: x a ( @ b + 3 c) = ( x a @ b) + ( x a 3 c)
Và p nh (R, +, ) c gọ z i y là i và p nh c g z i x ao hoá p n p nế h u s phé s p 3 cò p n 3 có v tí p nh c g z i x ao hoá p n: x a @ b = @ b x a. Phầ p n v tử v t e r h u p n c g hò x a R 3 củ x a i và p nh (R, +, ) 3 cò p n c gọ z i y là s phầ p n v tử v t e r h u p n c g hò x a v t e ro p n c g s phé s p
Phầ p n v tử v t e r h u p n c g hò x a 3 củ x a p nhó l m c g z i x ao hoá p n (R, +) 3 cò p n c gọ z i y là s phầ p n v tử v t e r h u p n c g hò x a vt e ro p n c g s phé s p +, o ký h z iệ h u e r.
T e ro p n c g i và p nh c g z i x ao hoỏ p n, p nế h u l mọ z i s phầ p n v tử o khỏ 3 c e r ủề h u 3 cú s phầ p n v tử ủố z i y lậ s p v t e ro p n c g sphộ s p , p xR R v thỏ x a l mó p n x a p xR = p xR x a = R, v thỡ v t x a p nú z i i và p nh ủú y là l mộ v t “ v t e rườ p n c g”.
T e rườ p n c g hữ h u hạ p n y là v t e rườ p n c g 3 có l số s phầ p n v tử hữ h u hạ p n.
Tậ s p ủ x a v thứ 3 c 3 cú hệ l số v th h uộ 3 c i và p nh ( v t e rườ p n c g) R, i và 2 s phộ s p v toỏ p n 3 cộ p n c g, p nhõ p n ủ x a v thứ 3 c vthự 3 c h z iệ p n @ bở z i s phộ s p 3 cộ p n c g, p nhõ p n hệ l số v t e ro p n c g R, v tạo p nờ p n i và p nh ( v t e rườ p n c g) ủ x a v thứ 3 c R[ p x]. éĐị p nh y lý F e e e r l m x a v t: [5]
Cho l số p n c g h u m yê p n v tố s p, p nế h u c g 3 c g d( x a, s p) = 1 v thì x a ( s p1) ≡ 1 ( l mo g d s p).
G z iả z i v th h uậ v t E h u 3 c y l z i g d e e l mở e rộ p n c g: [5]
O h u v t s p h u v t: g d = c g 3 c g d( x a, @ b) i và 2 l số p n c g h u m yê p n p x, m y v thỏ x a l mã p n: x a p x + @ b m y = g d.
x a/ @ b xa q @ b px px2 q p x1 my my2 q m y1 xa
@b er px2 px1 px1 px my2 my1 my1 my
3 Kh z i h( p x) ≠ 0, v tí p nh: q( p x) cg( p x) g d z i i v h( p x) er( p x) cg( p x) h( p x).q( p x) ls( p x) ls2( p x) q( p x) l s1( p x) vt( p x) vt2( p x) q( p x) v t1( p x) cg( p x) h( p x) h( p x) er( p x) ls2( p x) ls1( p x) ls1( p x) ls( p x) vt2( p x) vt1( p x) vt1( p x) vt( p x)
Bả p n c g 1.1 G z iả z i v th h uậ v t E h u 3 c y l z i g d e e l mở e rộ p n c g i vớ z i x a = 4864, @ b = 3458
G z iả z i v th h uậ v t y là: ls2( p x) 1 , l s1( p x) 0 , v t2( p x) 0 , v t1( p x) 1
Ch h u o kỳ 1: q( p x) p x + 1 er( p x) p x 8 + p x 7 + p x 6 + p x 2 + p x ls( p x) 1 vt( p x) px + 1 cg( p x) px 9 + p x 6 + p x 5 + p x 3 + p x 2 + 1 h( p x) px 8 + p x 7 + p x 6 + p x 2 + 1 ls2( p x) 0 ls1( p x) 1 vt2( p x) 1 vt1( p x) px + 1
Ch h u o kỳ 2: q( p x) px + 1 er( p x) px 5 + p x 2 + p x + 1 ls( p x) p x + 1 vt( p x) px 2 cg( p x) px 8 + p x 7 + p x 6 + p x 2 + 1 h( p x) px 5 + p x 2 + p x + 1 ls2( p x) 1 ls1( p x) px + 1 vt2( p x) px + 1 vt1( p x) p x 2
Ch h u o kỳ 3: q( p x) px 3 + p x 2 + p x + 1 er( p x) p x 3 + p x + 1 ls( p x) px 4 vt( p x) px 5 + p x 4 + p x 3 + p x 2 + p x + 1 cg( p x) px 5 + p x 2 + p x + 1 h( p x) px 3 + p x + 1 ls2( p x) px + 1 ls1( p x) p x 4 vt2( p x) p x 2 vt1( p x) p x 5 + p x 4 + p x 3 + p x 2 + p x + 1
Ch h u o kỳ 4: q( p x) px 2 + 1 er( p x) 0 ls( p x) px 6 + p x 4 + p x + 1 vt( p x) px 7 + p x 6 + p x 2 + p x + 1 cg( p x) px 3 + p x + 1 h( p x) 0 ls2( p x) p x 4 ls1( p x) px 6 + p x 4 + p x + 1 vt2( p x) px 5 + p x 4 + p x 3 + p x 2 + p x + 1 vt1( p x) px 7 + p x 6 + p x 2 + p x + 1
HỆ THỐ l NG k MẬT k MÃ
Chươ p n c g p nà m y, họ 3 c i v z iờ p n v t e rỡ p nh @ bà m y 3 cỏ 3 c hệ v thố p n c g l mậ v t l mó (hệ l mậ v t) p nổ z i v t z iế p n c g, ủượ 3 c lsử g dụ p n c g e rộ p n c g e rã z i y là DES, RC, Go l s v t 28147–89, IDEA, AES, i và RSA Go l s v t 28147–
89 y là Ch h uẩ p n l mậ v t l mã Q h uố 3 c c g z i x a l N c g x a v từ p nă l m 1989, DES i và AES y lầ p n y lượ v t y là Ch h uẩ p n lmậ v t l mó Q h uố 3 c c g z i x a Ho x a Kỳ v từ 3 cỏ 3 c p nă l m 1976 ủế p n 2002, i và 2002 v t e rở ủ z i RC, IDEA
3cũ p n c g y là 3 cỏ 3 c hệ l mậ v t ủượ 3 c ủỏ p nh c g z iỏ 3 c x ao, 3 cũ p n RSA y là hệ l mậ v t o khú x a 3 cụ p n c g o kh x a z i ủ z iể p n hì p nh.
Hệ l mậ v t DES
Sơ ủồ
DES l sử g dụ p n c g l mộ v t 3 cấ h u v t e rỳ 3 c 3 cơ @ bả p n y là l sơ ủồ F e e z i l s v t e e y l ộ Đõ m y 3 cũ p n c g y là 3 cấ h u v t e rỳ 3 c 3 củ x a lmộ v t l số hệ l mậ v t ủố z i p xứ p n c g l mó o khố z i o khỏ 3 c.
Khố z i ủầ h u i vào 3 ch z i x a 2 s phầ p n 3 cú ủộ g dà z i @ bằ p n c g p nh x a h u L z i1 i và R z i1 @ b z iế p n ủổ z i v thà p nh ủầ h u e r x a
L z i i và R z i @ bở z i 3 cô p n c g v thứ 3 c l s x a h u, i vớ z i f y là l mộ v t hà l m @ bấ v t o kỳ i và v thườ p n c g y là hà l m s ph z i v t h u m yế p n.
Th x ao v tá 3 c c g z iả z i l mã @ b z iể h u g d z iễ p n @ bở z i 3 cô p n c g v thứ 3 c:
Kh z i g dự p n c g l sơ ủồ F e e z i l s v t e e y l p nh z iề h u y lầ p n v t e ro p n c g l mộ v t hệ l mậ v t, 2 o khố z i ủầ h u e r x a ở l sơ ủồ 3 c h uố z i
3cự p n c g o khụ p n c g ủổ z i i vị v t e rớ 3 cho p nh x a h u:
L l N = f(R l N–1, o k l N) L l N–1 ộĐ z iề h u p nà m y 3 cho s phộ s p v t x a o khụ p n c g s phả z i ủảo p n c gượ 3 c o khố z i ủầ h u v t z iờ p n o kh z i c g z iả z i l mó Tứ 3 c y là q h uỏ v t e rỡ p nh c g z iả z i l mó g d z iễ p n e r x a v th e eo ủỳ p n c g v thứ v tự ở q h uỏ v t e rỡ p nh l mó hú x a, 3 chỉ o khỏ 3 c v t e rậ v t v tự gdù p n c g o khó x a 3 ch h u o kỳ Do i vậ m y, o kh z i p xâ m y g dự p n c g hệ l mậ v t v t x a 3 có v thể i v z iế v t l mộ v t 3 chươ p n c g vt e rỡ p nh, v th z iế v t o kế l mộ v t @ bả p n c g l mạ 3 ch v thự 3 c h z iệ p n ủồ p n c g v thờ z i 2 3 chứ 3 c p nă p n c g l mó hú x a, c g z iả z i lmó l N c goà z i e r x a, 3 cấ h u v t e rỳ 3 c F e e z i l s v t e e y l 3 cũ p n 3 cú ư h u ủ z iể l m y là o kh z i c g z iả z i l mó o khụ p n c g 3 cầ p n v tỡ l m hà l m pn c gượ 3 c 3 củ x a hà l m f, p nờ p n v t x a 3 cú v thể 3 chọ p n hà l m f i vớ z i ủộ s phứ 3 c v tạ s p @ bấ v t o kỳ T h u m y p nh z iờ p n, pnhượ 3 c ủ z iể l m 3 củ x a 3 cấ h u v t e rỳ 3 c p nà m y y là v t e ro p n c g l mộ v t 3 ch h u o kỳ 3 chỉ l mậ v t l mó ủượ 3 c p nử x a o khố z i.
Hỡ p nh 2.2 Sơ ủồ DES 3 cơ @ bả p n
Hỡ p nh 2.3 Sơ ủồ DES 3 ch z i v t z iế v t
K Ở l sơ ủồ 3 cơ @ bả p n, v t x a v thấ m y DES l mó hú x a o khố z i v t z i p n 64 @ b z i v t l s @ bằ p n c g o khú x a K 56 @ b z i v t l s (DESK), p như p n c g o khô p n c g v thấ m y l sự 3 có l mặ v t 3 củ x a 3 cấ h u v t e rú 3 c F e e z i l s v t e e y l i và v th x ao v tá 3 c l mã hó x a 3 cụ vthể T e ro p n c g l sơ ủồ 3 ch z i v t z iế v t, l mọ z i v thứ ủượ 3 c e rừ e rà p n c g Sơ ủồ F e e z i l s v t e e y l p x h uấ v t h z iệ p n 16 y lầ p n ( y lầ p n 3 c h uố z i 3 cự p n c g, 2 p nử x a v t e rỏ z i, s phả z i o khụ p n c g ủổ z i 3 chỗ 3 cho p nh x a h u), l mỗ z i y lầ p n l sử g dụ p n c g l mộ v t okhú x a o k z i 48 @ b z i v t l s Cỏ 3 c o khú x a o k z i c gọ z i y là o khú x a 3 co p n h x a m y o khú x a 3 ch h u o kỳ, ủượ 3 c l s z i p nh e r x a v từ okhó x a 3 chí p nh K.
Kh z i c g z iả z i l mó (DES 1 ), v t x a v t e rỏo ủổ z i i vị v t e rớ 2 o khố z i hoỏ p n i vị IP i và IP ─1 3 cho p nh x a h u, i và ủảo pn c gượ 3 c v thứ v tự o khó x a 3 ch h u o kỳ o k z i: o k1, o k2, , o k16 → o k16, o k15, , o k1.
Hoạ v t ủộ p n c g
Hoạ v t ủộ p n c g 3 củ x a DES y l z iờ p n q h u x a p n ủế p n p nh z iề h u @ bả p n c g l số Cỏ 3 c @ bả p n c g p nà m y ủượ 3 c ủề p x h uấ v t
@bở z i p nhữ p n c g p nhà l sỏ p n c g y lậ s p hệ l mậ v t, ủể ủả l m @ bảo ủộ x a p n v toà p n 3 c x ao p nhấ v t l Nế h u v t e r z iể p n okh x a z i i vớ z i p nhữ p n c g @ bả p n c g l số, q h u m y v tắ 3 c o khỏ 3 c, hệ l mậ v t 3 cú v thể i vẫ p n y là l m i v z iệ 3 c p như p n c g ủộ x a p n vtoà p n l sẽ l s h u m y c g z iả l m ủỏ p n c g o kể.
Khú x a K 56 @ b z i v t l s ủượ 3 c y lư h u v t e rữ, v t e r h u m yề p n ủ z i, v t z iế s p p nhậ p n g dướ z i g dạ p n c g 64 @ b z i v t l s ộ Để 3 cú 64
@b z i v t l s, p n c gườ z i v t x a 3 ch z i x a 56 @ b z i v t l s v thà p nh 8 p nhú l m, l s x a h u ủú 3 chố p n v thờ l m 1 @ b z i v t i vào 3 c h uố z i l mỗ z i pnhú l m G z iỏ v t e rị @ b z i v t 3 chố p n v thờ l m ủượ 3 c 3 chọ p n l s x ao 3 cho l số @ b z i v t l s “1” v t e ro p n c g p nhú l m l s x a h u o kh z i
3chè p n y là l số y lẻ é Đâ m y 3 chí p nh y là l mã l sử x a l s x a z i, h x a m y l mã 3 chố p n c g p nh z iễ h u v t e ro p n c g q h uá v t e rì p nh y lư h u vt e rữ i và s phâ p n s phố z i o khó x a Ví g dụ:
Q h u m y v tắ 3 c l s z i p nh 16 o khú x a 3 co p n o k z i v từ o khú x a K g dự x a v t e rờ p n 4 @ bả p n c g l số g dướ z i ủõ m y Chỳ ý e rằ p n c g,
@bả p n c g 2.1, 2.2, 2.4 v thự 3 c 3 chấ v t y là 3 cỏ 3 c g dó m y l số i vớ z i v thứ v tự s phầ p n v tử ủượ 3 c v tớ p nh v từ v t e rỏ z i q h u x a s phả z i, v từ v t e rê p n p x h uố p n c g g dướ z i.
Bả p n c g 2.1 Bả p n c g 3 chỉ l số g dã m y C0
Bả p n c g 2.2 Bả p n c g 3 chỉ l số g dã m y D0 z i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 p n 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1
Bả p n c g 2.4 Bả p n c g 3 chỉ l số o khó x a o k z i
H x a z i @ bả p n c g ủầ h u v t z iờ p n, l mỗ z i @ bả p n c g 3 chứ x a 28 s phầ p n v tử Tổ p n c g l số s phầ p n v tử y là 56, @ bằ p n c g ủộ gdà z i v thự 3 c 3 củ x a o khú x a K k Mỗ z i s phầ p n v tử p nhậ p n c g z iỏ v t e rị v t e rờ p n ủoạ p n [1, 64] Tỏ l m c g z iỏ v t e rị okhô p n c g p x h uấ v t h z iệ p n y là 8, 16, 24, 32, 40, 56, 64 – 3 chí p nh y là v thứ v tự 3 cá 3 c @ b z i v t l s 3 chè p n v thê l m. lNhư i vậ m y, l mỗ z i s phầ p n v tử v t e ro p n c g @ bả p n c g 2.1, 2.2 3 chỉ ủế p n 1 @ b z i v t l s 3 củ x a o khú x a K 56 @ b z i v t l s.
Dự x a i vào ủú, v t x a 3 cú v thể y lấ m y e r x a v từ o khú x a K 2 g dó m y @ b z i v t l s, l mỗ z i g dó m y 28 @ b z i v t l s i và o khụ p n c g 3 cú
@b z i v t p nào ủượ 3 c y lấ m y 2 y lầ p n Ký h z iệ h u h x a z i g dó m y @ b z i v t l s p nà m y y là C0 i và D0, o ký h z iệ h u X0 y là g dó m y vth h u ủượ 3 c o kh z i c ghộ s p C0 i và D0 y lạ z i i vớ z i p nh x a h u Vớ g dụ:
T e rờ p n 3 cơ l sở @ bộ {C0, D0, X0}, v t x a p xỏ 3 c ủị p nh 16 @ bộ {C z i, D z i, X z i} o khỏ 3 c ( z i = 1, 2, …, 16).
C z i, D z i y là o kế v t q h uả 3 củ x a i v z iệ 3 c q h u x a m y v t e rá z i C z i–1, D z i–1 p n @ b z i v t l s, i và X z i y là 2 g dã m y C z i, D z i c ghé s p y lạ z i. Bướ 3 c q h u x a m y p n 3 cho @ bở z i @ bả p n c g 2.3 Ví g dụ:
Khú x a 3 co p n o k z i ủượ 3 c v tạo @ bở z i 48 @ b z i v t l s 3 củ x a g dó m y X z i, i vị v t e rớ 3 cỏ 3 c @ b z i v t l s 3 cầ p n y lấ m y 3 cho @ bở z i
IP y là i v z iế v t v tắ v t 3 củ x a I p n z i v t z i x a y l P e e e r l m h u v t x a v t z io p n – hoỏ p n i vị l sơ @ bộ Cả h x a z i o khố z i IP i và IP 1 ủề h u vthự 3 c h z iệ p n g dự x a v t e rê p n g dã m y l số IP[ z i] c gồ l m 64 s phầ p n v tử (1 z i 64), l mỗ z i s phầ p n v tử y là lmộ v t c g z iỏ v t e rị o khụ p n c g y lặ s p y lạ z i 3 củ x a ủoạ p n [1, 64] Dó m y IP[ z i] ủượ 3 c @ b z iể h u g d z iễ p n g dướ z i g dạ p n c g
@bả p n c g p như l s x a h u, v thứ v tự s phầ p n v tử v tí p nh v từ v t e rá z i q h u x a s phả z i, v từ v t e rê p n p x h uố p n c g g dướ z i:
Bả p n c g 2.5 Bả p n c g hoá p n i vị IP, IP 1
Khố z i hoỏ p n i vị IP @ b z iế p n ủổ z i o khố z i v t z i p n @ bằ p n c g 3 cỏ 3 ch v th x a m y v thế @ b z i v t v thứ z i1 @ bở z i @ b z i v t v thứ z i2 i vớ z i zi2 = IP[ z i1], v th x a m y v thế @ b z i v t v thứ z i2 @ bở z i @ b z i v t v thứ z i3 i vớ z i z i3 = IP[ z i2]… Khố z i hoá p n i vị IP 1 @ b z iế p n ủổ z i o khố z i v t z i p n v th e eo 3 cỏ 3 ch p n c gượ 3 c y lạ z i, v th x a m y v thế @ b z i v t v thứ z i2 @ bở z i @ b z i v t v thứ z i1, v th x a m y v thế @ b z i v t vthứ z i3 @ bở z i @ b z i v t v thứ z i2.
Vớ g dụ ở IP, @ b z i v t v thứ 1 ủượ 3 c v th x a m y v thế @ bở z i @ b z i v t v thứ 58; @ b z i v t v thứ 58 ủượ 3 c v th x a m y v thế
@bở z i @ b z i v t v thứ 55; @ b z i v t v thứ 55 ủượ 3 c v th x a m y v thế @ bở z i @ b z i v t v thứ 13 Ở IP 1 , @ b z i v t v thứ 58 ủượ 3 c v th x a m y v thế @ bở z i @ b z i v t v thứ 1; @ b z i v t v thứ 55 ủượ 3 c v th x a m y v thế @ bở z i @ b z i v t v thứ 58; @ b z i v t v thứ 13 ủượ 3 c v th x a m y v thế @ bở z i @ b z i v t v thứ 55
Hà l m f p nhậ p n 2 o khố z i R z i–1, o k z i ở ủầ h u i vào, 3 cho o kế v t q h uả y là o khố z i m y z i ở ủầ h u e r x a R z i–1 32 @ b z i v t l s pnớ z i e rộ p n c g v thà p nh R’ z i–1 48 @ b z i v t l s, e rồ z i ủ e e l m XOR i vớ z i o k z i v th h u ủượ 3 c S Ch z i x a S y là l m 8 s phầ p n, lmỗ z i s phầ p n 6 @ b z i v t l s 3 chị h u @ b z iế p n ủổ z i v th x a m y v thế Sj (j = 1, 2, …, 8), v th h u ủượ 3 c S’ 32 @ b z i v t l s. Hoỏ p n i vị S’, v th h u ủượ 3 c m y z i. m y z i = f(R z i o k z i )
R z i–1 32 @ b z i v t l s p nớ z i e rộ p n c g v thà p nh R’ z i–1 48 @ b z i v t l s @ bằ p n c g 3 cỏ 3 ch ủọ 3 c 2 y lầ p n 16 @ b z i v t l s 3 củ x a R z i–1 l Nế h u
3ch z i x a R z i–1 v thà p nh 8 o khố z i 4 @ b z i v t l s, v thỡ 3 cỏ 3 c @ b z i v t l s ủọ 3 c 2 y lầ p n 3 chớ p nh y là @ b z i v t ủầ h u v t z iờ p n i và @ b z i v t
3c h uố z i 3 cự p n c g l mỗ z i o khố z i S x a h u ủú, 3 cỏ 3 c @ bả p n l s x ao y l z iề p n o kề hoỏ p n ủổ z i i vị v t e rớ 3 cho p nh x a h u Cụ vthể, v thứ v tự @ b z i v t 3 củ x a R z i–1 p x h uấ v t h z iệ p n v t e ro p n c g R’ z i–1 p như l s x a h u:
Cỏ 3 c o khố z i v th x a m y v thế Sj 3 cú ủầ h u i vào 6 @ b z i v t l s, ủầ h u e r x a 4 @ b z i v t l s, hoạ v t ủộ p n c g g dự x a v t e rờ p n 3 cỏ 3 c
@bả p n c g v th x a m y v thế 4 g dũ p n c g, 16 3 cộ v t G z iả l sử ủầ h u i vào y là x a1 x a2 x a3 x a4 x a5 x a6 H x a z i @ b z i v t ủầ h u v t z iờ p n ivà 3 c h uố z i 3 cù p n c g y lậ s p v thà p nh l số x a1 x a6 G z iá v t e rị v thậ s p s phâ p n 3 củ x a l số p nà m y (0, 1, 2, 3) v tươ p n c g ứ p n c g i vớ z i 3 chỉ l số g dò p n c g v t e ro p n c g @ bả p n c g Sj Cá 3 c @ b z i v t 3 cò p n y lạ z i y lậ s p v thà p nh l số x a2 x a3 x a4 x a5, c g z iá v t e rị vthậ s p s phâ p n (0, 1, , 15) v tươ p n c g ứ p n c g i vớ z i 3 chỉ l số 3 cộ v t v t e ro p n c g @ bả p n c g Sj é Đầ h u e r x a y là c g z iá vt e rị p nhị s phõ p n 3 củ x a ụ p nơ z i g dũ p n c g x a1 x a6 i và 3 cộ v t x a2 x a3 x a4 x a5 c g z i x ao p nh x a h u Vớ g dụ, p nế h u ủầ h u i vào
3củ x a S8 y là 100100 v thỡ c g z iỏ v t e rị ủầ h u e r x a y là 0100, v tứ 3 c c g z iỏ v t e rị p nhị s phõ p n 3 củ x a ụ (2,2)=4.
Bả p n c g 2.7 Bả p n c g v th x a m y v thế Sj
B z iế p n ủổ z i 3 c h uố z i 3 cự p n c g v t e ro p n c g hà l m f y là s phộ s p hoỏ p n i vị o khố z i S’ 32 @ b z i v t l s Q h u m y v tắ 3 c hoỏ p n ivị c g z iố p n c g i vớ z i hoỏ p n i vị IP, p như p n c g g dự x a v t e rờ p n @ bả p n c g g dướ z i ủõ m y:
Chế ủộ y là l m i v z iệ 3 c
Hệ l mậ v t l mó o khố z i p nú z i 3 ch h u p n c g y là l m i v z iệ 3 c i vớ z i o khố z i 3 cú ủộ g dà z i 3 cố ủị p nh, v t e ro p n c g o kh z i @ bả p n vt z i p n 3 cầ p n l mậ v t l mó 3 cú ủộ g dà z i @ bấ v t o kỳ l N c goà z i e r x a l mó hú x a 2 o khố z i e rừ c g z iố p n c g p nh x a h u i vớ z i 3 cự p n c g okhú x a l sẽ 3 cho 2 o khố z i l mó c g z iố p n c g p nh x a h u Do ủú, p n c gườ z i v t x a l sử g dụ p n c g hệ l mậ v t l mó o khố z i vt e ro p n c g 3 cỏ 3 c 3 chế ủộ y là l m i v z iệ 3 c o khỏ 3 c p nh x a h u ủể v tă p n c g v tớ p nh @ bảo l mậ v t i và v toà p n i vẹ p n g dữ y l z iệ h u. Dướ z i ủõ m y y là l mộ v t l số 3 chế ủộ v thườ p n c g c gặ s p 3 củ x a DES, 3 cũ p n c g p như 3 củ x a hệ l mậ v t l mó o khố z i pnó z i 3 ch h u p n c g.
Cỏ 3 c 3 chế ủộ p nà m y ( p n c goạ z i v t e rừ ECB) l sử g dụ p n c g l mộ v t o khố z i IV (I p n z i v t z i x a y l V e e 3 c v to e r) ủể l mậ v t lmó o khố z i v t z i p n ủầ h u v t z iờ p n i và v tạo v tớ p nh p n c gẫ h u p nh z iờ p n 3 cho q h uỏ v t e rỡ p nh l mậ v t l mó l Nế h u l sử g dụ p n c g
3cự p n c g o khú x a K, c g z iỏ v t e rị IV s phả z i o khỏ 3 c p nh x a h u Thụ p n c g v thườ p n c g, o khố z i p nà m y ủượ 3 c c gh z i i vào ủầ h u f z i y l e e 3 chứ x a @ bả p n l mó, i và v t e r h u m yề p n ủ z i p n c g h u m yờ p n g dạ p n c g.
Chế ủộ ECB (E y l e e 3 c v t e ro p n z i 3 c Co g d e e @ boo o k)
Hỡ p nh 2.5 Chế ủộ ECB
K i i–1 ộĐõ m y y là 3 chế ủộ y là l m i v z iệ 3 c ủơ p n c g z iả p n p nhấ v t Bả p n e rừ 3 ch z i x a v thà p nh 3 cỏ 3 c o khố z i 64 @ b z i v t l s k M z i, lmó hú x a ủộ 3 c y lậ s p i vớ z i p nh x a h u G z iỏ v t e rị o khố z i l mó C z i 3 chỉ s phụ v th h uộ 3 c c g z iỏ v t e rị o khố z i e rừ k M z i ( i và okhó x a K), 3 chứ o khô p n c g s phụ v th h uộ 3 c i vị v t e rí k M z i v t e ro p n c g v toà p n @ bả p n e rõ é Đ z iề h u p nà m y 3 cho s phé s p cg z iả z i l mó l mộ v t o khố z i @ bấ v t o kỳ 3 củ x a @ bả p n l mó l mà o khụ p n c g 3 cầ p n q h u x a p n v tõ l m ủế p n 3 cỏ 3 c o khố z i vt e rướ 3 c p nú Kh z i l sử g dụ p n c g 3 chế ủộ ECB, v t x a 3 cầ p n y lư h u ý @ bả p n l mó 3 cú v thể @ bị v thỏ l m @ bằ p n c g v từ ủ z iể p n, v tứ 3 c @ bả p n c g v t e r x a c g z iữ x a o khố z i e rừ i và o khố z i l mó l Nế h u C z i = Cj v thỡ p n c gườ z i v t x a 3 cú v thể o kế v t yl h uậ p n k M z i = k Mj.
Chế ủộ CBC (C z i s ph e e e r @ b y lo 3 c o k Ch x a z i p n z i p n c g)
Chế ủộ CBC 3 cú 2 3 cỏ 3 ch v t e r z iể p n o kh x a z i, CBC1 i và CBC2 Cả 2 3 chế ủộ p nà m y, @ bả p n e rừ ủề h u 3 ch z i x a v thà p nh 3 cỏ 3 c o khố z i 64 @ b z i v t l s k M z i Ở CBC1, v t e rướ 3 c o kh z i l mó hú x a o khố z i k M z i XOR ivớ z i o khố z i l mó C z i–1 i vừ x a p nhậ p n ủượ 3 c T e rườ p n c g hợ s p z i = 1, C z i–1 = C0 = IV l Như i vậ m y, c g z iỏ vt e rị o khố z i l mã C z i o khô p n c g 3 chỉ s phụ v th h uộ 3 c c g z iá v t e rị o khố z i e rõ k M z i l mà 3 cò p n s phụ v th h uộ 3 c c g z iá v t e rị okhố z i l mó v t e rướ 3 c p nú C z i–1 Kh z i c g z iả z i l mó, C z i ủ z i q h u x a DES 1 , o kế v t q h uả XOR i vớ z i o khố z i C z i–1 vth h u ủượ 3 c k M z i.
Hỡ p nh 2.6 Chế ủộ CBC1 b) G iả i m ã a) M ã hó a
Chế ủộ CBC2 3 cũ p n c gọ z i y là PCBC (P e ro s p x a c g x a v t z i p n c g C z i s ph e e e r @ b y lo 3 c o k Ch x a z i p n z i p n c g) Cả k M z i–1,
C z i–1 ủề h u v th x a l m c g z i x a i vào i v z iệ 3 c l mó hú x a k M z i B x a c g z iỏ v t e rị p nà m y XOR i vớ z i p nh x a h u v t e rướ 3 c o kh z i ủư x a i vào o khố z i l mó hú x a DESK Ở s phầ p n c g z iả z i l mó, k M z i v th h u ủượ 3 c @ bằ p n c g 3 cỏ 3 ch XOR o kế v t q h uả c g z iả z i l mã C z i i vớ z i k M z i–1 i và C z i–1 T e rườ p n c g hợ s p z i = 1, k M z i–1 C z i–1 = IV.
Hỡ p nh 2.7 Chế ủộ CBC2 lNhư i vậ m y, v t x a o khô p n c g v thể c g z iả z i l mã C z i l mà o khô p n c g g d h u m yệ v t q h u x a v tấ v t 3 cả 3 cá 3 c o khố z i v t e rướ 3 c p nó.
Khố z i l mã 3 c h uố z i 3 cù p n c g C l N y là hà l m l số 3 củ x a o khó x a K, o khố z i IV i và v toà p n @ bộ 3 cá 3 c @ b z i v t l s 3 củ x a
@bả p n v t z i p n Vỡ v tớ p nh 3 chấ v t p nà m y, C l N 3 cũ p n ủượ 3 c g dự p n c g y là l m l mó p nhậ p n g dạ p n c g @ bả p n v t z i p n S x a h u o kh z i cg z iả z i l mã, p n c gườ z i p nhậ p n l sử g dụ p n c g 3 cù p n c g o khó x a K, IV 3 củ x a p n c gườ z i c gử z i v thự 3 c h z iệ p n y lạ z i q h uá vt e rỡ p nh l mó hú x a @ bả p n v t z i p n v th h u ủượ 3 c l Nế h u C l N l s x a h u l mó hú x a v t e rự p n c g i vớ z i C l N v t e ro p n c g @ bả p n l mó ủó pnhậ p n, v thì 3 chứ p n c g v tỏ @ bả p n l mã o khô p n c g l s x a z i y lệ 3 ch v t e ro p n c g q h uá v t e rì p nh c gử z i.
Chế ủộ CFB (C z i s ph e e e r F e e e e g d @ b x a 3 c o k) b) G iả i m ã a) M ã hó a
M 1 M 2 M N lNế h u ECB, CBC l sử g dụ p n c g DESK h x a m y DES 1 v tươ p n c g ứ p n c g i vớ z i l sơ ủồ l mó hú x a h x a m y c g z iả z i lmó, v thỡ 3 chế ủộ CFB 3 chỉ l sử g dụ p n c g DESK T x a 3 cũ p n c g 3 cú 2 3 cỏ 3 ch v t e r z iể p n o kh x a z i, CFB1 i và CFB2 Ở CFB1, 3 cỏ 3 c o khố z i k M z i, C z i 3 cú o kớ 3 ch v thướ 3 c 64 @ b z i v t l s, ủầ h u i vào DESK y l h uụ p n y là
Hỡ p nh 2.8 Chế ủộ CFB1
T e ro p n c g o kh z i ủú, CFB2 l mó hú x a v từ p n c g o khố z i g d @ b z i v t l s (0 < g d < 64) ộ Để v thự 3 c h z iệ p n ủ z iề h u pnà m y, CFB l sử g dụ p n c g 2 v th x a p nh c gh z i 64 @ b z i v t l s R1, R2 B x a p n ủầ h u, o khố z i IV 64 @ b z i v t l s ủư x a i vào R1, l mó hú x a @ bằ p n c g DESK, c gh z i o kế v t q h uả i vào R2 Khố z i e rừ ủầ h u v t z iờ p n k M1 v thự 3 c h z iệ p n s phộ s p XOR i vớ z i g d @ b z i v t l s 3 c x ao 3 củ x a o kế v t q h uả, v th h u ủượ 3 c o khố z i l mó ủầ h u v t z iờ p n C1 Khố z i C1 ủư x a hồ z i vt z iế s p i về g d @ b z i v t l s b) G iả i m ã a) M ã hó a vthấ s p 3 củ x a R1 l s x a h u o kh z i ủó g dị 3 ch v t e rỏ z i v th x a p nh c gh z i p nà m y g d @ b z i v t l s l Nộ z i g d h u p n c g R1 y lạ z i l mó hú x a
@bằ p n c g DESK, g d @ b z i v t l s 3 c x ao 3 củ x a o kế v t q h uả XOR i vớ z i k M2 v th h u ủượ 3 c C2 Q h uỏ v t e rỡ p nh v t z iế s p v tụ 3 c
3cho ủế p n o kh z i l mó hú x a hế v t @ bả p n v t z i p n V z iệ 3 c c g z iả z i l mó hoà p n v toà p n v tươ p n c g v tự.
Hỡ p nh 2.9 Chế ủộ CFB2
Ký h z iệ h u h e e x a g d (R z i, p x) y là p x @ b z i v t l s 3 c x ao ở v t e rạ p n c g v thá z i v thứ z i 3 củ x a v th x a p nh c gh z i R, v t x a 3 có:
T x a 3 cú v thể 3 co z i CFB2 y là 3 chế ủộ l mó g dũ p n c g Phộ s p l mó y là s phộ s p XOR @ bả p n v t z i p n i vớ z i 3 ch h uỗ z i cg x a l m l m x a Ch h uỗ z i c g x a l m l m x a v tạo e r x a v từ o khú x a K, o khố z i IV, i và o kế v t q h uả l mó hú x a v t e rướ 3 c ủú.
Vỡ K v thườ p n c g g dự p n c g v t e ro p n c g v thờ z i c g z i x a p n o khỏ g dà z i, p nờ p n l mỗ z i y lầ p n l mó hú x a, IV s phả z i v th x a m y ủổ z i ủể v t e rỏ p nh i v z iệ 3 c v t e rự p n c g c g x a l m l m x a o kh z i l mó o khú x a 3 cỏ 3 c o khố z i ủầ h u v t z iờ p n.
Hỡ p nh 2.10 Chế ủộ OFB1
Hỡ p nh 2.11 Chế ủộ OFB2
Chế ủộ OFB v tươ p n c g v tự 3 chế ủộ CFB ộ Đ z iể l m o khỏ 3 c @ b z iệ v t y là p n c g h uồ p n hồ z i v t z iế s p o khụ p n c g y lấ m y vtừ o khố z i l mó l mà y lấ m y v từ ủầ h u e r x a 3 củ x a DESK Ở OFB1, 3 cỏ 3 c o khố z i k M z i, C z i 3 cú o kớ 3 ch v thướ 3 c
64 @ b z i v t l s Ký h z iệ h u ủầ h u e r x a DESK y là O z i, ủầ h u i vào DESK y l h uụ p n y là O z i1 (O0 = IV). b) Giải mãa) Mã hóa
OFB2 3 cũ p n c g l sử g dụ p n c g 2 v th x a p nh c gh z i R1, R2 ủể l mó hú x a v từ p n c g o khố z i g d @ b z i v t l s (0 < g d < 64). R1, R2 y lầ p n y lượ v t 3 chứ x a ủầ h u i vào, ủầ h u e r x a DESK Khố z i l mó C z i y là o kế v t q h uả s phộ s p XOR k M z i ivớ z i g d @ b z i v t l s 3 c x ao 3 củ x a R2 R1 g dị 3 ch v t e rá z i g d @ b z i v t l s e rồ z i p nhậ p n g d @ b z i v t l s 3 c x ao 3 củ x a R2 hồ z i v t z iế s p i về, ls z i p nh v t e rạ p n c g v thá z i v t z iế s p v th e eo.
C z i lNế h u 3 co z i OFB y là 3 chế ủộ l mó g dũ p n c g, v thỡ 3 ch h uỗ z i c g x a l m l m x a 3 chỉ 3 cũ p n s phụ v th h uộ 3 c o khú x a K i và okhố z i IV Khá 3 c i vớ z i CBC i và CFB, OFB l sẽ 3 cho s phé s p c g z iả z i l mã l mộ v t o khố z i @ bấ v t o kỳ p nế h u
@b z iế v t i vị v t e rớ 3 củ x a p nú l mà o khụ p n c g 3 cầ p n g d h u m yệ v t 3 cỏ 3 c o khố z i v t e rướ 3 c ủú T h u m y p nh z iờ p n, p nế h u K cg z iố p n c g p nh x a h u l mà IV o khụ p n c g v th x a m y ủổ z i, v toà p n @ bộ @ bả p n v t z i p n 3 co z i p như @ bị y lộ.
Chú p n c g v t x a @ b z iế v t, DES l sử g dụ p n c g o khó x a 56 @ b z i v t l s, h x a m y y là v tậ s p hợ s p 16 o khó x a 48 @ b z i v t l s, i và 16 okhó x a p nà m y 3 có y l z iê p n hệ i vớ z i p nh x a h u G z iả l sử v t x a 3 có o khố z i v t z i p n 64 @ b z i v t l s @ bấ v t o kỳ X i và 2 @ bộ okhú x a K 1 = { o k 1 1, o k 1 2, , o k 1 16}, K 2 = { o k 2 1, o k 2 2, , o k 2 16} Dự p n c g K 1 l mó hú x a X, v th h u ủượ 3 c X1 Dự p n c g K 2 l mó hú x a X1, v th h u ủượ 3 c X2 Th e eo hoạ v t ủộ p n c g 3 củ x a DES, p nế h u o k 1 1 ok 2 16, o k 1 2 = o k 2 15, , o k 1 16 = o k 2 1 v thì X2 = X, v tứ 3 c y là o kế v t q h uả l mã hó x a X1 @ bằ p n c g o khó x a K 2 lsẽ v t e rù p n c g i vớ z i o kế v t q h uả c g z iả z i l mã X1 @ bằ p n c g o khó x a K 1 l Như i vậ m y l mã hó x a i và c g z iả z i l mã cg z iố p n c g p nh x a h u i về @ bả p n 3 chấ v t, c g z iả z i l mã 3 chí p nh y là l mã hó x a o kh z i l sử g dụ p n c g l mộ v t o khó x a o khá 3 c. Thụ p n c g v thườ p n c g, ủộ x a p n v toà p n 3 củ x a l mộ v t hệ l mậ v t y lặ s p y là o khụ p n c g c g z iả l m ủố z i i vớ z i l số y lầ p n ylặ s p l N Th e eo ủú, l số y lầ p n y lặ s p l sơ ủồ F e e z i l s v t e e y l v t e ro p n c g DES 3 cú v thể y là l số 3 chẵ p n @ bấ v t o kỳ, lm z iễ p n y là o kế v t q h uả 2 p nử x a v t e rỏ z i/ s phả z i o khụ p n c g ủổ z i i vị v t e rớ 3 cho p nh x a h u ở l sơ ủồ 3 c h uố z i 3 cự p n c g. lNhư p n c g p nế h u l N i vượ v t q h u x a l mộ v t c g z iỏ v t e rị c g z iớ z i hạ p n l N0 v thỡ ủộ x a p n v toà p n o khụ p n c g v tă p n c g p nữ x a. lN c goà z i e r x a, l N 3 cà p n c g v t z iế p n c gầ p n l N0 v thì v tă p n c g 3 cà p n c g 3 chậ l m k Mà l N 3 cà p n c g y lớ p n v thì v thờ z i c g z i x a p n lmã hó x a/ c g z iả z i l mã 3 cà p n c g y lớ p n, vtà z i p n c g h u m yờ p n 3 cầ p n 3 cà p n c g p nh z iề h u… Vỡ v thế IB k M i và l NSA 3 chọ p n l N = 16 3 cho DES ủể 3 cú ủượ 3 c ủộ x a p n v toà p n v tố v t, l mà i vẫ p n v t z iế v t o k z iệ l m v thờ z i c g z i x a p n p xử y lý, i và v tà z i p n c g h u m yờ p n hệ l mậ v t. lN
Hỡ p nh 2.12 Sự s phụ v th h uộ 3 c 3 củ x a ủộ x a p n v toà p n i vào l số y lầ p n y lặ s p l N
S x a h u o kh z i 2 hệ v thố p n c g D e e l s 3 ch x a y l y l, D e e e e s p C e r x a 3 c o k v thá l m v thà p nh 3 cô p n c g DES v t e ro p n c g v thự 3 c v tế,
3cỏ 3 c p nhà l sỏ p n c g y lậ s p DES ủó ủư x a e r x a s phươ p n c g ỏ p n 2DES, 3DES ủể v tă p n c g ủộ x a p n v toà p n
@bằ p n c g 3 cá 3 ch l sử g dụ p n c g DES y l z iê p n v t z iế s p i và z i y lầ p n i vớ z i 3 cá 3 c o khó x a o khá 3 c p nh x a h u. Ở s phươ p n c g ỏ p n 3DES, o khố z i e rừ X ủượ 3 c l mó hú x a v thà p nh o khố z i l mó Y3 p như l s x a h u:
- k Mó hú x a X @ bằ p n c g o khú x a K 1 , v th h u ủượ 3 c Y1.
- G z iả z i l mó Y1 @ bằ p n c g o khú x a K 2 , v th h u ủượ 3 c Y2.
- k Mó hú x a Y2 @ bằ p n c g o khú x a K 3 , v th h u ủượ 3 c Y3.
V z iệ 3 c c g z iả z i l mó ủượ 3 c v t z iế p n hà p nh p n c gượ 3 c y lạ z i:
- G z iả z i l mó Y3 @ bằ p n c g o khú x a K 3 , v th h u ủượ 3 c Y2.
- k Mó hú x a Y2 @ bằ p n c g o khú x a K 2 , v th h u ủượ 3 c Y1.
- G z iả z i l mó Y1 @ bằ p n c g o khú x a K 1 , v th h u ủượ 3 c X.
Phươ p n c g á p n 2DES 3 có v thể 3 co z i y là v t e rườ p n c g hợ s p e r z iê p n c g 3 củ x a 3DES o kh z i 3 chỉ l sử g dụ p n c g 2 okhó x a K 1 i và K 2 , o khô p n c g l sử g dụ p n c g K 3 l N c goà z i e r x a, 3DES 3 cò p n 3 có l mộ v t v t e rườ p n c g hợ s p e r z iê p n c g pnữ x a y là 3DES–2K e e m y, o kh z i K 1 i và K 3 c g z iố p n c g p nh x a h u.
Hệ l mậ v t RC
RC5
Hệ l mậ v t RC5 v th h uộ 3 c hệ l mậ v t l mó o khố z i, 3 cỏ 3 c v th x a l m l số ủặ 3 c v t e rư p n c g y là: o kớ 3 ch v thướ 3 c v từ w, lsố 3 ch h u o kỳ (hoà p n 3 chỉ p nh) e r, i và ủộ g dà z i o khú x a @ b RC5 l mó hú x a v từ p n c g o khố z i 2 v từ (2w @ b z i v t l s).
Kớ 3 ch v thướ 3 c v từ w 3 cú v thể y là 16, 32, 64 @ b z i v t l s, l số 3 ch h u o kỳ e r i và ủộ g dà z i o khú x a @ b p nhậ p n c g z iỏ vt e rị v từ 0 ủế p n 255 ( e ro h u p n g d l s, @ b m y v t e e l s) Cỏ 3 c c g z iỏ v t e rị w, e r, @ b o khỏ 3 c p nh x a h u l m x a p n c g ủế p n h z iệ h u q h uả
@bảo l mậ v t o khá 3 c p nh x a h u Ví g dụ e r = 0, @ b = 0 v thì h z iệ h u q h uả @ bảo l mậ v t v thấ s p, 3 cò p n 3 cá 3 c v th x a l m lsố y lấ m y c g z iá v t e rị y lớ p n p nhấ v t l sẽ y là l m ứ p n c g g dụ p n c g 3 chậ l m 3 chạ s p Có v thể p nó z i RC5 y là l mộ v t họ hệ l mậ v t, l mỗ z i hệ l mậ v t p xỏ 3 c ủị p nh @ bở z i @ bộ (w, e r, @ b), i và ủượ 3 c o ký h z iệ h u y là RC5–w/ e r/ @ b. RC5–32/12/16 l sử g dụ p n c g v từ 32 @ b z i v t l s ( y là l m i v z iệ 3 c i vớ z i o khố z i 64 @ b z i v t l s), 3 chứ x a 12 3 ch h u o kỳ, i và okhú x a 3 cú ủộ g dà z i 16 @ b m y v t e e l s (128 @ b z i v t l s) ủượ 3 c v tỏ 3 c c g z iả Ro p n R z i i v e e l s v t 3 co z i y là v t z iờ h u @ b z iể h u T h u m y pnh z iờ p n, p n c gườ z i v th z iế v t o kế 3 cầ p n 3 chọ p n (w, e r, @ b) s phự hợ s p i vớ z i m yờ h u 3 cầ h u 3 cụ v thể ủể 3 cú h z iệ h u q h uả v tố z i ư h u.
Cá 3 c s phé s p v toá p n 3 cơ @ bả p n l sử g dụ p n c g v t e ro p n c g RC5 y là s phé s p 3 cộ p n c g v th e eo l mo g d h u y l e e 2 w (+), s phé s p vt e rừ v th e eo l mo g d h u y l e e 2 w (–), s phé s p XOR ( s phé s p q h u x a m y v t e rá z i () Lư h u ý e rằ p n c g, s phé s p q h u x a m y p x > m y i vớ z i p x, m y y là 3 cá 3 c v từ, v thì @ bướ 3 c q h u x a m y y là c g z iá v t e rị v thậ s p s phâ p n 3 củ x a y lo c g2w @ b z i v t l s v thấ s p p nhấ v t v t e ro p n c g v từ m y.
Khú x a @ b @ b m y v t e e l s K[0], K[1], …, K[ @ b1] v t e rả z i q h u x a l mộ v t v thủ v tụ 3 c ủể l s z i p nh v t = 2( e r + 1) o khú x a
3co p n o kí 3 ch v thướ 3 c 1 v từ (w @ b z i v t l s) S[0], S[1], …, S[ v t1] G z iá v t e rị S[ z i] o khở z i v tạo p như l s x a h u:
(*) Ro p n L z i p n p n R z i i v e e l s v t (1947) y là p nhà l mậ v t l mó họ 3 c p n c gườ z i k Mỹ, c g z iỏo l sư ở @ bộ l mụ p n Kỹ v th h uậ v t ủ z iệ p n v tử i và o kho x a họ 3 c l má m y v tí p nh (EECS) 3 củ x a V z iệ p n Cô p n c g p n c ghệ k M x a l s l s x a 3 ch h u l s e e v t v t l s – k MIT Ô p n c g y là l mộ v t v thà p nh i v z iê p n l sá p n c g y lậ s p 3 cô p n c g v t m y
@ bảo l mậ v t p nổ z i v t z iế p n c g RSA S e e 3 c h u e r z i v t m y l N c goà z i i v z iệ 3 c s phá v t l m z i p nh e r x a 3 cá 3 c hệ l mậ v t RC1, …, RC5, k MD l s, c g z iáo l sư Ro p n
L z i p n p n R z i i v e e l s v t 3 cũ p n y là ủồ p n c g v tỏ 3 c c g z iả hệ l mậ v t RC6, i và hệ l mậ v t RSA (R.L R z i i v e e l s v t, A Sh x a l m z i e r, L A g d y l e e l m x a p n).
H z iệ p n p n x a m y, ô p n c g y là v thà p nh i v z iê p n 3 củ x a e rấ v t p nh z iề h u v tổ 3 chứ 3 c o kho x a họ 3 c h u m y v tí p n p như V z iệ p n hà p n y lâ l m o kho x a họ 3 c k Mỹ – l NAS, H z iệ s p hộ z i 3 cá 3 c p nhà p n c gh z iê p n 3 cứ h u @ bảo l mậ v t v thế c g z iớ z i – IACR “RC” 3 chí p nh y là p nhữ p n c g 3 chữ 3 cá z i i v z iế v t v tắ v t 3 củ x a
Vớ z i Pw, Qw y là 2 hằ p n c g l số:
T e ro p n c g ủú, 3 cơ l số y lo c g x a e r z i v t v tự p nh z iờ p n e e = 2.718281828459, v tỷ y lệ i và p n c g ( c go y l g d e e p n e r x a v t z io)
= 0.5 p x (1+5 1/2 ) = 1.618033988749, i và hà l m O g d g d[ p x] 3 cho o kế v t q h uả y là l số y lẻ c gầ p n px p nhấ v t Cụ v thể:
= 9 e e3779 @ b97f4 x a7 3 c15 éĐầ h u v t z iê p n, o khó x a @ b @ b m y v t e e l s K[0], K[1], …, K[ @ b1] 3 co s p m y i vào l mả p n c g 3 c v từ Kw[0], Kw[1],
…, Kw[ 3 c1] k Mỗ z i v từ 3 chứ x a h u = w/8 @ b m y v t e e l s y l z iê p n v t z iế s p, i và 3 c = @ b/ h u T e rườ p n c g hợ s p @ b = 0, vt x a 3 co z i 3 c = 1, Kw[0] 3 chứ x a w @ b z i v t l s 0.
G z iỏ v t e rị o khở z i v tạo 3 củ x a S[ z i] p xỏo v t e rộ p n i vớ z i Kw[j] ủể l s z i p nh v t v từ o khú x a 3 co p n @ bằ p n c g c g z iả z i v th h uậ v t: z i = j = 0;
(Thủ v tụ 3 c v t e rờ p n l m x a p n c g v tớ p nh 3 chấ v t hà l m l mộ v t 3 ch z iề h u Khụ p n c g g dễ ủể v tỡ l m K[ z i] v từ o khú x a 3 co p n S[ z i])
Khố z i v t z i p n 2w @ b z i v t l s 3 ch z i x a y là l m 2 p nử x a v t e rỏ z i/ s phả z i 3 cộ p n c g i vớ z i 2 o khú x a S[ z i] ủầ h u v t z iờ p n, v t e rướ 3 c okh z i 3 chị h u @ b z iế p n ủổ z i v t e ro p n c g e r 3 ch h u o kỳ l mó hú x a Tấ v t 3 cả 3 cỏ 3 c s phộ s p v toỏ p n 3 chỉ v thự 3 c h z iệ p n v t e rờ p n
Hỡ p nh 2.13 Sơ ủồ l mó hú x a RC5
Hỡ p nh 2.14 Sơ ủồ c g z iả z i l mó RC5
Kh z i c g z iả z i l mó, 2 p nử x a v t e rỏ z i/ s phả z i 3 củ x a o khố z i l mó 3 chị h u @ b z iế p n ủổ z i v t e ro p n c g e r 3 ch h u o kỳ c g z iả z i l mó, vt e rướ 3 c o kh z i v thự 3 c h z iệ p n s phộ s p v t e rừ i vớ z i 2 o khú x a S[ z i] ủầ h u v t z iờ p n l Nú z i 3 cỏ 3 ch o khỏ 3 c, i v z iệ 3 c c g z iả z i lmó v thự 3 c h z iệ p n v th e eo v thứ v tự p n c gượ 3 c y lạ z i, i và p n c ghị 3 ch ủảo 3 cỏ 3 c s phộ s p v toỏ p n ở q h uỏ v t e rỡ p nh l mó hó x a. fo e r z i = e r g dow p n v to 1 g do
L[0] = L[1] S[0]; lNhư i vậ m y, v th h uậ v t v toỏ p n RC5 e rấ v t ủơ p n c g z iả p n Hệ l mậ v t o khụ p n c g l sử g dụ p n c g l sơ ủồ F e e z i l s v t e e y l, ls x a h u l mỗ z i 3 ch h u o kỳ, 2 p nử x a ủề h u v th x a m y ủổ z i Phộ s p q h u x a m y y là s phộ s p @ b z iế p n ủổ z i s ph z i v t h u m yế p n g d h u m y pnhấ v t Bướ 3 c q h u x a m y s phụ v th h uộ 3 c 3 chí p nh o khố z i g dữ y l z iệ h u p xử y lý l sẽ c gâ m y o khó o khă p n e rấ v t y lớ p n
3cho i v z iệ 3 c v thá l m v t h u m yế p n v tí p nh 3 cũ p n c g p như v thá l m i v z i s phâ p n Cô p n c g v t m y v từ p n c g o khở z i p xướ p n c g iv z iệ 3 c v thỏ l m DES, RSA S e e 3 c h u e r z i v t m y ủó g dà p nh p nh z iề h u v thờ z i c g z i x a p n o khảo l sỏ v t hệ l mậ v t p nà m y o kh z i ylà l m i v z iệ 3 c i vớ z i o khố z i 64 @ b z i v t l s Chỉ l s x a h u 5 3 ch h u o kỳ, RC5 ủó 3 cho o kế v t q h uả v thố p n c g o kờ e rấ v t v tố v t.
S x a h u 8 3 ch h u o kỳ, l mỗ z i @ b z i v t 3 củ x a @ bả p n v t z i p n ả p nh hưở p n c g ớ v t p nhấ v t ủế p n l mộ v t s phộ s p q h u x a m y Số okhố z i v t z i p n 3 cầ p n v thử o kh z i v thá l m @ bằ p n c g s phươ p n c g s phá s p i v z i s phâ p n y lầ p n y lượ v t y là 2 24 , 2 45 , 2 53 , 2 68 vtươ p n c g ứ p n c g i vớ z i 5, 10, 12, 15 3 ch h u o kỳ T e ro p n c g o kh z i l số @ bả p n v t z i p n v tố z i ủ x a y là 2 64 , p nờ p n v thỏ l m iv z i s phâ p n RC5 3 có 15 3 ch h u o kỳ v t e rở y lê p n y là o khô p n c g v thể Hệ l mậ v t p nà m y 3 cũ p n c g v tỏ e r x a x a p n v toà p n ivớ z i s phươ p n c g s phá s p v thá l m v t h u m yế p n v tí p nh, p nế h u l số 3 ch h u o kỳ o khô p n c g p nhỏ hơ p n 6 T h u m y p nh z iê p n vtá 3 c c g z iả Ro p n L z i p n p n R z i i v e e l s v t o kh h u m yế p n 3 cáo l sử g dụ p n c g RC5 i vớ z i l số 3 ch h u o kỳ v tố z i v th z iể h u y là 12(w = 32), i và 16 (w = 64).
RC6
Hệ l mậ v t RC6 y là s ph z iờ p n @ bả p n p nõ p n c g 3 cấ s p 3 củ x a RC5, 3 cũ p n c g p xỏ 3 c ủị p nh @ bở z i 3 v th x a l m l số (w, e r,
@b) l N c goà z i 3 cá 3 c s phé s p v toá p n v t e ro p n c g RC5, RC6 3 cò p n l sử g dụ p n c g s phé s p p nhâ p n v th e eo l mo g d h u y l e e 2 w Thủ v tụ 3 c l s z i p nh v t o khó x a 3 co p n o kí 3 ch v thướ 3 c 1 v từ (w @ b z i v t l s) S[ z i] c g z iố p n c g i vớ z i v thủ v tụ 3 c l s z i p nh o khó x a ở RC5, p như p n c g ở ủõ m y, v t = 2( e r + 2).
Khố z i v t z i p n 4w @ b z i v t l s 3 ch z i x a y là l m 4 s phầ p n, @ b z iế p n ủổ z i v t e rờ p n 4 v th x a p nh c gh z i w @ b z i v t l s A, B, C, D. Phầ p n v tư v thứ 2, v thứ 4 v t e rờ p n v th x a p nh c gh z i B, D 3 cộ p n c g i vớ z i 2 o khú x a S[ z i] ủầ h u v t z iờ p n v t e rướ 3 c o kh z i ủ z i i vào e r
3ch h u o kỳ l mã hó x a T e ro p n c g 1 3 ch h u o kỳ RC5, 3 cá 3 c v th x a p nh c gh z i y lầ p n y lượ v t i vừ x a v thự 3 c h z iệ p n s phé s p XOR, i vừ x a p xỏ 3 c ủị p nh @ bướ 3 c g dị 3 ch 3 cho p nh x a h u ủể 3 cả 2 3 cự p n c g ủượ 3 c l mó hú x a Ch h u o kỳ ở RC6, v th x a p nh c gh z i B, D o khụ p n c g ủượ 3 c l mó hú x a l mà g dự p n c g 3 cho i v z iệ 3 c v tớ p nh v toỏ p n c g z iỏ v t e rị h u, i v ủể v thự 3 c h z iệ p n s phộ s p XOR i vớ z i v th x a p nh c gh z i A, C, ủồ p n c g v thờ z i p xỏ 3 c ủị p nh @ bướ 3 c g dị 3 ch v th x a p nh cgh z i C, A C h uố z i 3 ch h u o kỳ, 3 cỏ 3 c v th x a p nh c gh z i hoỏ p n ủổ z i g dữ y l z iệ h u 3 cho p nh x a h u (A, B, C, D) = (B,
C, D, A) é Đầ h u e r x a, o khố z i v t e rê p n v th x a p nh c gh z i A, C 3 cộ p n c g i vớ z i 2 o khó x a S[ z i] 3 c h uố z i 3 cù p n c g v t e rướ 3 c okh z i hợ s p v thà p nh o khố z i l mã.
Hỡ p nh 2.15 Sơ ủồ l mó hú x a RC6
Q h uỏ v t e rỡ p nh c g z iả z i l mó v thự 3 c h z iệ p n v th e eo v thứ v tự p n c gượ 3 c y lạ z i i vớ z i 3 cỏ 3 c s phộ s p v toỏ p n p n c ghị 3 ch ủảo, pn c goạ z i v t e rừ s phé s p v toá p n v tí p nh h u, i v.
Hỡ p nh 2.16 Sơ ủồ c g z iả z i l mó RC6
V z iệ 3 c v tớ p nh c g z iỏ v t e rị h u, i v hoà p n v toà p n ủộ 3 c y lậ s p, 3 cũ p n c g p như 3 cỏ 3 c s phộ s p v toỏ p n v t e rờ p n A, C 3 cú v thể vthự 3 c h z iệ p n 3 cù p n c g y lú 3 c Hơ p n p nữ x a, @ bướ 3 c g dị 3 ch 3 củ x a 2 v th x a p nh c gh z i p nà m y s phụ v th h uộ 3 c i vào v tấ v t
3cả 3 cỏ 3 c @ b z i v t l s 3 củ x a D i và B ộ Đú y là p nhữ p n c g ủ z iể l m p nổ z i @ bậ v t l so i vớ z i RC5, c g z iỳ s p 3 chố p n c g y lạ z i lmộ v t l số s phươ p n c g s phá s p v thá l m l mã.
G z iả z i v th h uậ v t l mã hó x a: [10]
G z iả z i v th h uậ v t c g z iả z i l mã: [10]
Hệ l mậ v t Go l s v t 2814789
Chế ủộ l mó g dũ p n c g
Chế ủộ l mó g dũ p n c g 3 cũ p n c gọ z i y là 3 chế ủộ c g x a l m l m x a, l sử g dụ p n c g c gầ p n p như ủầ m y ủủ 3 cỏ 3 c v thà p nh sphầ p n 3 củ x a hệ l mậ v t, p n c goạ z i v t e rừ ủườ p n c g hồ z i v t z iế s p v từ C k M5 i về R2 Bả p n e rừ 3 ch z i x a v thà p nh vtừ p n c g o khố z i 64 @ b z i v t l s T s p (1), , T s p ( k
M) vthự 3 c h z iệ p n XOR i vớ z i v từ p n c g c g x a l m l m x a Г (1) , , Г ( k M) v tạ z i
C k M5 ủể v tạo @ bả p n l mó l Nế h u T ( k M) o khụ p n c g ủủ 64 @ b z i v t l s v thỡ s phầ p n @ b z i v t l s o khụ p n c g g dự p n c g ủế p n
3củ x a Г ( k M) l sẽ @ bỏ ủ z i G x a l m l m x a l s z i p nh e r x a p nhờ l mộ v t o khố z i o khở z i v tạo 64 @ b z i v t l s IV Khố z i p nà m y ủượ 3 c 3 chọ p n p n c gẫ h u p nh z iờ p n i và l sẽ v t e r h u m yề p n ủ z i p n c g h u m yờ p n g dạ p n c g 3 cự p n c g @ bả p n l mó. ộĐầ h u v t z iờ p n, IV ủư x a v tớ z i R1, R2 l mó hú x a v th e eo 3 chế ủộ v th x a m y v thế ủơ p n c g z iả p n Kế v t q h uả y lư h u ivào R1, R2 e rồ z i 3 ch h u m yể p n y lờ p n R3, R4 ủể v thự 3 c h z iệ p n s phộ s p 3 cộ p n c g v tạ z i C k M3, C k M4 v th e eo lmo g d h u y l e e 2 32 , 2 32 –1 i vớ z i hằ p n c g l số C2, C1 ở R5, R6 Kế v t q h uả y lạ z i v t e rả i về R3, R4 i và R1, R2 lmó hú x a v th x a m y v thế ủơ p n c g z iả p n l mộ v t y lầ p n p nữ x a, v tạo c g x a l m l m x a v thứ p nhấ v t Г (1) G x a l m l m x a v thứ z i, Г ( z i) l sẽ ủú p n c g i v x a z i v t e rũ IV l s z i p nh c g x a l m l m x a v thứ z i + 1, Г ( z i+1)
Hỡ p nh 2.19 Chế ủộ l mó g dũ p n c g kMộ v t c g x a l m l m x a l s z i p nh e r x a ủượ 3 c ủư x a p n c g x a m y ủế p n C k M5, XOR i vớ z i o khố z i v t z i p n v tươ p n c g ứ p n c g Về y lý vth h u m yế v t, v t x a 3 có v thể v tạo v toà p n @ bộ c g x a l m l m x a e rồ z i l mớ z i XOR i vớ z i v toà p n @ bộ @ bả p n v t z i p n T h u m y p nh z iê p n
3cá 3 ch p nà m y o khô p n c g v tố z i ư h u i vì v tố p n @ bộ p nhớ c gh z i y lạ z i c g x a l m l m x a Hơ p n p nữ x a o kí 3 ch v thướ 3 c 3 cá 3 c
@bả p n v t z i p n 3 cầ p n l mã hó x a o khô p n c g c g z iố p n c g p nh x a h u, p nê p n v t x a o khô p n c g @ b z iế v t @ bộ p nhớ g dà z i @ b x ao p nh z iê h u ylà ủủ l Nế h u l mó hú x a 3 cỏ 3 c @ bả p n v t z i p n i vớ z i 3 cự p n c g o khú x a, IV s phả z i 3 chọ p n o khỏ 3 c p nh x a h u ủể cg x a l m l m x a o khá 3 c p nh x a h u.
Q h uá v t e rì p nh c g z iả z i l mã c g z iố p n c g hệ v t i vớ z i q h uá v t e rì p nh l mã hó x a, l s x a h u o kh z i v tá 3 ch IV o khỏ z i @ bả p n l mã.
Chế ủộ l mó g dũ p n c g hồ z i v t z iế s p
Chế ủộ l mó g dũ p n c g hồ z i v t z iế s p o khụ p n c g l sử g dụ p n c g v th x a p nh c gh z i R3, R4, R5, R6, @ bộ 3 cộ p n c g C k M3,
C k M4 Phé s p l mã i vẫ p n y là s phé s p XOR v tạ z i C k M5 c g z iữ x a c g x a l m l m x a Г ( z i) i và o khố z i v t z i p n T s p ( z i).
G x a l m l m x a v thứ p nhấ v t 3 chỉ y là o kế v t q h uả l mó hú x a IV v th e eo 3 chế ủộ v th x a m y v thế ủơ p n c g z iả p n, i và okhố z i l mã T 3 c ( z i) ủú p n c g i v x a z i v t e rũ IV l s z i p nh c g x a l m l m x a v thứ z i + 1, Г ( z i+1) V z iệ 3 c c g z iả z i l mó 3 cũ p n c g v thự 3 c h z iệ p n p như v t e rê p n, l s x a h u o kh z i v tá 3 ch IV o khỏ z i @ bả p n l mã.
Hỡ p nh 2.20 Chế ủộ l mó g dũ p n c g hồ z i v t z iế s p
Thủ v tụ 3 c o k z iể l m v t e r x a v toà p n i vẹ p n
Thụ p n c g v t z i p n y lư h u v t e rữ h x a m y v t e r h u m yề p n ủ z i, g dự @ bằ p n c g s phươ p n c g v thứ 3 c p nào ủề h u 3 cú v thể @ bị v th x a m y ủổ z i l so i vớ z i @ bả p n c gố 3 c l Nế h u @ bả p n l mó @ bị v th x a m y ủổ z i, @ bả p n v t z i p n v th h u ủượ 3 c l s x a h u c g z iả z i l mó l sẽ okhụ p n c g ủỳ p n c g i vớ z i @ bả p n e rừ @ b x a p n ủầ h u Go l s v t 28147–89 3 cú l mộ v t v thủ v tụ 3 c ( o khụ p n c g @ bắ v t
@b h uộ 3 c) ủể o k z iể l m v t e r x a vtớ p nh v toà p n i vẹ p n, g dự p n c g 3 cho 3 cả 3 3 chế ủộ hoạ v t ủộ p n c g ủó p xộ v t Thủ v tụ 3 c hoà p n v toà p n ủộ 3 c y lậ s p ivớ z i q h uá v t e rì p nh l mã hó x a, p như p n c g l sử g dụ p n c g 3 cù p n c g o khó x a l mã hó x a Vì i vậ m y, v t e rê p n v thự 3 c v tế v t x a
3cú v thể o kế v t hợ s p v thủ v tụ 3 c p nà m y i vớ z i q h uỏ v t e rỡ p nh l mó hú x a ủể v tă p n c g v tố 3 c ủộ y là l m i v z iệ 3 c 3 củ x a hệ lmậ v t.
Bả p n v t z i p n 3 ch z i x a v thà p nh 3 cá 3 c o khố z i 64 @ b z i v t l s T s p[1], T s p[2], … , T s p[ k M], p nế h u T s p[ k M] í v t hơ p n 64
@b z i v t l s v t x a y lấ s p ủầ m y @ bờ p n s phả z i @ bở z i 3 cỏ 3 c @ b z i v t l s 0 T x a v thự 3 c h z iệ p n @ b z iế p n ủổ z i l s x a h u:
- k Mó hú x a T s p[1] v th e eo 3 chế ủộ v th x a m y v thế ủơ p n c g z iả p n i vớ z i 16 3 ch h u o kỳ ủầ h u.
Kế v t q h uả XOR i vớ z i T s p[2] v tạ z i C k M5, v th h u ủượ 3 c U c g[1].
- k Mó hú x a U c g[1] v th e eo 3 chế ủộ v th x a m y v thế ủơ p n c g z iả p n i vớ z i 16 3 ch h u o kỳ ủầ h u.
Kế v t q h uả XOR i vớ z i T s p[3] v tạ z i C k M5, v th h u ủượ 3 c U c g[2].
- k Mó hú x a U c g[ k M – 2] v th e eo 3 chế ủộ v th x a m y v thế ủơ p n c g z iả p n i vớ z i 16 3 ch h u o kỳ ủầ h u.
Kế v t q h uả XOR i vớ z i T s p[ k M] v tạ z i C k M5, v th h u ủượ 3 c U c g[ k M – 1].
- k Mó hú x a U c g[ k M – 1] v th e eo 3 chế ủộ v th x a m y v thế ủơ p n c g z iả p n i vớ z i 16 3 ch h u o kỳ ủầ h u, vth h u ủượ 3 c o khố z i V (64 @ b z i v t l s) – ủõ m y 3 chớ p nh y là o khố z i o k z iể l m v t e r x a v toà p n i vẹ p n.
Khố z i V 3 chè p n v thê l m i vào 3 c h uố z i @ bả p n l mã, i và v tá 3 ch e r x a v t e rướ 3 c o kh z i c g z iả z i l mã Từ @ bả p n v t z i p n v th h u ủượ 3 c, v tạo V’ v th e eo ủỳ p n c g q h u m y v tắ 3 c v tạo V l Nế h u V’ = V v thỡ @ bả p n l mó ủó ủượ 3 c y lư h u v t e rữ h x a m y v t e r h u m yề p n ủ z i p n c g h u m yờ p n i vẹ p n.
Chú ý e rằ p n c g, 3 có v thể p xả m y e r x a o khả p nă p n c g @ bả p n l mã v toà p n i vẹ p n, p như p n c g 3 chí p nh o khố z i o k z iể l m vt e r x a v toà p n i vẹ p n y lạ z i 3 cú y lỗ z i T x a hạ p n 3 chế v t e rườ p n c g hợ s p ủú @ bằ p n c g 3 cỏ 3 ch v th x a m y v thế V, V’ @ bở z i
V l m, V’ l m c gồ l m l m @ b z i v t l s y lấ m y e r x a v từ V, V’ v th e eo l mộ v t q h u m y v tắ 3 c p nhấ v t ủị p nh ( l m 64) l Như p n c g pnế h u l m q h uỏ p nhỏ 3 cũ p n c g y là l m c g z iả l m ủộ v t z i p n 3 cậ m y 3 củ x a i v z iệ 3 c o k z iể l m v t e r x a v toà p n i vẹ p n Vỡ v thế, okh z i p xâ m y g dự p n c g hệ l mậ v t v t x a 3 cầ p n 3 câ p n p nhắ 3 c c g z iá v t e rị l m v th e eo p nhữ p n c g v thô p n c g v t z i p n 3 cụ v thể.
Hệ l mậ v t IDEA
Hệ l mậ v t IDEA (I p n v t e e e r p n x a v t z io p n x a y l D x a v t x a E p n 3 c e r m y s p v t z io p n A y l c go e r z i v th l m) ủượ 3 c X h u e ej z i x a L x a z i i và
J x a l m e e l s k M x a l s l s e e m y ở V z iệ p n 3 cụ p n c g p n c ghệ ETH Z h u e r z i 3 ch (E z i g d c g e e p nử l s l s z i l s 3 ch e e T e e 3 ch p n z i l s 3 ch e e
Ho 3 ch l s 3 ch h u y l e e Zỹ e r z i 3 ch), Thụ m y Sỹ l mụ v tả y lầ p n ủầ h u v t z iờ p n i vào p nă l m 1990 g dướ z i 3 cỏ z i v tờ p n PES (P e ro s po l s e e g d E p n 3 c e r m y s p v t z io p n S v t x a p n g d x a e r g d) Kh z i s phươ p n c g s phỏ s p v thỏ l m i v z i s phõ p n e r x a ủờ z i, 3 cỏ 3 c v tỏ 3 c cg z iả ủó 3 cả z i v t z iế p n PES ủể 3 chố p n c g y lạ z i s phươ p n c g s phỏ s p v thỏ l m l mó p nà m y Bả p n 3 cả z i v t z iế p n l m x a p n c g vtờ p n IPES (I l m s p e ro i v e e g d PES) i và ủổ z i v thà p nh IDEA i vào p nă l m 1992.
Hỡ p nh 2.21 Sơ ủồ IDEA
Hệ l mậ v t hoạ v t ủộ p n c g i vớ z i 52 o khú x a 3 co p n 16 @ b z i v t l s, l s z i p nh e r x a v từ o khú x a 3 chớ p nh Z 3 cú ủộ g dà z i 128
@b z i v t l s k Mộ v t o khố z i l mã hó x a v t e ro p n c g 9 3 ch h u o kỳ, l mỗ z i 3 ch h u o kỳ g dù p n c g 6 o khó x a 3 co p n {Z1 ( z i), …,
Z6 ( z i)}, e r z iê p n c g 3 ch h u o kỳ 3 c h uố z i g dù p n c g 4 o khó x a 3 co p n {Z1 (9), …, Z4 (9)} Tá l m o khó x a 3 co p n {Z1 (1), …,
Z6 (1)}, i và {Z1 (2), Z2 (2)} ủượ 3 c 3 ch z i x a e r x a v từ o khú x a Z @ b x a p n ủầ h u S x a h u ủú, Z q h u x a m y v t e rỏ z i 25 @ b z i v t l s, erồ z i y lạ z i 3 ch z i x a e r x a v thà p nh v tá l m o khó x a 3 co p n v t z iế s p v th e eo {Z3 (2), …, Z6 (2)}, i và {Z1 (3), …, Z (3) }.
Cỏ 3 c o khú x a 3 co p n 3 cũ p n y lạ z i, 3 cũ p n c g ủượ 3 c l s z i p nh e r x a l s x a h u p nhữ p n c g 3 ch h u v t e rỡ p nh q h u x a m y v t e rỏ z i Z p như ivậ m y.
IDEA l mã hó x a v từ p n c g o khố z i 64 @ b z i v t l s, p như p n c g l mỗ z i o khố z i y lạ z i 3 ch z i x a v thà p nh 4 o khố z i 16
{X1, … , X4} Cỏ 3 c o khố z i p nà m y ủư x a i vào 3 ch h u o kỳ v thứ p nhấ v t, @ b z iế p n ủổ z i v thà p nh 3 cỏ 3 c o khố z i e r x a {U1 (1), …, U4 (1)} @ bở z i 3 cá 3 c s phé s p v tí p nh l s x a h u:
3cò p n U3 (1) vtí p nh v th e eo I2 (1) Tứ 3 c y là 3 c h uố z i 3 ch h u o kỳ, o khố z i e r x a v thứ 2 i và v thứ
3 l sẽ ủổ z i 3 chỗ 3 cho p nh x a h u FR (1), F (1) y là 2 c g z iỏ v t e rị ủầ h u e r x a 3 củ x a o khố z i 3 cấ h u v t e rỳ 3 c “ 3 cộ p n c g – pnhâ p n” F (1) ( l m h u y l v t z i s p y l z i 3 c x a v t z i i v e e – x a g d g d z i v t z i i v e e l s v t e r h u 3 c v t h u e r e e) Khố z i F (1) l sử g dụ p n c g 2 o khó x a {Z5 (1),
Z6 (1)} @ b z iế p n ủổ z i c g z iỏ v t e rị i vào {I1 (1) I3 (1), I2 (1) I (1) } v th e eo 3 cụ p n c g v thứ 3 c:
Cỏ 3 c 3 ch h u o kỳ l s x a h u v thự 3 c h z iệ p n v tươ p n c g v tự ộ Đầ h u i vào y là ủầ h u e r x a 3 củ x a 3 ch h u o kỳ v t e rướ 3 c ủú i vớ z i vthứ v tự o khố z i c g z iữ p n c g h u m yê p n l Như p n c g ở 3 ch h u o kỳ 3 c h uố z i 3 cù p n c g, o khố z i i vào v thứ 2 i và v thứ 3 y lạ z i ủổ z i 3 chỗ 3 cho p nh x a h u ộ Đ z iề h u p nà m y ủồ p n c g p n c ghĩ x a i vớ z i i v z iệ 3 c, v t x a o khụ p n c g ủổ z i 3 chỗ o khố z i e r x a v thứ 2 ivà v thứ 3 ở 3 ch h u o kỳ v thứ 8 3 cho p nh x a h u p nữ x a (U2 (8) vtí p nh v th e eo I2 (8), U3 (8) vtí p nh v th e eo I3 (8)). lN c goà z i e r x a, 3 ch h u o kỳ 3 c h uố z i o khụ p n c g p x h uấ v t h z iệ p n o khố z i F (9) Bố p n o khố z i ủầ h u e r x a {U1 (9), …,
{I1 (9), …, I4 (9)}, i và 3 chí p nh y là o kế v t q h uả l mã hó x a {Y1, …, Y4}.
Q h uá v t e rì p nh c g z iả z i l mã 3 cũ p n c g l sử g dụ p n c g v th h uậ v t v toá p n v t e rê p n, g dù hệ l mậ v t o khô p n c g p x h uấ v t h z iệ p n l sơ ủồ F e e z i l s v t e e y l 52 o khú x a c g z iả z i l mó l s h u m y e r x a v từ 52 o khú x a l mó hú x a Ch h u o kỳ 1 g dự p n c g o khú x a
Lư h u ý e rằ p n c g, ở ủõ m y s phộ s p 3 cộ p n c g (+) v thự 3 c h z iệ p n v th e eo l mo g d h u y l e e 2 16 , s phộ s p p nhõ p n () v thự 3 c h z iệ p n v th e eo l mo g d h u y l e e 2 16 +1 Số ủố z i 3 củ x a l mộ v t l số A ở s phộ s p 3 cộ p n c g y là l số “–A” v thỏ x a lmó p n A + (–A) ≡ 0 ( l mo g d 2 16 ) Tứ 3 c y là A, (–A) v th h uộ 3 c ủoạ p n [0; 2 16 – 1], i vớ z i A = 0 v thỡ (–A) = 0 i và A > 0 v thỡ (–A) = 2 16 – A Cũ p n l số p n c ghị 3 ch ủảo 3 củ x a l mộ v t l số A ở s phộ s p pnhâ p n y là l số “A 1 ” v thỏ x a l mã p n A A 1 ≡ 1 ( l mo g d 2 16 +1) Phé s p v tí p nh p nà m y A, A 1 s phả z i v th h uộ 3 c ủoạ p n [1; 2 16 ], v t e ro p n c g o kh z i 3 cỏ 3 c o khố z i 16 @ b z i v t l s y lạ z i p nhậ p n c g z iỏ v t e rị v th h uộ 3 c ủoạ p n [0; 2 16 1] Do ủú, v t x a q h u m y ướ 3 c o khố z i 16 @ b z i v t l s 0 l sẽ @ b z iể h u g d z iễ p n 3 cho l số 2 16 v t e ro p n c g s phộ s p p nhõ p n p nà m y.
Hệ l mậ v t AES
B z iể h u g d z iễ p n o khố z i v t z i p n
AES l mậ v t l mã 3 cá 3 c o khố z i v t z i p n 128 @ b z i v t l s, l sử g dụ p n c g o khố z i o khó x a 128, 192, hoặ 3 c 256 @ b z i v t l s.
Tỏ l m @ b z i v t l s hợ s p v thà p nh 1 @ b m y v t e e Thứ v tự @ b z i v t v t e ro p n c g o khố z i ( o ký h z iệ h u: z i) ủỏ p nh l số v từ v t e rỏ z i ls x a p n c g s phả z i, v từ v t e rờ p n p x h uố p n c g g dướ z i, @ bắ v t ủầ h u v từ 0 Cỏ 3 c @ b z i v t l s v t e ro p n c g 1 @ b m y v t e e ( o ký h z iệ h u: @ b z i)
3cũ p n c g ủỏ p nh l số @ bắ v t ủầ h u v từ 0, p như p n c g v từ s phả z i l s x a p n c g v t e rỏ z i k Mộ v t @ b m y v t e e { @ b7, @ b6, @ b5, @ b4, @ b3,
@b2, @ b1, @ b0} 3 cú v thể @ b z iể h u g d z iễ p n g dướ z i g dạ p n c g ủ x a v thứ 3 c l s x a h u, v t e ro p n c g ủú @ b z i p nhậ p n c g z iỏ v t e rị y là 0, hoặ 3 c 1:
Bố p n @ b z i v t l s hệ p nhị s phâ p n ( @ b z i p n x a e r m y) v tươ p n c g ứ p n c g 1 3 chữ l số hệ v thậ s p y lụ 3 c s phâ p n
Do ủú, 2 3 chữ l số hệ v thậ s p y lụ 3 c s phõ p n {h1h0} 3 cũ p n c g @ b z iể h u g d z iễ p n 1 @ b m y v t e e Vớ g dụ, {01101011} @ b z iể h u g d z iễ p n @ bở z i ủ x a v thứ 3 c p x 6 + p x 5 + p x 3 + p x + 1, hoặ 3 c 2 3 chữ l số {6 @ b}. kMộ v t o khố z i 3 có v thể @ b z iể h u g d z iễ p n p như g dã m y 3 cá 3 c @ b m y v t e e l s Cụ v thể, o khố z i 128 @ b z i v t l s { z i p n s p h u v t0, zi p n s p h u v t1, z i p n s p h u v t2, z i p n s p h u v t3, …, z i p n s p h u v t126, z i p n s p h u v t127} @ b z iể h u g d z iễ p n @ bở z i g dã m y @ b m y v t e e l s x a[0], x a[2],
Khố z i v t z i p n 3 cò p n @ b z iể h u g d z iễ p n g dướ z i g dạ p n c g “S v t x a v t e e”, y là l mả p n c g 2 3 ch z iề h u 3 có 4 hà p n c g, l N @ b 3 cộ v t. kMỗ z i s phầ p n v tử v t e ro p n c g S v t x a v t e e y là l mộ v t @ b m y v t e e, o ký h z iệ h u l s[ e r, 3 c] (hoặ 3 c l s e r, 3 c) v t e ro p n c g ủú e r y là 3 chỉ l số hà p n c g (0 e r < 4), 3 c y là 3 chỉ l số 3 cộ v t (0 3 c < l N @ b) Vớ z i AES, l N @ b = 4, y là o kế v t q h uả 3 củ x a sphé s p 3 ch z i x a o kí 3 ch v thướ 3 c o khố z i (128 @ b z i v t l s) 3 cho 32 @ b z i v t l s Khố z i 3 có @ b z iể h u g d z iễ p n @ bở z i g dã m y
@b m y v t e e l s x a[ z i] l sẽ @ b z iể h u g d z iễ p n g dướ z i g dạ p n c g S v t x a v t e e q h u x a 3 cô p n c g v thứ 3 c: ls[ e r, 3 c] = x a[ e r + 4 3 c] lNú z i 3 cỏ 3 ch o khỏ 3 c, S v t x a v t e e y là g dó m y @ b m y v t e e l s x a[ z i] p xế s p v từ v thấ s p ủế p n 3 c x ao i vào l mả p n c g 2 3 ch z iề h u 4 hà p n c g, l N @ b 3 cộ v t v th e eo v t e rậ v t v tự v từ v t e rê p n p x h uố p n c g g dướ z i, v từ v t e rá z i q h u x a s phả z i AES l mậ v t l mã v t e rê p n
@b z iể h u g d z iễ p n S v t x a v t e e 3 củ x a o khố z i v t z i p n Do i vậ m y, v t e rướ 3 c i và l s x a h u o kh z i l mậ v t l mã 3 chú p n c g v t x a s phả z i vthự 3 c h z iệ p n 3 ch h u m yể p n ủổ z i c g z iữ x a 2 3 cỏ 3 ch @ b z iể h u g d z iễ p n p nà m y Dướ z i ủõ m y y là v tươ p n c g ứ p n c g c g z iữ x a
@b z iể h u g d z iễ p n S v t x a v t e e i và g dã m y @ b m y v t e e l s x a[0], x a[1], x a[2], …, x a[15] 3 củ x a o khố z i v t z i p n AES ( o khố z i
Hì p nh 2.22 Tươ p n c g ứ p n c g l s[ e r, 3 c] i và x a[ z i] kMỗ z i 3 cộ v t v t e ro p n c g S v t x a v t e e c gồ l m 4 @ b m y v t e e l s 3 có v thể h z iể h u p như l mộ v t v từ (32 @ b z i v t l s), v thứ v tự @ b m y v t e e pxỏ 3 c ủị p nh @ bở z i 3 chỉ l số e r Kh z i ủú S v t x a v t e e y là l mộ v t g dó m y 3 cỏ 3 c v từ, 3 cụ v thể, o khố z i v t z i p n AES ủượ 3 c
@b z iể h u g d z iễ p n @ bằ p n c g g dã m y w[0], w[1], w[2], w[3] (hoặ 3 c w0, w1, w2, w3), i vớ z i: w[0] = l s[0,0], l s[1,0], l s[2,0], l s[3,0] w[1] = l s[0,1], l s[1,1], l s[2,1], l s[3,1] w[2] = l s[0,2], l s[1,2], l s[2,2], l s[3,2] w[3] = l s[0,3], l s[1,3], l s[2,3], l s[3,3]
Cá 3 c s phé s p v toá p n
Q h u x a 3 cá 3 ch @ b z iể h u g d z iễ p n o khố z i v t z i p n p như v t e rê p n, AES v thự 3 c h z iệ p n 3 cá 3 c s phé s p v toá p n v t e rê p n @ b m y v t e e, i và vt e rê p n v từ é Đ z iề h u p nà m y 3 cho s phé s p v t e r z iể p n o kh x a z i hệ l mậ v t @ bằ p n c g l má m y v tí p nh v thô p n c g v thườ p n c g i vẫ p n ủạ v t v tố 3 c ủộ 3 c x ao, o khỏ 3 c i vớ z i v t z iờ h u 3 ch h uẩ p n DES v t e rướ 3 c ủú.
2.5.2.1 Cá 3 c s phé s p v toá p n v t e rê p n @ b m y v t e e Ở @ b z iể h u g d z iễ p n ủ x a v thứ 3 c, l mỗ z i @ b m y v t e e {h1h0} v t e rở v thà p nh l mộ v t s phầ p n v tử @ b( p x) v t e ro p n c g v t e rườ p n c g hữ h u hạ p n GF(2 8 ) Phộ s p 3 cộ p n c g ủồ p n c g p nhấ v t i vớ z i s phộ s p v t e rừ, v thự 3 c h z iệ p n @ bằ p n c g 3 cỏ 3 ch XOR vtừ p n c g hệ l số, 3 cũ p n c g 3 chí p nh y là s phé s p XOR ( 3 cộ p n c g v từ p n c g @ b z i v t l mo g d h u y l e e 2) ở @ b z iể h u g d z iễ p n p nhị sphâ p n Ví g dụ:
{68} {86} = { e e e e} ( @ b z iể h u g d z iễ p n h e e p x x a) Phộ s p p nhõ p n ( o ký h z iệ h u: ) y là s phộ s p p nhõ p n ủ x a v thứ 3 c v th e eo l mo g d h u y l e e @ bấ v t o khả q h u m y l m( p x) l s x a h u: lm( p x) = p x 8 + p x 4 + p x 3 + p x + 1 ( @ b z iể h u g d z iễ p n ủ x a vthứ 3 c)
Phầ p n v tử v t e r h u p n c g hũ x a ( p nhõ p n v tử ủồ p n c g p nhấ v t) y là {01}.
Phầ p n v tử ủố z i y lậ s p ( s phầ p n v tử p n c ghị 3 ch ủảo) 3 củ x a @ b( p x), o ký h z iệ h u @ b 1 ( p x) 3 cú v thể v tỡ l m q h u x a cg z iả z i v th h uậ v t E h u 3 c y l z i g d e e l mở e rộ p n c g é Đ x a v thứ 3 c l m( p x) y là @ bấ v t o khả q h u m y, c g 3 c g d( @ b( p x), l m( p x)) = 1, pnê p n v tồ p n v tạ z i x a( p x), 3 c( p x) v thỏ x a l mã p n:
T e ro p n c g GF(2 8 ), s phé s p p nhâ p n 3 có v tí p nh s phâ p n s phố z i i vớ z i s phé s p 3 cộ p n c g, p n c ghĩ x a ylà: x a( p x) [ @ b( p x) + 3 c( p x)] = x a( p x) @ b( p x) + xa( p x) 3 c( p x)
Xộ v t hà l m p x v t z i l m e e{h1h0} = {h1h0} {02} B z iể h u g d z iễ p n ủ x a v thứ 3 c 3 củ x a {02} y là p x, v t x a
@b0 p x lNế h u @ b7 = 0, @ b( p x) p x = @ b( p x) p x Do ủú, p x v t z i l m e e{h1h0} 3 chớ p nh y là i v z iệ 3 c g dị 3 ch v t e rỏ z i {h1h0} 1 @ b z i v t. lNế h u @ b7 = 1, @ b( p x) p x = @ b( p x) p x l m( p x) Phộ s p 3 cộ p n c g ủồ p n c g p nhấ v t i vớ z i s phộ s p v t e rừ i và y là sphộ s p XOR ở @ b z iể h u g d z iễ p n p nhị s phõ p n, g do ủú, p x v t z i l m e e{h1h0} 3 chớ p nh y là i v z iệ 3 c g dị 3 ch v t e rỏ z i {h1h0}
1 @ b z i v t, e rồ z i ủ e e l m XOR i vớ z i {1 @ b}. éĐể p nhâ p n {h1h0} i vớ z i {04}, {08}, {10}, {20}, {40}, {80} v t x a v thự 3 c h z iệ p n hồ z i v t z iế s p px v t z i l m e e( ) z i y lầ p n, i vớ z i z i y là @ bậ 3 c 3 củ x a @ b z iể h u g d z iễ p n ủ x a v thứ 3 c p x z i v tươ p n c g ứ p n c g ( p x 2 , p x 3 , p x 4 , p x 5 , p x 6 , px 7 ) Dù p n c g 3 cá 3 c o kế v t q h uả p nà m y, v t x a 3 có v thể v tì l m v tí 3 ch {h1h0} {h’1h’0} @ bấ v t o kỳ @ bằ p n c g
3cá 3 ch s phâ p n vtí 3 ch {h’1h’0} v thà p nh v tổ p n c g 3 cá 3 c @ b m y v t e e {01}, {02}, {04}, {08}, {10}, {20}, {40}, {80}, ivà l sử g dụ p n c g v tớ p nh 3 chấ v t s phõ p n s phố z i 3 củ x a s phộ s p p nhõ p n ủố z i i vớ z i s phộ s p 3 cộ p n c g Vớ g dụ:
2.5.2.2 Cá 3 c s phé s p v toá p n v t e rê p n v từ lNhư v t e rờ p n ủó p nú z i, l mỗ z i 3 cộ v t v t e ro p n c g S v t x a v t e e v tạo v thà p nh 1 v từ 4 @ b m y v t e e l s k Mộ v t v từ 3 cũ p n c g ủượ 3 c
@b z iể h u g d z iễ p n g dướ z i g dạ p n c g ủ x a v thứ 3 c i vớ z i hệ l số y là 3 cỏ 3 c @ b m y v t e e l s, h x a m y y là s phầ p n v tử v t e ro p n c g vt e rườ p n c g GF(2 8 ) Cho 2 v từ x a( p x), @ b( p x) p như l s x a h u: xa( p x) = x a3 p x 3 + x a2 p x 2 + x a1 p x + x a0
Kế v t q h uả s phé s p 3 cộ p n c g 3 cũ p n c g y là 1 v từ, i vớ z i hệ l số y là v tổ p n c g 3 củ x a 3 cá 3 c hệ l số v tươ p n c g ứ p n c g, h x a m y y là s phé s p XOR c g z iữ x a 3 cá 3 c @ b m y v t e e hệ l số. xa( p x) + @ b( p x) = ( x a3 @ b3) p x 3 ( x a2 @ b2) p x 2 + ( x a1 @ b1) p x + ( x a0 @ b0)
Phộ s p p nhõ p n ủ x a v thứ 3 c ủơ p n v th h uầ p n 3 cho o kế v t q h uả y là l mộ v t v tớ 3 ch ủ x a v thứ 3 c ( s po y l m y p no l m z i x a y l sp e ro g d h u 3 c v t) @ bậ 3 c 6, o ký h z iệ h u 3 c( p x) = x a( p x) @ b( p x):
Tớ 3 ch p nà m y o khụ p n c g ủạ z i g d z iệ p n 3 cho 1 v từ 4 @ b m y v t e e l s p nờ p n ủượ 3 c hạ p x h uố p n c g @ bậ 3 c 3 @ bằ p n c g 3 cỏ 3 ch ylấ m y l mo g d h u y l e e v th e eo ủ x a v thứ 3 c p x 4 + 1 Kế v t q h uả c gọ z i y là v tớ 3 ch l mo g d h u y l x a e r ( l mo g d h u y l x a e r s p e ro g d h u 3 c v t), oký h z iệ h u g d( p x) = x a( p x) @ b( p x): gd( p x) = g d3 p x 3 + g d2 p x 2 + g d1 p x + g d0
Vớ z i: gd0 = x a0 @ b0 x a3 @ b1 x a2 @ b2 x a1 @ b3 gd1 = x a1 @ b0 x a0 @ b1 x a3 @ b2 x a2 @ b3 gd2 = x a2 @ b0 x a1 @ b1 x a0 @ b2 x a3 @ b3 gd3 = x a3 @ b0 x a2 @ b1 x a1 @ b2 x a0 @ b3
gd 3 xa 3 xa 2 xa 1 xa 0 @b 3 lNhậ p n p xé v t e rằ p n c g, p nế h u 3 chọ p n x a( p x) = {01} p x 3 + {00} p x 2 + {00} p x + {00} = p x 3 , v thì g d( p x)
3chớ p nh y là v từ @ b( p x) g dị 3 ch v t e rỏ z i 1 @ b m y v t e e l N c goà z i e r x a, ủ x a v thứ 3 c p x 4 + 1 o khụ p n c g s phả z i @ bấ v t o khả q h u m y, p nờ p n v t x a o khụ p n c g v thể v tỡ l m ủượ 3 c s phầ p n v tử p n c ghị 3 ch ủảo @ bằ p n c g c g z iả z i v th h uậ v t E h u 3 c y l z i g d e e l mở erộ p n c g p như s phộ s p v toỏ p n v t e rờ p n @ b m y v t e e Hệ l mậ v t AES p xỏ 3 c ủị p nh 1 3 cặ s p v từ l s x a h u y là p n c ghị 3 ch ủảo
G z iả z i v th h uậ v t
AES l sử g dụ p n c g 3 cỏ 3 c s phộ s p @ b z iế p n ủổ z i l s x a h u v t e ro p n c g c g z iả z i v th h uậ v t l mó hú x a/ c g z iả z i l mó:
- Phé s p v th x a m y v thế @ b m y v t e e l s (S h u @ bB m y v t e e l s/ I p n i vS h u @ bB m y v t e e l s).
- Phé s p g dị 3 ch hà p n c g (Sh z if v tRow l s/ I p n i vSh z if v tRow l s).
- Phé s p v t e rộ p n g dữ y l z iệ h u v t e ro p n c g l mỗ z i 3 cộ v t ( k M z i p xCo y l h u l m p n l s/ I p n i v k M z i p xCo y l h u l m p n l s).
- Phé s p 3 cộ p n c g o khó x a 3 ch h u o kỳ (A g d g dRo h u p n g dK e e m y).
Hệ l mậ v t y là l m i v z iệ 3 c i vớ z i o khố z i v t z i p n 128 @ b z i v t l s, h x a m y o khố z i v t z i p n 4 v từ ( l N @ b = 4) Kí 3 ch v thướ 3 c okhó x a y là 128, 192, hoặ 3 c 256 @ b z i v t l s – v tứ 3 c 4, 6, hoặ 3 c 8 v từ ( l N o k = 4, 6, 8) Số 3 ch h u o kỳ y là
14 ( l N e r = 10, 12, 14) v tươ p n c g ứ p n c g i vớ z i o kí 3 ch v thướ 3 c o khó x a.
Hệ l mậ v t AES–128 AES–192 AES–256 lN @ b – Kí 3 ch v thướ 3 c o khố z i v t z i p n ( v từ) 4 4 4 lN o k – Kí 3 ch v thướ 3 c o khó x a ( v từ) 4 6 8 lN e r – Số 3 ch h u o kỳ 10 12 14
AES l mậ v t l mó v từ p n c g o khố z i v t z i p n q h u x a l N e r 3 ch h u o kỳ k Mỗ z i 3 ch h u o kỳ ủề h u v thự 3 c h z iệ p n l mộ v t s phộ s p
A g d g dRo h u p n g dK e e m y l N c goà z i e r x a, A g d g dRo h u p n g dK e e m y 3 cũ p n c g p x h uấ v t h z iệ p n 1 y lầ p n v t e rướ 3 c 3 ch h u o kỳ ủầ h u v t z iờ p n k Mỗ z i s phộ s p 3 cộ p n c g o khú x a 3 ch h u o kỳ 3 cầ p n 1 l s v t x a v t e e o khú x a, g do i vậ m y, o khú x a l N o k v từ s phả z i lmở e rộ p n c g v thà p nh @ bả p n c g o khó x a l N @ b( l N e r + 1) v từ G z iả z i v th h uậ v t l mở e rộ p n c g o khó x a p như l s x a h u: [7]
@ b e e c g z i p n wo e r g d v t e e l m s p; z i = 0; wh z i y l e e ( z i < l N o k) w[ z i] = wo e r g d( o k e e m y[4* z i], o k e e m y[4* z i+1], o k e e m y[4* z i+2], o k e e m y[4* z i+3]); z i = z i+1; e e p n g d wh z i y l e e z i = l N o k; wh z i y l e e ( z i < l N @ b*( l N e r+1)) v t e e l m s p
= w[ z i-1]; z if ( z i l mo g d l N o k = 0) v t e e l m s p = S h u @ bWo e r g d(Ro v tWo e r g d( v t e e l m s p)) p xo e r R 3 co p n[ z i/ l N o k]; e e y l l s e e z if ( l N o k = 8 x a p n g d z i l mo g d l N o k =
Ký h z iệ h u v từ v thứ z i 3 củ x a @ bả p n c g o khú x a y là w[ z i], (0 z i < l N @ b( l N e r + 1)) Khú x a @ b x a p n ủầ h u ủượ 3 c l s x ao 3 chộ s p i vào l N o k v từ ủầ h u v t z iờ p n 3 củ x a @ bả p n c g o khú x a (w[0], w[1], …, w[ l N o k1]) Từ vtừ o khú x a v thứ l N o k v t e rở ủ z i, w[ z i] = w[ z i l N o k] w[ z i1] T h u m y p nh z iờ p n p nế h u z i l mo g d l N o k = 0, w[ z i1] l sẽ @ b z iế p n ủổ z i q h u x a s phộ s p g dị 3 ch i vũ p n c g Ro v tWo e r g d( ), s phộ s p v th x a m y v thế S h u @ bWo e r g d( ), erồ z i XOR i vớ z i
R 3 co p n[ z i/ l N o k], v t e rướ 3 c o kh z i v tí p nh w[ z i] T e rườ p n c g hợ s p l N o k = 8 i và z i l mo g d l N o k = 4, w[ z i1]
3cũ p n c g @ b z iế p n ủổ z i q h u x a s phộ s p v th x a m y v thế S h u @ bWo e r g d( ), v t e rướ 3 c o kh z i v tớ p nh w[ z i]. Ở ủõ m y, S h u @ bWo e r g d( ) y là s phộ s p v th x a m y v thế v từ p n c g @ b m y v t e e v t e ro p n c g v từ @ bở z i c g z iỏ v t e rị v t e ro p n c g @ bả p n c g vth x a m y v thế S @ bo p x Cỏ 3 ch v th x a m y v thế p nà m y ủượ 3 c p nú z i e rừ v t e ro p n c g s phầ p n l s x a h u Ro v tWo e r g d( ) y là sphộ s p g dị 3 ch i vũ p n c g 1 @ b m y v t e e, 3 cụ v thể, [ x a0, x a1, x a2, x a3] @ b z iế p n ủổ z i v thà p nh [ x a1, x a2, x a3, x a0] Từ
R 3 co p n[ z i/ l N o k] l m x a p n c g c g z iá v t e rị [ p x ( z i/ l N o k1) l mo g d l m( p x), {00}, {00}, {00}] l Nhắ 3 c y lạ z i, p x 0 , p x 1 , …, px 7 y lầ p n y lượ v t y là @ b z iể h u g d z iễ p n ủ x a v thứ 3 c 3 củ x a {01}, {02}, …, {80}, 3 cũ p n l m( p x) = p x 8 + p x 4 + p x 3 + p x + 1.
G z iả z i v th h uậ v t l mã hó x a @ b x ao c gồ l m l N e r 3 ch h u o kỳ hồ z i v t z iế s p S x a h u s phé s p A g d g dRo h u p n g dK e e m y @ b x a p n ủầ h u, c g z iả z i v th h uậ v t v thự 3 c h z iệ p n ( l N e r 1) 3 ch h u o kỳ i vớ z i ủầ m y ủủ 3 cỏ 3 c @ b z iế p n ủổ z i v th e eo v thứ v tự
S h u @ bB m y v t e e l s( ), Sh z if v tRow l s( ), k M z i p xCo y l h u l m p n l s( ), A g d g dRo h u p n g dK e e m y( ) Ch h u o kỳ 3 c h uố z i 3 cù p n c g okhô p n c g p x h uấ v t h z iệ p n k M z i p xCo y l h u l m p n l s( ) k Mỗ z i s phé s p A g d g dRo h u p n g dK e e m y g dù p n c g y lầ p n y lượ v t l N @ b v từ vt e ro p n c g @ bả p n c g o khó x a [7]
A g d g dRo h u p n g dK e e m y( l s v t x a v t e e, w[0, l N @ b1]); fo e r e ro h u p n g d = 1 l s v t e e s p 1 v to l N e r 1 S h u @ bB m y v t e e l s( l s v t x a v t e e);
A g d g dRo h u p n g dK e e m y( l s v t x a v t e e, w[ l N @ b* e ro h u p n g d, l N @ b*( e ro h u p n g d+1)-1]); e e p n g d fo e r
G z iả l sử @ b m y v t e e l s[ e r, 3 c] v t e ro p n c g l s v t x a v t e e 3 cú @ b z iể h u g d z iễ p n ủ x a v thứ 3 c:
Phé s p S h u @ bB m y v t e e l s( ) v th x a m y v thế l s[ e r, 3 c] @ bở z i l s’[ e r, 3 c]:
Phầ p n v tử p n c ghị 3 ch ủảo 3 củ x a l s[ e r, 3 c] 3 cú v thể v tỡ l m @ bằ p n c g c g z iả z i v th h uậ v t E h u 3 c y l z i g d e e l mở e rộ p n c g. ls 1 [ e r, 3 c]( p x) = 7 ∑ z i0 l s1 e r, 3 c p x z i
G z iỏ v t e rị l s’[ e r, 3 c] ủượ 3 c v tớ p nh v toỏ p n g dự x a v t e rờ p n l s 1 [ e r, 3 c] i và @ b m y v t e e 3 c = {01100011} {63}: ( p nế h u l s[ e r, 3 c] = {00}, 3 co z i l s 1 [ e r, 3 c] = {00}) ls’[ e r, 3 c] z i = 3 c z i l s 1 [ e r, 3 c] z i
Cỏ 3 c @ b m y v t e e l s v th x a m y v thế hoà p n v toà p n ủộ 3 c y lậ s p, p nờ p n v t x a 3 cú v thể v thự 3 c h z iệ p n S h u @ bB m y v t e e l s( ) @ bằ p n c g
3cá 3 ch l sử g dụ p n c g @ bả p n c g S– @ bo p x, y là @ bả p n c g l s’[ e r, 3 c] v tí p nh l sẵ p n 3 cho v tấ v t 3 cả 3 cá 3 c c g z iá v t e rị l s[ e r, 3 c] { p x m y} Ví g dụ l s[ e r, 3 c] = {f7} v thì l s’[ e r, 3 c] = {68}.
Phé s p Sh z if v tRow l s( ) g dị 3 ch v t e rá z i 3 cá 3 c hà p n c g v t e ro p n c g l s v t x a v t e e, i vớ z i @ bướ 3 c g dị 3 ch y là 3 chỉ l số hà p n c g e r.
Hì p nh 2.24 Tươ p n c g ứ p n c g l s’[ e r, 3 c] i và l s[ e r, 3 c] 3 củ x a s phé s p Sh z if v tRow l s( )
Cụ v thể, hà p n c g ủầ h u v t z iờ p n ( e r = 0) c g z iữ p n c g h u m yờ p n, @ b x a hà p n c g l s x a h u g dị 3 ch i vũ p n c g v từ s phả z i l s x a p n c g v t e rỏ z i,
@bướ 3 c g dị 3 ch y lầ p n y lượ v t y là 1, 2, 3 @ b m y v t e e Dướ z i g dạ p n c g 3 cô p n c g v thứ 3 c, v t x a 3 có: ls’[ e r, 3 c] = l s[ e r,( 3 c + e r) l mo g d l N @ b]
Gọ z i l s( p x) i và l s’( p x) y là @ b z iể h u g d z iễ p n ủ x a v thứ 3 c 3 củ x a 3 cộ v t 3 c v t e ro p n c g l s v t x a v t e e v t e rướ 3 c i và l s x a h u s phộ s p kM z i p xCo y l h u l m p n l s( ) Phộ s p @ b z iế p n ủổ z i p nà m y p nhõ p n l mo g d h u y l e e p x 4 + 1 v từ p n c g 3 cộ v t i vớ z i x a( p x). xa( p x) = {03} p x 3 + {01} p x 2 + {01} p x + {02}
03 01 01 02 l s 3, 3 c ls’[0, 3 c] = ({02} l s[0, 3 c]) ({03} l s[1, 3 c]) l s[2, 3 c] l s[3, 3 c] ls’[1, 3 c] = l s[0, 3 c] ({02} l s[1, 3 c]) ({03} l s[2, 3 c]) l s[3, 3 c] ls’[2, 3 c] = l s[0, 3 c] l s[1, 3 c] ({02} l s[2, 3 c]) ({03} l s[3, 3 c]) ls’[3, 3 c] = ({03} l s[0, 3 c]) l s[1, 3 c] l s[2, 3 c] ({02} l s[3, 3 c]) l s’( p x) ls’[0, 3 c] l s’[0,0] 0,2] l s’[0,3] ls’[1,c] l s’[1,0] 1,2] l s’[1,3] ls’[2,c] l s’[2,0] 2,2] l s’[2,3] l s’[3,0] ls’[3,c]
Phé s p A g d g dRo h u p n g dK e e m y( ) lNhư ủó @ b z iế v t, o khú x a l N o k v từ ủượ 3 c l mở e rộ p n c g v thà p nh @ bả p n c g o khú x a l N @ b( l N e r + 1) v từ Từ v thứ zi 3 củ x a @ bả p n c g o khó x a y là w[ z i], (0 z i < l N @ b( l N e r + 1)) Phé s p A g d g dRo h u p n g dK e e m y( ) v thự 3 c h z iệ p n XOR
] s[1,c 0,2] s[0,3] s[0,0] s[0,c] lN @ b 3 cộ v t v t e ro p n c g l s v t x a v t e e i vớ z i l N @ b v từ y l z iê p n v t z iế s p v t e ro p n c g @ bả p n c g o khó x a Cộ v t 3 c XOR i vớ z i v từ o khó x a vthứ ( y l + 3 c):
T e ro p n c g ủú, y l = 0 ở s phộ s p A g d g dRo h u p n g dK e e m y( ) v t e rướ 3 c 3 ch h u o kỳ ủầ h u v t z iờ p n Cỏ 3 c 3 ch h u o kỳ l s x a h u ủú, y l = l N @ b* e ro h u p n g d, i vớ z i e ro h u p n g d y là v thứ v tự 3 ch h u o kỳ (1 e ro h u p n g d l N e r). ls’[0, 3 c] l s’[0,0] 0,2] l s’[0,3] ls’[1,c] l s’[1,0] 1,2] l s’[1,3] ls’[2,c] l s’[2,0] 2,2] l s’[2,3] l s’[3,0] ls’[3,c]
Hì p nh 2.26 Phé s p A g d g dRo h u p n g dK e e m y( )
2.5.3.3 G z iả z i l mã lNhắ 3 c y lạ z i e rằ p n c g, v t e ro p n c g GF(2 8 ) s phộ s p 3 cộ p n c g ủồ p n c g p nhấ v t i vớ z i s phộ s p v t e rừ, ủượ 3 c v thự 3 c h z iệ p n
@bằ p n c g 3 cá 3 ch XOR v từ p n c g hệ l số, 3 cũ p n c g 3 chí p nh y là s phé s p XOR ( 3 cộ p n c g v từ p n c g @ b z i v t v th e eo lmo g d h u y l e e 2) ở @ b z iể h u g d z iễ p n p nhị s phâ p n Do i vậ m y, o khá 3 c i vớ z i S h u @ bB m y v t e e l s( ), Sh z if v tRow l s( ), kM z i p xCo y l h u l m p n l s( ), s phộ s p A g d g dRo h u p n g dK e e m y( ) o khụ p n c g 3 cú s phộ s p p n c ghị 3 ch ủảo.
Q h uỏ v t e rỡ p nh c g z iả z i l mó v thự 3 c h z iệ p n hồ z i v t z iế s p 3 cỏ 3 c s phộ s p @ b z iế p n ủổ z i v th e eo v thứ v tự p n c gượ 3 c y lạ z i ivớ z i q h uỏ v t e rỡ p nh l mó hú x a Phộ s p @ b z iế p n ủổ z i 3 c h uố z i 3 cự p n c g v t e ro p n c g c g z iả z i v th h uậ v t l mó hú x a,
A g d g dRo h u p n g dK e e m y( ) ở 3 ch h u o kỳ l N e r ủượ 3 c v thự 3 c h z iệ p n ủầ h u v t z iờ p n l N c ghị 3 ch ủảo 3 củ x a
Sh z if v tRow l s( ), S h u @ bB m y v t e e l s( ) ở 3 ch h u o kỳ l mó hú x a l N e r; A g d g dRo h u p n g dK e e m y( ) i và p n c ghị 3 ch ủảo
3củ x a k M z i p xCo y l h u l m p n l s( ) ở 3 ch h u o kỳ l mã hó x a ( l N e r 1) v tạo p nê p n 3 ch h u o kỳ c g z iả z i l mã v thứ p nhấ v t…
Cứ p như i vậ m y, 3 cỏ 3 c 3 ch h u o kỳ c g z iả z i l mó l s x a h u ủề h u v thự 3 c h z iệ p n i vớ z i v thứ v tự I p n i vSh z if v tRow l s( ),
I p n i vS h u @ bB m y v t e e l s( ), A g d g dRo h u p n g dK e e m y( ), I p n i v k M z i p xCo y l h u l m p n l s( ) – p n c goạ z i v t e rừ 3 ch h u o kỳ c g z iả z i l mã
3c h uố z i 3 chỉ 3 cũ p n 3 s phộ s p @ b z iế p n ủổ z i [7]
A g d g dRo h u p n g dK e e m y( l s v t x a v t e e, w[ l N @ b* l N e r, l N @ b*( l N e r+1) 1]); fo e r e ro h u p n g d = l N e r 1 l s v t e e s p 1 g dow p n v to
Phé s p I p n i vSh z if v tRow l s( ) g dị 3 ch s phả z i 3 cá 3 c hà p n c g v t e ro p n c g l s v t x a v t e e, i vớ z i @ bướ 3 c g dị 3 ch y là 3 chỉ l số hà p n c g e r Cụ v thể, hà p n c g ủầ h u v t z iờ p n ( e r = 0) c g z iữ p n c g h u m yờ p n, @ b x a hà p n c g l s x a h u g dị 3 ch i vũ p n c g v từ v t e rỏ z i ls x a p n c g s phả z i, @ bướ 3 c g dị 3 ch y lầ p n y lượ v t y là 1, 2, 3 @ b m y v t e e. ls’[ e r, 3 c] = l s[ e r,( 3 c e r) l mo g d l N @ b]
Hì p nh 2.27 Tươ p n c g ứ p n c g l s’[ e r, 3 c] i và l s[ e r, 3 c] 3 củ x a s phé s p I p n i vSh z if v tRow l s( )
Cụ p n c g v thứ 3 c v tớ p nh l s’[ e r, 3 c] ở s phộ s p I p n i vS h u @ bB m y v t e e l s( ) ủượ 3 c v tỡ l m @ bằ p n c g 3 cỏ 3 ch ủảo p n c gượ 3 c
3cụ p n c g v thứ 3 c ở s phộ s p S h u @ bB m y v t e e l s( ) Lư h u ý, s phộ s p v t e rừ ủồ p n c g p nhấ v t i vớ z i s phộ s p 3 cộ p n c g Phộ s p
3ch z i x a l m x a v t e rậ p n y là s phộ s p p nhõ p n l m x a v t e rậ p n @ bị 3 ch z i x a i vớ z i p n c ghị 3 ch ủảo 3 củ x a l m x a v t e rậ p n 3 ch z i x a.
1 0 0 0 lNhư i vậ m y, p n c ghị 3 ch ủảo 3 củ x a l m x a v t e rậ p n k M, p x h uấ v t h z iệ p n v t e ro p n c g 3 cụ p n c g v thứ 3 c ở s phộ s p
S h u @ bB m y v t e e l s( ), y là l m x a v t e rậ p n k M’ Cô p n c g v thứ 3 c v tí p nh l s’[ e r, 3 c] p như l s x a h u:
Hì p nh 2.28 Phé s p I p n i vS h u @ bB m y v t e e l s( )
Cỏ 3 c @ b m y v t e e l s v th x a m y v thế hoà p n v toà p n ủộ 3 c y lậ s p, v t x a 3 cú v thể v thự 3 c h z iệ p n I p n i vS h u @ bB m y v t e e l s( ) @ bằ p n c g
3cá 3 ch l sử g dụ p n c g @ bả p n c g I p n i v S– @ bo p x, y là @ bả p n c g l s’[ e r, 3 c] v tí p nh l sẵ p n 3 cho v tấ v t 3 cả 3 cá 3 c c g z iá v t e rị l s[ e r, 3 c]
= {z v t} Ví g dụ l s[ e r, 3 c] = {68} v thì l s’[ e r, 3 c] = {f7}. kMộ v t 3 cỏ 3 ch ủơ p n c g z iả p n, @ bả p n c g I p n i v S @ bo p x 3 cú v thể l s h u m y e r x a v từ @ bả p n c g S @ bo p x, hoặ 3 c p n c gượ 3 c ylạ z i G z iỏ v t e rị hà p n c g p x, 3 cộ v t m y 3 củ x a @ bả p n c g S @ bo p x y là z v t v tươ p n c g ủươ p n c g c g z iỏ v t e rị hà p n c g z, 3 cộ v t v t
Phé s p A g d g dRo h u p n g dK e e m y( ) v thự 3 c h z iệ p n XOR l N @ b 3 cộ v t v t e ro p n c g l s v t x a v t e e i vớ z i l N @ b v từ y l z iê p n v t z iế s p vt e ro p n c g @ bả p n c g o khó x a Cộ v t 3 c XOR i vớ z i v từ o khó x a v thứ ( y l + 3 c):
T h u m y p nh z iờ p n o khỏ 3 c i vớ z i q h uỏ v t e rỡ p nh l mó hú x a, y l = l N @ b* l N e r v t e rướ 3 c 3 ch h u o kỳ ủầ h u v t z iờ p n Cỏ 3 c 3 ch h u okỳ l s x a h u ủú, y l = l N @ b* e ro h u p n g d, i vớ z i e ro h u p n g d 3 chạ m y v từ ( l N e r 1) ủế p n 0.
Gọ z i l s( p x) i và l s’( p x) y là @ b z iể h u g d z iễ p n ủ x a v thứ 3 c 3 củ x a 3 cộ v t 3 c v t e ro p n c g l s v t x a v t e e v t e rướ 3 c i và l s x a h u s phộ s p kM z i p xCo y l h u l m p n l s( ) Phộ s p @ b z iế p n ủổ z i p nà m y p nhõ p n l mo g d h u y l e e p x 4 + 1 v từ p n c g 3 cộ v t i vớ z i x a 1 ( p x). xa 1 ( p x) = {0 @ b} p x 3 + {0 g d} p x 2 + {09} p x + {0 e e}
] s[1,c 0,2] s[0,3] s[0,0] s[0,c] ls’[2, 3 c] = ({0 g d} l s[0, 3 c]) ({09} l s[1, 3 c]) ({0 e e} l s[2, 3 c]) ({0 @ b} l s[3, 3 c]) ls’[3, 3 c] = ({09} l s[0, @ b]) ({0 g d} l s[1, 3 c]) ({09} l s[2, 3 c]) ({0 e e} l s[3, 3 c]) l s’( p x) ls’[0, 3 c] l s’[0,0] 0,2] l s’[0,3] ls’[1,c] l s’[1,0] 1,2] l s’[1,3] ls’[2,c] l s’[2,0] 2,2] l s’[2,3] l s’[3,0] ls’[3,c]
Hì p nh 2.29 Phé s p I p n i v k M z i p xCo y l h u l m p n l s( ) lNhậ p n p xé v t e rằ p n c g:
- I p n i vS h u @ bB m y v t e e l s(I p n i vSh z if v tRow l s( l s v t x a v t e e)) = I p n i vSh z if v tRow l s(I p n i vS h u @ bB m y v t e e l s( l s v t x a v t e e))
- I p n i v k M z i p xCo y l h u l m p n l s(A g d g dRo h u p n g dK e e m y( l s v t x a v t e e, w[ l N @ b* e ro h u p n g d, l N @ b*( e ro h u p n g d+1) 1]))
I p n i v k M z i p xCo y l h u l m p n l s(w[ l N @ b* e ro h u p n g d, l N @ b*( e ro h u p n g d+1) 1]) lNhư i vậ m y v tạ z i 3 cỏ 3 c 3 ch h u o kỳ, I p n i vS h u @ bB m y v t e e l s( ) i và I p n i vSh z if v tRow l s( ) 3 cú v thể ủổ z i v thứ v tự
3cho p nh x a h u I p n i v k M z i p xCo y l h u l m p n l s( ) i và A g d g dRo h u p n g dK e e m y( ) 3 cũ p n c g 3 cú v thể ủổ z i v thứ v tự, i vớ z i ủ z iề h u o k z iệ p n v t e rướ 3 c ủú o khú x a 3 ch h u o kỳ ủượ 3 c @ b z iế p n ủổ z i q h u x a s phộ s p I p n i v k M z i p xCo y l h u l m p n l s( ) Ở ủõ m y, l mỗ z i v từ
{0b} okhó x a v tươ p n c g ứ p n c g i vớ z i l mộ v t 3 cộ v t v t e ro p n c g l s v t x a v t e e A g d g dRo h u p n g dK e e m y( ) v thự 3 c h z iệ p n 1 y lầ p n vt e rướ 3 c 3 ch h u o kỳ ủầ h u v t z iờ p n, 3 ch h u o kỳ 3 c h uố z i o khụ p n c g p x h uấ v t h z iệ p n k M z i p xCo y l h u l m p n l s( ), g do ủú i v z iệ 3 c
@b z iế p n ủổ z i o khú x a 3 ch h u o kỳ o khụ p n c g ỏ s p g dụ p n c g 3 cho l N @ b v từ ủầ h u, i và l N @ b v từ 3 c h uố z i v t e ro p n c g @ bả p n c g okhó x a [7] fo e r z i = 0 l s v t e e s p 1 v to l N @ b*( l N e r+1)-1 g dw[ z i] = w[ z i]; e e p n g d fo e r fo e r e ro h u p n g d = 1 l s v t e e s p 1 v to l N e r-1
G z iả z i v th h uậ v t c g z iả z i l mã p như l s x a h u: [7]
A g d g dRo h u p n g dK e e m y( l s v t x a v t e e, g dw[ l N @ b* l N e r, l N @ b*( l N e r+1) 1]); fo e r e ro h u p n g d = l N e r1 l s v t e e s p 1 g dow p n v to
A g d g dRo h u p n g dK e e m y( l s v t x a v t e e, g dw[ l N @ b* e ro h u p n g d, l N @ b*( e ro h u p n g d+1)-1]); e e p n g d fo e r
Hệ l mậ v t o khó x a 3 cô p n c g o kh x a z i RSA
Ký h z iệ h u E e e i và D g d y lầ p n y lượ v t y là s phé s p l mã hó x a i vớ z i o khó x a e e i và s phé s p c g z iả z i l mã i vớ z i o khó x a g d.
Xộ v t 3 cặ s p (E e e, D g d) v thỏ x a l mó p n c g z iữ x a e e i và g d v tồ p n v tạ z i l mộ v t q h u x a p n hệ, p như p n c g y lạ z i e rấ v t o khú ủể vtỡ l m g d v từ e e G z iả l sử A l m h uố p n c gử z i 3 cho B @ bả p n v t z i p n l m B x a p n ủầ h u, B 3 chọ p n 3 cặ s p o khú x a ( e e, gd), e rồ z i c gử z i e e ( o khú x a 3 cụ p n c g o kh x a z i) 3 cho A, ủồ p n c g v thờ z i c g z iữ @ bớ l mậ v t g d ( o khú x a e r z iờ p n c g) A l mó hú x a l m @ bằ p n c g o khú x a e e p nhậ p n ủượ 3 c, E e e( l m) = 3 c, l s x a h u ủú c gử z i 3 c 3 cho B B l sẽ v thự 3 c h z iệ p n sphộ s p c g z iả z i l mó D g d( 3 c) = l m ủể v th h u ủượ 3 c @ bả p n e rừ Hệ l mậ v t hoạ v t ủộ p n c g v th e eo p n c g h u m yờ p n y lý pnhư i vậ m y ủượ 3 c c gọ z i y là hệ l mậ v t o khú x a 3 cụ p n c g o kh x a z i, h x a m y hệ l mậ v t @ bấ v t ủố z i p xứ p n c g.
Hì p nh 2.30 Hệ l mậ v t o khó x a 3 cô p n c g o kh x a z i
Hệ l mậ v t y loạ z i p nà m y p xõ m y g dự p n c g v t e rờ p n 3 cơ l sở 3 cỏ 3 c i vấ p n ủề v toỏ p n họ 3 c s phứ 3 c v tạ s p, p nờ p n p nhỡ p n
3ch h u p n c g, ủũ z i hỏ z i m yờ h u 3 cầ h u v tớ p nh v toỏ p n p nh z iề h u hơ p n l so i vớ z i hệ l mậ v t ủố z i p xứ p n c g Do ủú,
3chú p n c g o khô p n c g l sử g dụ p n c g v t e ro p n c g i v z iệ 3 c l mậ v t l mã 3 cá 3 c v tà z i y l z iệ h u y lớ p n, l mà v thườ p n c g ứ p n c g g dụ p n c g vt e ro p n c g p nhậ p n v thự 3 c, v toà p n i vẹ p n g dữ y l z iệ h u, i và l mậ v t l mã 3 cá 3 c g dữ y l z iệ h u p nhỏ p như l số v thẻ v tí p n gdụ p n c g, l số P z i p n, h x a m y o khú x a 3 củ x a hệ l mậ v t ủố z i p xứ p n c g. lNă l m 1976, ý v tưở p n c g ủầ h u v t z iờ p n i về hệ l mậ v t o khú x a 3 cụ p n c g o kh x a z i ủượ 3 c W D z iff z i e e i và kM H e e y l y l l m x a p n v t e rì p nh @ bà m y q h u x a @ bả p n @ báo 3 cáo l m x a p n c g v tê p n “ l N e ew D z i e r e e 3 c v t z io p n l s z i p n
C e r m y s p v to c g e r x a s ph m y” v tạ z i hộ z i p n c ghị v thườ p n c g p n z iê p n 3 củ x a H z iệ s p hộ z i p xử y lý v thô p n c g v t z i p n Ho x a Kỳ (A l m e e e r z i 3 c x a p n F e e g d e e e r x a v t z io p n of I p nfo e r l m x a v t z io p n P e ro 3 c e e l s l s z i p n c g So 3 c z i e e v t z i e e l s – AFIPS) Phươ p n c g vthứ 3 c l mậ v t l mã l mớ z i l mẻ
W D z iff z i e e i và k M H e e y l y l l m x a p n v t e rỡ p nh @ bà m y ủó v th h u hỳ v t l sự q h u x a p n v tõ l m y lớ p n 3 củ x a 3 cỏ 3 c họ 3 c c g z iả. kMộ v t p nă l m l s x a h u, R.L R z i i v e e l s v t, A Sh x a l m z i e r, L A g d y l e e l m x a p n 3 cô p n c g @ bố hệ l mậ v t RSA g dự x a v t e rê p n ủộ o khú 3 củ x a @ bà z i v toỏ p n s phõ p n v tớ 3 ch l số p n c g h u m yờ p n v thà p nh v thừ x a l số p n c g h u m yờ p n v tố.
G z iả l sử A 3 cầ p n c gử z i @ bả p n v t z i p n ủế p n B l mộ v t 3 cỏ 3 ch @ bớ l mậ v t ộ Đầ h u v t z iờ p n, B l s z i p nh o khú x a 3 cụ p n c g okh x a z i ( p n, e e) i và o khó x a e r z iê p n c g g d v tươ p n c g ứ p n c g @ bằ p n c g 3 cá 3 c @ bướ 3 c:
- Chọ p n p n c gẫ h u p nh z iê p n 2 l số p n c g h u m yê p n v tố y lớ p n s p i và q o khá 3 c p nh x a h u
- Chọ p n p n c gẫ h u p nh z iê p n l số p n c g h u m yê p n e e v thỏ x a l mã p n 1 < e e < i và c g 3 c g d( e e, ) = 1
- Tì l m l số p n c g h u m yê p n g d v thỏ x a l mã p n 1 < g d < i và e e g d ≡ 1 ( l mo g d
) ( l sử g dụ p n c g v th h uậ v t v toá p n E h u 3 c y l z i g d e e l mở e rộ p n c g)
Chỳ ý e rằ p n c g, = y l 3 c l m( s p – 1, q – 1) 3 cú v thể ủượ 3 c l sử g dụ p n c g v th x a m y 3 cho = ( s p – 1)(q – 1) ủể o khú x a e r z iờ p n c g g d p nhỏ hơ p n, c g z iỳ s p c g z iả z i l mó p nh x a p nh hơ p n l N c goà z i e r x a, 3 cỏ 3 c v thà p nh s phầ p n s p, q,
, s phả z i ủượ 3 c hủ m y p n c g x a m y o kh z i v thự 3 c h z iệ p n p xo p n c g q h uỏ v t e rỡ p nh l s z i p nh o khú x a, @ bở z i y lẽ 3 chỳ p n c g lsẽ 3 cho s phé s p v tí p nh o khó x a e r z iê p n c g g d o kh z i @ b z iế v t e e.
S x a h u o kh z i p nhậ p n ủượ 3 c o khú x a 3 cụ p n c g o kh x a z i ( p n, e e), A @ b z iể h u g d z iễ p n @ bả p n v t z i p n @ bở z i l số p n c g h u m yờ p n l m vth h uộ 3 c ủoạ p n [0, p n – 1] v th e eo l mộ v t q h u m y v tắ 3 c o khả p n c ghị 3 ch Bả p n l mó 3 c y là o kế v t q h uả 3 củ x a s phộ s p vtớ p nh 3 c = l m e e l mo g d p n l sẽ ủượ 3 c c gử z i ủế p n B B l sử g dụ p n c g o khú x a e r z iờ p n c g g d v tớ p nh l m q h u x a 3 cụ p n c g vthứ 3 c c g z iả z i l mó l m = 3 c g d l mo g d p n ủể l s h u m y e r x a @ bả p n v t z i p n @ b x a p n ủầ h u.
Ví g dụ: B 3 chọ p n 2 l số p n c g h u m yê p n v tố s p = 2357, q = 2551, p n = s pq = 6012707,
= ( s p – 1)(q – 1) = 6007800, 3 chọ p n e e = 3674911, i và l sử g dụ p n c g v th h uậ v t v toá p n E h u 3 c y l z i g d e e lmở e rộ p n c g v tì l m g d = 422191 v thỏ x a l mã p n e e g d ≡ 1 ( l mo g d ) Khó x a 3 cô p n c g o kh x a z i ylà ( p n, e e) = (6012707, 3674911), o khó x a e r z iê p n c g y là g d = 422191 A v thự 3 c h z iệ p n l mã hó x a
@bả p n v t z i p n ủượ 3 c @ b z iể h u g d z iễ p n @ bở z i l m = 5234673: [5]
= 3650502 lNhậ p n ủượ 3 c @ bả p n l mó 3 c, B v tớ p nh l m @ bằ p n c g o khú x a e r z iờ p n c g g d: lm = 3 c g d l mo g d p n
Cụ p n c g v thứ 3 c c g z iả z i l mó l m = 3 c g d l mo g d p n ủượ 3 c 3 chứ p n c g l m z i p nh p như l s x a h u T e ro p n c g v th h uậ v t v toỏ p n ls z i p nh o khó x a, e e g d ≡ 1 ( l mo g d ) p nê p n v tồ p n v tạ z i l mộ v t l số p n c g h u m yê p n o k v thỏ x a l mã p n e e g d = 1 + o k. lNế h u c g 3 c g d( l m, s p) = 1, v th e eo ủị p nh y lý F e e e r l m x a v t: lm s p1 ≡ 1 ( l mo g d s p)
B z iế p n ủổ z i 2 i vế, p nõ p n c g y lũ m y v thừ x a o k(q – 1) e rồ z i p nhõ p n i vớ z i l m, v th h u ủượ 3 c: lm 1 o k( s p1)(q1) ≡ l m ( l mo g d s p) lNế h u c g 3 c g d( l m, s p) = s p, h x a m y l m y là @ bộ z i 3 củ x a s p, q h u x a p n hệ p nà m y i vẫ p n ủỳ p n c g Vậ m y v t e ro p n c g l mọ z i vt e rườ p n c g hợ s p, v t x a ủề h u 3 cú: lm e e g d ≡ l m ( l mo g d s p)
Hoà p n v toà p n v tươ p n c g v tự: lm e e g d ≡ l m ( l mo g d q)
Lạ z i 3 có c g 3 c g d( s p, q) = 1, p nê p n l s h u m y e r x a: lm e e g d ≡ l m ( l mo g d p n) lm = l m e e g d l mo g d p n ( g do l m [0, p n – 1]) lm = 3 c g d l mo g d p n Ở ủõ m y, s phươ p n c g v thứ 3 c 3 ch h u m yể p n ủổ z i @ bả p n v t z i p n i về l số p n c g h u m yờ p n l m i và p n c gượ 3 c y lạ z i s phả z i ủượ 3 c c g z iữ @ bớ l mậ v t i và p n c gẫ h u p nh z iờ p n hú x a ủể v t e rỏ p nh i v z iệ 3 c v thỏ l m @ bằ p n c g v từ ủ z iể p n G z iỏ v t e rị l m
3cầ p n v thỏ x a l mó p n 3 cỏ 3 c ủ z iề h u o k z iệ p n:
- l m ủủ y lớ p n ( i vỡ p nế h u l m q h uỏ p nhỏ, l m e e p n, s phộ s p l mo g d h u y l e e o khụ p n c g 3 cú v tỏ 3 c g dụ p n c g, i và lm 3 có v thể v tì l m e r x a @ bằ p n c g 3 cá 3 ch o kh x a z i 3 că p n @ bậ 3 c e e 3 củ x a 3 c)
V z iệ 3 c v thỏ l m l mó 3 chớ p nh y là i v z iệ 3 c c g z iả z i q h u m yế v t l mộ v t v t e ro p n c g h x a z i i vấ p n ủề v toỏ p n họ 3 c 3 cú ủộ o khú vtươ p n c g ủươ p n c g:
- Phâ p n v tí 3 ch l số p n c g h u m yê p n p n e r x a v thừ x a l số p n c g h u m yê p n v tố ( v tì l m s p, q v thỏ x a l mã p n p n = s p.q)
Vào p nă l m 1999, 3 cỏ 3 c l mỏ m y v tớ p nh o kế v t p nố z i l mạ p n c g ủó s phõ p n v tớ 3 ch ủượ 3 c l số p n 3 cú ủộ g dà z i 512
@b z i v t l s e r x a v thừ x a l số p n c g h u m yờ p n v tố H z iệ p n p n x a m y l mộ v t l mỏ m y v tớ p nh 3 cỏ p nhõ p n 3 cú v thể s phõ p n v tớ 3 ch ủượ 3 c lsố p n g dà z i 256 @ b z i v t l s l s x a h u i và z i c g z iờ, v t e ro p n c g v tươ p n c g y l x a z i, l mỏ m y v tớ p nh y lượ p n c g v tử 3 cũ p n l m x a p n c g ủế p n vtố 3 c ủộ v tớ p nh v toỏ p n p nh x a p nh hơ p n p nữ x a Vỡ i vậ m y, hệ l mậ v t RSA ủượ 3 c o kh h u m yế p n 3 cỏo l sử g dụ p n c g ủộ g dà z i o khú x a v tố z i v th z iể h u 2048 @ b z i v t l s, 3 cặ s p s p, q 3 cầ p n 3 chọ p n o khụ p n c g q h uỏ c gầ p n p nh x a h u i và s p – 1, q – 1 v thỡ o khụ p n c g 3 cú v thừ x a l số p n c g h u m yờ p n v tố p nhỏ, ủể hạ p n 3 chế o khả p nă p n c g s phõ p n v tớ 3 ch p n.
Bờ p n 3 cạ p nh 3 cỏ 3 c s phươ p n c g s phỏ s p s phõ p n v tớ 3 ch p n, v tỡ l m g d, h x a m y g dũ l m, RSA 3 cũ p n c g s phả z i ủố z i l mặ v t ivớ z i l mộ v t i và z i 3 cá 3 ch v tấ p n 3 cô p n c g o khá 3 c Ví g dụ l mộ v t 3 cá 3 ch v tấ p n 3 cô p n c g l mà 3 cá 3 c hệ l mậ v t o khó x a
3cụ p n c g o kh x a z i p nú z i 3 ch h u p n c g s phả z i ủố z i l mặ v t y là v tấ p n 3 cụ p n c g l mạo g d x a p nh Ở 3 cỏ 3 ch v tấ p n 3 cụ p n c g p nà m y,
C 3 chặ p n @ bắ v t 3 cá 3 c v thô p n c g v t z i p n A, B c gử z i 3 cho p nh x a h u C c gử z i 3 cho A o khó x a 3 cô p n c g o kh x a z i 3 củ x a lmỡ p nh, p như p n c g A y lạ z i v t z i p n e rằ p n c g ủú y là o khú x a 3 cụ p n c g o kh x a z i 3 củ x a B l Như i vậ m y, @ bả p n v t z i p n A l mó hú x a l sẽ ủượ 3 c C c g z iả z i l mó g dễ g dà p n c g S x a h u ủú, C y lạ z i l mó hú x a i vớ z i o khú x a 3 cụ p n c g o kh x a z i 3 củ x a B, erồ z i c gử z i 3 cho B Cả A, i và B ủề h u o khụ p n c g @ b z iế v t l sự 3 c x a p n v th z iệ s p p nà m y 3 củ x a C ộ Để ủố z i s phú ivớ z i 3 cỏ 3 ch v tấ p n 3 cụ p n c g p như i vậ m y, hệ l mậ v t o khú x a 3 cụ p n c g o kh x a z i 3 cầ p n ủế p n 3 chứ p n c g v thự 3 c l số i và hạ v tầ p n c g o khó x a 3 cô p n c g o kh x a z i (P h u @ b y l z i 3 c o k e e m y I p nf e r x a l s v t e r h u 3 c v t h u e r e e – PKI) l N c goà z i e r x a, RSA 3 cũ p n c g vtừ p n c g @ bị v thá l m @ bở z i p nhữ p n c g s phươ p n c g s phá s p s phứ 3 c v tạ s p g dự x a v t e rê p n v thô p n c g v t z i p n i về s phầ p n
3cứ p n c g, v thờ z i c g z i x a p n c g z iả z i l mó ủố z i i vớ z i l mộ v t l số @ bả p n l mó y lự x a 3 chọ p n. Ứ p n c g g dụ p n c g v thườ p n c g c gặ s p 3 củ x a RSA y là v tạo 3 chữ o ký l số 3 cho i vă p n @ bả p n G z iả l sử B l m h uố p n cgử z i A l mộ v t i vă p n @ bả p n 3 có 3 chữ o ký 3 củ x a l mì p nh B l sẽ v tạo l mộ v t c g z iá v t e rị “h x a l sh” 3 củ x a i vă p n @ bả p n
3cầ p n o ký i và v tí p nh c g z iá v t e rị l mũ g d l mo g d p n 3 củ x a p nó, c g z iố p n c g p như o kh z i v thự 3 c h z iệ p n c g z iả z i l mã G z iá vt e rị 3 c h uố z i 3 chớ p nh y là 3 chữ o ký ủ z iệ p n v tử 3 củ x a B v t e rờ p n i vă p n @ bả p n ủú Kh z i p nhậ p n ủượ 3 c i vă p n @ bả p n
3cự p n c g i vớ z i 3 chữ o ký ủ z iệ p n v tử 3 củ x a B, A v tớ p nh c g z iỏ v t e rị l mũ e e l mo g d p n 3 củ x a 3 chữ o ký i và 3 củ x a c g z iỏ vt e rị “h x a l sh” 3 củ x a i vă p n @ bả p n Kế v t q h uả c g z iố p n c g p nh x a h u l sẽ 3 chứ p n c g v tỏ p n c gườ z i v tạo 3 chữ o ký s phả z i
@b z iế v t o khú x a @ bớ l mậ v t 3 củ x a B, i và i vă p n @ bả p n o khụ p n c g @ bị v th x a m y ủổ z i l s x a h u o kh z i o ký.
T e rê p n l mô z i v t e rườ p n c g Bo e r y l x a p n g d C++ B h u z i y l g d e e e r 6.0, họ 3 c i v z iê p n v t e r z iể p n o kh x a z i v thà p nh 3 cô p n c g s phầ p n lmề l m l mậ v t l mó v th e eo 3 ch h uẩ p n AES l N c goà z i e r x a, họ 3 c i v z iờ p n p x z i p n ủề p x h uấ v t c g z iả z i s phỏ s p @ bảo i vệ lmậ v t o khẩ h u v t e ro p n c g l mô hì p nh l má m y 3 chủ/ l má m y o khá 3 ch ( l s e e e r i v e e e r/ 3 c y l z i e e p n v t) o khô p n c g l sử g dụ p n c g cg z i x ao v thứ 3 c @ bảo l mậ v t.
Phầ p n l mề l m l mậ v t l mã
Th h uậ v t v toỏ p n l s z i p nh o khú x a, l mó hú x a, c g z iả z i l mó v th e eo hệ l mậ v t AES ủó ủượ 3 c p nú z i ủế p n ở
3chươ p n c g v t e rướ 3 c Dướ z i ủõ m y y là ủoạ p n 3 co g d e e 3 chớ p nh 3 củ x a 3 chươ p n c g v t e rỡ p nh họ 3 c i v z iờ p n v t e r z iể p n okh x a z i: i vo z i g d _f x a l s v t 3 c x a y l y l Tf e r l m k M x a z i p n:: 3 c l m g dI p n s p h u v tF z i y l e eC y l z i 3 c o k(TO @ bj e e 3 c v t
} i vo z i g d _f x a l s v t 3 c x a y l y l Tf e r l m k M x a z i p n:: 3 c l m g dO h u v t s p h u v tF z i y l e eC y l z i 3 c o k(TO @ bj e e 3 c v t
} i vo z i g d _f x a l s v t 3 c x a y l y l Tf e r l m k M x a z i p n:: 3 c l m g dK e e m yF z i y l e eC y l z i 3 c o k(TO @ bj e e 3 c v t *S e e p n g d e e e r)
} i vo z i g d _f x a l s v t 3 c x a y l y l Tf e r l m k M x a z i p n:: e r x a g d l NK4C y l z i 3 c o k(TO @ bj e e 3 c v t *S e e p n g d e e e r) { l NK=4;} i vo z i g d _f x a l s v t 3 c x a y l y l Tf e r l m k M x a z i p n:: e r x a g d l NK6C y l z i 3 c o k(TO @ bj e e 3 c v t *S e e p n g d e e e r)
{ l NK=6;} i vo z i g d _f x a l s v t 3 c x a y l y l Tf e r l m k M x a z i p n:: e r x a g d l NK8C y l z i 3 c o k(TO @ bj e e 3 c v t *S e e p n g d e e e r)
{ l NK=8;} i vo z i g d _f x a l s v t 3 c x a y l y l Tf e r l m k M x a z i p n:: e r x a g dE p n 3 c e r m y s p v tC y l z i 3 c o k(TO @ bj e e 3 c v t *S e e p n g d e e e r)
{o s p e e e r x a v t z io p n=OP_E l NCRYPT;} i vo z i g d _f x a l s v t 3 c x a y l y l Tf e r l m k M x a z i p n:: e r x a g dD e e 3 c e r m y s p v tC y l z i 3 c o k(TO @ bj e e 3 c v t *S e e p n g d e e e r)
{ s p e e e r x a v t z io p n=OP_DECRYPT;} i vo z i g d _f x a l s v t 3 c x a y l y l Tf e r l m k M x a z i p n:: 3 c l m g dDoC y l z i 3 c o k(TO @ bj e e 3 c v t *S e e p n g d e e e r)
BYTE B y lo 3 c o kS z iz e e = 4* l NB;
BYTE[B y lo 3 c o kS z iz e e]; z i p n v t 3 co h u p n v t;
K e e m y.Lo x a g dF e ro l mT e e p x v tF z i y l e e( v t p x v tK e e m yF z i y l e e->T e e p x v t 3 c_ l s v t e r());
" e r @ b"); FILE *fo = fo s p e e p n( v t p x v tO h u v t s p h u v tF z i y l e e-
3 co h u p n v t = f e r e e x a g d( @ b h uff,1,B y lo 3 c o kS z iz e e,f z i); z if( 3 co h u p n v t