目录
《LINUX 内核加解密流程分析》....................................................................................1
LINUX 内核加解密流程分析............................................................................................1
1 前言...................................................................................................................................1
2 相关数据结构类型...........................................................................................................1
2.1 CRYPTO_TEMPLATE......................................................................................................1
2.2 CRYPTO_INSTANCE.......................................................................................................2
2.3 CRYPTO_SPAWN...........................................................................................................2
2.4 CRYPTO_TFM................................................................................................................2
2.5 CRYPTO_ALG................................................................................................................3
2.6 核心数据结构之间的关系.........................................................................................4
3 CBC(AES)........................................................................................................................5
3.1 算法模板的概念.........................................................................................................5
3.2 CBC 模板的注册.........................................................................................................5
3.3 CRYPTO_ALLOC_SKCIPHER..........................................................................................6
3.3.1 crypto_alloc_tfm...................................................................................................6
3.3.2 算法的查找过程...................................................................................................7
3.3.2.1 crypto_find_alg..................................................................................................................7
3.3.2.2 crypto_alg_mod_lookup.....................................................................................................8
3.3.2.3 crypto_larval_lookup..........................................................................................................9
3.3.2.4 crypto_alg_lookup.............................................................................................................10
3.3.2.5 __crypto_alg_lookup.........................................................................................................10
3.3.3 算法动态探测过程.............................................................................................11
3.3.3.1 cryptomgr_notify...............................................................................................................11
3.3.3.2 cryptomgr_schedule_probe...............................................................................................12
3.3.3.3 cryptomgr_probe...............................................................................................................14
3.3.4 Cbc(aes)算法的创建及注册过程......................................................................15
3.3.4.1 crypto_cbc_create..............................................................................................................15
3.3.4.2 skcipher_register_instance................................................................................................17
3.3.4.3 crypto_register_instance...................................................................................................18
3.3.5 cbc(aes)tfm 的分配及初始化过程.....................................................................19
3.3.5.1 crypto_create_tfm..............................................................................................................19
3.3.6 aes tfm 分配及初始化过程................................................................................20
3.3.6.1 crypto_skcipher_init_tfm..................................................................................................20
3.3.6.2 crypto_cbc_init_tfm..........................................................................................................21
3.3.6.3 crypto_spawn_cipher........................................................................................................21
3.3.6.4 crypto_spawn_tfm.............................................................................................................22
3.3.6.5 __crypto_alloc_tfm...........................................................................................................22
3.3.7 算法查找流程图.................................................................................................24
3.4 加密请求申请与初始化...........................................................................................26
3.4.1 skcipher_request_alloc........................................................................................26
3.4.2 skcipher_request_set_tfm...................................................................................26
评论4
最新资源