亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? md5_rfc1321.txt

?? md5和sha-2的源碼
?? TXT
?? 第 1 頁 / 共 3 頁
字號:
Network Working Group                                          R. RivestRequest for Comments: 1321           MIT Laboratory for Computer Science                                             and RSA Data Security, Inc.                                                              April 1992                     The MD5 Message-Digest AlgorithmStatus of this Memo   This memo provides information for the Internet community.  It does   not specify an Internet standard.  Distribution of this memo is   unlimited.Acknowlegements   We would like to thank Don Coppersmith, Burt Kaliski, Ralph Merkle,   David Chaum, and Noam Nisan for numerous helpful comments and   suggestions.Table of Contents   1. Executive Summary                                                1   2. Terminology and Notation                                         2   3. MD5 Algorithm Description                                        3   4. Summary                                                          6   5. Differences Between MD4 and MD5                                  6   References                                                          7   APPENDIX A - Reference Implementation                               7   Security Considerations                                            21   Author's Address                                                   211. Executive Summary   This document describes the MD5 message-digest algorithm. The   algorithm takes as input a message of arbitrary length and produces   as output a 128-bit "fingerprint" or "message digest" of the input.   It is conjectured that it is computationally infeasible to produce   two messages having the same message digest, or to produce any   message having a given prespecified target message digest. The MD5   algorithm is intended for digital signature applications, where a   large file must be "compressed" in a secure manner before being   encrypted with a private (secret) key under a public-key cryptosystem   such as RSA.Rivest                                                          [Page 1]RFC 1321              MD5 Message-Digest Algorithm            April 1992   The MD5 algorithm is designed to be quite fast on 32-bit machines. In   addition, the MD5 algorithm does not require any large substitution   tables; the algorithm can be coded quite compactly.   The MD5 algorithm is an extension of the MD4 message-digest algorithm   1,2]. MD5 is slightly slower than MD4, but is more "conservative" in   design. MD5 was designed because it was felt that MD4 was perhaps   being adopted for use more quickly than justified by the existing   critical review; because MD4 was designed to be exceptionally fast,   it is "at the edge" in terms of risking successful cryptanalytic   attack. MD5 backs off a bit, giving up a little in speed for a much   greater likelihood of ultimate security. It incorporates some   suggestions made by various reviewers, and contains additional   optimizations. The MD5 algorithm is being placed in the public domain   for review and possible adoption as a standard.   For OSI-based applications, MD5's object identifier is   md5 OBJECT IDENTIFIER ::=     iso(1) member-body(2) US(840) rsadsi(113549) digestAlgorithm(2) 5}   In the X.509 type AlgorithmIdentifier [3], the parameters for MD5   should have type NULL.2. Terminology and Notation   In this document a "word" is a 32-bit quantity and a "byte" is an   eight-bit quantity. A sequence of bits can be interpreted in a   natural manner as a sequence of bytes, where each consecutive group   of eight bits is interpreted as a byte with the high-order (most   significant) bit of each byte listed first. Similarly, a sequence of   bytes can be interpreted as a sequence of 32-bit words, where each   consecutive group of four bytes is interpreted as a word with the   low-order (least significant) byte given first.   Let x_i denote "x sub i". If the subscript is an expression, we   surround it in braces, as in x_{i+1}. Similarly, we use ^ for   superscripts (exponentiation), so that x^i denotes x to the i-th   power.   Let the symbol "+" denote addition of words (i.e., modulo-2^32   addition). Let X <<< s denote the 32-bit value obtained by circularly   shifting (rotating) X left by s bit positions. Let not(X) denote the   bit-wise complement of X, and let X v Y denote the bit-wise OR of X   and Y. Let X xor Y denote the bit-wise XOR of X and Y, and let XY   denote the bit-wise AND of X and Y.Rivest                                                          [Page 2]RFC 1321              MD5 Message-Digest Algorithm            April 19923. MD5 Algorithm Description   We begin by supposing that we have a b-bit message as input, and that   we wish to find its message digest. Here b is an arbitrary   nonnegative integer; b may be zero, it need not be a multiple of   eight, and it may be arbitrarily large. We imagine the bits of the   message written down as follows:          m_0 m_1 ... m_{b-1}   The following five steps are performed to compute the message digest   of the message.3.1 Step 1. Append Padding Bits   The message is "padded" (extended) so that its length (in bits) is   congruent to 448, modulo 512. That is, the message is extended so   that it is just 64 bits shy of being a multiple of 512 bits long.   Padding is always performed, even if the length of the message is   already congruent to 448, modulo 512.   Padding is performed as follows: a single "1" bit is appended to the   message, and then "0" bits are appended so that the length in bits of   the padded message becomes congruent to 448, modulo 512. In all, at   least one bit and at most 512 bits are appended.3.2 Step 2. Append Length   A 64-bit representation of b (the length of the message before the   padding bits were added) is appended to the result of the previous   step. In the unlikely event that b is greater than 2^64, then only   the low-order 64 bits of b are used. (These bits are appended as two   32-bit words and appended low-order word first in accordance with the   previous conventions.)   At this point the resulting message (after padding with bits and with   b) has a length that is an exact multiple of 512 bits. Equivalently,   this message has a length that is an exact multiple of 16 (32-bit)   words. Let M[0 ... N-1] denote the words of the resulting message,   where N is a multiple of 16.3.3 Step 3. Initialize MD Buffer   A four-word buffer (A,B,C,D) is used to compute the message digest.   Here each of A, B, C, D is a 32-bit register. These registers are   initialized to the following values in hexadecimal, low-order bytes   first):Rivest                                                          [Page 3]RFC 1321              MD5 Message-Digest Algorithm            April 1992          word A: 01 23 45 67          word B: 89 ab cd ef          word C: fe dc ba 98          word D: 76 54 32 103.4 Step 4. Process Message in 16-Word Blocks   We first define four auxiliary functions that each take as input   three 32-bit words and produce as output one 32-bit word.          F(X,Y,Z) = XY v not(X) Z          G(X,Y,Z) = XZ v Y not(Z)          H(X,Y,Z) = X xor Y xor Z          I(X,Y,Z) = Y xor (X v not(Z))   In each bit position F acts as a conditional: if X then Y else Z.   The function F could have been defined using + instead of v since XY   and not(X)Z will never have 1's in the same bit position.) It is   interesting to note that if the bits of X, Y, and Z are independent   and unbiased, the each bit of F(X,Y,Z) will be independent and   unbiased.   The functions G, H, and I are similar to the function F, in that they   act in "bitwise parallel" to produce their output from the bits of X,   Y, and Z, in such a manner that if the corresponding bits of X, Y,   and Z are independent and unbiased, then each bit of G(X,Y,Z),   H(X,Y,Z), and I(X,Y,Z) will be independent and unbiased. Note that   the function H is the bit-wise "xor" or "parity" function of its   inputs.   This step uses a 64-element table T[1 ... 64] constructed from the   sine function. Let T[i] denote the i-th element of the table, which   is equal to the integer part of 4294967296 times abs(sin(i)), where i   is in radians. The elements of the table are given in the appendix.   Do the following:   /* Process each 16-word block. */   For i = 0 to N/16-1 do     /* Copy block i into X. */     For j = 0 to 15 do       Set X[j] to M[i*16+j].     end /* of loop on j */     /* Save A as AA, B as BB, C as CC, and D as DD. */     AA = A     BB = BRivest                                                          [Page 4]RFC 1321              MD5 Message-Digest Algorithm            April 1992     CC = C     DD = D     /* Round 1. */     /* Let [abcd k s i] denote the operation          a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */     /* Do the following 16 operations. */     [ABCD  0  7  1]  [DABC  1 12  2]  [CDAB  2 17  3]  [BCDA  3 22  4]     [ABCD  4  7  5]  [DABC  5 12  6]  [CDAB  6 17  7]  [BCDA  7 22  8]     [ABCD  8  7  9]  [DABC  9 12 10]  [CDAB 10 17 11]  [BCDA 11 22 12]     [ABCD 12  7 13]  [DABC 13 12 14]  [CDAB 14 17 15]  [BCDA 15 22 16]     /* Round 2. */     /* Let [abcd k s i] denote the operation          a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */     /* Do the following 16 operations. */     [ABCD  1  5 17]  [DABC  6  9 18]  [CDAB 11 14 19]  [BCDA  0 20 20]     [ABCD  5  5 21]  [DABC 10  9 22]  [CDAB 15 14 23]  [BCDA  4 20 24]     [ABCD  9  5 25]  [DABC 14  9 26]  [CDAB  3 14 27]  [BCDA  8 20 28]     [ABCD 13  5 29]  [DABC  2  9 30]  [CDAB  7 14 31]  [BCDA 12 20 32]     /* Round 3. */     /* Let [abcd k s t] denote the operation          a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */     /* Do the following 16 operations. */     [ABCD  5  4 33]  [DABC  8 11 34]  [CDAB 11 16 35]  [BCDA 14 23 36]     [ABCD  1  4 37]  [DABC  4 11 38]  [CDAB  7 16 39]  [BCDA 10 23 40]     [ABCD 13  4 41]  [DABC  0 11 42]  [CDAB  3 16 43]  [BCDA  6 23 44]     [ABCD  9  4 45]  [DABC 12 11 46]  [CDAB 15 16 47]  [BCDA  2 23 48]     /* Round 4. */     /* Let [abcd k s t] denote the operation          a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */     /* Do the following 16 operations. */     [ABCD  0  6 49]  [DABC  7 10 50]  [CDAB 14 15 51]  [BCDA  5 21 52]     [ABCD 12  6 53]  [DABC  3 10 54]  [CDAB 10 15 55]  [BCDA  1 21 56]     [ABCD  8  6 57]  [DABC 15 10 58]  [CDAB  6 15 59]  [BCDA 13 21 60]     [ABCD  4  6 61]  [DABC 11 10 62]  [CDAB  2 15 63]  [BCDA  9 21 64]     /* Then perform the following additions. (That is increment each        of the four registers by the value it had before this block        was started.) */     A = A + AA     B = B + BB     C = C + CC     D = D + DD   end /* of loop on i */Rivest                                                          [Page 5]RFC 1321              MD5 Message-Digest Algorithm            April 19923.5 Step 5. Output   The message digest produced as output is A, B, C, D. That is, we   begin with the low-order byte of A, and end with the high-order byte   of D.   This completes the description of MD5. A reference implementation in   C is given in the appendix.4. Summary   The MD5 message-digest algorithm is simple to implement, and provides   a "fingerprint" or message digest of a message of arbitrary length.   It is conjectured that the difficulty of coming up with two messages   having the same message digest is on the order of 2^64 operations,   and that the difficulty of coming up with any message having a given   message digest is on the order of 2^128 operations. The MD5 algorithm   has been carefully scrutinized for weaknesses. It is, however, a   relatively new algorithm and further security analysis is of course   justified, as is the case with any new proposal of this sort.5. Differences Between MD4 and MD5     The following are the differences between MD4 and MD5:       1.   A fourth round has been added.       2.   Each step now has a unique additive constant.       3.   The function g in round 2 was changed from (XY v XZ v YZ) to       (XZ v Y not(Z)) to make g less symmetric.       4.   Each step now adds in the result of the previous step.  This       promotes a faster "avalanche effect".       5.   The order in which input words are accessed in rounds 2 and       3 is changed, to make these patterns less like each other.       6.   The shift amounts in each round have been approximately       optimized, to yield a faster "avalanche effect." The shifts in       different rounds are distinct.Rivest                                                          [Page 6]RFC 1321              MD5 Message-Digest Algorithm            April 1992References   [1] Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT and       RSA Data Security, Inc., April 1992.   [2] Rivest, R., "The MD4 message digest algorithm", in A.J.  Menezes       and S.A. Vanstone, editors, Advances in Cryptology - CRYPTO '90       Proceedings, pages 303-311, Springer-Verlag, 1991.   [3] CCITT Recommendation X.509 (1988), "The Directory -       Authentication Framework."APPENDIX A - Reference Implementation   This appendix contains the following files taken from RSAREF: A   Cryptographic Toolkit for Privacy-Enhanced Mail:     global.h -- global header file     md5.h -- header file for MD5     md5c.c -- source code for MD5   For more information on RSAREF, send email to <rsaref@rsa.com>.   The appendix also includes the following file:     mddriver.c -- test driver for MD2, MD4 and MD5   The driver compiles for MD5 by default but can compile for MD2 or MD4   if the symbol MD is defined on the C compiler command line as 2 or 4.   The implementation is portable and should work on many different   plaforms. However, it is not difficult to optimize the implementation   on particular platforms, an exercise left to the reader. For example,   on "little-endian" platforms where the lowest-addressed byte in a 32-   bit word is the least significant and there are no alignment   restrictions, the call to Decode in MD5Transform can be replaced with   a typecast.A.1 global.h/* GLOBAL.H - RSAREF types and constants *//* PROTOTYPES should be set to one if and only if the compiler supports  function argument prototyping.The following makes PROTOTYPES default to 0 if it has not already

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲日本在线| 亚洲国产精品精华液2区45| 日韩欧美不卡在线观看视频| 5566中文字幕一区二区电影| 日韩欧美一卡二卡| 国产精品久久久久久一区二区三区 | 欧美高清性hdvideosex| 欧美大片一区二区| 亚洲一区免费视频| 欧美aa在线视频| 99精品久久只有精品| 精品国免费一区二区三区| 亚洲男人的天堂一区二区| 久久精品国产99国产| 成人激情黄色小说| 国产偷v国产偷v亚洲高清| 蜜臀久久99精品久久久画质超高清 | 精品一区二区三区免费观看| 99久久久国产精品免费蜜臀| 国产三级精品三级| 菠萝蜜视频在线观看一区| 精品久久久久久久久久久久久久久久久| 亚洲色图欧美偷拍| 成人激情免费网站| 日韩欧美国产综合在线一区二区三区| 日韩欧美卡一卡二| 精品一区免费av| 色悠悠久久综合| 亚洲精品免费在线播放| 色综合天天综合网国产成人综合天 | 色偷偷久久人人79超碰人人澡| 久久久三级国产网站| 韩国成人福利片在线播放| 日韩欧美国产小视频| 国产精品一区二区果冻传媒| 久久综合久久综合亚洲| 国产成人精品亚洲午夜麻豆| 国产日韩欧美麻豆| 成人app网站| 亚洲激情五月婷婷| 91麻豆精品国产| 韩国一区二区三区| 亚洲乱码一区二区三区在线观看| 欧美亚洲综合在线| 久久91精品国产91久久小草| 国产亚洲1区2区3区| 欧洲激情一区二区| 国产麻豆视频精品| 亚洲福利一二三区| 国产欧美日韩在线| 欧美日韩国产综合草草| 日本午夜一本久久久综合| 亚洲欧美另类久久久精品2019| 欧美久久久久久久久中文字幕| 成人激情文学综合网| 美女精品自拍一二三四| 中文字幕一区二区视频| 日韩三级免费观看| 色播五月激情综合网| 精品一区二区三区欧美| 亚洲动漫第一页| 亚洲欧美福利一区二区| 国产三级欧美三级| 欧美久久久久久久久中文字幕| av高清久久久| 99国产精品久久久久| 99久久精品免费| 日本高清不卡aⅴ免费网站| 成人国产精品免费| 99re6这里只有精品视频在线观看| 成人av网址在线| 在线观看视频91| 欧美美女视频在线观看| 日韩视频在线观看一区二区| 日韩一区二区高清| 欧美激情综合五月色丁香| 亚洲欧洲日韩一区二区三区| 欧美专区亚洲专区| 国产精品一线二线三线精华| 五月天一区二区| 国产成人一区在线| 亚洲女与黑人做爰| 欧美日本一区二区| 成人污污视频在线观看| 欧美性猛交一区二区三区精品| 国产精品拍天天在线| 美国精品在线观看| 欧美福利一区二区| 亚洲一区二区视频| 国精产品一区一区三区mba视频| 国产综合色产在线精品| 97久久精品人人做人人爽| 欧美亚洲免费在线一区| 欧美大片顶级少妇| 亚洲乱码中文字幕综合| 国产一区二区三区高清播放| 91亚洲资源网| 国产三级精品三级| 日本va欧美va精品发布| 91麻豆免费在线观看| 久久久久久久精| 男女视频一区二区| 欧美精品一二三四| 亚洲视频 欧洲视频| 韩日欧美一区二区三区| 欧美丰满少妇xxxbbb| 一区二区三区鲁丝不卡| 福利一区在线观看| 日韩精品专区在线影院观看| 污片在线观看一区二区| 欧美日韩一区国产| 夜夜精品浪潮av一区二区三区| 午夜精品福利久久久| 波多野结衣的一区二区三区| 久久―日本道色综合久久| 国内外成人在线| 国产亚洲人成网站| 成人网在线免费视频| 亚洲欧美日韩国产手机在线| 91精品福利视频| 午夜精品一区二区三区免费视频 | 日本欧美一区二区在线观看| 欧美色老头old∨ideo| 午夜一区二区三区在线观看| 欧美影片第一页| 免费国产亚洲视频| 精品欧美乱码久久久久久1区2区 | 国产麻豆精品久久一二三| 亚洲国产精品精华液2区45| 91丨porny丨在线| 亚洲一区二区精品视频| 欧美变态tickle挠乳网站| 国产在线精品一区二区三区不卡| 欧美国产精品v| 欧美日韩精品欧美日韩精品| 另类欧美日韩国产在线| 国产精品视频九色porn| 欧美日韩1区2区| 91丝袜美腿高跟国产极品老师| 久久精品国产一区二区三| 一区二区三区四区不卡在线| 久久你懂得1024| 日韩免费观看高清完整版| 欧美中文字幕一区二区三区亚洲 | 国产一区视频在线看| 亚洲成人高清在线| 2021中文字幕一区亚洲| 91美女精品福利| 韩国av一区二区三区| 日韩国产成人精品| 亚洲综合一区二区| 欧美国产精品专区| 精品国产伦一区二区三区免费| 99精品久久只有精品| 国产尤物一区二区| 蜜桃久久精品一区二区| 国产精品久久久久影院| 欧美乱妇15p| 99久久er热在这里只有精品15| 激情深爱一区二区| 狂野欧美性猛交blacked| 青青草国产精品97视觉盛宴| 玉米视频成人免费看| 成人免费在线观看入口| 国产网红主播福利一区二区| 91精品国产色综合久久久蜜香臀| 色狠狠av一区二区三区| 91论坛在线播放| 色婷婷久久久久swag精品| 91在线丨porny丨国产| 不卡的av网站| 欧美综合色免费| 欧美日韩一区久久| 精品黑人一区二区三区久久| 日韩一级二级三级| 久久久久九九视频| 综合激情网...| 亚洲国产一区二区a毛片| 亚洲福利视频一区| 免费成人在线网站| 国产91精品一区二区麻豆网站| a在线播放不卡| 91精品国模一区二区三区| 欧美一级日韩免费不卡| 久久免费国产精品| 亚洲精品国产成人久久av盗摄| 亚洲电影在线播放| 国产一区二区成人久久免费影院| 成人免费毛片app| 91麻豆精品久久久久蜜臀| 国产亚洲欧美中文| 亚洲大尺度视频在线观看| 成人综合激情网| 欧美精品色综合| 亚洲免费av高清| 激情综合网激情| 欧美一区二区二区| 亚洲精品网站在线观看| 粉嫩aⅴ一区二区三区四区| 欧美日本高清视频在线观看|