Tìm kiếm tài liệu miễn phí

Lý thuyết mật mã - Chương 7

Tham khảo tài liệu 'lý thuyết mật mã - chương 7', công nghệ thông tin, an ninh - bảo mật phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả



Đánh giá tài liệu

4.8 Bạn chưa đánh giá, hãy đánh giá cho tài liệu này


Lý thuyết mật mã - Chương 7 Lý thuyết mật mã - Chương 7 mật mã, lý thuyết mật mã, cách làm mật mã, phương pháp mật mã, cách giải mật mã
4.8 5 2454
  • 5 - Rất hữu ích 1.871

  • 4 - Tốt 583

  • 3 - Trung bình 0

  • 2 - Tạm chấp nhận 0

  • 1 - Không hữu ích 0

Mô tả

  1. 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 = sigK (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 verk (x,y) cã = true, hay kh«ng.
  2. 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 =sigK(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’).
  3. 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⏐ ≥ 2⏐Z⏐. §©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 log2⏐X⏐ vµ phÇn tö cña Z ®−îc m· ho¸ nh− mét x©u bÝt cã ®é dµi log2⏐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 ®ã ⏐X⏐vµ⏐Z⏐ h÷u h¹n vµ ⏐X⏐≥ 2⏐Z⏐. 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 :
  4. 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 ∼ x1 nÕu h(x) = h(x1). DÔ thÊy r»ng, ∼ lµ quan hÖ t−¬ng ®−¬ng. Ta ®Þnh nghÜa: [x] = {x1∈X: x ∼x1} 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Þ x1 cã thÓ cho phÐp trë l¹i b−íc 3. ⏐[x]⏐-1 c¸c gi¸ trÞ x1 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 x1= A(Z) 4. if x1 ≠ x then x vµ x1 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∈C1 = >= (⏐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.
  5. 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⏐ >=2⏐Z⏐.§Þ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 x1,x2 ..xk ∈X, tÝnh z1 = h(x1),1
  6. 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 + x2/2! - x3/3! ... Khi ®ã x¸c suÊt kh«ng cã va ch¹m nµo lµ : k −1 k −1 i ∏( 1 − ) ≈ ∏ e-1/n = e -k(k-1)/n n i =1 i =1 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-ε) k2 - k ≈ nln 1/(1-ε) NÕu bá qua sè h¹ng k th× : 1 k= n ln 1−ε NÕu lÊy ε = 0.5 th× k ≈ 1.17 n §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 220 (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 264 ®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. 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) =α 1β 2 mod p xx 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 h(x1,x2) = h(x3,x4) trong ®ã (x1,x2) ≠ (x3,x4). Nh− vËy ta cã ®ång d− thøc sau: αx1βx2 = αx3βx4 hay αx1βx2 ≡ αx3βx4 (mod p) Ta kÝ hiÖu D = UCLN (x4-x2,p-1)
  8. 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= (x4-x2)-1 mod (p-1) ta cã (x -x )y β ≡ β 4 2 (mod p) (x -x )y ≡ α 1 2 (mod p) V× thÕ, cã thÓ tÝnh loarithm rêi r¹c logαβ nh− sau: logαβ = (x1-x3) (x4-x2)-1mod (p-1) TiÕp theo, gi¶ sö d=2. V× p-1 =2q, lÎ nªn UCLN(x4-x2,q) =1. Gi¶ sö: y=(x4-x2)-1 mod q xÐt thÊy (x4-x2)y = kq+1 víi sè nguyªn k nµo ®ã. V× thÕ ta cã: (x -x )y β 4 2 ≡ βkq+1 (mod p) ≡ (-1)k β (mod p) ≡ ± β (mod p) β ≡-1(mod p) q V× Nªn α(x4-x2)y ≡ β (x1-x3) (mod p) ≡ ± β (mod p) Tõ ®ã suy ra r»ng: logαβ = (x1-x3)y mod (p-1) logαβ = (x1-x3)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≥ x1≥ 0 q-1≥ x3≥ 0 vµ nªn (q-1) ≥ x4-x2 ≥ -(q-1) do vËy UCLN(x4-x2,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ã αx1βx2 ≡ αx3βx4 (mod p)
  9. α 1 ≡ α 3 (mod p) x x nªn vµ x1 =x2. Nh− vËy (x1,x2) = (x3,x4) ⇒ 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 Zp. 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 x1 = 5692, x2 = 144, x3 = 212, x4 = 4214. XÐt thÊy UCLN (x4 -x2,p-1) =2 nªn ta b¾t ®Çu b»ng viÖc tÝnh y = (x4 - x2)-1 mod q = (4214 - 144)-1 mod 6173 = 4312 TiÕp theo tÝnh y = (x1- x3) 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 =212346 = 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 25689 = 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: (Z2)m → (Z2)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 →(Z2)t trong ®ã
  10. ∞ (Z2)t X= U i =m 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 = x1||x2||...||xk Trong ®ã |x1| =|x2| = ... = |xk-1| = m- t-1 vµ |xk| = m- t- 1- d H×nh 7.4. Më réng hµm hash h thµnh h* (m ≥t+2) 1. For i= 1 to k-1 do yi = x i 2. yk = xk ||0d 3. cho yk+1 lµ biÓu diÔn nhÞ ph©n cña d 4. gi = h(0I+1||y1) 5. for i=1 to k do gi+1 = h(gi||1||yi+1) 6. h*(x) = gk +1 Trong ®ã m- t- 2 ≥ d ≥0. V× thÕ ta cã k= ⎡ n⎤ ⎢ ⎣ m − t − 1⎥ ⎦ 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||...||yk-1 NhËn xÐt r»ng yk ®−îc lËp tõ xk b»ng c¸ch chÌn thªm d sè 0 vµo bªn ph¶I ®Ó tÊt c¶ c¸c khèi yi (k ≥ i ≥ 1)®Òu cã chiÒu dµI m-t-1. Còng nh− trong b−íc 3 yk+1 sÏ ®−îc ®Öm thªm vÒ bªn tr¸I c¸c sè 0 sao cho |yk+1| = m-t-1. §Ó b¨m nhá x ,tr−íc hÕt ta x©y dùng hµm y(x) vµ sau ®ã “chÕ biÕn” c¸c khèi y1...yk+1 theo mét khu«n mÉu cô thÓ. §iÒu quan träng lµ y(x) ≠y(x’) khi
  11. x≠x. Thùc tÕ yk+1 ®−îc ®Þnh nghÜa theo c¸ch c¸c phÐp ¸nh x¹ x → y(x)lµ mét ®¬n ¸nh. §Þnh lý sau ®©y chøng minh r»ng h* lµ an toµn khi h an toµn. §Þnh lý 7.3 Gi¶ sö h: (Z2)n→(Z2) lµ hµm hash kh«ng va ch¹m m¹nhm≥ t+2. Khi ®ã ∞ hµm h*: U i = m (Z2)t→(Z2)t ®−îc x©y dùng nh− trªn h×nh 7.4 lµ hµm hash kh«ng vµ ch¹m m¹nh. Chøng minh: Gi¶ sö r»ng ,ta cã thÓ t×m ®−îc x ≠x’ sao cho h*(x) = h*(x’). NÕu cho tr−íc mét cÆp nh− vËy, ta sÏ chØ ra c¸ch cã thÓ t×m ®−îc mét va ch¹m ®èi víi h trong thêi gian ®a thøc. V× h ®−îc gi¶ thiÕt lµ kh«ng va ch¹m m¹nh nªn dÉn ®Õn mét m©u thuÉn nh− vËy h sÏ ®−îc chøng minh lµ kh«ng va ch¹m m¹nh. KÝ hiÖu y(x)= y1||..||yk+1 Vµ y(x’) = y1’||...||yk+1’ ë ®©y x vµ x’ ®−îc ®Öm thªm d vµ d’ sè 0 t−¬ng øng trong b−íc 2. KÝ hiÖu tiÕp c¸c gi¸ trÞ ®−îc tÝnh trong c¸c b−íc 4 vµ 5 lµ g1,g2....,gk+1 vµ g1’,....,gk+1’ t−¬ng øng. Chóng ta sÏ ®ång nhÊt hai tr−êng hîp tuú thuéc vµo viÖc cã hay kh«ng |x| ≡|x’| (mod m-t-1). Tr−êng hîp1: |x| ≠|x’| (mod m-t-1) T¹i ®©y d ≠d’ vµ yk+1 ≠y’k+1. Ta cã: H(gk||1||yk+1) = gk+1 =h*(x) = h * ( x’ ) =g’l+1 = h(g’l+1||1||y’l+1) lµ mét va ch¹m ®èi víi h v× yk+1 ≠ y’k+1. Tr−êng hîp2: |x| ≡|x’| (mod m-t-1)
  12. Ta chia tr−êng hîp nµy thµnh hai tr−êng hîp con: Tr−êng hîp 2a: |x| = |x’|. T¹ ®©y ta cã k= l vµ yk+1 = y’k+1. Ta v¾t ®Çu nh− trong tr−êng hîp 1: h(gk||1||yk+1) = gk+1 = h*(x) = h*(x’) = h(g’k||1||y’k+1) NÕu gk = g’k th× ta t×m thÊy mét va ch¹m ®èi víi h, v× thÕ gi¶ sö gk = g’k khi ®ã ta sÏ cã: h(gk-1||1||yk) = gk =g’k =h(0i+1||y1) HoÆc lµ t×m thÊy mét va ch¹m ®èi víi h hoÆc gk-1 =g’k-1 vµ yk = y’k. Gi¶ sö kh«ng t×m thÊy va ch¹m nµo ,ta tiÕp tôc thùc hiÖn ng−îc c¸c b−íc cho ®Õn khi cuèi cïng nhËn ®−îc : h(0i+1||y1) = g1 =g’i-k+1 =g(g’i-k||1||y’i-k+1). Nh−ng bit thø (t+1) cña 0i+1||y1 b»ng 0 vµ bit thø (t+1) cña g’i-k+1||1||y’i-k+1 b»ng 1. V× thÕ ta tÞm thÊy mét va ch¹m ®èi víi h. V× ®· xÐt hÕt c¸c tr−êng hîp cã thÓ nªn ta cã kÕt luËn mong muèn. CÊu tróc cña h×nh 7.4 chØ ®−îc dïng khi m>= t+2. B©y giê ta h·y xem xÐt t×nh huèng trong ®ã m = t+1. CÇn dïng mét cÊu tróc kh¸c cho h. Nh− tr−íc ®©y, gi¶ sö |x|=n>m. Tr−íc hÕt ta m· x theo c¸ch ®Æc biÖt. C¸ch nµy dïng hµm f cã ®Þnh nghÜa nh− sau: f(0) = 0 f(1) = 01 ThuËt to¸n ®Ó x©y dùng h*(x)®−îc miªu t¶ trong h×nh 7.5 PhÐp m· x→y = y(x) ®−îc ®Þnh nghÜa trong v−íc 1 tho¶ m·n hai tÝnh chÊt quan träng sau:
  13. 1. nÕu x ≠x’ th× y(x)≠ y(x’) (tøc lµ x→ y(x) lµ mét ®¬n ¸nh) 2. Kh«ng tån t¹I hai chuçi x≠ x’ vµ chuçi z sao cho y(x)= z||y(x’). Nãi c¸ch kh¸c kh«ng cho phÐp m· ho¸ nµo lµ fpsstix cña phÐp m· kh¸c. §IÒu nµy dÔ dµng thÊy ®−îc do chuçi y(x) b¾t ®Çu b»ng 11 vµ kh«ng tån t¹I hai sè 1 liªn tiÕp trong phÇn cßn l¹I cña chuçi). H×nh 7.5 Më réng hµm hash h thµnh h* (m = t+1) 1. Gi¶ sö y = y1y2...yk = 11||f(x1)||....||f(xn) 2. g1 = h(01||y1) 3. for i=1 to k-1 do gi+1 = h(gi||yi+1) 4. h*(x) = gk §Þnh lý 7.4 Gi¶ sö h: (Z2)n→(Z2) lµ hµm hash kh«ng va ch¹m m¹nh. Khi ®ã hµm h*: U ∞ m (Z2)t→(Z2)t ®−îc x©y dùng nh− trªn h×nh 7.5 lµ hµm hash kh«ng va i= ch¹m m¹nh. Chøng minh: Gi¶ sö r»ng ta cã thÓ t×m ®−îc x ≠x’ sao cho h*(x)=h*(x’). KÝ hiÖu: y(x) = y1y2....yk vµ y(x’) = y’1y’2....y’l Ta xÐt hai tr−êng hîp: Tr−êng hîp 1: k=l Nh− trong ®Þnh lý 7.3 hoÆc ta t×m thÊy mét va ch¹m ®çi víi h hoÆc ta nhËn ®−îc y = y’ song ®IÒu nµy l¹I bao hµm x = x’, dÉn ®Õn m©u thuÉn. Tr−êng hîp2: k≠ l Kh«ng mÊt tÝnh tæng qu¸t ,gi¶ sö l>k . tr−êng hîp nµy xö lý theo kiÓu t−¬ng tù. NÕu gi¶ thiÕt ta kh«ng t×m thÊy va ch¹m nµo ®èi víi h ,ta cã d·y c¸c ph−¬ng tr×nh sau:
  14. yk = y’ l yk-1 = y’l-1 ............... y1 = y’l-k+1 Song ®IÒu nµy m©u thuÉn víi tÝnh chÊt “kh«ng posfixx” nªu ë trªn. Tõ ®©y ta kÕt luËn r»ng h* lµ h¹m kh«ng va ch¹m. Ta sÏ tæng kÕt ho¸ hai x©y dùng trong phÇn nµy vµ sè c¸c øng dông cña h cÇn thiÕt ®Ó tÝnh h* theo ®Þnh lý sau: §Þnh lý 7.5 Gi¶ sö h: (Z2)n→(Z2) lµ hµm hash kh«ng va ch¹m m¹nh,ë ®©y m>=t+1. Khi ®ã tån t¹I hµm kh«ng va ch¹m m¹nh h*: U ∞ m (Z2)t→(Z2)t i= Sè lÇn h ®−îc tÝnh trong −íc l−îng h* nhiÒu nhÊt b»ng : l +⎡ n⎤ nÕu m>=t+2 ⎢ ⎣ m − t − 1⎥ ⎦ 2n +2 nÕu m= t+2 trong ®ã |x|=n. 7.6 c¸c hµm hash dùa trªn c¸c hÖ mËt Cho ®Õn nay, c¸c ph−¬ng ph¸p ®· m« t¶ ®Ó ®−a ®Õn nhøng hµm hash hÇu nh− ®Òu rÊt chËm ®èi víi c¸c øng dông thùc tiÔn. Mét biÖn ph¸p kh¸c lµ dïng c¸c hÖ thèng m· ho¸ bÝ mËt hiÖn cã ®Ó x©y dõng c¸c hµm hash. Gi¶ sö r»ng (P,C,K,E,D) lµ mét hÖ thèng mËt m· an toµn vÒ mÆt tÝnh to¸n. §Ó thuËn tiÖn ta còng gi¶ thiÕt r»ng P = C = K = (Z2)n.ë ®©ychän n>=128 ®Ó x©y ng¨n chÆn kiÓu tÊn c«ng ngµy sinh nhËt. §IÒu nµy lo¹I trõ viÖc dïng DES (v× ®é dµi kho¸ cña DES kh¸c víi ®é dµi b¶n râ). Gi¶ sö cho tr−íc mét x©u bit: x= x1||x2||....||xk
  15. trong ®ã xi ∈ (Z2)n, 1≤ i ≤ (nÕu sè bit trong x kh«ng ph¶i lµ béi cña n th× cÇn chÌn thªm vµo x theo c¸ch nµo ®ã. Ch¼ng h¹n nh− c¸ch lµm trong nôc 7.5. §Ó ®¬n gi¶n ta sÏ bá qua ®IÓm nµy). ý t−ëng c¬ b¶n lµ b¾t ®Çu b»ng mét “gi¸ trÞ ban ®Çu” cè ®Þnh g0 =IV vµ sau ®ã ta x©y dùng g1,...,gk theo quy t¾c thiÕt lËp : gi = f(xi,gi-1). ë ®©y f lµ hµm kÕt hîp toµn bé c¸c phÐp m· ho¸ cña hÖ mËt ®−îc dïng. Cuèi cïng ta ®Þnh nghÜa b¶n tãm l−îc cña th«ng b¸o h(x) =gk. Vµi hµm hash kiÓu nµy ®· ®−îc ®Ò xuÊt vµ nhiÒu lo¹i trong chóng tá ra kh«ng an toµn (kh«ng phô thuéc vµo viÖc liÖu hÖ mËt c¬ b¶n cã an toµn hay kh«ng ). Tuy nhiªn , cã 4 ph−¬ng ¸n kh¸c nhau cã vÎ an toµn cña s¬ ®å nµy : gi = e gi-1 (xi) ⊕ xi gi = e gi-1 (xi) ⊕ xI ⊕ gi-1 gi = e gi-1 (xi ⊕ gi-1) ⊕ xI gi = e gi-1 (xi ⊕ gi-1) ⊕ xI ⊕ gi-1. 7.7 Hµm hash MD4. Hµm hash MD4 ®−îc Riverst ®Ò xuÊt n¨m 1990 vµ mét hiªn b¶n m¹nh lµ MD5 còng ®−îc ®−a ra n¨m 1991. ChuÈn hµm hash an toµn (hay SHS) phøc t¹p h¬n song còng d−a tªn c¸c ph−¬ng ph¸p t−¬ng tù. Nã ®−îc c«ng bè trong hå s¬ liªn bang n¨m 1992 vµ ®−îc chÊp nhËn lµm tiªu chuÈn vµo ngµy 11/5/1993. TÊt c¶ c¸c hµm hash trªn ®Òu rÊt nhanh nªn trªn thùc tÕ chóng dïng ®Ó kÝ c¸c bøc ®iÖn dµi. Trong phÇn nµy sÏ m« t¶ chi tiÕt MD4 vµ th¶o luËn mét sè c¶I tiÕn dïng trong MD5 vµ SHS. Cho tr−íc mét x©u bit tr−íc hÕt ta t¹o mét m¹ng: M = M[0] M[1]... M[N-1] . trong ®ã M[i] lµ x©u bit cã ®é dµI 32 vµ N ≡ 0 mod 16. Ta sÏ gäi M[i] lµ tõ. M ®−îc x©y dùng tõ x b»ng thuËt to¸n trong h×nh 7.6. H×nh 7.6 X©y dùng M trong MD4
  16. 1. d = 447-(|x| mod 512) 2. gi¶ sö l lµ kÝ hiÖu biÓu diÔn nhÞ ph©n cña |x| mod 264.|l| = 64 3. M = x||1||0d||l Trong viÖc x©y dùng M, ta g¾n sè 1 ss¬n lÎ vµo x, sau ®ã sÏ gµi thªm c¸c sè 0 ®ñ ®Ó ®é dµi trë nªn ®ång d− víi 448 modulo 512.,cuèi cïng nèi thªm 64 bit ch−a biÓu diÔn nhÞ ph©n vÒ ®é dµI (ban ®Çu) cña x(®−îc rót gän theo mãulo 264 nÕu cÇn). X©u kÕt qu¶ M cã ®é dµI chia hÕt cho 512. V× thÕ khi chÆt M thµnh c¸c tõ 32 bit , sè tõ nhËn ®−îc lµ N-sÏ chia hÕt cho 16. B©y giê, tiÕp tôc x©y dùng b¶n tãm l−îc th«ng b¸o 128 bit. H×nh 7.7 ®−a ra m« t¶ thuËt to¸n ë møc cao. B¶n tãm l−îc th«ng b¸o ®−îc x©y dùng nh− sù kÕt nèi 4 tõ A,B,C vµ D mµ ta sÏ gäi lµ c¸c thanh ghi. Bèn thanh ghi ®−îc khëi ®éng nh− trong b−íc 1. TiÕp theo ta xö lÝ b¶ng M 16 bit tõ cïng lóc. Trong mçi vßng lÆp ë b−íc 2, ®Çu tiªn lÊy 16 tõ “tiÕp theo” cña M vµ l−u chóng trong b¶ng X (b−íc 3). C¸c gi¸ trÞ cña bèn thanh ghi dÞch sau ®ã sÏ ®−îc l−u l¹i (b−íc 4). Sau ®ã ta sÏ thùc hiÖn ba vßng “b¨m” (hash). Mçi vaßng gåm mét phÐp to¸n thùc hiÖn trªn mét trong 16 tõ trong X. C¸c phÐp to¸n ®−îc thùc hiÖn trong ba vßng t¹o ra c¸c gi¸ trÞ míi trong bèn thanh ghi. Cuèi cïng ,bèn thanh ghi ®−îc update (cËp nhËt) trong b−íc 8 b»ng c¸ch céng ng−îc c¸c gi¸ trÞ l−u tr−íc ®ã trong b−íc 4. PhÐp céng nµy ®−îc x¸c ®Þnh lµ céng c¸c sè nguyªn d−¬ng ,®−îc rót gän theo modelo 232. Ba vßng trong MD4 lµ kh¸c nhau (kh«ng gi«ng nh− DES. 16 vßng ®Òu nh− nhau). Tr−íc hÕt ta sÏ m« t¶ vµI phÐp to¸n kh¸c nhau trong ba vßng nµy. Trong phÇn sau,ta kÝ hiÖu X vµ Y lµ c¸c tõ ®Çu vµo vµ mçi phÐp to¸n sÏ t¹o ra mét tõ ®Çu ra. D−íi ®©y lµ phÐp to¸n ®−îc dïng: X∧Y lµ phÐp “AND” theo bit gi÷a X vµ Y X∨Y lµ phÐp “OR” theo bit gi÷a X vµ Y X⊕Y lµ phÐp “XOR” theo bit gi÷a X vµ Y ¬X chØ phÇn bï cña X X+Y lµ phÐp céng theo modulo 232. X= s >=0). Chó ý r»ng, tÊt c¶ c¸c phÐp to¸n trªn ®Òu tÊt nhanh vµ chØ cã phÐp sè häc duy nhÊt ®−îc dïng lµ phÐp céng modulo 232. NÕu MD4 ®−îc øng dông th× cÇn tÝnh ®Õn kiÕn tróc c¬ b¶n cña m¸y tÝnh mµ nã ch¹y trªn ®ã ®Ó thùc hiÖn
  17. chÝnh x¸c phÐp céng. Gi¶ sö a1a2a3a4 lµ 4 byte trong tõ xem mçi ai,nh− mét sè nguyªn trong d¶I 0-255 ®−îc biÓu diÔn d−íi d¹ng nhÞ ph©n. Trong kiÕn tróc kiÓu endian lín (ch¼ng h¹n nh− trªn tr¹m Sunsparc) tõ nµy biÓu diÔn sè nguyªn. a1224 + a2216 + a328 + a4 Trong kiÕn tróc kiÓu endian nhá (ch¼ng h¹n hä intel 80xxx). Tõ nµy biÓu diÔn sè nguyªn: a4224+ + a3 216 + a2 28+a1 MD4 gi¶ thiÕt dïng kiÕn tróc kiÓu endian nhá. §IÒu quan träng lµ b¶n tãm l−îc th«ng b¸o ®éc lËp víi kiÕn tróc c¬ b¶n. V× thÓ nÕu muèn ch¹y MD4 trªn m¸y tÝnh endian lín cÇn thùc hiÖn phÐp céng X+Y nh− sau: 1. Trao ®æi x1 vµ x4; x2 vµ x3; y1 vµ y4; y2 vµ y3 2. TÝnh Z = X+Y mod 232 3. Trao ®æi z1 vµ z4 ; z2 vµ z3. H×nh 7.7 hµm hash MD4 1. A= 67452301 (hÖ hexa) B = efcdab89 (hÖ hexa) C = 98badcfe (hÖ hexa) D = 10325476 (hÖ hexa) 2. for i = 0 to N/16-1 do 3. for i = 1 to 15 do X[i] = M[16i+j] 4 . AA = A BB = B CC = C DD = D 5. round1 6. round2 7. round3 8. A = A+AA B = B+ BB C = C + CC D = D + DD
  18. C¸c vßng 1, 2 vµ 3 cña MD4 dïng t−¬ng øng ba hµm f, g, vµ h. Mçi hµm nµy lµ mét hµm boolean tÝnh theo bit dïng 2 tõ lµm ®Çu vµo vµ t¹o ra mét tõ t¹i ®Èu ra. Chóng ®−îc x¸c ®Þnh nh− sau: f(X,Y,Z) = (X∧Y) ∨((-X)∧Z) g(X,Y,Z) = (X∧Y) ∨(X∧Z) ∨(Y∧Z) h(X,Y,Z) = X⊕ Y⊕ Z C¸c h×nh 7.8-7.10 sÏ m« t¶ ®Çy ®ñ c¸c vßng 1,2 vµ 3 cña MD4. MD4 ®−îc thiÕt kÕ ch¹y rÊt nhanh vµ qu¶ thùc phÇn mÒm ch¹y trªn m¸y Sun SPARC cã tèc ®é 1.4 Mbyte/s. MÆt kh¸c, khã cã thÓ nãi ®IÒu g× cô thÓ vÒ ®é mËt cña hµm hash, ch¼ng h¹n nh− MD4 v× nã kh«ng dùa trªn vµI to¸n khã ®· nghiªn cøu kÜ (vÝ dô nh− ph©n tÝch nh©n tö trªn bµI to¸n logarithm rêi r¹c). V× thÕ trong tr−êng hîp DÐ sù tin cËy vµo ®é an toµn cña hÖ thèng chØ cã thÓ ®¹t ®−îc vÒ thêi gian vµ nh− vËy cã thÓ hi väng hÖ thèng võa ®−îc nghiªn cøu vµ kh«ng t×m thÊy sù kh«ng an toµn nµo. H×nh 7.8 : Vßng 1 cña MD4 .(round 1) 1. A = (A+ f(B,C,D) + X[0])
  19. MÆc dï MD4 vÉn ch−a bÞ ph¸ song c¸c phiªn b¶n yÕu cho phÐp bá qua hoÆc vßng thø nhÊt hoÆc thø ba dÒu cã thÓ bÞ ph¸ kh«ng khã kh¨n g×. nghÜa lµ dÔ dµng t×n thÊy c¸c va ch¹m ®èi víi c¸c phiªn b¶n chØ cã hai vßng. Phiªn v¶n m¹nh cña MD5 lµ MD5 ®−îc c«ng bè n¨m 1991. MD5 dïng vßng thay cho ba vµ chËm h¬n 30% so víi MD4 (kho¶ng 0.9 Mbyte/s trªn cïng m¸y). ChuÈn hµm hash an toµn phøc t¹p vµ chËm h¬n. Ta sÏ kh«ng m« t¶ ®Çy ®ñ song sÏ chØ ra mét vµI c¶I tiÕn trªn nã. 1. SHS ®−îc thiÕt kÕ ®Ó ch¹y trªn m¸y kiÕn tróc endian lín h¬n lµ trªn m¸y endian nhá. 2. SHA t¹o ra c¸c b¶n tãm l−îc th«ng b¸o 5 thanh ghi (160 bit). 3. SHS xö lÝ 16 tõ cña bøc ®IÖn cïng mét lóc nh− MD4. Tuy nhiªn, 16 tõ tr−íc tiªn ®−îc ”më réng” thµnh 80 tõ ,sau ®ã thùc hiÖn mét d·y 80 phÐp tÝnh ,mçi phÐp tÝnh trªn mét tõ. H×nh 7.9 Vßng 2 cñaMD4. 1. A = (A +g(B,C,D) + X[0] + 5A827999)
  20. Dïng hµm më réng sau ®©y: Cho tr−íc 16 tõ X[0] ...X[15], ta tÝnh thªm 64 tõ n÷a theo quan hÖ ®Ö quy. X[j] = X[j-3]⊕ X[j-8]⊕ X[j-14]⊕ X[j-16], 79 ≥ j ≥ 16 7.1 KÕt qu¶ cña ph−¬ng tr×nh (7.1) lµ mçi mét trong c¸c tõ X[16]...X[79] ®−îc thiÕt lËp b»ng c¸ch céng ⊕ víi mét tËp con x¸c ®Þnh nµo ®ã cña c¸c tõ X[0]...X[15]. VÝ dô: Ta cã: X[16] = X[0] ⊕X[2]⊕X[8]⊕X[13] X[17] = X[1] ⊕X[3]⊕X[9]⊕X[14] X[18] = X[2] ⊕X[4]⊕X[10]⊕X[15] X[19] = X[0] ⊕X[2]⊕X[3]⊕X[5]⊕X[8]⊕X[11]⊕X[13] X[79] = X[1] ⊕X[4]⊕X[15]⊕X[8]⊕X[12]⊕X[13]. Mét ®Ò xuÊt ®ßi hái söa l¹i SHS liªn quan ®Õn hµm më réng trong ®ã ®Ò nghÞ ®Æt l¹i ph−¬ng tr×nh 7.1 nh− sau: X[j] = X[j-3] ⊕X[j-8]⊕X[j-14]⊕X[j-16]

