Lines Matching refs:mctx
162 static void md4_init(struct md4_ctx *mctx)
164 mctx->hash[0] = 0x67452301;
165 mctx->hash[1] = 0xefcdab89;
166 mctx->hash[2] = 0x98badcfe;
167 mctx->hash[3] = 0x10325476;
168 mctx->byte_count = 0;
171 static void md4_update(struct md4_ctx *mctx,
174 const uint32_t avail = sizeof(mctx->block) - (mctx->byte_count & 0x3f);
176 mctx->byte_count += len;
179 memcpy((char *)mctx->block + (sizeof(mctx->block) - avail),
184 memcpy((char *)mctx->block + (sizeof(mctx->block) - avail),
187 md4_transform_helper(mctx);
191 while (len >= sizeof(mctx->block)) {
192 memcpy(mctx->block, data, sizeof(mctx->block));
193 md4_transform_helper(mctx);
194 data += sizeof(mctx->block);
195 len -= sizeof(mctx->block);
198 memcpy(mctx->block, data, len);
201 static void md4_final_ascii(struct md4_ctx *mctx, char *out, unsigned int len)
203 const unsigned int offset = mctx->byte_count & 0x3f;
204 char *p = (char *)mctx->block + offset;
210 md4_transform_helper(mctx);
211 p = (char *)mctx->block;
216 mctx->block[14] = mctx->byte_count << 3;
217 mctx->block[15] = mctx->byte_count >> 29;
218 le32_to_cpu_array(mctx->block, (sizeof(mctx->block) -
220 md4_transform(mctx->hash, mctx->block);
221 cpu_to_le32_array(mctx->hash, ARRAY_SIZE(mctx->hash));
224 mctx->hash[0], mctx->hash[1], mctx->hash[2], mctx->hash[3]);