Lines Matching defs:digest

95 md5bit(uint8_t *digest, int bit_num)
104 /* return the value of bit N from the digest */
105 return ((digest[byte_off] & (0x01 << bit_off)) ? 1 : 0);
259 uint8_t digest[DIGEST_LEN]; /* where the MD5 digest is stored */
268 int indirect_a; /* 7bit index into digest */
271 int indirect_b; /* 7bit index into digest */
317 /* compute the digest */
319 MD5Final(data.digest, &data.context);
331 /* update with the previous digest */
333 MD5Update(&data.context, data.digest, sizeof (data.digest));
342 data.s7shift = data.digest[i] % 8;
343 data.shift_4[i] = data.digest[j] % 5;
344 data.shift_7[i] = (data.digest[j] >> data.s7shift)
348 data.shift_a = md5bit(data.digest, round);
349 data.shift_b = md5bit(data.digest, round + 64);
351 /* populate indirect_4 with 4bit values extracted from digest */
354 /* shift the digest byte and extract four bits */
356 (data.digest[i] >> data.shift_4[i]) & 0x0f;
360 * populate indirect_7 with 7bit values from digest
365 /* shift the digest byte and extract seven bits */
366 data.indirect_7[i] = (data.digest[data.indirect_4[i]]
371 * use the 7bit values to indirect into digest,
378 data.indirect_a |= (md5bit(data.digest,
381 data.indirect_b |= (md5bit(data.digest,
392 /* extract two data.digest bits */
394 data.bit_a = md5bit(data.digest, data.indirect_a);
395 data.bit_b = md5bit(data.digest, data.indirect_b);
424 /* digest a decimal sprintf of the current roundcount */
430 /* compute/flush the digest, and loop */
432 MD5Final(data.digest, &data.context);
437 /* print the digest */
439 (void) printf("%02x", data.digest[i]);
447 l = (data.digest[ 0]<<16) | (data.digest[ 6]<<8) | data.digest[12];
449 l = (data.digest[ 1]<<16) | (data.digest[ 7]<<8) | data.digest[13];
451 l = (data.digest[ 2]<<16) | (data.digest[ 8]<<8) | data.digest[14];
453 l = (data.digest[ 3]<<16) | (data.digest[ 9]<<8) | data.digest[15];
455 l = (data.digest[ 4]<<16) | (data.digest[10]<<8) | data.digest[ 5];
457 l = data.digest[11]; to64(p, l, 2); p += 2;