CHƯƠNG 3 TỔNG QUAN VỀ HÀM BĂM VÀ THUẬT TOÁN - 123doc

  1. Trang chủ >
  2. Công Nghệ Thông Tin >
  3. An ninh - Bảo mật >
CHƯƠNG 3 TỔNG QUAN VỀ HÀM BĂM VÀ THUẬT TOÁN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (656 KB, 43 trang )

•dễ dàng tính giá trị băm với bất kỳ thông điệp cho trước nào,•không thể tìm được một thông điệp từ một giá trị băm cho trước,•không thể sửa được một thông điệp mà không làm thay đổi giá trị bămcủa nó,•không thể tìm ra 2 thông điệp khác nhau mà có cùng giá trị băm.Hàm băm mật mã có rất nhiều ứng dụng trong an toàn thông tin, nhấtlà cho chữ ký điện tử (Digital Signatures), mã xác thực thông điệp (MACs –Message Authentication Codes), và một số dạng xác thực khác. Chúng cũngcó thể sử dụng như các hàm băm thông thường, để đánh chỉ số dữ liệu trongbảng băm: như điểm chỉ, để nhận diện dữ liệu lặp hay xác định tệp dữ liệuduy nhất: hay như checksums để nhận biết sự thay đổi dữ liệu. Thật vậy,trong lĩnh vực an toàn thông tin, giá trị băm mật mã đôi khi được gọi điểmchỉ (số), checksums, hay giá trị băm, dù rằng tất cả các thuật ngữ này chỉ đạidiện về mặt chức năng nhưng các tính3.2.1 Tính chấtHầu hết các hàm băm mật mã được thiết kế với đầu xâu đầu vào có độdài tùy ý và kết quả đầu ra là một giá trị băm có độ dài cố định. Hàm bămmật mã phải có thể chống lại được tất cả các kiểu tấn công phân tích đã biết.Tối thiểu, nó phải có các tính chất sau:Kháng tiền ảnh (Preimage resistance): cho trước một giá trị băm h,khó tìm ra thông điệp m thỏa mã h = hash(m). Khái niệm như là hàm mộtchiều (one way function). Các hàm thiếu tính chất này sẽ bị tổn thương bởicác tấn công tiền ảnh (preimage attacks).Kháng tiền ảnh thứ 2 (Second preimage resistance): cho trước một đầuvào m1, khó có thể tìm ra đầu vào m2 khác (không bằng m1) thỏa mãnhash(m1) = hash(m2). Tính chất này đôi khi như là kháng va chạm yếu(weak collision resistance). Các hàm thiếu tính chất này sẽ bị tổn thương bởicác tấn công tiền ảnh thứ 2 (second preimage attacks).Kháng va chạm (Collision resistance): khó có thể tìm ra 2 thông điệpm1 và m2 thỏa mãn hash(m1) = hash(m2). Một cặp như vậy được gọi là mộtva chạm băm (mật mã), và tính chất này đôi khi như là kháng va chạm mạnh12 (strong collision resistance). Tính chất này yêu cầu rằng một giá trị băm tốithiểu cũng mạnh hơn yêu cầu kháng tiền ảnh, hơn nữa các va chạm có thểtìm được bởi tấn công ngày sinh (birthday attack).Các tính chất trên nói lên rằng đối phương ác ý không thể thay hoặcsửa dữ liệu đầu vào mà không làm thay đổi giá trị tóm lược của nó. Do đó,nếu 2 xâu có cùng một giá trị tóm lược, thì người ta tin tưởng rằng chúng làgiống nhau.Một hàm có các tiêu chí này vẫn có thể có các tính chất không mongmuốn. Hiện tại các hàm băm mật mã thông thường vẫn bị tổn thương bởi cáctấn công mở rộng độ dài (length-extension attacks): cho trước h(m) vàlen(m) nhưng không biết m, bằng cách chọn m’ hợp lý, kẻ tấn công có thểtính h(m || m’), với || ký hiệu là phép ghép xâu. Tính chất này có thể được sửdụng để phá vỡ các lược đồ xác thực đơn giản dựa vào hàm băm. Cấu trúcHMAC (Hash Message Authentication Code) gặp phải các vấn đề như vậy.Về mặt lý tưởng, người ta có thể muốn các điều kiện mạnh hơn. Kẻtấn công không thể tìm ra 2 thông điệp có các giá trị tóm lược gần giốngnhau; hoặc luận ra bất kỳ thông tin có ích nào về dữ liệu, mà chỉ cho trướcgiá trị tóm lược. Do đó, hàm băm mật mã phải tiến gần tới hàm ngẫu nhiên(đến mức có thể) mà vẫn là tất định và tính toán hiệu quả.Thuật toán checksum, như là CRC32 và các CRC (Cyclic RedundancyCheck) khác, được thiết kế nhiều yêu cầu yếu hơn, và nói chung khônggiống như là các hàm băm mật mã. Ví dụ, có một CRC đã được sử dụngkiểm tra tính toàn vẹn trong chuẩn mã WEP (Wired Equivalent Privacy),nhưng đã có một tấn công khai thác tính tuyến tính của checksum.3.2.2 Ứng dụngMột ứng dụng tiêu biểu của hàm băm mật mã sẽ như sau: Alice đặt ramột bài toán khó cho Bob, và tuyên bố rằng cô ta đã giải được. Bob sẽ phảicố gắng tự thực hiện, nhưng chưa dám chắc rằng Alice không giải sai. Dođó, Alice viết ra lời giải của mình, gắn thêm một giá trị nonce ngẫu nhiên,tính giá trị băm của nó và cho Bob biết giá trị băm đó (giữ bí mật lời giải vàgiá trị nonce). Bằng cách này, khi Bob tìm ra lời giải của mình vài ngày sau13 đó, Alice có thể chứng minh rằng cô ta có lời giải sớm hơn bằng cách tiết lộgiá trị nonce cho Bob. (Đây là một ví dụ về một lược đồ cam kết đơn giảntrong thực tế, vai trò của Alice và Bob thường sẽ là các chương trình máytính, và bí mật sẽ là một cái gì đó dễ dàng giả mạo hơn là một bài toán đótheo yêu cầu).Một ứng dụng quan trọng của băm an toàn là xác minh tính toàn vẹncủa thông điệp. Xác định liệu có thay đổi nào đã được thực hiện đối vớithông điệp (hoặc một tập tin), ví dụ, có thể được thực hiện bằng cách so sánhcác giá trị tóm lược thông điệp đã tính toán trước, và sau đó, truyền đi (hoặcsự kiện nào đó).Một giá trị tóm lược thông điệp cũng có thể phục vụ như là mộtphương tiện nhận dạng một tập tin đáng tin cậy một số hệ thống quản lý mãnguồn, bao gồm Git, Mercurial và Monotone, sử dụng giá trị sha1sum củanhiều dạng nội dung khác nhau (nội dung tập tin, cây thư mục, vv) để nhậndạng chúng một cách duy nhất duy nhất.Một ứng dụng khác liên quan tớiviệc xác thực mật khẩu. Mật khẩu thường không được lưu trữ dạng văn bảnrõ, với các lý do hiển nhiên, mà thay bằng dạng giá trị tóm lược. Để xác thựcngười dùng, mật khẩu đại diện cho người sử dụng được băm và so sánh vớigiá trị băm lưu trữ. Điều này đôi khi được gọi là phép mã hóa một chiều(one-way encryption). Đối với cả hai lý do bảo mật và hiệu suất, hầu hết cácthuật toán chữ ký số chỉ định rằng chỉ giá trị tóm lược của thông báo được"ký", chứ không phải toàn bộ thông báo. Các hàm băm cũng có thể được sửdụng trong việc tạo các bit giả ngẫu nhiên (pseudorandom)Các giá trị băm còn được sử dụng để nhận dạng tập tin trên mạngchia sẻ peer-to-peer. Ví dụ, trong một liên kết ed2k, một giá trị băm MD4biến thể được kết hợp với kích thước tập tin, cung cấp đủ thông tin để địnhvị các nguồn tập tin, tải các tập tin và xác nhận nội dung của nó. (Trong máytính, các liên kết ed2k là các hyperlinks được sử dụng để biểu thị các tập tinđược lưu trữ trong mạng eDonkey P2P.) Các liên kết Magnet là một ví dụkhác. Các giá trị băm tập tin như vậy thường là băm đầu danh sách băm hoặccây băm để có thêm nhiều tiện lợi.14 3.2.3 Hàm băm dựa trên mã khốiCó một số phương pháp sử dụng thuật toán mã khối để xây dựng mộthàm băm mật mã, cụ thể nó là hàm nén một chiều (one-way compressionfunction).Các phương pháp tương tự như các chế độ hoạt động của mã khối sử dụngcho phép mã. Tất cả các hàm băm đã biết, bao gồm MD4, MD5, SHA-1 vàSHA-2 được xây dựng từ các thành phần giống mã khối, chúng được thiết kếriêng cho mục đích này, với thông tin phản hồi để bảo đảm rằng các hàmnhận được là không song ánh.Một thuật toán mật mã khối chuẩn như AES có thể được sử dụng thaycho những thuật toán mật mã khối tùy chỉnh điều này thường phải trả giá vềhiệu năng, nhưng có thể được thuận lợi khi hệ thống cần thực hiện băm mậtmã và chức năng mật mã khác như mã hóa đều có thể sử dụng chung mộtthuật toán mã khối, nhưng bị hạn chế ở kích thước mã hoặc phần cứng phảiphù hợp với nó, chẳng hạn như trong một số hệ thống nhúng như thẻ thôngminh.3.2.4 Cấu trúc MERKLE-DAMGARDMột hàm băm phải có thể xử lý thông điệp độ dài tùy ý cho kết quảđầu ra có độ dài cố định. Điều này có thể đạt được bằng cách chặt đầu vàothành chuỗi các khối có kích thước bằng nhau, và tác động vào chúng theothứ tự bằng cách sử dụng một hàm nén một chiều. Hàm nén hoặc có thểđược thiết kế đặc biệt cho băm hoặc được xây dựng từ một thuật toán mãkhối. Một hàm băm được xây dựng với cấu trúc Merkle-Damgård có khảnăng kháng va chạm dựa vào hàm nén của nó; bất kỳ va chạm nào đối vớihàm băm đầy đủ có thể đều bắt nguồn từ một va chạm trong các hàm nén.15 Hình 3.5Cấu trúc băm Merkle-Damgård.Khối cuối xử lý cũng phải được thêm cho đủ độ dài khối; điều này rất quantrọng đối với tính an toàn của cấu trúc Merkle-Damgård. Hầu hết các hàmbăm phổ dụng, bao gồm SHA-1 và MD5, thực hiện theo cấu trúc này.Cấu trúc trên vẫn tiềm ẩn lỗi cố hữu, bao gồm các tấn công mở rộngđộ dài và các tấn công tạo-và-dán, và không thể song song được. Kết quả là,có nhiều ứng cử viên trong cuộc thi về hàm băm mật mã của NIST được xâydựng dựa trên các kiến trúc khác.3.2.5 BIRTHDAY ATTACKNhư đã biết, một dạng tấn công có khả năng đối với các hệ chữ kýđiện tử có dùng hàm Băm là tìm cách tạo ra những văn bản x và x’ có nộidung khác nhau (một có lợi và một là bất lợi cho bên ký) mà giá trị Bămgiống nhau. Kẻ địch có thể tìm cách tạo ra một số lượng rất lớn các vănbản có nội dung không thay đổi nhưng khác nhau về biểu diễn nhị phân(đơn giản là việc thêm bớt khoảng trắng hay dùng nhiều từ đồng nghĩa đểthay thế ...), sau đó sử dụng một chương trình máy tính để tính giá trị Bămcủa các văn bản đó và đem so sánh với nhau để hi vọng tìm ra một cặp vănbản đụng độ (sử dụng phương pháp thống kê).Nhưng việc này đòi hỏi số văn bản cần được tính giá trị Bămphải lớn hơn kích thước không gian Băm rất nhiều. Chẳng hạn như nếuhàm Băm có không gian Băm 64-bit thì số lượng văn bản cần được đem ranạp vào chương trình phải ít nhất 264 (với một máy tính có thể thực hiện16 việc Băm 1 triệu bức điện trong 1 giây, thì phải mất 6000.000 năm tínhtoán.Tuy nhiên nếu kẻ địch thử với lượng văn bản ít hơn nhiều, trong phạmvi có thể tính được thì xác suất để tìm được đụng độ sẽ như thế nào? Câutrả lời là “có thể thực hiện được”. Bản chất của hiện tượng này được minhhoạ rõ thông qua phát biểu sau, thường được gọi là nghịch lý ngày sinh(birthday paradox)3.2.6 Hàm băm mật mãHàm băm mật mã là hàm toán học chuyển đổi một thông điệp có độdài bất kỳ thành một dãy bit có độ dài cố định (tùy thuộc vào thuật toánbăm). Dãy bit này được gọi là thông điệp rút gọn (message digest) hay giá trịbăm (hash value), đại diện cho thông điệp ban đầu. Dễ dàng nhận thấy rằnghàm băm h không phải là một song ánh. Do đó, với thông điệp x bất kỳ, tồntại thông điệp x’ ≠ x sao cho h(x)= h(x’). Lúc này, ta nói rằng “có sự đụngđộ xảy ra”. Một hàm băm h được gọi là an toàn (hay “ít bị đụng độ”) khikhông thể xác định được (bằng cách tính toán) cặp thông điệp x và x’ thỏamãn x≠x’ và h(x) = h(x’). Trên thực tế, các thuật toán băm là hàm một chiều,do đó, rất khó để xây dựng lại thông điệp ban đầu từ thông điệp rút gọn.Hàm băm giúp xác định được tính toàn vẹn dữ liệu của thông tin: mọi thayđổi, dù là rất nhỏ, trên thông điệp cho trước, ví dụ như đổi giá trị 1 bit, đềulàm thay đổi thông điệp rút gọn tương ứng. Tính chất này hữu ích trong việcphát sinh, kiểm tra chữ ký điện tử, các đoạn mã chứng nhận thông điệp, phátsinh số ngẫu nhiên, tạo ra khóa cho quá trình mã hóa…Hàm băm là nền tảng cho nhiều ứng dụng mã hóa. Có nhiều thuật toánđể thực hiện hàm băm, trong số đó, phương pháp SHA-1 và MD5 thườngđược sử dụng khá phổ biến từ thập niên 1990 đến nay. Hàm băm MD4 (Message Digest 4) và MD5 (Message Digest 5):• Hàm băm MD4 được Giáo sư Ron Rivest đề nghị vào năm 1990.Vào năm 1992, phiên bản cải tiến MD5 của thuật toán này ra đời.• Thông điệp rút gọn có độ dài 128 bit.• Năm 1995, Hans Dobbertin đã chỉ ra sự đụng độ ngay chính trongbản thân hàm nén của giải thuật (mặc dù chưa thật sự phá vỡ được giải17 thuật). Năm 2004, nhóm tác giả Xiaoyun Wang, Dengguo Feng, Xuejia Laivà Hongbo Yu đã công bố kết quả về việc phá vỡ thuật toán MD4 và MD5bằng phương pháp tấn công đụng độ Phương pháp Secure Hash Standard (SHS):• Phương pháp Secure Hash Standard (SHS) do NIST và NSA xâydựng được công bố trên Federal Register vào ngày 31 tháng 1 năm 1992 vàsau đó chính thức trở thành phương pháp chuẩn từ ngày 13 tháng 5 năm1993.• Thông điệp rút gọn có độ dài 160 bit. Ngày 26/08/2002, Viện Tiêuchuẩn và Công nghệ quốc gia của Hoa Kỳ (National Institute of Standardand Technology - NIST) đã đề xuất hệ thống chuẩn hàm băm an toàn(Secure Hash Standard) gồm 4 thuật toán hàm băm SHA-1, SHA-256, SHA384, SHA-512. Đến 25/03/2004, NIST đã chấp nhận thêm thuật toán hàmbăm SHA-224 vào hệ thống chuẩn hàm băm. Các thuật toán hàm băm doNIST đề xuất được đặc tả trong tài liệu FIPS180-23.2.7 Cấu trúc hàm bămHầu hết các hàm băm mật mã đều có cấu trúc giải thuật như sau:Cho trước một thông điệp M có độ dài bất kỳ. Tùy theo thuật toánđược sử dụng, chúng ta có thể cần bổ sung một số bit vào thông điệp này đểnhận được thông điệp có độ dài là bội số của một hằng số cho trước. Chianhỏ thông điệp thành từng khối có kích thước bằng nhau: M1, M2, …MsGọi H là trạng thái có kích thước n bit, f là “hàm nén” thực hiện thaotác trộn khối dữ liệu với trạng thái hiện hành. Khởi gán H 0 bằng một vectorkhởi tạo nào đó Hi = f(Hi-1,M) với i = 1, 2, 3, …, s Hs chính là thông điệp rútgọn của thông điệp M ban đầu3.2.8 Tính ăn toàn của hàm băm và khả năng đụng độHàm băm được xem là an toàn đối với hiện tượng đụng độ khi rất khótìm được hai thông điệp có cùng giá trị băm.Nhận xét: Trong một tập hợp mà các phần tử mang một trong N giá trịcho trước với xác suất bằng nhau, chúng ta cần khoảng N phép thử ngẫunhiên để tìm ra một cặp phần tử có cùng giá trị.18 Như vậy, phương pháp hàm băm được xem là an toàn đối với hiện tượngđụng độ nếu chưa có phương pháp tấn công nào có thể tìm ra cặp thông điệpcó cùng giá trị hàm băm với số lượng tính toán ít hơn đáng kể so với ngưỡng2n/2, với n là kích thước (tính bằng bit) của giá trị băm.Phương pháp tấn công dựa vào đụng độ:• Tìm ra 2 thông điệp có nội dung khác nhau nhưng cùng giá trị băm.• Ký trên một thông điệp, sau đó, người ký sẽ không thừa nhận đây làchữký của mình mà nói rằng mình đã ký trên một thông điệp khác.• Như vậy, cần phải chọn 2 thông điệp “đụng độ” với nhau trước khiký.3.2.9 Tính một chiềuHàm băm được xem là hàm một chiều khi cho trước giá trị băm,không thể tái tạo lại thông điệp ban đầu, hay còn gọi là “tiền ảnh” (“preimage”). Như vậy, trong trường hợp lý tưởng, cần phải thực hiện hàm bămcho khoảng 2n thông điệp để tìm ra được “tiền ảnh” tương ứng với một giátrị băm.Nếu tìm ra được một phương pháp tấn công cho phép xác định được“tiền ảnh” tương ứng với một giá trị băm cho trước thì thuật toán băm sẽkhông còn an toàn nữa. Cách tấn công nhằm tạo ra một thông điệp khác vớithông điệp ban đầu nhưng có cùng giá trị băm gọi là tấn công “tiền ảnh thứhai” (second pre-image attack).3.2.10 Sử dụng cho các nguyên thủy mật mã.Các hàm băm có thể được dùng để xây dựng nguyên thủy mật mãkhác. Tuy nhiên, để những nguyên thủy mật mã này được an toàn, thì cầnphải chú ý xây dựng chúng theo đúng nguyên lý.Mã xác thực thông điêp (MACs) thường được xây dựng từ hàm băm.HMAC cũng dựa vào MAC.Cũng như thuật toán mã khối có thể được dùng để xây dựng hàm băm, hàmbăm có thể được sử dụng để xây dựng các thuật toán mã khối. Cấu trúcLuby-Rackoff sử dụng các hàm băm xây dựng mã khối có thể chứng minhđược an toàn nếu hàm băm mà nó dựa vào là an toàn. Ngoài ra, có nhiều19 hàm băm (bao gồm cả các hàm băm SHA) được xây dựng bằng cách sửdụng một thuật toán mã khối mục đích đặc biệt theo cấu trúc Davies-Meyerhoặc cấu trúc khác mã khối đó cũng có thể được sử dụng trong một chế độhoạt động thông thường, mà không có sự đảm bảo an toàn tương tựBộ sinh số giả ngẫu nhiên (PRNGs) có thể được xây dựng dựa vàohàm băm. Điều này được thực hiện bằng cách kết hợp một mầm ngẫu nhiên(bí mật) với một bộ đếm và lấy giá trị băm của nó.Thuật toán mã dòng (tream cipher) có thể được xây dựng dựa vàocác hàm băm. Thường điều này được thực hiện bằng cách: đầu tiên, xâydựng một Bộ sinh số số giả ngẫu nhiên an toàn mật mã sau đó, sử dụng dòngcác byte ngẫu nhiên như là dòng khóa (keystream). SEAL là một thuật toánmã dòng sử dụng SHA-1 để tạo ra các bảng bên trong, mà sau đó được sửdụng trong một bộ sinh dòng khóa nhiều hay ít không liên quan đến cácthuật toán băm SEAL không được đảm bảo tính mạnh (hay yếu) như SHA-1.3.2.11 Ghép các hàm băm mật mãGhép các kết quả đầu ra từ nhiều hàm băm tạo ra tính kháng va chạmtối thiểu cũng tốt như là độ mạnh nhất của thuật toán trong các kết nối. Vídụ, SSL sử dụng ghép nối MD5 và SHA-1 để đảm bảo giao thức đó sẽ vẫnan toàn thậm chí nếu một hàm băm bị phá vỡ.Tuy nhiên, với các hàm băm Merkle-Damgård, hàm ghép nối chỉ mạnh nhưcác thành phần tốt nhất, chứ không mạnh hơn. Joux chỉ ra rằng 2-va chạmdẫn đến n-va chạm nếu dễ dàng tìm ra 2 thông điệp có cùng giá trị bămMD5, thì không khó để tìm thấy nhiều thông điệp khi kẻ tấn công muốn lấycác giá trị băm MD5 giống nhau. Trong số n thông điệp với cùng giá trị bămMD5, có khả năng có được một va chạm SHA-1. Nhưng công việc cần thựchiện thêm là tìm va chạm SHA-1 (làm sao để tốt hơn tìm kiếm ngày sinh) làđa thức. Lập luận này được tổng kết bởi Finney.3.2.12 Thuật toán băm mật mãCó một danh sách dài các hàm băm mật mã, mặc dù trong đó cónhiều hàm băm được cho là dễ bị tổn thương và không nên sử dụng. Ngay cả20 khi một hàm băm chưa bị phá vỡ, một tấn công thành công đối với một biếnthể yếu đó có thể làm giảm sự tự tin của các chuyên gia và dẫn đến loại bỏnó. Ví dụ, vào tháng 8 năm 2004 người ta đã tìm ra những điểm yếu của mộtvài hàm băm phổ biến vào thời đó, bao gồm SHA-0, RIPEMD, và MD5.Điều này đã đặt ra câu hỏi an ninh lâu dài của các thuật toán sau này đượcbắt nguồn từ những hàm băm này - đặc biệt, SHA-1 (một phiên bản mạnhcủa SHA-0), RIPEMD-128, và RIPEMD-160 (cả hai phiên bản mạnh củaRIPEMD). Vì vậy, cả SHA-0 và RIPEMD đều không được sử dụng rộng rãikể từ khi chúng được thay thế bởi các phiên bản mạnh.Đến năm 2009, hai hàm băm mật mã được sử dụng thông dụng nhấtvẫn là MD5 và SHA-1. Tuy nhiên, MD5 đã bị phá vỡ do có một tấn công lênnó để phá vỡ SSL trong năm 2008 SHA-0 và SHA-1 là các thành viên củahọ hàm băm SHA được phát triển bởi NSA. Vào tháng 2 năm 2005, đã tấncông thành công trên SHA-1, việc tìm kiếm va chạm trong khoảng 269 phéptoán băm, thay vì 280 theo dự kiến cho hàm băm 160-bit. Vào tháng 8 năm2005, có một tấn công thành công trên SHA-1 trong đó việc tìm kiếm vachạm chỉ cần 263 phép toán băm. Điểm yếu lý thuyết của SHA-1 tồn tại vốncó, nhưng gợi ý rằng có thể thực hiện về mặt thực tế để phá vỡ nó cũng phảimất vài năm. Các ứng dụng mới có thể tránh được những vấn đề này bằngcách sử dụng thêm các thành viên tiên tiến của họ SHA, như SHA-2, hoặc sửdụng các kỹ thuật như băm ngẫu nhiên hóa sẽ công quan tâm đến kháng vachạm.Tuy nhiên, để đảm bảo tính chất mạnh lâu dài của các ứng dụng cósử dụng hàm băm, hiện có một cuộc thi nhằm thiết kế hàm băm thay thế choSHA-2, nó sẽ có tên là SHA-3 và trở thành một tiêu chuẩn FIPS vào năm20123.2.13 Phương pháp SECURE HASH STANDARD (SHS)Phương pháp Secure Hash Standard (SHS) do NIST và NSA xây dựngđượccông bố trên Federal Register vào ngày 31 tháng 1 năm 1992 và sau đóchính thức trở thành phương pháp chuẩn từ ngày 13 tháng 5 năm 1993.Nhìn chung, SHS được xây dựng trên cùng cơ sở với phương pháp MD4 và21 MD5. Tuy nhiên, phương pháp SHS lại áp dụng trên hệ thống big-endianthay vì little-endian như phương pháp MD4 và MD5. Ngoài ra, thông điệprút gọn kết quả của hàm băm SHS có độ dài 160 bit (nên phương pháp nàythường được sử dụng kết hợp với thuật toán DSS).3.2.14 Một số hàm băm nổi tiếng Hàm băm MD4 (Message Digest 4) Hàm băm MD5 (Message Digest 5) SHS (Secure Hash Standard) Hàm băm Davies-Mayer Hàm AES-Hash Hàm băm Davies-Mayer và AES-Hash SHA-1…22

Xem Thêm

Tài liệu liên quan

  • Tìm hiểu về thuật toán hàm băm MD5Tìm hiểu về thuật toán hàm băm MD5
    • 43
    • 1,791
    • 7
  • Gián án giao an van 9. Gián án giao an van 9.
    • 2
    • 73
    • 0
  • Gián án Báo cáo tình hình trước và sau tết 2011(Mg Đông Hà) Gián án Báo cáo tình hình trước và sau tết 2011(Mg Đông Hà)
    • 2
    • 874
    • 0
  • Bài soạn KẾ HOẠCH GDTC Bài soạn KẾ HOẠCH GDTC
    • 3
    • 315
    • 1
  • Gián án KẾ HOẠCH DẠY THÊM HỌC THÊM Gián án KẾ HOẠCH DẠY THÊM HỌC THÊM
    • 1
    • 505
    • 2
  • Bài soạn KẾ HOẠCH CUỘC VẬN ĐỘNG HAI KHÔNG Bài soạn KẾ HOẠCH CUỘC VẬN ĐỘNG HAI KHÔNG
    • 3
    • 349
    • 0
  • Tài liệu may tinh cam tay cho vl .tôi đã chyuển sang .doc Tài liệu may tinh cam tay cho vl .tôi đã chyuển sang .doc
    • 0
    • 6
    • 0
  • Tài liệu KẾ HOẠCH TRƯỜNG HỌC THÂN THIỆN Tài liệu KẾ HOẠCH TRƯỜNG HỌC THÂN THIỆN
    • 6
    • 350
    • 1
Tải bản đầy đủ (.doc) (43 trang)

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

(984.5 KB) - Tìm hiểu về thuật toán hàm băm MD5-43 (trang) Tải bản đầy đủ ngay ×

Từ khóa » Các Thuật Toán Hàm Băm