Tài liệu cùng danh mục An ninh - Bảo mật

Sao lưu từ máy tính này sang máy tính khác

WNCDude đã hỏi trên forum Networking về việc sao lưu máy tính này sang máy tính khác qua mạng cục bộ. Bạn có cách nào để có được một giải pháp sao lưu an toàn, hợp lý? Giải pháp này cũng phải giúp tiết kiệm được chút tiền để bạn không phải mua một ổ cứng cắm ngoài hoặc một khoản phí cho một dịch vụ sao lưu đám mây.


Bài giảng An toàn và bảo mật hệ thống thông tin - Chương 6: Chữ ký điện tử

Bài giảng "An toàn và bảo mật hệ thống thông tin - Chương 6: Chữ ký điện tử" cung cấp cho người học các kiến thức: Mục tiêu của chữ ký điện tử, một số khái niệm cơ bản, một số lưu ý. Mời các bạn cùng tham khảo.


Backdoor.Win32.Agent.abgg

Backdoor.Win32.Agent.abgg .Chi tiết kĩ thuật Trojan này cung cấp cho một người dùng ở xa khả năng truy cập vào hệ thống của nạn nhân. Nó là một file Windows PE EXE. Kích cỡ của nó là 22528 bytes. Cài đặt Khi đã khởi động, nó sao chép chính bản thân nó vào trong thư mục hệ thống Windows với cái tên "digeste.dll": %System%\digeste.dll Để chắc chắn rằng trojan sẽ được khởi động một cách tự động mỗi khi hệ thống được khởi động lại, nó đăng kí file thực thi của nó trong hệ thống registry: [HKLM\System\CurrentControlSet\Control\SecurityProviders] "SecurityProviders" = "digeste.dll" Để đánh dấu...


