MCPcopy Create free account
hub / github.com/davisking/dlib / scramble_block

Function scramble_block

dlib/md5/md5_kernel_1.cpp:143–240  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

141 // ------------------------------------------------------------------------------------
142
143 void scramble_block (
144 uint32& a,
145 uint32& b,
146 uint32& c,
147 uint32& d,
148 uint32* x
149 )
150 {
151 const uint32 S11 = 7;
152 const uint32 S12 = 12;
153 const uint32 S13 = 17;
154 const uint32 S14 = 22;
155 const uint32 S21 = 5;
156 const uint32 S22 = 9;
157 const uint32 S23 = 14;
158 const uint32 S24 = 20;
159 const uint32 S31 = 4;
160 const uint32 S32 = 11;
161 const uint32 S33 = 16;
162 const uint32 S34 = 23;
163 const uint32 S41 = 6;
164 const uint32 S42 = 10;
165 const uint32 S43 = 15;
166 const uint32 S44 = 21;
167
168
169 // round 1
170 FF (a, b, c, d, x[ 0], S11, 0xd76aa478); // 1
171 FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); // 2
172 FF (c, d, a, b, x[ 2], S13, 0x242070db); // 3
173 FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); // 4
174 FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); // 5
175 FF (d, a, b, c, x[ 5], S12, 0x4787c62a); // 6
176 FF (c, d, a, b, x[ 6], S13, 0xa8304613); // 7
177 FF (b, c, d, a, x[ 7], S14, 0xfd469501); // 8
178 FF (a, b, c, d, x[ 8], S11, 0x698098d8); // 9
179 FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); // 10
180 FF (c, d, a, b, x[10], S13, 0xffff5bb1); // 11
181 FF (b, c, d, a, x[11], S14, 0x895cd7be); // 12
182 FF (a, b, c, d, x[12], S11, 0x6b901122); // 13
183 FF (d, a, b, c, x[13], S12, 0xfd987193); // 14
184 FF (c, d, a, b, x[14], S13, 0xa679438e); // 15
185 FF (b, c, d, a, x[15], S14, 0x49b40821); // 16
186
187 // Round 2
188 GG (a, b, c, d, x[ 1], S21, 0xf61e2562); // 17
189 GG (d, a, b, c, x[ 6], S22, 0xc040b340); // 18
190 GG (c, d, a, b, x[11], S23, 0x265e5a51); // 19
191 GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); // 20
192 GG (a, b, c, d, x[ 5], S21, 0xd62f105d); // 21
193 GG (d, a, b, c, x[10], S22, 0x2441453); // 22
194 GG (c, d, a, b, x[15], S23, 0xd8a1e681); // 23
195 GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); // 24
196 GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); // 25
197 GG (d, a, b, c, x[14], S22, 0xc33707d6); // 26
198 GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); // 27
199 GG (b, c, d, a, x[ 8], S24, 0x455a14ed); // 28
200 GG (a, b, c, d, x[13], S21, 0xa9e3e905); // 29

Callers 1

md5Function · 0.85

Calls 4

FFFunction · 0.85
GGFunction · 0.85
HHFunction · 0.85
IIFunction · 0.85

Tested by

no test coverage detected