linux4.14 加密框架 —— 算法上下文(3)——创建哈希算法实例

本文详细介绍了Linux 4.14加密框架中创建哈希算法实例的过程,包括crypto_alloc_ahash函数、crypto_alloc_tfm和crypto_create_tfm的使用,以及算法上下文的初始化。重点讲解了算法实例在IPSEC框架中的应用和异步哈希算法的实现方式。
摘要由CSDN通过智能技术生成

目录

1. crypto_alloc_ahash函数

2. crypto_alloc_tfm

3. crypto_create_tfm

3.1 申请tfm相关内存

3.2 实例化上下文tfm

3.2.1 通用算法实例tfm关联到通用算法说明alg

3.2.2 调用算法前端frontend的init_tfm接口初始化tfm

3.3 进一步初始化tfm(tfm->exit && alg->cra_init && (err = alg->cra_init(tfm))


1. crypto_alloc_ahash函数

      加密框架中的哈希算法可以是同步方式实现的也可以是异步方式实现的,但是算法应用不关注哈希算法的实现方式,关注的是哈希算法提供的算法接口。为实现统一管理,加密框架默认哈希算法的实现方式为异步方式,将哈希算法的外部接口统一定义为异步哈希算法接口。
      算法实例是算法应用和加密框架之间的桥梁,算法应用通过算法实例实现算法调用。以哈希算法实例为例,在IPSEC框架的AH协议模块中,协议状态初始化(ah_init_state函数)时,将根据配置的认证算法名(x->aalg->alg_name)创建对应的异步哈希算法实例ahash,如下所示

net\ipv4\ah4.c

static int ah_init_state(struct xfrm_state *x)
{
    ................

	ahash = crypto_alloc_ahash(x->aalg->alg_name, 0, 0);
	if (IS_ERR(ahash))
		goto error;

	ahp->ahash
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值