Xử lý ảnh số - Nhận dạng và nội suy part 7

Với một file ảnh raw, bạn có thể dễ dàng thay đổi cân bằng trắng của bức ảnh sau đó. Mặc dù cơ chế cân bằng trắng tự động (Auto White Balance) trên hầu hết các máy ảnh hiện nay rất tiên tiến, vẫn rất nhiều trường hợp cơ chế này bị đánh lừa. Nếu bạn đã từng cố sửa một bức ảnh JPEG sai độ màu, bạn sẽ biết thực ra chỉnh sửa cân bằng trắng không phải là một vấn đề nhỏ. Với ảnh raw, bạn không cần phải lo về điều này. ...


Bách Khoa Antivirus-Đặc Điểm Các Virus part 2

Đặc điểm, tính chất, tên gọi của tất cả những lại Virus mà Bách Khoa Antivirus ghi lại được


How to Crack CD Protections

1). About, Programs needed … etc. 2). The easy protection. 3). Finding the right file – and the right error. 4). Finding the right line number. 5). Editing the line. 6). Testing. 7). Quick order list.


Bài giảng An toàn mạng máy tính: Bài 1 - ThS. Tô Nguyễn Nhật Quang

Bài 1 của bài giảng an toàn mạng máy tính giới thiệu tổng quan về an ninh mạng với một số nội dung như: Một số khái niệm, các kỹ thuật tấn công phổ biến và cơ chế phòng thủ, lý lịch của những kẻ tấn công, mô hình bảo mật cơ bản. Mời các bạn cùng tham khảo.


