Linux加密框架应用示例(五)

本文详细解析了Linux下哈希算法的应用,以hmac_md5为例,介绍了如何创建同步哈希算法实例hmac_md5_shash,并通过crypto_init_shash_ops_async函数进行初始化。讲解了从调用crypto_create_tfm函数创建算法实例,到申请内存,初始化算法实例的过程,包括算法上下文的获取和算法关联的建立。
摘要由CSDN通过智能技术生成

哈希算法应用示例(四)

  1. 创建同步哈希算法实例hmac_md5_shash(一)

函数crypto_init_shash_ops_async初始化异步哈希算法实例hmac_md5_ahash流程如下所示:
1)调用crypto_create_tfm函数根据算法calg(即hmac_md5_alg)和算法类型常量frontend(&crypto_shash_type)创建同步哈希算法实例shash(即hmac_md5_shash)。
注意:此时创建算法实例hmac_md5_ahash时的crypto_create_tfm函数调用还未结束,再次调用crypto_create_tfm函数创建算法实例hmac_md5_shash,即对crypto_create_tfm函数进行了嵌套调用。
与创建异步哈希算法实例hmac_md5_ahash相同,算法实例的个性化部分和上下文通过算法类型常量frontend获得,不同的是此时输入的算法类型常量是同步哈希算法类型常量crypto_shash_type,定义如下所示。

static const struct crypto_type crypto_shash_type = {
   
	.ctxsize = crypto_shash_ctxsize,
	.extsize = crypto_shash_extsize,
	.init = crypto_init_shash_ops,
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值