风雨兼程8023
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux4.14 加密框架——从hash算法APP使用者的角度来分析hash运算的加密框架
从hash算法APP使用者的角度来分析hash运算的加密框架原创 2022-06-16 15:02:22 · 1017 阅读 · 1 评论 -
linux4.14 加密框架——testmgr.c的分析
testmgr.c的分析原创 2022-06-16 14:07:25 · 1016 阅读 · 0 评论 -
linux4.14 加密框架文章阅读顺序
Linux Crypto框架文章阅读顺序原创 2022-06-16 11:22:22 · 467 阅读 · 0 评论 -
openssl、gmssl的简单介绍
openssl、gmssl原创 2022-03-31 14:21:17 · 2598 阅读 · 0 评论 -
crypto加密的一些介绍文章
加密文章原创 2022-03-31 14:05:34 · 471 阅读 · 0 评论 -
crypto在线加密的一些网站(国密、hash、对称等)
crypto在线加密的一些网站(国密、hash、对称等)原创 2022-03-30 14:28:34 · 2855 阅读 · 0 评论 -
linux4.14 加密框架 —— 应用示例
目录1. 说明2. 初始阶段2.1 初始阶段的算法管理链表和算法模板管理链表2.2算法说明2.3 算法运行上下文2.3.1 MD5算法运行上下文2.3.2 AES算法运行上下文3. 哈希算法应用示例3.1在应用模块中创建并初始化哈希算法实例3.2创建哈希算法实例hmac_md5_ahash(一)3.3创建动态算法"hmac(md5)”(一)1. 说明 本节将从应用角度说明加密框架的运行流程,包括加密框架如何管理算法、如何动态创建算...原创 2022-02-17 10:03:01 · 803 阅读 · 0 评论 -
linux4.14 加密框架 —— 算法上下文(2)——aes上下文创建
dddd原创 2022-02-17 10:10:38 · 874 阅读 · 0 评论 -
linux4.14 加密框架 —— 算法上下文(1)——tfm简介
算法上下文原创 2022-02-17 10:10:06 · 1683 阅读 · 0 评论 -
Linux4.14加密框架中的主要数据结构(5)—— struct crypto_larval(算法幼虫)
1. 定义如前所述,算法幼虫在算法注册和自检过程中起到非常重要的作用,表示无法提供预期服务的算法,在crypto/internal.h中算法幼虫定义如下所示。struct crypto_larval { struct crypto_alg alg; struct crypto_alg *adult; struct completion completion; u32 mask;};算法幼虫数据结构struct crypto_larval中各成员变量含义如下所示。1) alg:算原创 2022-02-16 15:27:36 · 335 阅读 · 0 评论 -
Linux4.14加密框架中的主要数据结构(2)—— struct shash_alg(哈希算法)
目录1. 定义2. 实例1. 定义 通用算法说明数据结构struct crypto_alg的联合体成员变量cra_u中包含多种算法的个性化属性,如分组算法、块加密算法、压缩算法、伪随机数算法等,但不包含哈希算法的个性化属性。加密框架以通用算法说明数据结构struct crypto_alg为基类定义了哈希算法说明数据结构,根据算法实现不同哈希算法说明分为同步哈希(synchronous hash)算法说明数据结构struct shash_alg和异步哈希(asynchronous h...原创 2022-02-16 14:41:33 · 570 阅读 · 0 评论 -
linux4.14 加密框架 —— crypto算法模板以及CBC算法模板实例
crypto算法模板以及CBC算法模板实例原创 2022-02-17 10:02:15 · 799 阅读 · 0 评论 -
linux4.14 加密框架 —— 算法上下文(3)——创建哈希算法实例
目录1. crypto_alloc_ahash函数2.crypto_alloc_tfm3.crypto_create_tfm1. crypto_alloc_ahash函数 加密框架中的哈希算法可以是同步方式实现的也可以是异步方式实现的,但是算法应用不关注哈希算法的实现方式,关注的是哈希算法提供的算法接口。为实现统一管理,加密框架默认哈希算法的实现方式为异步方式,将哈希算法的外部接口统一定义为异步哈希算法接口。 算法实例是算法应用和加密框架之间的桥梁,算法应用通过...原创 2022-02-17 10:10:48 · 593 阅读 · 0 评论 -
linux4.14 加密框架API(3)—— 算法查找相关API
1. crypto_find_algstruct crypto_alg *crypto_find_alg(const char *alg_name, const struct crypto_type *frontend, u32 type, u32 mask){ struct crypto_alg *(*lookup)(const char *name, u32 type, u32 mask) = crypto_alg_mod_lookup; if (front原创 2022-02-16 15:42:36 · 375 阅读 · 0 评论 -
linux4.14 加密框架 —— 整体框架
加密框架 —— 整体框架原创 2022-02-14 11:12:48 · 1058 阅读 · 0 评论 -
linux4.14 加密框架 —— 静态算法和动态算法
目录1. 静态算法和动态算法2. 创建动态算法2.1 发布创建动态算法通知2.2cryptomgr_schedule_probe2.3cryptomgr_probe3. 注册动态算法crypto_register_instance1. 静态算法和动态算法 加密框架中的算法分为静态算法和动态算法两种,其中静态算法指的是以"算法名.ko"形式存在的静态编译的算法模块,如aes.ko表示AES算法模块,md5.ko表示MD5算法模块,这些静态算法模块是预定义的,在...原创 2022-02-17 10:01:45 · 1426 阅读 · 0 评论 -
linux4.14 加密框架API(1)——crypto_register_alg的注册流程
1. 静态算法模块初始化1.1 分组算法模块初始化AES算法模块(aes_generic.c)的初始化接口aes_init实现向加密框架注册AES算法的功能,如下所示。static int __init aes_init(void){ return crypto_register_alg(&aes_alg);}1.2 哈希算法模块初始化MD5算法模块(md5.c)的初始化接口md5_mod_init实现向加密框架注册MD5算法的功能,如下所示。static int原创 2022-02-16 15:29:45 · 1095 阅读 · 0 评论 -
linux4.14 加密框架API(2)——__crypto_register_alg的注册流程
__crypto_register_alg函数实现向加密框架注册算法(包括静态算法和动态算法)的功能,输入参数为算法说明alg,注册成功时返回算法注册用的算法幼虫larval,注册失败时返回失败原因。static struct crypto_larval *__crypto_register_alg(struct crypto_alg *alg){ struct crypto_alg *q; struct crypto_larval *larval; int ret = -EAGAIN;原创 2022-02-16 15:38:11 · 590 阅读 · 0 评论 -
linux4.14 加密框架 —— 算法检测
目录1.函数介绍2.算法检测启动2.1cryptomgr_schedule_test2.2.crypto_alg_tested2.2.1 检测结束收尾时,需要通过算法幼虫的完成量唤醒等待注册、检验结束的线程。2.2.2 算法检验结束收尾时,算法管理链表如下所示1.函数介绍 如前所述,无论是静态算法还是动态算法,算法注册的最后一步都是进行算法正确性检验,一般流程是先调用__crypto_register_alg函数进行通用的算法注册(即将待注册的算法添加...原创 2022-02-16 15:47:59 · 707 阅读 · 0 评论 -
Linux4.14加密框架中的主要数据结构(6)—— struct crypto_type和struct crypto_tfm
目录1.struct crypto_type2.struct crypto_tfm1.struct crypto_typestruct crypto_type { unsigned int (*ctxsize)(struct crypto_alg *alg, u32 type, u32 mask); unsigned int (*extsize)(struct crypto_alg *alg); int (*init)(struct crypto_tfm *tfm, u32 t...原创 2022-02-16 15:28:16 · 565 阅读 · 0 评论 -
Linux4.14加密框架中的主要数据结构(4)—— struct crypto_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...原创 2022-02-16 15:26:21 · 681 阅读 · 0 评论 -
Linux4.14加密框架中的主要数据结构(3)—— struct crypto_template(算法模板)
目录1. 定义2. 实例2.1CBC算法模板2.2HMAC算法模块1. 定义 加密框架将算法模式抽象为算法模板数据结构structcrypto_template,在include/crypto/algapi.h中该数据结构定义如下所示:struct crypto_template { struct list_head list; struct hlist_head instances; struct module *module; struct cr...原创 2022-02-16 14:46:23 · 378 阅读 · 0 评论 -
Linux加密框架中的算法和算法模式(3)——总结
目录1. 加密框架中的对称密码算法汇总2. 加密框架中的哈希算法汇总3.加密框架中的算法模式汇总4. 最后一点说明1. 加密框架中的对称密码算法汇总加密框架中共有14个对称密码算法源码文件,如下所示。 如上所示,在arc4.c中定义了两个与RC4算法相关的算法实现,分别为arc4和ecb(arc4),其中arc4是RC算法的算法实现,而ecb(arc4)是RC算法ECB模式的算法实现,在加密框架中,将arc4称为基础算法,ecb(arc4)称为衍生算法。就RC4...原创 2022-02-14 10:14:27 · 345 阅读 · 0 评论 -
Linux加密框架中的算法和算法模式(1)——算法介绍
算法和算法模式原创 2022-02-14 10:13:24 · 1848 阅读 · 1 评论 -
Linux4.14加密框架中的主要数据结构(1)—— struct crypto_alg(通用算法)
1. 定义 加密框架将算法的属性抽象为算法说明数据结构struct crypto_alg,加密框架中的每一个算法(基础算法和衍生算法)都表示为一个算法说明数据结构的实例,因此将struct crypto_alg称为通用算法说明数据结构。后续章节中如无特殊说明,算法说明数据结构和通用算法数据结构均指的是struct crypto_alg。 在include/linux/crypto.h中,算法说明数据结构struct crypto_alg定义如下:struct cry...原创 2022-02-16 14:36:23 · 1370 阅读 · 0 评论 -
Linux加密框架中的算法和算法模式(2)——模式介绍
算法模式原创 2022-02-14 10:14:10 · 2459 阅读 · 0 评论