Computer Viruses FOR DUMmIES phần 6

Một số chương trình chống virus là đủ thông minh để con số này ra, những người khác như câm như một bài viết và cần được cho biết từng chi tiết nhỏ: Nếu bạn có một modem cáp, DSL, hoặc một số khác "luôn luôn" kết nối Internet, sau đó bạn sẽ cần để lựa chọn các kết nối "trực tiếp" tùy chọn: Tùy chọn này có thể được diễn đạt khác nhau - phần mềm


Norton Power Eraser - Diệt nhanh những loại virus cứng đầu

Nếu nghi ngờ máy tính bị nhiễm virus, hoặc gặp phải những loại virus cứng đầu, hay đơn giản chỉ muốn kiểm tra xem máy tính mình có bị nhiễm virus hay không, hãy thử nhờ đến sự trợ giúp của Norton Power Eraser. Norton Power Eraser là công cụ miễn phí, cho phép người dùng quét để kiểm tra xem có phần mềm gây hại nào đang hoạt động trên máy tính hay không. Nếu có, phần mềm sẽ cho phép người dùng dọn sạch những phần mềm gây hại đó. Đặc biệt, phần mềm có khả năng tìm...


Giáo trình Bảo mật máy tính và mạng - ĐH Sư phạm Kỹ thuật Hưng Yên

Giáo trình "Bảo mật máy tính và mạng" sẽ giúp người học có khả năng mô tả các nguyên lý bảo mật và các mô hình bảo mật, phân tích rủi ro cho một hệ thống thông tin, triển khai các kỹ thuật bảo mật bảo vệ hệ thống thông tin, tư vấn về các vấn đề bảo mật cho doanh nghiệp. Mời các bạn cùng tham khảo và nắm vững nội dung kiến thức trình bày trong giáo trình.


Tài liệu mới download

Từ khóa được quan tâm

Có thể bạn quan tâm

Khái niệm List Controller Weights
  • 19/11/2009
  • 39.187
  • 109
Hacking Firefox - part 19
  • 29/10/2010
  • 30.549
  • 741
Module II - Social Engineering
  • 18/05/2011
  • 44.431
  • 916

Bộ sưu tập

Danh mục tài liệu