Lines Matching +full:10 +full:g +full:- +full:support
4 * This is an OpenSSL-compatible implementation of the RSA Data Security, Inc.
5 * MD5 Message-Digest Algorithm (RFC 1321).
8 * http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5
25 * (This is a heavily cut-down "BSD license".)
28 * no exactly 32-bit integer data type is required (any 32-bit or wider
29 * unsigned integer data type will do), there's no compile-time endianness
37 * compile-time configuration.
40 #include "llvm/Support/MD5.h"
45 #include "llvm/Support/Endian.h"
52 // F and G are optimized compared to their RFC 1321 definitions for
53 // architectures that lack an AND-NOT instruction, just like in Colin Plumb's
56 #define G(x, y, z) ((y) ^ ((z) & ((x) ^ (y)))) macro
63 (a) = (((a) << (s)) | (((a) & 0xffffffff) >> (32 - (s)))); \
66 // SET reads 4 input bytes in little-endian byte order and stores them
77 /// This processes one or more 64-byte data blocks, but does NOT update
109 STEP(F, c, d, a, b, SET(10), 0xffff5bb1, 17) in body()
117 STEP(G, a, b, c, d, GET(1), 0xf61e2562, 5) in body()
118 STEP(G, d, a, b, c, GET(6), 0xc040b340, 9) in body()
119 STEP(G, c, d, a, b, GET(11), 0x265e5a51, 14) in body()
120 STEP(G, b, c, d, a, GET(0), 0xe9b6c7aa, 20) in body()
121 STEP(G, a, b, c, d, GET(5), 0xd62f105d, 5) in body()
122 STEP(G, d, a, b, c, GET(10), 0x02441453, 9) in body()
123 STEP(G, c, d, a, b, GET(15), 0xd8a1e681, 14) in body()
124 STEP(G, b, c, d, a, GET(4), 0xe7d3fbc8, 20) in body()
125 STEP(G, a, b, c, d, GET(9), 0x21e1cde6, 5) in body()
126 STEP(G, d, a, b, c, GET(14), 0xc33707d6, 9) in body()
127 STEP(G, c, d, a, b, GET(3), 0xf4d50d87, 14) in body()
128 STEP(G, b, c, d, a, GET(8), 0x455a14ed, 20) in body()
129 STEP(G, a, b, c, d, GET(13), 0xa9e3e905, 5) in body()
130 STEP(G, d, a, b, c, GET(2), 0xfcefa3f8, 9) in body()
131 STEP(G, c, d, a, b, GET(7), 0x676f02d9, 14) in body()
132 STEP(G, b, c, d, a, GET(12), 0x8d2a4c8a, 20) in body()
142 STEP(H, b, c, d, a, GET(10), 0xbebfbc70, 23) in body()
154 STEP(I, d, a, b, c, GET(7), 0x432aff97, 10) in body()
158 STEP(I, d, a, b, c, GET(3), 0x8f0ccc92, 10) in body()
159 STEP(I, c, d, a, b, GET(10), 0xffeff47d, 15) in body()
162 STEP(I, d, a, b, c, GET(15), 0xfe2ce6e0, 10) in body()
166 STEP(I, d, a, b, c, GET(11), 0xbd3af235, 10) in body()
176 } while (Size -= 64); in body()
203 free = 64 - used; in update()
212 Size -= free; in update()
233 /// \param Result is assumed to be a minimum of 16-bytes in size.
241 free = 64 - used; in final()
250 memset(&InternalState.buffer[used], 0, free - 8); in final()
253 support::endian::write32le(&InternalState.buffer[56], InternalState.lo); in final()
254 support::endian::write32le(&InternalState.buffer[60], InternalState.hi); in final()
258 support::endian::write32le(&Result[0], InternalState.a); in final()
259 support::endian::write32le(&Result[4], InternalState.b); in final()
260 support::endian::write32le(&Result[8], InternalState.c); in final()
261 support::endian::write32le(&Result[12], InternalState.d); in final()