[Docs] [txt|pdf] [Tracker] [WG] [Email] [Nits]  Versions: 00 RFC 2104  dịch - [Docs] [txt|pdf] [Tracker] [WG] [Email] [Nits]  Versions: 00 RFC 2104  Việt làm thế nào để nói

[Docs] [txt|pdf] [Tracker] [WG] [Em

[Docs] [txt|pdf] [Tracker] [WG] [Email] [Nits]

Versions: 00 RFC 2104

Network Working Group H. Krawczyk
Internet Draft M. Bellare
R. Canetti
Expires September, 1996 March, 1996


HMAC-MD5: Keyed-MD5 for Message Authentication



Status of this Memo

Distribution of this memo is unlimited.

This document is an Internet-Draft. Internet Drafts are working
documents of the Internet Engineering Task Force (IETF), its Areas,
and its Working Groups. Note that other groups may also distribute
working documents as Internet Drafts.

Internet Drafts are draft documents valid for a maximum of six
months, and may be updated, replaced, or obsoleted by other documents
at any time. It is not appropriate to use Internet Drafts as
reference material, or to cite them other than as a ``working draft''
or ``work in progress.''

To learn the current status of any Internet-Draft, please check the
``1id-abstracts.txt'' listing contained in the internet-drafts Shadow
Directories on:

ftp.is.co.za (Africa)
nic.nordu.net (Europe)
ds.internic.net (US East Coast)
ftp.isi.edu (US West Coast)
munnari.oz.au (Pacific Rim)


Abstract

This document describes a keyed-MD5 mechanism (called HMAC-MD5) for
use as a message authentication code (or, integrity check value).
It is mainly intended for integrity verification of
information transmitted over open networks (e.g., Internet) between
parties that share a common secret key. The proposed mechanism
combines the (key-less) MD5 hash function [RFC-1321] with a shared
secret key. The description of HMAC-MD5 in this document is
independent of its use in any particular protocol. An analogous
mechanism can be used in combination with other iterative hash
functions, e.g., SHA.







Krawczyk, Bellare & Canetti Expires September 1996 [Page i]

INTERNET-DRAFT HMAC-MD5 March 1996

1. Introduction

Rivest introduced MD5 [RFC-1321] as a cryptographic hash function.
It was originally designed and intended as a collision-resistant
function as required for the hashing of information prior to
application of a signature function (e.g., RSA). However, due
to its relatively good performance in software implementation
and its free availability the same function was adapted to provide
functionalities different than the one for which MD5 was originally
designed. In particular, MD5 (as well as other cryptographic
hash functions) was proposed to provide message authentication
by combining it with a secret key (see [Tsu]).

Only recently a close analysis of the security of these keyed
MD5 modes has been initiated [BCK1,BCK2,KR,PV1,PV2]. In particular,
Bellare, Canetti, and Krawczyk [BCK2] described a keyed-hash
mechanism called HMAC which we adopt here for use with MD5.
(An analogous mechanism can be used in combination with other
iterative hash functions, e.g., SHA [SHA].)
The description of this transform in this document
is independent of its use in any particular protocol. It is intended
to serve as a common mechanism for the many protocols (especially,
IETF protocols) that require integrity verification based on
a shared secret key (e.g., IP Authentication Header [RFC-1826]).

The proposed mechanism follows the same principles that guided some
of the previous keyed-MD5 proposals, that is:

* it is based on MD5
* no change to the MD5 code required
* no degradation of MD5 speed
* simple key requirements
* replaceability of MD5 by other cryptographic hash functions

However, it improves on previous proposals relative to its security
analysis. The present is the first construction (and the only one we are
aware of) that can be fully analyzed based on relatively weak
assumptions on the underlying hash function (MD5).
It only requires MD5 to be collision-resistant in a weak sense, and
its compression function to be weakly unpredictable.
These requirements are weaker than the ones needed for other common
applications of MD5, e.g., as hash functions for digital signatures and
as "randomizers" (for pseudorandom generation, key derivation, etc.).
In particular, we only require that collisions are hard to find when
the "initial vector" of the function is random and secret, and that
the output of the compression function is unpredictable when applied
to partially unknown strings. The analytical results that back this
particular construction are provided in [BCK2].

Note: The mechanism presented next differs from the one presented in
draft-krawczyk-keyed-md5-txt.01 in the way padding is defined
(see section 2).

Krawczyk, Bellare & Canetti Expires September 1996 [Page 1]

INTERNET-DRAFT HMAC-MD5 March 1996

2. Calculation

The definition and reference implementation of MD5 appears in
[RFC-1321]. Let `text' denote the data to which HMAC-MD5 is
to be applied and K be the message authentication secret key shared by
the parties. The key K can be of any length up to the block length of
the hash function, namely, 64 bytes for MD5 (however, 16 bytes is the
minimal recommended length for keys -- see section 3).
Applications that use longer than 64 byte keys will first hash the key
using MD5 and then use the resultant 16 byte string as the actual key
to HMAC-MD5.

We define two fixed and different strings ipad and opad as follows
(the 'i' and 'o' are mnemonics for inner and outer):

ipad = the byte 0x36 repeated 64 times
opad = the byte 0x5C repeated 64 times.

To compute HMAC-MD5 over the data `text' we perform

MD5(K XOR opad, MD5(K XOR ipad, text))

Namely,

(1) append zeros to the end of K to create a 64 byte string
(e.g., if K is of length 16 bytes it will be appended with 48
zero bytes 0x00)
(2) XOR (bitwise exclusive-OR) the 64 byte string computed in step
(1) with ipad
(3) append the data stream 'text' to the 64 byte string resulting
from step (2)
(4) apply MD5 to the stream generated in step (3)
(5) XOR (bitwise exclusive-OR) the 64 byte string computed in
step (1) with opad
(6) append the MD5 result from step (4) to the 64 byte string
resulting from step (5)
(7) apply MD5 to the stream generated in step (6) and output
the result

For illustration purposes, sample code is provided as an appendix.

3. Keys

The key for HMAC-MD5 can be of any length (keys longer than 64 bytes
are first hashed using MD5). However, less than 16 bytes is strongly
discouraged as it would decrease the security strength of the function.
Keys longer than 16 bytes are acceptable but the extra length would not
significantly increase the function strength. (A longer key may be
advisable if the randomness of the key is considered weak.)

Note: when using other cryptographic hash functions the length of
the key should be chosen at least as the length of the hash output
(e.g., 160 bits in the case of SHA).

Krawczyk, Bellare & Canetti Expires September 1996 [Page 2]

INTERNET-DRAFT HMAC-MD5 March 1996

Keys need to be chosen at random, or using a cryptographically strong
pseudo-random generator seeded with a random seed.
We recommend that the key be changed periodically and as frequently
as possible. (Current attacks do not indicate a specific recommended
frequency for key changes as these attacks are practically infeasible.
However, periodic key refreshment is a fundamental security practice
that helps against potential weaknesses of the function and keys, and
limits the damage of an exposed key.)


4. Implementation Note

Implementation of HMAC-MD5 requires the implementation of MD5
(see [RFC-1321]) and the calculation described in Section 2.
Notice that this calculation does not require any change in the
definition or code of MD5. However, if desired, a performance
improvement can be achieved by a simple adaptation of the MD5
code as presented next. (Choosing or not to implement HMAC-MD5
in this way is a decision of the local implementation and has no
effect on inter-operability.)
The idea is that the intermediate results of MD5 on the
64-byte blocks (K XOR ipad) and (K XOR opad) can be
precomputed only once at the time of generation of the key K, or before
its first use. These intermediate results (called "contexts", and
stored under MD5's structure MD5_CTX [RFC-1321]) are then used to
initialize the MD5 function each time that a message needs to be
authenticated. (This involves setting the MD5_CTX variable to the
stored value and applying MD5Update to the data.) This method saves,
for each authenticated message,
the application of the MD5's compression function (MD5Update) on two
64-byte blocks; a savings which may be significant when authenticating
short streams of data. We stress that the stored contexts need to be
treated and protected the same as secret keys.



5. Security

The security of the message authentication mechanism presented here
depends on cryptographic properties of MD5: the resistance to
collision finding (limited to the case where the initial value is
secret and random, and where the output of the function is not
explicitly available to the attacker), and the message authentication
property of the compression function of MD5 when applied to single
blocks (these blocks are partially unknown to an attacker as they
contain the result of the interna
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
[Google Documents] [txt|pdf] [Tracker] [NHÓM CÔNG TÁC] [Email] [Nits] Phiên bản: 00 RFC 2104 Mạng nhóm làm việc H. KrawczykInternet dự thảo M. Bellare R. CanettiHết hạn tháng 9, năm 1996 tháng 3, năm 1996 HMAC-MD5: Keyed-MD5 cho tin nhắn xác thực Trạng thái của bản ghi nhớ này Phân phối của bản ghi nhớ này là không giới hạn. Tài liệu này là một dự thảo Internet. Bản thảo Internet đang làm việc tài liệu của Internet Engineering Task Force (IETF), các khu vực, và nhóm làm việc của nó. Lưu ý rằng các nhóm khác cũng có thể phân phối làm việc các tài liệu như là bản thảo Internet. Bản thảo Internet là dự thảo tài liệu hợp lệ cho một tối đa sáu vài tháng, và có thể được Cập Nhật, thay thế, hoặc bị theo tài liệu khác tại bất kỳ thời điểm nào. Nó không phải là thích hợp để sử dụng Internet dự thảo là tham khảo tài liệu, hoặc để trích dẫn chúng khác hơn là một dự thảo làm việc '''' hoặc '' làm việc trong tiến trình." Để tìm hiểu tình trạng hiện tại của bất kỳ dự thảo Internet, hãy kiểm tra các danh sách '' 1id-abstracts.txt'' chứa trong bóng tối bản thảo internet Thư mục trên: FTP.is.co.za (Châu Phi) NIC.nordu.net (Châu Âu) DS.InterNIC.net (chúng tôi East Coast) FTP.ISI.edu (chúng tôi West Coast) munnari.oz.au (Thái Bình Dương Rim)Tóm tắtTài liệu này mô tả một cơ chế keyed MD5 (được gọi là HMAC-MD5) chosử dụng như là một thông điệp mã số xác thực (hoặc, toàn vẹn kiểm tra giá trị).Nó chủ yếu dành cho quy trình xác minh tính toàn vẹn củathông tin được truyền qua mở mạng (ví dụ: Internet) giữabên chia sẻ một chìa khóa bí mật phổ biến. Cơ chế đề xuấtkết hợp các hàm băm MD5 (phím-ít) [RFC 1321] với một chia sẻchìa khóa bí mật. Mô tả của HMAC-MD5 trong tài liệu này làđộc lập của việc sử dụng nó trong bất kỳ giao thức cụ thể. Một tương tựcơ chế có thể được sử dụng kết hợp với băm lặp đi lặp lạichức năng, ví dụ như, SHA.Krawczyk, Bellare & Canetti hết hạn tháng 9 năm 1996 [trang tôi] INTERNET-dự thảo HMAC-MD5 Tháng ba 19961. giới thiệuRivest giới thiệu MD5 [RFC-1321] như là một hàm băm mật mã.Nó ban đầu được thiết kế và dự định như là một va chạm-khánghoạt động như là cần thiết cho băm thông tin trướcáp dụng một chức năng chữ ký (ví dụ như, RSA). Tuy nhiên, dođể hiệu suất tương đối tốt trong việc thực hiện phần mềmvà của nó có sẵn miễn phí cùng chức năng đã được điều chỉnh để cung cấpchức năng khác nhau hơn một trong những mà MD5 ban đầuthiết kế. Đặc biệt, MD5 (như cũng như các mật mãbăm chức năng) được đề xuất để cung cấp tin nhắn xác thựcbằng cách kết hợp nó với một chìa khóa bí mật (xem [Tsu]).Chỉ mới là một phân tích gần an ninh số này keyedMD5 chế độ đã khởi xướng [BCK1, BCK2, KR, PV1, PV2]. Đặc biệt,Bellare, Canetti và Krawczyk [BCK2] mô tả một keyed-bămcơ chế được gọi là HMAC mà chúng tôi áp dụng ở đây để sử dụng với MD5.(Một cơ chế tương tự có thể được sử dụng kết hợp với khácbăm lặp đi lặp lại chức năng, ví dụ như, SHA [SHA].)Mô tả này biến đổi trong tài liệu nàylà độc lập của việc sử dụng nó trong bất kỳ giao thức cụ thể. Nó được thiết kếđể phục vụ như là một cơ chế phổ biến cho các giao thức nhiều (đặc biệt,Giao thức IETF) mà yêu cầu xác minh tính toàn vẹn dựa trênmột chìa khóa bí mật được chia sẻ (ví dụ: IP xác thực tiêu đề [RFC-1826]).Cơ chế đề xuất sau cùng một nguyên tắc hướng dẫn một sốđề nghị keyed MD5 trước, đó là:* nó dựa trên MD5* không có thay đổi để mã MD5 yêu cầu* không có sự suy thoái của MD5 tốc độ* đơn giản yêu cầu quan trọng* replaceability của MD5 của các chức năng mật mã bămTuy nhiên, nó cải thiện trên các đề xuất trước đó liên quan đến an ninh của nóphân tích. Hiện tại là việc xây dựng đầu tiên (và duy nhất chúng tôi lànhận thức của) mà có thể được đầy đủ phân tích dựa trên tương đối yếugiả định vào hàm băm nằm bên dưới (MD5).Nó chỉ đòi hỏi MD5 phải chịu va chạm trong một cảm giác yếu, vàchức năng nén của nó là không thể đoán trước yếu.Những yêu cầu này là yếu hơn so với những cái cần thiết cho phổ biến khácứng dụng của MD5, ví dụ như, như băm chức năng cho kỹ thuật số chữ ký vànhư là "randomizers" (cho ngẫu nhiên ảo qua thế hệ, phím derivation, vv).Đặc biệt, chúng tôi chỉ yêu cầu rằng va chạm là khó có thể tìm thấy khiCác véc tơ ban đầu"" của các chức năng là ngẫu nhiên và bí mật, và rằngđầu ra của hàm nén là không thể đoán trước khi áp dụngđể một phần không rõ dây. Các kết quả phân tích trở lại đâycụ thể xây dựng được cung cấp trong [BCK2].Lưu ý: Cơ chế trình bày tiếp theo khác từ một trình bày trongdự thảo-krawczyk-keyed-md5-txt.01 trong những cách đệm được định nghĩa(xem phần 2).Krawczyk, Bellare & Canetti hết hạn tháng 9 năm 1996 [Trang 1] INTERNET-dự thảo HMAC-MD5 Tháng ba 19962. tính toánViệc thực hiện định nghĩa và tài liệu tham khảo của MD5 xuất hiện trong[RFC-1321]. Hãy để 'văn bản' biểu thị các dữ liệu mà HMAC-MD5 làđược áp dụng và K là thông báo xác thực khóa bí mật được chia sẻ bởicác bên. Phím K có thể bất kỳ chiều dài lên đến chiều dài củahàm băm, cụ thể là, 64 byte cho MD5 (Tuy nhiên, 16 byte là cácchiều dài tối thiểu được đề nghị cho phím - xem phần 3).Ứng dụng sử dụng lâu hơn 64 byte phím đầu tiên sẽ băm chìa khóabằng cách sử dụng MD5 và sau đó sử dụng kết quả 16 byte chuỗi như là chìa khóa thực tếđể HMAC-MD5.Chúng ta định nghĩa hai cố định và khác nhau chuỗi ipad và opad như sau('i' và ' o ' là mnemonics cho bên trong và bên ngoài): iPad = byte 0x36 lặp đi lặp lại 64 lần opad = byte 0x5C lặp đi lặp lại 64 lần.Để tính toán HMAC-MD5 trên dữ liệu 'văn bản' chúng tôi thực hiện MD5 (K XOR opad, MD5 (K XOR ipad, văn bản))Cụ thể là, (1) thêm số không để kết thúc K để tạo ra một chuỗi 64 byte (ví dụ: Nếu K là chiều dài 16 byte nó sẽ được nối với 48 không byte 0x00) (2) XOR (bitwise độc quyền-OR) 64 byte chuỗi tính trong bước (1) với ipad (3) phụ thêm dòng dữ liệu 'văn bản' để dẫn đến 64 byte Chuỗi từ bước (2) (4) áp dụng MD5 cho các dòng được tạo ra trong bước (3) (5) XOR (bitwise độc quyền-OR) 64 byte chuỗi tính trong bước (1) với opad (6) phụ thêm kết quả MD5 từ bước (4) đến 64 byte Chuỗi kết quả từ bước (5) (7) áp dụng MD5 cho các dòng được tạo ra trong bước (6) và đầu ra kết quảCho mục đích minh hoạ, mẫu mã được quy định như một phụ lục.3. phímPhím töông öùng vôùi HMAC-MD5 có thể bất kỳ chiều dài (phím dài hơn 64 byteđầu tiên băm MD5 sử dụng). Tuy nhiên, ít hơn 16 byte là mạnh mẽkhuyến khích vì nó sẽ giảm sức mạnh an ninh của các chức năng.Phím dài hơn 16 byte được chấp nhận nhưng chiều dài thêm sẽ khônglàm tăng đáng kể sức mạnh chức năng. (Một phím dài hơn có thểnên nếu ngẫu nhiên của phím được coi là yếu.)Lưu ý: khi sử dụng băm mật mã chức năng chiều dài củachìa khóa nên được lựa chọn ít nhất là chiều dài của đầu ra băm(ví dụ như, 160 bit trong trường hợp của sa).Krawczyk, Bellare & Canetti hết hạn tháng 9 năm 1996 [Trang 2] INTERNET-dự thảo HMAC-MD5 Tháng ba 1996Phím phải được chọn ngẫu nhiên, hoặc bằng cách sử dụng mã hóa mạnh mẽngẫu nhiên giả hạt với một hạt giống ngẫu nhiên.Chúng tôi đề nghị rằng chìa khóa được thay đổi theo định kỳ và thường xuyêncàng tốt. (Cuộc tấn công hiện tại không cho thấy một cụ thể được đề nghịtần số cho thay đổi quan trọng như các cuộc tấn công thực tế infeasible.Tuy nhiên, định kỳ uống quan trọng là một thực tế cơ bản bảo mậtgiúp chống lại các điểm yếu tiềm năng của các chức năng và các phím, vàgiới hạn thiệt hại của một tiếp xúc với khóa.)4. Implementation NoteImplementation of HMAC-MD5 requires the implementation of MD5(see [RFC-1321]) and the calculation described in Section 2.Notice that this calculation does not require any change in thedefinition or code of MD5. However, if desired, a performanceimprovement can be achieved by a simple adaptation of the MD5code as presented next. (Choosing or not to implement HMAC-MD5in this way is a decision of the local implementation and has noeffect on inter-operability.)The idea is that the intermediate results of MD5 on the64-byte blocks (K XOR ipad) and (K XOR opad) can beprecomputed only once at the time of generation of the key K, or beforeits first use. These intermediate results (called "contexts", andstored under MD5's structure MD5_CTX [RFC-1321]) are then used toinitialize the MD5 function each time that a message needs to beauthenticated. (This involves setting the MD5_CTX variable to thestored value and applying MD5Update to the data.) This method saves,for each authenticated message,the application of the MD5's compression function (MD5Update) on two64-byte blocks; a savings which may be significant when authenticatingshort streams of data. We stress that the stored contexts need to betreated and protected the same as secret keys.5. SecurityThe security of the message authentication mechanism presented heredepends on cryptographic properties of MD5: the resistance tocollision finding (limited to the case where the initial value issecret and random, and where the output of the function is notexplicitly available to the attacker), and the message authenticationproperty of the compression function of MD5 when applied to singleblocks (these blocks are partially unknown to an attacker as theycontain the result of the interna
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
[Documents] [txt | pdf] [Tracker] [WG] [Email] [Trứng chí] Các phiên bản: 00 RFC 2104 Mạng Nhóm công tác H. Krawczyk Internet Draft M. Bellare R. Canetti Hết hạn tháng chín năm 1996 March, 1996 HMAC-MD5: có khóa-MD5 cho Message Authentication













Tình trạng của Memo này Phân phối bản ghi nhớ này là không giới hạn. Tài liệu này là một Internet-Dự thảo. Internet nháp đang làm việc văn bản của Internet Engineering Task Force (IETF), khu vực của nó, và các nhóm công tác của mình. Lưu ý rằng các nhóm khác cũng có thể phân phối các tài liệu làm việc như Internet nháp. Drafts Internet đang dự thảo các văn bản có giá trị tối đa là sáu tháng, và có thể được cập nhật, thay thế, hoặc lỗi thời bởi các tài liệu khác bất cứ lúc nào. Nó không phải là thích hợp để sử dụng Internet nháp như tài liệu tham khảo, hoặc trích dẫn họ khác hơn là một `` dự thảo làm việc '' hay `` việc trong tiến trình. '' Để tìm hiểu tình trạng hiện tại của bất kỳ Internet Draft, xin vui lòng kiểm tra ` `1id-abstracts.txt '' danh sách của cửa chứa trong internet-thảo bóng Thư mục trên: ftp.is.co.za (châu Phi) nic.nordu.net (Châu Âu) ds.internic.net (Bờ Đông Hoa Kỳ) ftp.isi .edu (US ​​West Coast) munnari.oz.au (Pacific Rim) Tóm tắt tài liệu này mô tả một cơ chế có khóa-MD5 (gọi là HMAC-MD5) cho sử dụng như là một mã xác thực thông điệp (hoặc, giá trị kiểm tra tính toàn vẹn). Nó là chủ yếu dành để xác minh tính toàn vẹn của thông tin truyền trên mạng mở (ví dụ, Internet) giữa các bên có chung một khóa bí mật chung. Cơ chế đề xuất kết hợp (key-less) hàm băm MD5 [RFC-1321] với một chia sẻ khóa bí mật. Các mô tả của HMAC-MD5 trong tài liệu này là độc lập với việc sử dụng nó trong bất kỳ giao thức cụ thể. Một tương tự cơ chế có thể được sử dụng kết hợp với băm lặp khác chức năng, ví dụ như, SHA. Krawczyk, Bellare & Canetti Hết hạn tháng 9 năm 1996 [Trang i] INTERNET-DỰ THẢO HMAC-MD5 Tháng Ba 1996 1. Giới thiệu Rivest giới thiệu MD5 [RFC-1321] như một hàm băm mật mã. Ban đầu nó được thiết kế và dự định như là một vụ va chạm, chịu chức năng theo yêu cầu cho các băm của thông tin trước khi áp dụng một chức năng chữ ký (ví dụ, RSA). Tuy nhiên, do phải thực hiện tương đối tốt của mình trong việc thực hiện các phần mềm và tính sẵn có miễn phí của nó cùng một chức năng đã được điều chỉnh để cung cấp các chức năng khác nhau hơn so với cái mà MD5 đã được ban đầu được thiết kế. Đặc biệt, MD5 (cũng như mật mã khác hàm băm) đã được đề xuất để cung cấp xác thực thông điệp bằng cách kết hợp nó với một khóa bí mật (xem [Tsu]). Chỉ gần đây một phân tích chặt chẽ của an ninh của các khóa chế độ MD5 đã được bắt đầu [ BCK1, BCK2, KR, PV1, PV2]. Đặc biệt, Bellare, Canetti, và Krawczyk [BCK2] mô tả một khóa-băm cơ chế gọi là HMAC mà chúng tôi áp dụng ở đây để sử dụng với MD5. (Một cơ chế tương tự có thể được sử dụng kết hợp với các chức năng băm lặp, ví dụ như, SHA [SHA] .) Các mô tả về biến đổi này trong tài liệu này là độc lập với việc sử dụng nó trong bất kỳ giao thức cụ thể. Nó được thiết kế để phục vụ như một cơ chế chung cho nhiều giao thức (đặc biệt là, các giao thức IETF) có yêu cầu xác minh tính toàn vẹn dựa trên một khóa bí mật được chia sẻ (ví dụ, IP Authentication Header [RFC-1826]). Các cơ chế đề xuất sau cùng nguyên tắc đó hướng dẫn một số các đề xuất-MD5 được khóa trước đó, đó là: * nó được dựa trên MD5 * không thay đổi mã MD5 cần * có sự xuống cấp của MD5 tốc độ * yêu cầu quan trọng đơn giản * replaceability của MD5 bởi hàm băm mật mã khác Tuy nhiên, nó cải thiện về các đề xuất trước đó liên quan đến an ninh của nó phân tích. Hiện tại là việc xây dựng đầu tiên (và duy nhất chúng tôi nhận thức được) có thể được hoàn toàn được phân tích dựa trên tương đối yếu giả định trên hàm băm (MD5). Nó chỉ đòi hỏi MD5 để được va chạm kháng trong một cảm giác yếu, và chức năng nén của nó là không thể đoán trước một cách yếu ớt. Những yêu cầu này yếu hơn so với những người khác cần thiết cho việc phổ biến các ứng dụng của MD5, ví dụ như hàm băm cho chữ ký kỹ thuật số và là "randomizers" (cho thế hệ giả ngẫu nhiên, nguồn gốc chính, vv). Đặc biệt , chúng tôi chỉ yêu cầu va chạm rất khó để tìm thấy khi các "vector ban đầu" của các chức năng là ngẫu nhiên và bí mật, và đầu ra của hàm nén là không thể đoán trước khi áp dụng cho chuỗi một phần không rõ. Các kết quả phân tích sẽ trở lại này xây dựng đặc biệt được cung cấp trong [BCK2]. Lưu ý: Các cơ chế trình bày tiếp theo khác với một trình bày trong dự thảo-Krawczyk-keyed-md5-txt.01 trong cách đệm được xác định (xem phần 2). Krawczyk, Bellare & Canetti Hết hạn tháng 9 năm 1996 [Trang 1] INTERNET-DỰ THẢO HMAC-MD5 tháng 3 năm 1996 2. Tính toán Định nghĩa và tham khảo thực hiện MD5 xuất hiện trong [RFC-1321]. Hãy để 'text' biểu thị các dữ liệu mà HMAC-MD5 là được áp dụng và K là chìa khóa bí mật xác thực thông điệp được chia sẻ bởi các bên. Chìa khóa K có thể được của bất kỳ chiều dài lên đến độ dài khối của hàm băm, cụ thể là, 64 byte cho MD5 (tuy nhiên, 16 byte là ngắn nhất cho các phím - xem phần 3). Các ứng dụng sử dụng dài hơn 64 byte phím đầu tiên sẽ băm phím sử dụng MD5 và sau đó sử dụng các chuỗi 16 byte kết quả như là chìa khóa thực tế để HMAC-MD5. Chúng tôi xác định hai cố định và dây khác nhau ipad và opad như sau (các 'i' và 'o' là trí nhớ cho các bên trong và bên ngoài): ipad = byte 0x36 lặp đi lặp lại 64 lần opad = byte 0x5C lặp đi lặp lại 64 lần. Để tính toán HMAC-MD5 trên các dữ liệu 'text', chúng tôi thực hiện MD5 (K XOR opad, MD5 (K XOR ipad, văn bản)) Cụ thể , (1) nối thêm số không vào cuối của K để tạo ra một chuỗi 64 byte (ví dụ, nếu K là độ dài 16 byte nó sẽ được nối với 48 byte 0x00) (2) XOR (bitwise độc quyền-OR) các byte 64 chuỗi tính ở bước (1) với ipad (3) nối thêm các luồng dữ liệu 'text' vào chuỗi 64 byte kết quả từ bước (2) (4) áp dụng MD5 cho các dòng được tạo ra ở bước (3) (5) XOR (bitwise độc quyền-OR) chuỗi 64 byte tính toán trong bước (1) với opad (6) nối thêm các kết quả MD5 từ bước (4) với chuỗi 64 byte kết quả từ bước (5) (7) áp dụng MD5 cho các dòng được tạo ra trong bước (6) và đầu ra kết quả Đối với mục đích minh họa, mẫu mã được cung cấp như một phụ lục. 3. Phím Chìa khóa cho HMAC-MD5 có thể được của bất kỳ chiều dài (phím dài hơn 64 byte đầu tiên được sử dụng băm MD5). Tuy nhiên, ít hơn 16 byte được mạnh mẽ khuyến khích vì nó sẽ làm giảm cường độ bảo mật của các chức năng. Phím dài hơn 16 byte được chấp nhận nhưng chiều dài tăng thêm này sẽ không làm tăng đáng kể sức mạnh chức năng. (Một khóa còn có thể được khuyến khích nếu tính ngẫu nhiên của các phím được xem là yếu kém.) Lưu ý: khi sử dụng hàm băm mật mã khác chiều dài của khóa nên được lựa chọn ít nhất là chiều dài của đầu ra băm (ví dụ, 160 bit trong trường hợp của SHA). Krawczyk, Bellare & Canetti Hết hạn tháng 9 năm 1996 [Trang 2] INTERNET-DỰ THẢO HMAC-MD5 Tháng ba 1996 phím cần phải được lựa chọn một cách ngẫu nhiên, hoặc bằng cách sử dụng một mã hóa mạnh phát điện giả ngẫu nhiên hạt giống với một hạt giống ngẫu nhiên. Chúng tôi đề nghị rằng chìa khóa được thay đổi định kỳ và thường xuyên càng tốt. (Tấn công hiện tại không chỉ ra một đề nghị cụ thể tần số thay đổi quan trọng như các cuộc tấn công được thực tế không khả thi. Tuy nhiên, định kỳ khát chính là một thực hành bảo mật cơ bản giúp chống lại những điểm yếu tiềm năng của các chức năng và các phím, và hạn chế những thiệt hại của một khoá tiếp xúc. ) 4. Lưu ý thực hiện thực hiện của HMAC-MD5 đòi hỏi việc thực hiện các MD5 (xem [RFC-1321]) và tính toán được mô tả trong phần 2. Chú ý rằng tính toán này không đòi hỏi bất kỳ sự thay đổi trong định nghĩa hoặc mã MD5. Tuy nhiên, nếu muốn, một hiệu suất cải tiến có thể đạt được bởi một ứng đơn giản của MD5 mã như trình bày tiếp theo. (Chọn hoặc không thực hiện HMAC-MD5 trong cách này là một quyết định của địa phương thực hiện và không có hiệu lực trên liên khả năng hoạt động.) Ý tưởng là các kết quả trung gian của MD5 trên khối 64-byte (K XOR ipad) và (K XOR opad) có thể được precomputed chỉ một lần tại thời điểm phát sinh của khóa K, hoặc trước khi sử dụng đầu tiên của nó. Những kết quả trung gian (gọi là "hoàn cảnh", và được lưu trữ theo cấu trúc MD5 của MD5_CTX [RFC-1321]) sau đó được sử dụng để khởi tạo MD5 hoạt mỗi khi một thông báo cần phải được chứng thực. (Điều này liên quan đến việc thiết lập biến MD5_CTX để các giá trị được lưu trữ và áp dụng MD5Update vào dữ liệu.) Phương pháp này giúp tiết kiệm, cho mỗi tin nhắn xác thực, các ứng dụng của hàm nén của MD5 (MD5Update) trên hai khối 64-byte; một khoản tiết kiệm mà có thể là đáng kể khi thực hiện chứng suối ngắn của dữ liệu. Chúng tôi nhấn mạnh rằng các ngữ cảnh được lưu trữ cần phải được điều trị và bảo vệ giống như là chìa khóa bí mật. 5. An ninh An ninh của cơ chế xác thực thông điệp trình bày ở đây phụ thuộc vào tính chất mật mã MD5: các kháng để phát hiện va chạm (giới hạn trong trường hợp giá trị ban đầu là bí mật và ngẫu nhiên, và nơi mà các đầu ra của chức năng này là không rõ ràng có sẵn cho những kẻ tấn công ), và xác thực thông điệp tài sản của hàm nén MD5 khi áp dụng cho đơn khối (các khối là một phần không biết đến một kẻ tấn công là họ chứa kết quả của Quốc Tế
















































































































































































































đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: