MD5_DIGEST_SIZE
.digestsize = MD5_DIGEST_SIZE,
.digestsize = MD5_DIGEST_SIZE,
const u8 md5_zero_message_hash[MD5_DIGEST_SIZE] = {
.digestsize = MD5_DIGEST_SIZE,
.digestsize = MD5_DIGEST_SIZE,
.digestsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.halg.digestsize = MD5_DIGEST_SIZE,
.halg.digestsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.digestsize = MD5_DIGEST_SIZE,
static const u8 runninglen[] = { HASH_MSG_LEN + MD5_DIGEST_SIZE,
.digestsize = MD5_DIGEST_SIZE,
static const u8 runninglen[] = { HASH_MSG_LEN + MD5_DIGEST_SIZE,
.digestsize = MD5_DIGEST_SIZE,
.statesize = CC_STATE_SIZE(MD5_DIGEST_SIZE),
.inter_digestsize = MD5_DIGEST_SIZE,
case MD5_DIGEST_SIZE:
.digestsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
MD5_DIGEST_SIZE);
.digestsize = MD5_DIGEST_SIZE,
.digestsize = MD5_DIGEST_SIZE,
req->state_sz = MD5_DIGEST_SIZE;
req->digest_sz = MD5_DIGEST_SIZE;
.digestsize = MD5_DIGEST_SIZE,
memcpy(req->state, &ctx->base.ipad, MD5_DIGEST_SIZE);
req->state_sz = MD5_DIGEST_SIZE;
req->digest_sz = MD5_DIGEST_SIZE;
MD5_DIGEST_SIZE);
.digestsize = MD5_DIGEST_SIZE,
MD5_DIGEST_SIZE);
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.digestsize = MD5_DIGEST_SIZE,
.digestsize = MD5_DIGEST_SIZE,
.base.halg.digestsize = MD5_DIGEST_SIZE,
.base.halg.digestsize = MD5_DIGEST_SIZE,
d = MD5_DIGEST_SIZE / sizeof(u32);
case MD5_DIGEST_SIZE:
case MD5_DIGEST_SIZE:
.digestsize = MD5_DIGEST_SIZE,
case MD5_DIGEST_SIZE:
case MD5_DIGEST_SIZE:
.halg.digestsize = MD5_DIGEST_SIZE,
#define HASH_MD5_MAX_REG (MD5_DIGEST_SIZE / HASH_REG_SIZEOF)
.digestsize = MD5_DIGEST_SIZE,
.digestsize = MD5_DIGEST_SIZE,
case MD5_DIGEST_SIZE:
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.maxauthsize = MD5_DIGEST_SIZE,
.halg.digestsize = MD5_DIGEST_SIZE,
.halg.digestsize = MD5_DIGEST_SIZE,
MD5_DIGEST_SIZE);
char dst[MD5_DIGEST_SIZE];
BUG_ON(crypt_stat->iv_bytes > MD5_DIGEST_SIZE);
char dst[MD5_DIGEST_SIZE];
char hash[MD5_DIGEST_SIZE];
s->hash[s->j % MD5_DIGEST_SIZE];
if ((s->j % MD5_DIGEST_SIZE) == (MD5_DIGEST_SIZE - 1))
md5(s->hash, MD5_DIGEST_SIZE, s->hash);
static_assert(HEXDIR_LEN == 2 * MD5_DIGEST_SIZE + 1);
sprintf(dname, "%*phN", MD5_DIGEST_SIZE, digest);
u8 digest[MD5_DIGEST_SIZE];
#define HEXDIR_LEN (2 * MD5_DIGEST_SIZE + 1)
void hmac_md5_final(struct hmac_md5_ctx *ctx, u8 out[at_least MD5_DIGEST_SIZE]);
u8 out[at_least MD5_DIGEST_SIZE]);
u8 out[at_least MD5_DIGEST_SIZE]);
extern const u8 md5_zero_message_hash[MD5_DIGEST_SIZE];
void md5_final(struct md5_ctx *ctx, u8 out[at_least MD5_DIGEST_SIZE]);
void md5(const u8 *data, size_t len, u8 out[at_least MD5_DIGEST_SIZE]);
[HASH_ALGO_MD4] = MD5_DIGEST_SIZE,
[HASH_ALGO_MD5] = MD5_DIGEST_SIZE,
static void __md5_final(struct md5_ctx *ctx, u8 out[MD5_DIGEST_SIZE])
memcpy(out, ctx->state.h, MD5_DIGEST_SIZE);
void md5_final(struct md5_ctx *ctx, u8 out[MD5_DIGEST_SIZE])
void md5(const u8 *data, size_t len, u8 out[MD5_DIGEST_SIZE])
void hmac_md5_final(struct hmac_md5_ctx *ctx, u8 out[MD5_DIGEST_SIZE])
memset(&ctx->hash_ctx.buf[MD5_DIGEST_SIZE], 0,
MD5_BLOCK_SIZE - MD5_DIGEST_SIZE);
ctx->hash_ctx.buf[MD5_DIGEST_SIZE] = 0x80;
cpu_to_le64(8 * (MD5_BLOCK_SIZE + MD5_DIGEST_SIZE));
memcpy(out, ctx->ostate.h, MD5_DIGEST_SIZE);
const u8 *data, size_t data_len, u8 out[MD5_DIGEST_SIZE])
u8 out[MD5_DIGEST_SIZE])
static const u8 hash_testvec_consolidated[MD5_DIGEST_SIZE] = {
static const u8 hmac_testvec_consolidated[MD5_DIGEST_SIZE] = {
u8 digest[MD5_DIGEST_SIZE];
#define HASH_SIZE MD5_DIGEST_SIZE