• Home
  • Raw
  • Download

Lines Matching +full:ror +full:- +full:default

5  * based on BSD-licensed SHA-2 code by Aaron D. Gifford
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
36 uint8_t digest_len; ///< digest length in 64-bit words
38 uint8_t buffer[128]; ///< 1024-bit buffer of input values used in hash updating
92 #define ror(value, bits) (((value) >> (bits)) | ((value) << (64 - (bits)))) macro
97 #define Sigma0_512(x) (ror((x), 28) ^ ror((x), 34) ^ ror((x), 39))
98 #define Sigma1_512(x) (ror((x), 14) ^ ror((x), 18) ^ ror((x), 41))
99 #define sigma0_512(x) (ror((x), 1) ^ ror((x), 8) ^ ((x) >> 7))
100 #define sigma1_512(x) (ror((x), 19) ^ ror((x), 61) ^ ((x) >> 6))
103 #define blk(i) (block[i] = block[i - 16] + sigma0_512(block[i - 15]) + \
104 sigma1_512(block[i - 2]) + block[i - 7])
194 ctx->digest_len = bits >> 6; in av_sha512_init()
196 case 224: // SHA-512/224 in av_sha512_init()
197 ctx->state[0] = UINT64_C(0x8C3D37C819544DA2); in av_sha512_init()
198 ctx->state[1] = UINT64_C(0x73E1996689DCD4D6); in av_sha512_init()
199 ctx->state[2] = UINT64_C(0x1DFAB7AE32FF9C82); in av_sha512_init()
200 ctx->state[3] = UINT64_C(0x679DD514582F9FCF); in av_sha512_init()
201 ctx->state[4] = UINT64_C(0x0F6D2B697BD44DA8); in av_sha512_init()
202 ctx->state[5] = UINT64_C(0x77E36F7304C48942); in av_sha512_init()
203 ctx->state[6] = UINT64_C(0x3F9D85A86A1D36C8); in av_sha512_init()
204 ctx->state[7] = UINT64_C(0x1112E6AD91D692A1); in av_sha512_init()
206 case 256: // SHA-512/256 in av_sha512_init()
207 ctx->state[0] = UINT64_C(0x22312194FC2BF72C); in av_sha512_init()
208 ctx->state[1] = UINT64_C(0x9F555FA3C84C64C2); in av_sha512_init()
209 ctx->state[2] = UINT64_C(0x2393B86B6F53B151); in av_sha512_init()
210 ctx->state[3] = UINT64_C(0x963877195940EABD); in av_sha512_init()
211 ctx->state[4] = UINT64_C(0x96283EE2A88EFFE3); in av_sha512_init()
212 ctx->state[5] = UINT64_C(0xBE5E1E2553863992); in av_sha512_init()
213 ctx->state[6] = UINT64_C(0x2B0199FC2C85B8AA); in av_sha512_init()
214 ctx->state[7] = UINT64_C(0x0EB72DDC81C52CA2); in av_sha512_init()
216 case 384: // SHA-384 in av_sha512_init()
217 ctx->state[0] = UINT64_C(0xCBBB9D5DC1059ED8); in av_sha512_init()
218 ctx->state[1] = UINT64_C(0x629A292A367CD507); in av_sha512_init()
219 ctx->state[2] = UINT64_C(0x9159015A3070DD17); in av_sha512_init()
220 ctx->state[3] = UINT64_C(0x152FECD8F70E5939); in av_sha512_init()
221 ctx->state[4] = UINT64_C(0x67332667FFC00B31); in av_sha512_init()
222 ctx->state[5] = UINT64_C(0x8EB44A8768581511); in av_sha512_init()
223 ctx->state[6] = UINT64_C(0xDB0C2E0D64F98FA7); in av_sha512_init()
224 ctx->state[7] = UINT64_C(0x47B5481DBEFA4FA4); in av_sha512_init()
226 case 512: // SHA-512 in av_sha512_init()
227 ctx->state[0] = UINT64_C(0x6A09E667F3BCC908); in av_sha512_init()
228 ctx->state[1] = UINT64_C(0xBB67AE8584CAA73B); in av_sha512_init()
229 ctx->state[2] = UINT64_C(0x3C6EF372FE94F82B); in av_sha512_init()
230 ctx->state[3] = UINT64_C(0xA54FF53A5F1D36F1); in av_sha512_init()
231 ctx->state[4] = UINT64_C(0x510E527FADE682D1); in av_sha512_init()
232 ctx->state[5] = UINT64_C(0x9B05688C2B3E6C1F); in av_sha512_init()
233 ctx->state[6] = UINT64_C(0x1F83D9ABFB41BD6B); in av_sha512_init()
234 ctx->state[7] = UINT64_C(0x5BE0CD19137E2179); in av_sha512_init()
236 default: in av_sha512_init()
239 ctx->count = 0; in av_sha512_init()
248 j = ctx->count & 127; in av_sha512_update()
249 ctx->count += len; in av_sha512_update()
252 ctx->buffer[j++] = data[i]; in av_sha512_update()
254 sha512_transform(ctx->state, ctx->buffer); in av_sha512_update()
259 if (len >= 128 - j) { in av_sha512_update()
261 memcpy(&ctx->buffer[j], data, (i = 128 - j)); in av_sha512_update()
262 sha512_transform(ctx->state, ctx->buffer); in av_sha512_update()
264 len -= i; in av_sha512_update()
268 sha512_transform(ctx->state, data); in av_sha512_update()
271 memcpy(&ctx->buffer[j], data, len); in av_sha512_update()
278 uint64_t finalcount = av_be2ne64(ctx->count << 3); in av_sha512_final()
281 while ((ctx->count & 127) != 112) in av_sha512_final()
285 for (i = 0; i < ctx->digest_len; i++) in av_sha512_final()
286 AV_WB64(digest + i*8, ctx->state[i]); in av_sha512_final()
287 if (ctx->digest_len & 1) /* SHA512/224 is 28 bytes, and is not divisible by 8. */ in av_sha512_final()
288 AV_WB32(digest + i*8, ctx->state[i] >> 32); in av_sha512_final()