Linux4.14加密框架中的主要数据结构(4)—— struct crypto_instance(算法模板实例)

目录

1. 通用算法模板实例

1.1 数据结构定义

1.2 CBC算法模板实例(crypto_cbc_create)

1.2.1 crypto_get_attr_alg

1.2.2 struct crypto_spawn

1.2.3 其他初始化

1.2.4 skcipher_register_instance


1. 通用算法模板实例

1.1 数据结构定义

      在加密框架中,将根据算法模式(即算法模板)和基础算法动态创建的算法定义为算法模板实例,数据结构为struct crypto_instance,在include\crypto\algapi.h中定义如下所示。

struct crypto_instance {
	struct crypto_alg alg;

	struct crypto_template *tmpl;
	struct hlist_node list;

	void *__ctx[] CRYPTO_MINALIGN_ATTR;
};

      算法模板实例数据结构为struct crypto_instance各成员变量含义如下所示:

1) alg:算法模板实例对应的算法说明。
2) tmpl:算法模板实例使用的算法模板。
3) list:算法模板实例在算法模板的实例哈希链表中对应的节点。
4) __ctx:算法模板实例的上下文。当前只指向crypto_spawn,我个人理解可能是架构设计者考虑到未来扩展性,就将crypto_spawn与crypto_instance拆分开来了。

      由算法模板实例数据结构定义,算法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值