Linux内核中的dm-crypt模块的异步IO改造---blog16

2021SC@SUDSC

前面已经介绍有关加密算法的相关知识,在此基础上,就去学习了一下其具体实现,下面介绍一下同步块加密和异步块加密。

一、同步块加密

因为前面已经很介绍了AES的cbc加密模式,下面就看一个例子,在/drivers/crypto/geode-aes.c中。这是一个属于AMD硬件加密引擎的驱动,以算法模块方式插入到内核中,驱动硬件进行加解密。其注册使用的数据结构:


static struct crypto_alg geode_cbc_alg = {
     
    .cra_name       =   "cbc(aes)",  
    .cra_driver_name    =   "cbc-aes-geode",  
    .cra_priority       =   400,  
    .cra_flags          =   CRYPTO_ALG_TYPE_BLKCIPHER |  
                            CRYPTO_ALG_NEED_FALLBACK,  
    .cra_init           =   fallback_init_blk,  
    .cra_exit           =   fallback_exit_blk,  
    .cra_blocksize      =   AES_MIN_BLOCK_SIZE,  
    .cra_ctxsize        =   sizeof(struct geode_aes_op),  
    .cra_alignmask      =   15,  
    .cra_type           =   &crypto_blkcipher_type,  
    .cra_module         =   THIS_MODULE,  
    .cra_list           =   LIST_HEAD_INIT(geode_cbc_alg.cra_list),  
    .cra_u              =   {
     
        .blkcipher  =   {
     
            .min_keysize    =   AES_MIN_KEY_SIZE,  
            .max_keysize    =   AES_MAX_KEY_SIZE
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值