Skip to content

Linux Crypto 子系统文档索引

文档清单

文档描述源码位置
crypto_core.md核心框架: crypto_alg, crypto_tfm, 算法注册crypto/api.c
crypto_skcipher.md同步加密: skcipher, ablkcipher, AES/DEScrypto/skcipher.c
crypto_async.md异步加密: aead, ahash, 哈希, GCMcrypto/aead.c, ahash.c
crypto_infra.md基础设施: algapi, cryptd, 随机数crypto/algapi.c

1. Crypto 核心框架 (crypto_core.md)

关键内容

  • struct crypto_alg: 算法基础结构
  • struct crypto_tfm: Transform 结构
  • struct crypto_larval: 幼虫状态机制
  • 算法注册: crypto_register_alg()

关键函数

函数文件:行号
crypto_register_algcrypto/api.c
crypto_alg_lookupcrypto/algapi.c

2. 同步加密 (crypto_skcipher.md)

关键内容

  • SKCIPHER 接口: crypto_alloc_skcipher()
  • ABLKCIPHER: ablkcipher_request
  • 块加密算法: AES, DES, 3DES
  • 加密模式: ECB, CBC, CTR

关键函数

函数文件:行号
crypto_alloc_skciphercrypto/skcipher.c
skcipher_cryptcrypto/skcipher.c

3. 异步加密 (crypto_async.md)

关键内容

  • AEAD: aead_request, crypto_aead_encrypt()
  • AHASH: ahash_request, crypto_ahash_digest()
  • 哈希算法: MD5, SHA1, SHA256
  • GCM, ChaCha20-Poly1305

关键函数

函数文件:行号
crypto_alloc_aeadcrypto/aead.c
crypto_ahash_digestcrypto/ahash.c

4. 基础设施 (crypto_infra.md)

关键内容

  • algapi: 算法查找和移除
  • cryptd: 同步转异步包装
  • 随机数: jitterentropy
  • 压缩: deflate, lz4

关键函数

函数文件:行号
crypto_alg_lookupcrypto/algapi.c
cryptd_alloc_ablkciphercrypto/cryptd.c

架构总览

                    ┌─────────────────────────────────────────┐
                    │         用户空间                        │
                    └─────────────────┬───────────────────────┘
                                      │ crypto_xxx()

                    ┌─────────────────────────────────────────┐
                    │         Crypto API                     │
                    │   crypto_alloc_xxx()                  │
                    │   crypto_register_alg()                │
                    └─────────────────┬───────────────────────┘

                    ┌─────────────────┴───────────────────────┐
                    ▼                                       ▼
        ┌─────────────────────┐               ┌─────────────────────┐
        │   Sync API          │               │   Async API        │
        │   (skcipher)        │               │   (aead/ahash)    │
        └──────────┬──────────┘               └──────────┬──────────┘
                   │                                     │
                   ▼                                     ▼
        ┌─────────────────────┐               ┌─────────────────────┐
        │   Algorithm         │               │   Algorithm         │
        │   (AES, DES...)     │               │   (GCM, SHA...)    │
        └─────────────────────┘               └─────────────────────┘

源码位置索引

组件路径
核心 APIcrypto/api.c
SKCIPHERcrypto/skcipher.c
AEADcrypto/aead.c
AHASHcrypto/ahash.c
SHASHcrypto/shash.c
algapicrypto/algapi.c
cryptdcrypto/cryptd.c
AEScrypto/aes.c
SHAcrypto/sha256.c
MD5crypto/md5.c
GCMcrypto/gcm.c
随机数crypto/jitterentropy.c

基于 VitePress 构建