An toàn thông tin - Chủ đề 5: Hàm băm mật mã Hash & MAC

pdf 35 trang phuongnguyen 3760
Bạn đang xem 20 trang mẫu của tài liệu "An toàn thông tin - Chủ đề 5: Hàm băm mật mã Hash & MAC", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfan_toan_thong_tin_chu_de_5_ham_bam_mat_ma_hash_mac.pdf

Nội dung text: An toàn thông tin - Chủ đề 5: Hàm băm mật mã Hash & MAC

  1. ChChủđủđềề5:5: HàmHàm bbăămmmmậậtmtmãã HashHash && MACMAC
  2. NNộộii dungdung ĐĐịịnhnh nghnghĩĩaa hhààmm bbăămm mmậậtt mãmã CCấấuu trtrúúcc ccủủaa hhààmm bbăămm mmậậtt mãmã CCáácc ttíínhnh chchấấtt ccủủaa hhààmm bbăămm mmậậtt mãmã PhânPhân loloạạii hhààmm bbăămm mmậậtt mãmã MMộộtt ssốố kikiếếnn trtrúúcc hhààmm bbăămm phphổổ bibiếếnn HHààmm bbăămm MD5MD5 CCáácc hhààmm bbăămm SHASHA MACMAC vvàà HMACHMAC
  3. ĐịĐịnhnh nghnghĩĩaa HHààmm bbăămm mmậậtt mãmã llàà hhààmm totoáánn hhọọcc chuychuyểểnn đđổổii mmộộtt thôngthông đđiiệệpp ccóó đđộộ ddààii bbấấtt kkỳỳ ththàànhnh mmộộtt dãydãy bitbit ccóó đđộộ ddààii ccốố đđịịnhnh (( tutuỳỳ thuthuộộcc vvààoo thuthuậậtt totoáánn bbăămm)) DãyDãy bitbit nnààyy đưđượợcc ggọọii llàà thôngthông đđiiệệpp rrúútt ggọọnn (message(message digest)digest) hayhay gigiáá trtrịị bbăămm (hash(hash value),value), đđạạii didiệệnn chocho thôngthông đđiiệệpp banban đđầầuu HHààmm bbăămm llàà nnềềnn ttảảngng chocho nhinhiềềuu ứứngng ddụụngng mãmã hhóóaa,, chchữữ kýký đđiiệệnn ttửử CCáácc thuthuậậtt totoáánn phphổổ bibiếếnn ttừừ ththậậpp niênniên 19901990 đđếếnn nay:nay: MD5MD5 vvàà SHASHA 11
  4. CCấấututrrúúccccủủahahààmmbbăămm ChoCho trtrưướớcc mmộộtt thôngthông đđiiệệpp MM ccóó đđộộ ddààii bbấấtt kkỳỳ TTùùyy theotheo thuthuậậtt totoáánn đưđượợcc ssửử ddụụngng,, ccóó ththểể bbổổ sungsung mmộộtt ssốố bitbit vvààoo thôngthông đđiiệệpp nnààyy đđểể nhnhậậnn đưđượợcc thôngthông đđiiệệpp ccóó đđộộ ddààii llàà bbộộii ssốố ccủủaa mmộộtt hhằằngng ssốố chocho trtrưướớcc ChiaChia nhnhỏỏ thôngthông đđiiệệpp ththàànhnh ttừừngng khkhốốii ccóó kkííchch ththưướớcc bbằằngng nhaunhau:: MM1,, MM2,, MMs GGọọii HH llàà trtrạạngng ththááii ccóó kkííchch ththưướớcc nn bit,bit, ff llàà ““hhààmm nnéénn”” ththựựcc hihiệệnn thaothao ttáácc trtrộộnn khkhốốii ddữữ liliệệuu vvớớii trtrạạngng ththááii hihiệệnn hhàànhnh KhKhởởii ggáánn HH0 bbằằngng mmộộtt vectorvector khkhởởii ttạạoo nnààoo đđóó HHi == ff (H(Hi-1,, MMi)) vvớớii ii == 1,2,3,1,2,3, ,, ss HHs chchíínhnh llàà thôngthông đđiiệệpp rrúútt ggọọnn ccủủaa MM banban đđầầuu
  5. ÝÝ ttưởưởngng chínhchính ccủủahahààmmbbăămmmmậậtmtmãã HH llàà hhààmm nnéénn mmấấtt thôngthông tintin ((lossylossy compressioncompression function)function) HiHiệệnn ttưượợngng đđụụngng đđộộ (Collision):(Collision): HH((xx)=)=HH((xx’’)) vvớớii xx≠≠xx’’ KKếếtt ququảả ccủủaa viviệệcc bbăămm ““nhnhììnn ccóó vvẻẻ ngngẫẫuu nhiênnhiên”” x1 Thông điệp x2 y1 x3 Thông điệp rút gọn y2 Chuỗi bit có độ dài bất kỳ! Chuỗi bit có độ dài cố định
  6. HàmHàm bbăămmmmậậtmtmããHH HH ccóó ththểể áápp ddụụngng trêntrên ddữữ liliệệuu ccóó kkííchch ththưướớcc bbấấtt kkỳỳ KKếếtt ququảả ccủủaa HH llàà mmộộtt chuchuỗỗii nn bitbit ((nn ccốố đđịịnhnh)) DDễễ ddààngng ttíínhnh gigiáá trtrịị HH((xx)) vvớớii xx bbấấtt kkỳỳ HH llàà hhààmm mmộộtt chichiềềuu HH anan totoàànn đđốốii vvớớii hihiệệnn ttưượợngng ““đđụụngng đđộộ””
  7. TínhTính toàntoàn vvẹẹnvnvàtàtíínnhbhbímímậậtt TTíínhnh totoàànn vvẹẹnn (Integrity):(Integrity): ngngưườờii ttấấnn côngcông khôngkhông ththểể cancan thithiệệpp đđểể ssửửaa nnộộii dungdung thôngthông đđiiệệpp MãMã hhóóaa chchỉỉ nhnhằằmm đđảảmm bbảảoo ttíínhnh bbíí mmậậtt,, khôngkhông gigiúúpp đđảảmm bbảảoo ttíínhnh totoàànn vvẹẹnn thôngthông tintin ÎÎ NgNgưườờii ttấấnn côngcông ccóó ththểể ssửửaa đđổổii nnộộii dungdung thôngthông đđiiệệpp đđãã đưđượợcc mãmã hhóóaa mmàà khôngkhông ccầầnn bibiếếtt nnộộii dungdung ththậậtt ssựự ccủủaa thôngthông đđiiệệpp VVíí ddụụ:: TrongTrong đđấấuu gigiáá trtrựựcc tuytuyếếnn,, ccóó ththểể thaythay đđổổii gigiáá đđặặtt ccủủaa đđốốii ththủủ mmàà khôngkhông ccầầnn bibiếếtt nnộộii dungdung ththậậtt ssựự ccủủaa gigiáá đđặặtt
  8. TínhTính “m“mộộtctchhiiềều”u” HHààmm bbăămm đưđượợcc xemxem llàà hhààmm mmộộtt chichiềềuu khikhi chocho trtrưướớcc gigiáá trtrịị bbăămm,, khôngkhông ththểể ttááii ttạạoo llạạii thôngthông đđiiệệpp banban đđầầuu,, hayhay còncòn ggọọii llàà ““titiềềnn ảảnhnh”” ((““prepre imageimage””)) NNếếuu ttììmm rara đưđượợcc mmộộtt phphươươngng phpháápp ttấấnn côngcông chocho phphéépp xxáácc đđịịnhnh ““titiềềnn ảảnhnh”” ttươươngng ứứngng vvớớii mmộộtt gigiáá trtrịị bbăămm chocho trtrưướớcc ththìì thuthuậậtt totoáánn bbăămm ssẽẽ khôngkhông còncòn anan totoàànn nnữữaa CCááchch ttấấnn côngcông nhnhằằmm ttạạoo rara mmộộtt thôngthông đđiiệệpp khkháácc vvớớii thôngthông đđiiệệpp banban đđầầuu nhnhưưngng ccóó ccùùngng gigiáá trtrịị bbăămm ggọọii llàà ttấấnn côngcông ““titiềềnn ảảnhnh ththứứ haihai”” ((““secondsecond prepre imageimage attackattack””))
  9. TínhTính “m“mộộtctchhiiềều”u” HHààmm HH rrấấtt khkhóó bbịị bibiếếnn đđổổii ngngưượợcc ChoCho trtrưướớcc chuchuỗỗii bitbit ngngẫẫuu nhiênnhiên yy∈∈{0,1}{0,1}n,, rrấấtt khkhóó ttììmm rara đưđượợcc chuchuỗỗii bitbit xx saosao chocho HH((xx)=)=yy VVíí ddụụ:: BruteBrute force:force: VVớớii mmỗỗii gigiáá trtrịị xx,, kikiểểmm tratra HH((xx)=)=yy SHASHA 11 chocho kkếếtt ququảả llàà chuchuỗỗii ggồồmm 160160 bitbit Giả sử phần cứng cho phép thực hiện 234 phép thử trong một giây Có thể thực hiện 259 phép thử trong một năm Cần 2101 (~ 1030) năm để biến đổi ngược SHA-1 với giá trị ngẫu nhiên y cho trước
  10. TínhTính anan toàntoàn đốđốivivớớihihiiệệntntượượngng đụđụngng độđộ RRấấtt khkhóó ccóó ththểể ttììmm đưđượợcc xx,, xx’’ saosao chocho HH((xx)=)=HH((xx’’)) TrongTrong mmộộtt ttậậpp hhợợpp mmàà ccáácc phphầầnn ttửử mangmang mmộộtt trongtrong NN gigiáá trtrịị chocho trtrưướớcc vvớớii xxáácc susuấấtt bbằằngng nhaunhau,, chchúúngng tata ccầầnn khokhoảảngng N phphéépp ththửử ngngẫẫuu nhiênnhiên đđểể ttììmm rara mmộộtt ccặặpp ccóó ccùùngng gigiáá trtrịị
  11. TínhTính chchấấtctcủủahahààmmbbăămm AnAn totoàànn đđốốii vvớớii ttấấnn côngcông ““titiềềnn ảảnhnh”” PreimagePreimage resistanceresistance chocho trtrưướớcc yy,, rrấấtt khkhóó ttììmm đưđượợcc gigiáá trtrịị xx saosao chocho HH((xx)=)=yy AnAn totoàànn đđốốii vvớớii hihiệệnn ttưượợngng đđụụngng đđộộ:: rrấấtt khkhóó ttììmm đưđượợcc haihai gigiáá trtrịị phânphân bibiệệtt xx vvàà xx’’ saosao chocho HH((xx’’)=)=HH((xx)) AnAn totoàànn đđốốii vvớớii ttấấnn côngcông ““titiềềnn ảảnhnh ththứứ 22”” 22nd preimagepreimage resistanceresistance chocho trtrưướớcc xx vvàà yy==HH((xx),), rrấấtt khkhóó ttììmm đưđượợcc gigiáá trtrịị xx’’≠≠xx saosao chocho HH((xx’’)=)=HH((xx))
  12. PhânPhân loloạạihihààmm bbăămmmmậậtmtmãã CryptographicCryptographic HashHash FunctionsFunctions KhôngKhông ssửử ddụụngng MessageMessage ManipulationManipulation khkhóaóa AuthenticationAuthentication CodesCodes DetectionDetection CodesCodes (MAC)(MAC) (MDC)(MDC) SSửử ddụụngng khkhóaóa OneOne-Way-Way CollisionCollision ResistantResistant HashHash FunctionsFunctions HashHash FunctionsFunctions (OWHF)(OWHF) (CRHF)(CRHF)
  13. CCấấuu ttrúcrúc MMerkle-Damgårderkle-Damgård KhKhốốii KhKhốốii KhKhốốii LengthLength 11 22 nn paddingpadding Finali- Finali- Hash IVIV ff ff ff ff sation Hash TTáácc gigiảả:: RalphRalph MerkleMerkle,, IvanIvan DamgDamgåårdrd HHầầuu hhếếtt ccáácc hhààmm bbăămm đđềềuu ssửử ddụụngng ccấấuu trtrúúcc nnààyy VVíí ddụụ:: SHASHA 1,1, MD5MD5
  14. MD5MD5 HHààmm bbăămm MD4MD4 (Message(Message DigestDigest 4)4) đưđượợcc GiGiááoo ssưư RivestRivest đđềề nghnghịị vvààoo nnăămm 1990.1990. VVààoo nnăămm sausau,, phiênphiên bbảảnn ccảảii titiếếnn MD5MD5 ccủủaa thuthuậậtt totoáánn nnààyy rara đđờờii
  15. MD5MD5 KhKhởởii ggáánn ccáácc bibiếếnn:: h0h0 :=:= 0x674523010x67452301 h1h1 :=:= 0xEFCDAB890xEFCDAB89 h2h2 :=:= 0x98BADCFE0x98BADCFE h3h3 :=:= 0x103254760x10325476
  16. MD5MD5 HHệệ ssốố quayquay trtrááii RR[[ii]c]củủaa mmỗỗii chuchu kkỳỳ:: RR[[ 0 15]0 15] :=:= {{ 7,7, 12,12, 17,17, 22,22, 7,7, 12,12, 17,17, 22,22, 7,7, 12,12, 17,17, 22,22, 7,7, 12,12, 17,17, 22}22} RR[16 31][16 31] :=:= {{ 5,5, 9,9, 14,14, 20,20, 5,5, 9,9, 14,14, 20,20, 5,5, 9,9, 14,14, 20,20, 5,5, 9,9, 14,14, 20}20} RR[32 47][32 47] :=:= {{ 4,4, 11,11, 16,16, 23,23, 4,4, 11,11, 16,16, 23,23, 4,4, 11,11, 16,16, 23,23, 4,4, 11,11, 16,16, 23}23} RR[48 63][48 63] :=:= {{ 6,6, 10,10, 15,15, 21,21, 6,6, 10,10, 15,15, 21,21, 6,6, 10,10, 15,15, 21,21, 6,6, 10,10, 15,15, 21}21}
  17. HHằằngng ssốố K[K[ii]] forfor ii fromfrom 00 toto 6363 KK[[ii]] :=:= floor(abs(sin(floor(abs(sin(ii ++ 1))1)) ×× (2(2 powpow 32))32))
  18. MD5MD5 TiTiềềnn xxửử lýlý:: ThêmThêm bitbit 11 vvààoo cucuốốii thôngthông đđiiệệpp ThêmThêm vvààoo kk bitbit 00 saosao chocho đđộộ ddààii thôngthông đđiiệệpp nhnhậậnn đưđượợcc đđồồngng ddưư 448448 (mod(mod 512)512) ThêmThêm 6464 bitbit bibiểểuu didiễễnn đđộộ ddààii ddààii ccủủaa thôngthông đđiiệệpp ggốốcc ((gigiáá trtrịị llưưuu ddạạngng littlelittle endian)endian) MM 11 000 0 00 mm m bit 1 bit k bit 64 bit Bội số của 512
  19. MD5MD5 ChiaChia thôngthông đđiiệệpp ((đđãã padding)padding) ththàànhnh ccáácc khkhốốii 512512 bitbit VVớớii mmỗỗii khkhốốii 512512 bit:bit: ChiaChia ththàànhnh 1616 wordword (32(32 bit,bit, littlelittle endian)endian) w[0 15]w[0 15] A=A= h0,h0, B=B= h1,h1, C=C= h2,h2, D=D= h3h3 6464 chuchu kkỳỳ xxửử lýlý h0+=A,h0+=A, h1+=B,h1+=B, h2+=C,h2+=C, h3+=Dh3+=D KKếếtt ququảả:=:= h0h0 || h1h1 || h2h2 || h3h3
  20. ChuChu kkỳỳ xxửử lýlý trongtrong MMD5D5 A,A, B,B, C,C, DD llàà 44 wordword (32(32 bit)bit) ccủủaa trtrạạngng ththááii FF llàà hhààmm phiphi tuytuyếếnn ((thaythay đđổổii ttùùyy theotheo chuchu kkỳỳ)) <<<<<< nn llàà phphéépp quayquay trtrááii nn vvịị trtríí ⊞⊞ phphéépp ccộộngng modulomodulo 2232 KKt llàà hhằằngng ssốố
  21. ChuChu kkỳỳ xxửử lýlý trongtrong MMD5D5 forfor ii fromfrom 00 toto 6363 ff == FF[[ii]] (B,(B, C,C, D)D) gg == G[G[ii]] ((ii)) temptemp == DD DD == CC CC == BB BB == ((A((A ++ ff ++ KK[[ii]] ++ w[w[gg])]) <<<<<< R[R[ii])]) ++ BB AA == temptemp
  22. ChuChu kkỳỳ xxửử lýlý trongtrong MMD5D5 0 ≤ i ≤ 15 f := (B ∧ C) ∨ ((¬ B) ∧ D) g := i 16 ≤ i ≤ 31 f := (D ∧ B) ∨ ((¬ D) ∧ C) g := (5×i + 1) mod 16 32 ≤ i ≤ 47 f := B ⊕ C ⊕ D g := (3×i + 5) mod 16 48 ≤ i ≤ 63 f := C ⊕ (B ∨ (¬ D)) g := (7×i) mod 16
  23. SHA1SHA1 PhPhươươngng phpháápp SecureSecure HashHash StandardStandard (SHS(SHS hayhay SHA1)SHA1) dodo NISTNIST vvàà NSANSA xâyxây ddựựngng đưđượợcc côngcông bbốố trêntrên FederalFederal RegisterRegister vvààoo ngngààyy 3131 ththáángng 11 nnăămm 19921992 vvàà sausau đđóó chchíínhnh ththứứcc trtrởở ththàànhnh phphươươngng phpháápp chuchuẩẩnn ttừừ ngngààyy 1313 ththáángng 55 nnăămm 1993.1993. ThôngThông đđiiệệpp đưđượợcc xxửử lýlý theotheo ttừừngng khkhốốii 512512 bitbit ThôngThông đđiiệệpp rrúútt ggọọnn đđộộ ddààii 160160 bitbit
  24. SHA1SHA1 KhKhởởii ggáánn ccáácc bibiếếnn:: h0h0 :=:= 0x674523010x67452301 h1h1 :=:= 0xEFCDAB890xEFCDAB89 h2h2 :=:= 0x98BADCFE0x98BADCFE h3h3 :=:= 0x103254760x10325476 h4h4 :=:= 0xC3D2E1F00xC3D2E1F0
  25. SHA1SHA1 TiTiềềnn xxửử lýlý:: ThêmThêm bitbit 11 vvààoo cucuốốii thôngthông đđiiệệpp ThêmThêm vvààoo kk bitbit 00 saosao chocho đđộộ ddààii thôngthông đđiiệệpp nhnhậậnn đưđượợcc đđồồngng dudu 448448 (mod(mod 512)512) ThêmThêm 6464 bitbit bibiểểuu didiễễnn đđộộ ddààii ddààii ccủủaa thôngthông đđiiệệpp ggốốcc ((gigiáá trtrịị llưưuu ddạạngng bigbig endian)endian) MM 11 000 0 00 mm m bit 1 bit k bit 64 bit Bội số của 512
  26. SHA1SHA1 ChiaChia thôngthông đđiiệệpp ((đđãã padding)padding) ththàànhnh ccáácc khkhốốii 512512 bitbit VVớớii mmỗỗii khkhốốii 512512 bit:bit: ChiaChia ththàànhnh 1616 wordword (32(32 bit,bit, bigbig endian)endian) w[0 15]w[0 15] MMởở rrộộngng 1616 wordword (32(32 bit)bit) ththàànhnh 8080 wordword (32(32 bit)bit) w[iw[i]=(w[i]=(w[i 3]3]⊕⊕ w[iw[i 8]8] ⊕⊕ w[iw[i 14]14] ⊕⊕ w[iw[i 16])16]) <<<<<< 11 vvớớii 1616 ≤≤ ii << 8080 A=A= h0,h0, B=B= h1,h1, C=C= h2,h2, D=D= h3,h3, E=E= h4h4 8080 chuchu kkỳỳ xxửử lýlý h0+=A,h0+=A, h1+=B,h1+=B, h2+=C,h2+=C, h3+=D,h3+=D, h4+=Eh4+=E KKếếtt ququảả:=:= h0h0 || h1h1 || h2h2 || h3h3 || h4h4
  27. ChuChu kkỳỳ xxửử lýlý trongtrong SSHA1HA1 tt llàà ssốố ththứứ ttựự ccủủaa chuchu kkỳỳ A,A, B,B, C,C, D,D, EE llàà 55 wordword (32(32 bit)bit) ccủủaa trtrạạngng ththááii FF llàà hhààmm phiphi tuytuyếếnn ((thaythay đđổổii ttùùyy theotheo chuchu kkỳỳ)) <<<<<< nn llàà phphéépp quayquay trtrááii nn vvịị trtríí ⊞⊞ phphéépp ccộộngng modulomodulo 2232 KKt llàà hhằằngng ssốố
  28. ChuChu kkỳỳ xxửử lýlý trongtrong SSHA1HA1 forfor ii fromfrom 00 toto 7979 ff == FF[[tt]] (B,(B, C,C, D)D) temptemp == (A(A <<<<<< 5)5) ++ ff ++ EE ++ KKt ++ w[w[ii]] EE == DD DD == CC CC == BB <<<<<< 3030 BB == AA AA == temptemp
  29. ChuChu kkỳỳ xxửử lýlý trongtrong SSHA1HA1 ⎧⎧((XX ∧∧YY))∨∨((((¬¬XX ))∧∧ZZ)),, 00 ≤≤ tt ≤≤1919 ⎪⎪ ⎪⎪XX ⊕⊕YY ⊕⊕ZZ,, 2020 ≤≤ tt ≤≤ 3939 FF[][]tt ()()XX,,YY,,ZZ == ⎨⎨ ⎪⎪()()XX ∧∧YY ∨∨((XX ∧∧ZZ))∨∨((YY ∧∧ZZ)),, 4040 ≤≤ tt ≤≤ 5959 ⎩⎪⎩⎪XX ⊕⊕YY ⊕⊕ZZ,, 6060 ≤≤ tt ≤≤ 7979 ⎧⎧0x5a8279990x5a827999,,00 ≤≤ tt ≤≤1919 ⎪⎪ ⎪⎪0x6ed9eba10x6ed9eba1,,2020 ≤≤ tt ≤≤ 3939 KKtt == ⎨⎨ ⎪⎪0x8f1bbcdc0x8f1bbcdc,,4040 ≤≤ tt ≤≤ 5959 ⎩⎪⎩⎪0xca62c1d60xca62c1d6,,6060 ≤≤ tt ≤≤ 7979
  30. ChuChu kkỳỳ xxửử lýlý trongtrong SSHA1HA1 CôngCông ththứứcc ccủủaa hhààmm F[tF[t]] ccóó ththểể đưđượợcc viviếếtt llạạii nhnhưư sausau:: ⎧⎧ZZ ⊕⊕((XX ∧∧((YY ⊕⊕ZZ)))),, 00 ≤≤ tt ≤≤1919 ⎪⎪ ⎪⎪()()XX ∧∧YY ∨∨()()ZZ ∧∧()()XX ∨∨YY ,, 2020 ≤≤ tt ≤≤ 3939 FF[][]tt ()()XX,,YY,,ZZ == ⎨⎨ ⎪⎪()()XX ∧∧YY ∨∨()()ZZ ∧∧((XX ⊕⊕YY)),, 4040 ≤≤ tt ≤≤ 5959 ⎩⎪⎩⎪()()XX ∧∧YY ++()()ZZ ∧∧((XX ⊕⊕YY)),, 6060 ≤≤ tt ≤≤ 7979
  31. NhómNhóm hàmhàm bbăămSmSHHAA 011010011101 2002 2002 SHA-256 SHA-384 2002 2004 1994 SHA-224 SHA-1 SHA-512 Secure Hash Standard
  32. CácCác tthuhuậậttttooáánSnSHHAA Thuật toán Kết Trạng Khối Thông Word # Thao tác Đụng quả thái (bit) điệp (bit) chu độ (bit) (bit) tối đa kỳ (bit) 64 SHA-0 160 160 512 2 − 1 32 80 +,and,or, Có xor,rotl 64 63 SHA-1 160 160 512 2 − 1 32 80 +,and,or, 2 xor,rotl thao tác 64 SHA- 256/ 256 512 2 − 1 32 64 +,and, Chưa 256/224 224 or,xor, shr,rotr 128 SHA- 512/ 512 1024 2 − 1 64 80 +,and, Chưa 512/384 384 or,xor, shr,rotr
  33. SSửử ddụụngng SHASHA Loại ƯD Sử dụng thông thường Suite B Thuật toán Đến 2010 Sau 2010 Secret Top Secret SHA-1 √ SHA-224 √ √ SHA-256 √ √ √ SHA-384 √ √ √ √ SHA-512 √ √ Nguồn: NIST Cryptographic Standards Status Report April 4, 2006 Bill Burr Manager, Security Technology Group NIST william.burr@nist.gov
  34. MessageMessage authenticationauthentication codecode (MAC)(MAC) MMụụcc đđííchch:: xxáácc đđịịnhnh ngunguồồnn ggốốcc ccủủaa thôngthông tintin
  35. MACMAC vàvà chchữữ kýký đđiiệệntntửử PhPháátt sinhsinh MACMAC vvàà kikiểểmm tratra MACMAC ssửử ddụụngng chungchung khkhóóaa bbíí mmậậtt (secret(secret key)key) NgNgưườờii ggửửii vvàà ngngưườờii nhnhậậnn phphảảii ththỏỏaa thuthuậậnn trtrưướớcc khkhóóaa bbíí mmậậtt ((gigiốốngng mãmã hhóóaa đđốốii xxứứngng)) KhôngKhông hhỗỗ trtrợợ viviệệcc chchốốngng ttừừ chchốốii trtrááchch nhinhiệệmm (non(non repudiation)repudiation)