Lines Matching full:hmac
40 * ubifs_hash_calc_hmac - calculate a HMAC from a hash
42 * @hash: the node to calculate a HMAC for
43 * @hmac: the returned HMAC
48 u8 *hmac) in ubifs_hash_calc_hmac() argument
50 return crypto_shash_tfm_digest(c->hmac_tfm, hash, c->hash_len, hmac); in ubifs_hash_calc_hmac()
60 * It creates a HMAC from the given input hash and writes it to the node.
82 err = ubifs_hash_calc_hmac(c, hash, auth->hmac); in ubifs_prepare_auth_node()
277 snprintf(hmac_name, CRYPTO_MAX_ALG_NAME, "hmac(%s)", in ubifs_init_authentication()
328 ubifs_err(c, "hmac %s is bigger than maximum allowed hmac size (%d > %d)", in ubifs_init_authentication()
378 * ubifs_node_calc_hmac - calculate the HMAC of a UBIFS node
380 * @node: the node to insert a HMAC into.
382 * @ofs_hmac: the offset in the node where the HMAC is inserted
383 * @hmac: returned HMAC
385 * This function calculates a HMAC of a UBIFS node. The HMAC is expected to be
386 * embedded into the node, so this area is not covered by the HMAC. Also not
390 int len, int ofs_hmac, void *hmac) in ubifs_node_calc_hmac() argument
405 /* behind common node header CRC up to HMAC begin */ in ubifs_node_calc_hmac()
410 /* behind HMAC, if any */ in ubifs_node_calc_hmac()
418 return crypto_shash_final(shash, hmac); in ubifs_node_calc_hmac()
422 * __ubifs_node_insert_hmac - insert a HMAC into a UBIFS node
424 * @node: the node to insert a HMAC into.
426 * @ofs_hmac: the offset in the node where the HMAC is inserted
428 * This function inserts a HMAC at offset @ofs_hmac into the node given in
440 * __ubifs_node_verify_hmac - verify the HMAC of UBIFS node
442 * @node: the node to insert a HMAC into.
444 * @ofs_hmac: the offset in the node where the HMAC is inserted
446 * This function verifies the HMAC at offset @ofs_hmac of the node given in
453 u8 *hmac; in __ubifs_node_verify_hmac() local
456 hmac = kmalloc(hmac_len, GFP_NOFS); in __ubifs_node_verify_hmac()
457 if (!hmac) in __ubifs_node_verify_hmac()
460 err = ubifs_node_calc_hmac(c, node, len, ofs_hmac, hmac); in __ubifs_node_verify_hmac()
462 kfree(hmac); in __ubifs_node_verify_hmac()
466 err = crypto_memneq(hmac, node + ofs_hmac, hmac_len); in __ubifs_node_verify_hmac()
468 kfree(hmac); in __ubifs_node_verify_hmac()
499 * ubifs_hmac_wkm - Create a HMAC of the well known message
501 * @hmac: The HMAC of the well known message
503 * This function creates a HMAC of a well known message. This is used
510 int ubifs_hmac_wkm(struct ubifs_info *c, u8 *hmac) in ubifs_hmac_wkm() argument
530 err = crypto_shash_final(shash, hmac); in ubifs_hmac_wkm()
537 * ubifs_hmac_zero - test if a HMAC is zero
539 * @hmac: the HMAC to test
541 * This function tests if a HMAC is zero and returns true if it is
544 bool ubifs_hmac_zero(struct ubifs_info *c, const u8 *hmac) in ubifs_hmac_zero() argument
546 return !memchr_inv(hmac, 0, c->hmac_desc_len); in ubifs_hmac_zero()