Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
177,5 KB
Nội dung
ch ng 7ươ các h m hashà 7.1 các ch kí v h m hash.ũ à à B n c có th th y r ng các s d ch kí trong ch ng 6 ch cho ạ đọ ể ấ ằ ơ ồ ữ ươ ỉ phép kí các b c i n nh .Ví d , khi dùng DSS, b c i n 160 bit s c ứ đ ệ ỏ ụ ứ đ ệ ẽ đượ kí b ng ch kí d i 320 bít. Trên th c t ta c n các b c i n d i h n nhi u.ằ ữ à ự ế ầ ứ đ ệ à ơ ề Ch ng h n, m t t i li u v pháp lu t có th d i nhi u Megabyte.ẳ ạ ộ à ệ ề ậ ể à ề M t cách n gi n g i b i toán n y l ch t các b c i n d i ộ đơ ả để ả à à à ặ ứ đ ệ à th nh nhi u o n 160 bit, sau ó kí lên các o n ó c l p nhau. i u à ề đ ạ đ đ ạ đ độ ậ Đ ề n y c ng t ng t nh mã m t chuô d i b n rõ b ng cách mã c a m i kí à ũ ươ ự ư ộ ĩ à ả ằ ủ ỗ t b n rõ c l p nhau b ng cùng m t b n khoá. (Ví d : ch ECB ự ả độ ậ ằ ộ ả ụ ế độ trong DES). Bi n pháp n y có m t s v trong vi c t o ra các ch kí s . ệ à ộ ố ấ đề ệ ạ ữ ố Tr c h t, v i m t b c i n d i, ta k t thúc b ng m t ch kí r t l n ( d i ướ ế ớ ộ ứ đ ệ à ế ằ ộ ữ ấ ớ à g p ôi b c i n g c trong tr ng h p DSS). Nh c i m khác l các s ấ đ ứ đ ệ ố ườ ợ ượ đ ể à ơ ch kí “an to n” l i ch m vì chúng dùng các pháp s h c ph c t p nhđồ ữ à ạ ậ ố ọ ứ ạ ư s m modulo. Tuy nhiên, v n nghiêm tr ng h n v i phép toán n y l ố ũ ấ đề ọ ơ ớ à à búc i n ã kí có th b s p x p l i các o n khác nhau,ho c m t s o nđ ệ đ ể ị ắ ế ạ đ ạ ặ ộ ố đ ạ trong chúng có th b lo i b v b c i n nh n c v n ph i xác minh ể ị ạ ỏ à ứ đ ệ ậ đượ ẫ ả c. Ta c n b o v s nguyên v n c a to n b b c i n v i u n y đượ ầ ả ệ ự ẹ ủ à ộ ứ đ ệ à đ ề à không th th c hi n c b ng cách kí c l p t ng m u nh c a chúng. ể ự ệ đượ ằ độ ậ ừ ẩ ỏ ủ Gi i pháp cho t t c các v n n y l dùng h m Hash mã khoá công ả ấ ả ấ đề à à à khai nhanh. H m n y l y m t b c i n có d i tu ý v t o ra m t b n à à ấ ộ ứ đ ệ độ à ỳ à ạ ộ ả tóm l c thông báo có kích th c qui nh (160 bit n u dùng DSS).ượ ướ đị ế Sau ó b n tóm l c thông báo s c kí. V i DSS, vi c dùng h m đ ả ượ ẽ đượ ơ ệ à Hash c bi u di n trê hình 7.1.đượ ể ễ Khi Bob mu n kí b c i n x, tr c tiên anh ta xây d ng m t bnr tóm ố ứ đ ệ ướ ự ộ l c thông báo z = h(x) v sau ó tính y = sigượ à đ K (z ). Bob truy n c p ( x, y) ề ặ trên kênh. Xét th y có th th c hi n xác minh (b i ai ó ) b ng cách tr c ấ ể ự ệ ở đ ằ ướ h t khôi ph c b n tóm l c thông báo z =h (x) b ng h m h công khai v ế ụ ả ượ ằ à à sau ó ki m tra xem verđ ể k (x,y) có = true, hay không. Hình 7.1.Kí m t b n tóm l c thông báo ộ ả ượ B c i n :x d i tu ýứ đ ệ độ à ỳ ↓ b n tóm l c thông báo:z = h (x) 160 bitả ượ ↓ Ch kí y = sig ữ K (z) 320 bit 7.2. h m hash không va ch m à ạ Chúng ta c n chú ý r ng,vi c dùng h m hash h không l m gi m s an ầ ằ ệ à à ả ự to n c a s ch kí vì nó l b n tóm l c thông báo c ch kí à ủ ơ đồ ữ à ả ượ đượ ữ không ph i l b c i n. i u c n thi t i v i h l c n tho mãn m t s ả à ứ đ ệ Đ ề ầ ế đố ớ à ầ ả ộ ố tinhs ch t n o ó tranh s gi m o. ấ à đ để ự ả ạ Ki u t n công thông th ng nh t l Oscar b t u b ng m t b c di n ể ấ ườ ấ à ắ đầ ằ ộ ứ ệ c kí h p l (x, y), y =sigđượ ợ ệ K (h (x)),(C p (x, y) l b c i n b t kì c ặ à ứ đ ệ ấ đượ Bob kí tr c ó). Sau ó anh ta tính z = h(x) v th tìm x ướ đ đ à ử ≠ x ’ sao cho h(x ’ ) = h(x). N u Oscar l m c nh v y, (xế à đượ ư ậ ’ , y) s l b c i n kí h p l , t c ẽ à ứ đ ệ ợ ệ ứ m t b c i n gi m o. tránh ki u t n công n y, h c n tho mãn tính ộ ứ đ ệ ả ạ Để ể ấ à ầ ả không va ch m nh sau:ạ ư nh ngh a 7.1Đị ĩ H m hash h l h m không va ch m y u n u khi cho tr c m t b c à à à ạ ế ế ướ ộ ứ i n x, không th ti n h nh v m t tính toán tìm m t b c i n x đ ệ ể ế à ề ặ để ộ ứ đ ệ ≠ x ’ sao cho h (x ’ ) = h(x). M t t n công ki u khác nh sau: Tr c h t Oscar tìm hai b c i n x ộ ấ ể ư ướ ế ứ đ ệ ≠ x ’ sao cho h(x) =h(x ’ ). Sau ó Oscar a x cho Bob v thy t ph c Bob kí b nđ đư à ế ụ ả tóm l c thông báo h(x) nh n c y. Khi (xượ để ậ đượ đố ’ ,y) l thông báo (b c à ứ i n ) gi m o h p l .đ ệ ả ạ ợ ệ ây l lí do a ra m t tính ch t không va ch m khác.Đ à đư ộ ấ ạ nh ngh a 7.2.Đị ĩ H m Hash h l không va ch m m nh n u không có kh n ng tính toánà à ạ ạ ế ả ă tìm ra b c iênk x v xđể ứ đ à ’ sao cho x ≠ x ’ v h(x) = h(xà ’ ). Nh n xét r ng: không va ch m m nh bao h m va ch m y u. ậ ằ ạ ạ à ạ ế Còn ây l ki u t n công th 3: Nh ã nói ph n 6.2 vi c gi m o đ à ể ấ ứ ư đ ở ầ ệ ả ạ các ch kí trên b n tóm l c thông báo z ng u nhiên th ng x y ra v i s ữ ả ượ ẫ ườ ả ớ ơ ch kí. Gi s Oscar tính ch kí trên b n tóm l c thông báo z ng u đồ ữ ả ử ữ ả ượ ẫ nhiên nh v y. Sau ó anh ta tìm x sao cho z= h(x). N u l m c nh v y ư ậ đ ế à đượ ư ậ thì (x,y) l b c i n gi m o h p l . tránh c t n công n y, h c n à ứ đ ệ ả ạ ợ ệ Để đượ ấ à ầ tho mãn tính ch t m t chi u (nh trong h mã khoá công khai v s ả ấ ộ ề ư ệ à ơ đồ Lamport). nh ngh a 7.3.Đị ĩ H m Hash h l m t chi u n u khi cho tr c m t b n tóm l c thông báoà à ộ ề ế ướ ộ ả ượ z, không th th c hi n v m t tính toán tìm b c i n x sao cho h(x) = z.ể ự ệ ề ặ để ứ đ ệ Bây gi ta s ch ng minh r ng, tính ch t không va ch m m nh bao h m ờ ẽ ứ ằ ấ ạ ạ à tính m t chi u b ng ph n ch ng. c bi t ta s ch ng minh r ng, có th ộ ề ằ ả ứ Đặ ệ ẽ ứ ằ ể dùng thu t toán o v i h m Hash nh m t ch ng trình con (gi nh ) ậ đả ớ à ư ộ ươ ả đị trong thu t toán xác su t Las Vegas tìm các va ch m.ậ ấ để ạ S rút g n n y có th th c hi n v i m t gi thi t y u v kích th c ự ọ à ể ự ệ ớ ộ ả ế ế ề ướ t ng i c a vùng v mi n (domain and range) c a h m Hash. Ta c ng s ươ đố ủ à ề ủ à ũ ẽ gi thi t ti p l h m Hash h: Xả ế ế à à →Z, X,Z l các t p h u h n v à ậ ữ ạ à X ≥ 2Z. ây l gi thi t h p lí :N u xem m t ph n t c a X c mã nh Đ à ả ế ợ ế ộ ầ ử ủ đượ ư m t xâu bít có d i logộ độ à 2 X v ph n t c a Z c mã hoá nh m t à ầ ử ủ đượ ư ộ xâu bít có d i logđộ à 2 X thì b n tóm l c thông báo z = h(x) ít nh t c ngả ượ ấ ũ ng n h n b c i n x m t bít (ta s quan tâm n tình hu ng vùng X l vô ắ ơ ứ đ ệ ộ ẽ đế ố à h n vì khi ó có th xem xét các b c i n d i tu ý. L p lu n ó c a ta ạ đ ể ứ đ ệ à ỳ ậ ậ đ ủ c ng áp d ng cho tình hu ng n y).ũ ụ ố à Ti p t c gi thi t l ta có m t thu t toán o i v i h, ngh a l có ế ụ ả ế à ộ ậ đả đố ớ ĩ à m t thu t toán A ch p nh n nh u v o b n tóm l c thông báo zộ ậ ấ ậ ư đầ à ả ượ ∈Z v à tìm m t ph n t A(z) ộ ầ ử ∈ X sao cho h(A(z)) = z. Ta s ch ng minh ng lí d i ây:ẽ ứ đị ướ đ nh lí 7.1:Đị Gi s h: Xả ử →Z l h m Hash, trong ó à à đ XvàZ h u h n v ữ ạ à X≥ 2Z. Cho A l thu t toán o i v i h. Khi ó t n t i m t thu t toán Las à ậ đả đố ớ đ ồ ạ ộ ậ Vagas xác su t tìm c m t va ch m i v i h v i xác su t ít nh t l 1/2.ấ đượ ộ ạ đố ớ ớ ấ ấ à Ch ng minh :ứ Xét thu t toán B a ra trong hình 7.2. Rõ r ng B l m t thu t toán ậ đư à à ộ ậ xác su t ki u Las Vegas vì nó ho c tìm th y m t va ch m, ho c cho câu trấ ể ạ ấ ộ ạ ặ ả l i không. V n còn l i l ta ph i t nh xac su t th nh công, V i x b t k ờ ấ đề ạ à ả ị ấ à ớ ấ ỳ thu c X, nh ngh a x ộ đị ĩ ∼ x 1 n u h(x) = h(xế 1 ). D th y r ng, ễ ấ ằ ∼ l quan h à ệ t ng ng. Ta nh ngh a:ươ đươ đị ĩ [x] = {x 1 ∈X: x ∼x 1 } M i l p t ng ng [x] ch a nh o c a m t ph n t thu c Z nên s ỗ ớ ươ đươ ứ ả đả ủ ộ ầ ử ộ ố các l p t ng ng nhi u nh t l ớ ươ đươ ề ấ à Z. Kí hi u t p các l p t ng ệ ậ ớ ươ ng l C. đươ à Bây gi gi s , x l ph n t ờ ả ử à ầ ử ∈X c ch n trong b c 1. V i giá tr đượ ọ ướ ớ ị x n y, s cóà ẽ [x]giá tr xị 1 có th cho phép tr l i b c 3. ể ở ạ ướ [x]-1 các giá tr xị 1 n y khác v i x v nh v y b c 4 th nh công. (Chú ý r ng thu t à ớ à ư ậ ướ à ằ ậ thoán A không bi t bi u di n các l p t ng ng [x] ã chon trong b c ế ể ễ ớ ươ đươ đ ướ 1). Nh v y, khi cho tr c l a ch n c th xư ậ ướ ự ọ ụ ể ∈X, xác su t th nh công l ấ à à ([x)-1/[x]. Hình.7.2 Dùng thu t toán o A tìm các va ch m cho h m Hashậ đả để ạ à 1.ch n m t ssó ng u nhiên x ọ ộ ẫ ∈X 2.Tính z=h(x) 3.Tinh x 1 = A(Z) 4. if x 1 ≠ x then x v xà 1 va ch m d i h (th nh công)ạ ướ à else Quit (sai) Xác su t th nh công c a thu t toán B b ng trung bình c ng t t c các ấ à ủ ậ ằ ộ ấ ả l a chon x có th :ự ể P(th nh công) = (1/à X)∑ x ∈ X ([x]-1)/[x] = (1/X) ∑ c ∈ C ∑ x ∈ C (c-1)/c = 1/X∑ c ∈ C (c-1) = (1/X) ∑ c ∈ C c - ∑ c ∈ C 1 >= (X -Z) / X >= ((X -Z)/2) /X = ẵ Nh v y, ta ã xây d ng thu t toán Las Vegas có xác su t th nh công ít ư ậ đ ự ậ ấ à nh t b ng 1/2.ấ ằ Vì th , ó l i u ki n h m Hash tho mãn tính ch t không ế đ à đ ề ệ đủ để à ả ấ va ch m m nh vì nó bao h m hai tính ch t khác.Ph n còn l i c a ch ng ạ ạ à ấ ầ ạ ủ ươ n y ta ch quan tâm n các h m Hash không va ch m m nh. à ỉ đế à ạ ạ 7.3 t n công ng y sinh nh t(birthday)ấ à ậ Trong ph n n y, ta s xác nh i u ki n an to n c n thít ch h m ầ à ẽ đị đ ề ệ à ầ à Hash v i u ki n n y ch ph thu c v o l c l ng c a t p Z (t ng à đ ề ệ à ỉ ụ ộ à ự ượ ủ ậ ươ ng v kích th c c a b ng thông báo ). i u ki n c n thi t n rút ra tđươ ề ướ ủ ả Đ ề ệ ầ ế à ư ph ng pháp tìm ki m n gi n ác va ch m m ng i ta ã bi t n ươ ế đơ ả ạ à ườ đ ế đế d i cái tên t n công ng y sinh nh t (birthday ph ng pháparradox), trong ướ ấ à ậ ươ b i toán:m t nhóm 23 ng i ng u nhiên, có ít nh t 2 ng i có ng y sinh à ộ ườ ẫ ấ ườ à trùng nhau v i xác su t ít nh t l 1/2.(D nhiên, ây ch a ph i l ngh ch ớ ấ ấ à ĩ đ ư ả à ị lí,song ó l tr c giác i l p có th x y ra). Còn lí do c a thu t ng “t nđ à ự đố ậ ể ả ủ ậ ữ ấ công ng y sinh nh t ” s rõ r ng khi ta ti p tuch trình b y. à ậ ẽ à ế à Nh tr c ây, ta hãy gi s r ng :h:Xư ướ đ ả ử ằ →Z l h m Hash, X,Z h u à à ữ h n v ạ à X >=2Z. ng ngh a Đị ĩ X = m vàZ = n.Không khó kh n nh nă ậ th y r ng, có ít nh t n va ch m v v n t ra l cách tìm chúng. Bi n ấ ằ ấ ạ à ấ đề đằ à ệ pháp n s nh t l ch n k ph n t ng u nhiên phân bi t xđơ ơ ấ à ọ ầ ử ẫ ệ 1 ,x 2 … x k ∈X, tính z 1 = h(x 1 ),1<= i <= k v sau ó xác nh xem li u có x y ra va ch m à đ đị ệ ả ạ n o không (b ng cách, ch ng h n nh sáp x p l i các zà ằ ẳ ạ ư ế ạ i ). Quá trình n y t ng t v i vi c ném k qu bóng v o thùng v sau óà ươ ự ớ ệ ả à à đ ki m tra xem li u có thùng n o ch a ít nh t hai qu hay không (k q a bóng ể ệ à ứ ấ ả ủ t ng ng v i k giá tr xươ đươ ớ ị i ng u nhiên v n thùng t ng ng v i n ph n ẫ à ươ ứ ớ ầ t có th trong Z).ử ể Ta s gi i h n d i c a xác su t tìm th y m t va ch m theo ph ng ẽ ớ ạ ướ ủ ấ ấ ộ ạ ươ pháp n y.Do ch quan tâm n gi i h n d i v xác su t va ch m nên ta sà ỉ đế ớ ạ ướ ề ấ ạ ẽ gi s r ng ả ử ằ h -1 (z)≈ m/n v i m i z ớ ọ ∈Z. ( ây l gi thi t h p lí :N u các đ à ả ế ợ ế nh o không x p x b ng nhau thì xác su t tìm th y m t va ch m s ả đả ấ ỉ ằ ấ ấ ộ ạ ẽ t ng lên ). ă Vì các nh o u có kích th c b ng nhau v các xả đả đề ướ ằ à i c đượ ch n m t ọ ộ cách ng u nhiên nên các z ẫ i nh n c có th xem nh các ph n t ng u ậ đượ ể ư ầ ử ẫ nhiên c a Z. Song vi c tính toán xác su t các ph n t ng u nhiên zủ ệ ấ để ầ ử ẫ 1 , z 2, z k ∈Z l riêng bi t khá n gi n.Xét các zà ệ đơ ả i theo th t zứ ự 1 , …,z k . Phép ch n zọ 1 u tiên l tu ý. Xác su t zđầ à ỳ ấ để 2 ≠z 1 l 1-1/n; xác su t zà ấ để 3 ≠ z 1 v à z 2 l 1- 2/n. vvà … Vì th ta c l ng xác su t không có va ch m n o l :ế ướ ượ ấ để ạ à à (1-1/n)(1-2/n)… (1-(k-1/n)) = (1-1/n) N u x l s th c nh thì 1- x ế à ố ự ỏ ≈ e -x . c l ng n y nh n d c t hai Ướ ượ à ậ ượ ừ s h ng u tiên c a cá chu i khai tri n.ố ạ đầ ủ ỗ ể e -x = 1 - x + x 2 /2! - x 3 /3! . Khi ó xác su t không có va ch m n o l :đ ấ ạ à à ∏ ∏ − = − = ≈− 1k 1i 1k 1i ) n i 1( e -1/n = e -k(k-1)/n Vì th ta c l ng xác su t có ít nh t m t va ch m lế ướ ượ ấ để ấ ộ ạ à 1-e -k(k-1)/n N u kí hi u xác su t n y l ế ệ ấ à à ε thì có th gi i ph ng trình i v i k (nh ể ả ươ đố ớ ư m t h m c a n v ộ à ủ à ε) 1-e -k(k-1)/n ≈ 1 -ε -k(k-1)/n ≈ ln(1-ε) k 2 - k ≈ nln 1/(1-ε) N u b qua s h ng k thì :ế ỏ ố ạ k= ε1 − 1 lnn N u l y ế ấ ε = 0.5 thì k n17.1 ≈ i u n y nói lên r ng, vi c ch t (b m) trên Đ ề à ằ ệ ặ ă n ph n t ng u nhiên c a X ầ ử ẫ ủ s t o ra m t va ch m v i xác su tt 50%. Chú ý r ng, cách ch n ẽ ạ ộ ạ ớ ấ ằ ọ ε khác s ẽ d n n h s h ng s khác song k v n t lên v i ẫ đế ệ ố ằ ố ẫ ỷ ớ n . N u X l t p ng i,Y l t p g m 365 ng trong n m (không nhu n ế à ậ ườ à ậ ồ ỳ ă ậ t c tháng 2 có 29 ng y) còn h(x) l ng y sinh nh t c a x, khi ó ta s gi ứ à à à ậ ủ đ ẽ ả guy t b ng nhg ch lý ng y sinh nh t. L y n = 365, ta nh n c k ế ằ ị à ậ ấ ậ đượ ≈ 22,3. Vì v y, nh ã nêu trên, s có ít nh t 2 ng i có ng y sinh nh t trùng ậ ư đ ở ẽ ấ ườ à ậ nhau trong 23 ng i ng u nhiên v i xác su t ít nh t b ng 1/2. ườ ẫ ớ ấ ấ ằ T n công ng y sonh nh t t gi i h n cho các kích th c các b n ấ à ậ đặ ớ ạ ướ ả tóm l c thông báo. b n tóm l c thông báo 40 bit s không an to n vì có ượ ả ượ ẽ à th tìm th y m t va ch m v i xác su t 1/2 trên 2ể ấ ộ ạ ớ ấ 20 (kho ng1.000.000) o n ả đ ạ ch t ng u nhiên. T ây cho th y r ng, kích th c t i thi u ch p nh n ặ ẫ ừ đ ấ ằ ướ ố ể ấ ậ c c a b n tóm l c thông báo l 128 bit (t n công ng y sinh nh t c n đượ ủ ả ượ à ấ à ậ ầ trên 2 64 o n ch t trong tr ng h p n y). ó chính l lý do ch n b n tóm đ ạ ặ ườ ợ à Đ à ọ ả l c thông báo d i 160 bit trong s DSS.ượ à ơ đồ Hình7.3. H m hash chaum-Van heyst-Plitzmann.à 7.3. h m hash logarithm r i r cà ờ ạ Trong ph…n n y ta s… mô t… m…t h m Hash do Chaum-Van Heyst v à à à Pf tmann a ra. H m n y an to n do không th tính c logarithm r i ĩ đư à à à ể đượ ờ r c. H m Hast n y không nhanh dùng trong th c t song nó n gi nạ à à đủ để ự ế đơ ả v cho m t ví d t t v m t h m Hash có th an to n d i gi thuy t tính à à àộ ụ ố ề ộ ể ướ ả ế toán h p lý n o s . H m Hash Caum-Van Heyst- Pf tmann c nêt trong ợ à ố à ĩ đượ hình 7.3. Sau ây s ch ng minh m t nh lý liên quan n s an to n c a đ ẽ ứ ộ đị đế ự à ủ h m Hast n y.à à nh lý 7.2.Đị N u cho tr c m t va ch m v i h m Hash Chaum-Van Heyst-ế ướ ộ ạ ớ à Pf tmann h có th tính c logarithm r i r c logĩ ể đượ ờ ạ α β m t cách có hi u qu .ộ ệ ả Ch ng minhứ Gi s cho tr c va ch m ả ử ướ ạ Giả sử p l sà ố nguyên tố lớn v q =(p-1)/2 cà ũng l sà ố nguyên tố. Cho α v à β l hai phà ần tử nguyên thuỷ của Zp. Giá trị log α β không công khai v già ả sử rằng không có khả năng tính toán được giá trị của nó. H m Hash:à h: {0, .,q-1}×{0, .,q-1} → Zp\ {0} được định nghĩa như sau: h(x1,x2) =α x 1 β x 2 mod p h(x 1 ,x 2 ) = h(x 3 ,x 4 ) trong ó (xđ 1 ,x 2 ) ≠ (x 3 ,x 4 ). Nh v y ta có ng d th c sau:ư ậ đồ ư ứ α x 1 β x 2 = α x 3 β x 4 hay α x 1 β x 2 ≡ α x 3 β x 4 (mod p) Ta kí hi u ệ D = UCLN (x 4 -x 2 ,p-1) Vì p-1 =2q ,q l s nguyên t nên d à ố ố ∈ {1, 2, q, p-1}. Vì th , ta có 4 xác su t ế ấ v i d s xem xét l n l t dwois ây.ớ ẽ ầ ượ đ Tr c h t ,gi s d =1 ,khi ó choướ ế ả ử đ y= (x 4 -x 2 ) -1 mod (p-1) ta có β ≡ β (x 4 -x 2 )y (mod p) ≡ α (x 1 -x 2 )y (mod p) Vì th , có th tính loarithm r i r c logế ể ờ ạ α β nh sau:ư log α β = (x 1 -x 3 ) (x 4 -x 2 ) -1 mod (p-1) Ti p theo, gi s d=2. Vì p-1 =2q, l nên UCLN(xế ả ử ẻ 4 -x 2 ,q) =1. Gi s :ả ử y=(x 4 -x 2 ) -1 mod q xét th y ấ (x 4 -x 2 )y = kq+1 v i s nguyên k n o ó. Vì th ta có:ớ ố à đ ế β (x 4 -x 2 )y ≡ β kq+1 (mod p) ≡ (-1) k β (mod p) ≡ ± β (mod p) Vì β q ≡-1(mod p) Nên α (x4-x2)y ≡ β (x1-x3) (mod p) ≡ ± β (mod p) T ó suy ra r ng:ừ đ ằ log α β = (x 1 -x 3 )y mod (p-1) log α β = (x 1 -x 3 )y mod (p-1) Ta có th d d ng ki m tra th y m t trong hai xác su t trên l úng. Vì thể ễ à ể ấ ộ ấ à đ ế nh trong tr ng h p d =1, ta tính c logư ườ ợ đượ α β. Xác su t ti p theo l d = q. Tuy nhiên ấ ế à q-1≥ x 1 ≥ 0 và q-1≥ x 3 ≥ 0 nên (q-1) ≥ x 4 -x 2 ≥ -(q-1) do v y UCLN(xậ 4 -x 2 ,p-1) không th b ng q, nói cách khác tr ng h p n y ể ằ ườ ợ à không x y ra.ả Xác su t cu i cùng l d = p-1. i u n ych x y ra khi x2 =x4. Song ấ ố à Đ ề à ỉ ả khi ó ta có đ α x 1 β x 2 ≡ α x 3 β x 4 (mod p) nên α x 1 ≡ α x 3 (mod p) v xà 1 =x 2 . Nh v y (xư ậ 1 ,x 2 ) = (x 3 ,x 4 ) ⇒ mâu thu n. Nh v y tr ng h p n y ẫ ư ậ ườ ợ à c ng không th có.ũ ể Vì ta ã xem xét t t c các giá tr có th i v i d nên có th k t đ ấ ả ị ể đố ớ ể ế lu n r ng ,h m Hash h l không va ch m m nh mi n l không th tính ậ ằ à à ạ ạ ễ à ể c logarithm r i r c logđượ ờ ạ α β trong Z p . Ta s minh ho lý thuy t nêu trên b ng m t ví d .ẽ ạ ế ằ ộ ụ Ví d 7.1ụ Gi s p =12347 (vì th q = 6173), ả ử ế α = 2, β = 8461. Gi s ta c ả ử đượ a tr c m t va ch m đư ướ ộ ạ α 5692 β 144 ≡ α 212 β 4214 (mod 12347) Nh v y xư ậ 1 = 5692, x 2 = 144, x 3 = 212, x 4 = 4214. Xét th y UCLN (xấ 4 -x 2 ,p-1) =2 nên ta b t u b ng vi c tính ắ đầ ằ ệ y = (x 4 - x 2 ) -1 mod q = (4214 - 144) -1 mod 6173 = 4312 Ti p theo tính ế y = (x 1 - x 3 ) mod (p-1) = (5692 - 212) 4312 mod 12346 = 11862 Xét th y ó l tr ng h p m logấ đ à ườ ợ à α β ∈ {y’,y’+q mod (p-1)}. Vì α y mod p =2 12346 = 9998 nên ta k t lu n r ng:ế ậ ằ log α β = y’ + q mod (p-1) = 11862 + 6173 mod 12346 = 5689 nh phép ki m tra, ta có th xác minh th y r ng ư ể ể ấ ằ 2 5689 = 8461 (mod 12347) Vì th , ta các nh c logế đị đượ α β. 7.5.các h m hash m r ngà ở ộ Cho n lúc n y, ta ã xét các h m Hash trong vùng h u h n. Bây giđế à đ à ữ ạ ờ ta nghiên xéu cách có th m r ng m t h m Hash không va ch m m nh t ể ở ộ ộ à ạ ạ ừ vùng h u h n sang vùng vô h n. i u n y cho phép ký các b c i n có ữ ạ ạ Đ ề à ứ đ ệ độ d i tu ý.à ỳ G a s h: (Zỉ ử 2 ) m → (Z 2 ) t l m t h m hash không va ch m m nh ,trong ó m à à độ ạ ạ ≥t-1. Ta s dùng h êu xây d ng h m hash không va ch m m nh h: X đ àẽ ự ạ ạ →(Z 2 ) t trong óđ X = ∞ = mi (Z 2 ) t Tr c tiên xét tr ng h p m ướ ườ ợ ≥ t+2. Ta s xem các ph n t c a X nh các xây bit. |x| ch d I c a x đ àẽ ầ ử ủ ư ỉ ộ ủ (t c s các bit trong x) v x||y ký hi u s k t h p các xây x v y. Gi s |x| à àứ ố ệ ự ế ợ ả ử = n > m. Có th bi u th x nh m t chu i k t h p.ể ể ị ư ộ ỗ ế ợ X = x 1 ||x 2 || .||x k Trong óđ |x 1 | =|x 2 | = . = |x k-1 | = m- t-1 v à |x k | = m- t- 1- d Hình 7.4. M r ng h m hash h th nh h* (m ở ộ à à ≥t+2) Trong ó m- t- 2 đ ≥ d ≥0. Vì th ta cóế k= −− 1tm n Ta nh ngh a h*(x) theo thu t toán bi u ki n trong hình 7.4.đị ĩ ậ ể ễ Kí hi uệ y(x) = y1||y2|| .||y k-1 1. For i= 1 to k-1 do y i = x i 2. y k = x k ||0 d 3. cho y k+1 l bià ểu diễn nhị phân của d 4. g i = h(0I+1||y 1 ) 5. for i=1 to k do g i +1 = h(g i ||1||y i +1) 6. h*(x) = g k +1 [...]... trên một từ Hình 7. 9 Vòng 2 c…aMD4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 A = (A +g(B,C,D) + X[0] + 5A8 279 99) . 5A8 279 99) <<13 5. A = (A +g(B,C,D) + X[1] + 5A8 279 99) <<3 6. D = (D +g(A,B,C) + X[1] + 5A8 279 99) <<5 7. C = (C +g(D,A,B) + X[5] + 5A8 279 99). v zà 4 ; z 2 v zà 3 . Hình 7. 7 h m hash MD4à 1. A= 674 52301 (hệ hexa) B = efcdab89 (hệ hexa) C = 98badcfe (hệ hexa) D = 10325 476 (hệ hexa) 2. for i = 0