软件工程实践 Blog 0

2021SC@SDUSC

一、项目背景

某公司研发了一款高速加密卡(对称加密10Gbit/s以上),可以配合Linux内核中的密码子系统和dm-crypt模块实现磁盘分区加密等应用,做企业保密存储服务器。实际使用中发现:由于dm-crypt模块的循环结构每次处理512个字节(一个sector),导致无法发挥加密卡的全部性能,分析发现需要在dm中使用scatter/gather高速IO技术以提高性能。在Linux内核中修改代码,具有极大挑战性。这是本项目一期工作,已经完成,实现了IO速度从80M字节提高到约1G字节每秒的跃进,达到了预期效果,已用于生产。
由于公司推出了新的、更快的加密卡,因此展开项目的二期工作,计划使用异步和多线程机制以完全发掘新加密卡的性能。

二、项目目标

学习Linux内核源码,掌握Linux内核编译、Linux内核开发、Linux设备驱动程序的使用。
在充分了解一期工作源码的基础上,着重学习、分析、修改Linux内核中的密码子系统、异步队列、内核多线程、模块和驱动等技术,主要修改dm-crypt.c等模块源文件的代码,实现对于异步密码算法(包括软件形式和/或硬件形式)的支持。
本工作有重要实用价值,代码争取可以提交到Linux的git树,希望Linux能采纳。

三、环境搭建

安装Source insight,windows下阅读源码 。
安装LXR,Linux下阅读源码。
虚拟机中安装编译Linux内核的工作环境。
创建writeup的git仓库,用于交流

四、核心代码

https://elixir.bootlin.com/linux/latest/source/drivers/md/dm-crypt.c#L1414

五、项目分工

  1. 内核模块的开发
    主要是 SM4 国产加密算法的使用
  2. DM-Crypt 模块的开发与改写
    #1414 行函数的上下文的改进
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值