0
点赞
收藏
分享

微信扫一扫

linux4.14 加密框架 —— 整体框架

写心之所想 2022-02-14 阅读 43

目录

1. 整体框架

2. 参考文章


1. 整体框架

      crypto core是最基本骨架 ,它提供crypto的核心组件(包括crypto_alg,crypto_template的管理,cryptd内核线程等);基于crypto core,内核实现了8类常用的算法,DRBG伪随机数算法,Hash算法,SKCIPHER对称加解密算法,AKCIPHER非对称加解密算法,AEAD认证加密算法,HMAC算法,COMPRESS压缩算法,KPP密钥协商算法。

      一些用于secure的硬件模块(如hw_rng硬件随机数产生器,qce硬加密模块)的驱动程序,会通过crypto core提供的算法注册接口(crypto_register_alg)将其注册到crypto子系统中,并且在注册时会对算法做静态正确性自检,并在/proc/crypto中的selftest中呈现到userspace。除了注册到crypto子系统以外,驱动也可以通过VFS以设置节点形式提供给用户空间使用(如/dev/qce,/dev/hw_rng)。

      Crypto core通过socket方式,将kernel层的算法能力提供给用户空间。

      Kernel crypto中基本所有操作都是围绕着几个核心数据结构展开:struct crypto_alg,struct  crypto_template,struct crypto_instance,struct crypto_tfm,struct crypto_type。其他算法都可以基于它们做扩展。例如struct skcipher_alg,struct shash_alg都是继承自struct crypto_alg。

2. 参考文章

Linux加密框架设计与实现(第一部份) - 内核源码-Chinaunix

Linux kernel crypto的介绍_代码改变世界-CSDN博客_crypto linux

https://blog.csdn.net/weixin_43916535/category_10127981.html

https://blog.csdn.net/chyabc123456hh/category_11556764.html

 

举报

相关推荐

0 条评论