linux4.14 加密框架 —— 算法检测

目录

1. 函数介绍

 2. 算法检测启动

2.1 cryptomgr_schedule_test

2.2. crypto_alg_tested

2.2.1  检测结束收尾时,需要通过算法幼虫的完成量唤醒等待注册、检验结束的线程。

2.2.2 算法检验结束收尾时,算法管理链表如下所示


1. 函数介绍

      如前所述,无论是静态算法还是动态算法,算法注册的最后一步都是进行算法正确性检验,一般流程是先调用__crypto_register_alg函数进行通用的算法注册(即将待注册的算法添加到算法管理链表中),同时创建对应的检测用算法幼虫,然后调用crypto_wait_for_test函数启动算法正确性检验,并等待检验结束。

      简单地说,算法正确性检验就是利用样本数据sampledata对算法接口进行计算正确性的验证。算法通过正确性检验的标志是算法标志cra_flags中置算法已检测标志CRYPTO_ALG_TESTED。算法通过正确性检验说明能够提供正常的服务,如加密/解密服务、计算消息摘要服务等。
crypto_wait_for_test函数用于启动算法正确性检验,并等待检验结束,输入参数为检测用算法幼虫larval。

      函数处理流程如下所示。 

static void crypto_wait_for_test(struct crypto_larval *larval)
{
	int err;
 
	err = crypto_probing_notify(CRYPTO_MSG_ALG_REGISTER, larval->adult);
	if (err != NOTIFY_STOP) {
		if (WARN_ON(er
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值