文章横幅PC版
文章横幅iPad版
文章横幅手机版

加密卡的仿真实现

TIME:2019-03-21 14:32  click: 201 次 来源: 未知

1.密码算法的选择

AES表有很多性能、实现和应用上的优点,因此面向网络控制系统的加密卡选用AES作为它的加、解密算法。

从输入到输出,AES加密算法的轮变换有字节代替、行移位、列混淆和轮密钥加4种变换。其中矩阵内的乘法、加法均在有限域GF(28)上进行。为进一步提高速度,可预先将S盒里的各元素与对应的数值相乘制成表,这样只要16次查表和16次异或操作就可得到一轮轮变换后全部的状态矩阵的值。

解、加密都可用预先构造表的方法来提高实现速度,它们执行性能是一样的。但解密密钥要在加密密钥的基础上进行 InvMixColumns变换得到,因此解密比加密的密钥生成略慢。

2.基于DSP的AES算法实现及优化

由AES密码算法思想,通过预计算和查表结合的方法改进AES算法的加解密轮变换;同时用线性与非线性变换本身的特点重构解密轮变换,加速解密轮变换;并针对AES整体特点提出基于TMS320C60000的编码和代码优化方案。

为提升性能应尽所能创造较大的内循环,编译器直接面对最大的C循环为发挥软件流水的最大作用。

在加解密的轮变换中,对状态矩阵 State的取命令非常耗时,其存取次数直接影响代码的执行速度。因此只在每次加解密开始读取状态矩阵 State,将其存入状态变 State中,再用变量作为各次迭代的中间变量,在循环后再把最后结果放入状态矩阵,可大大减小代码执行的时钟周期。

3.加密卡仿真性能分析

在TI的TMS320C6000硬件平台上进行AES算法仿真及优化。处理器倍频后为150MHz,此时加密速度可达40.00Mb/s,解密速度可达38.79Mb/s,即对控制指令通常为几个字节以内的情形,相应的处理时长在0.1s数量级。

网络控制加密卡主要从加密的角度保护网络中结点间的通信,它的主要特征是:①用DSP+USB的硬件结构和AES的密码算法,充分利用三者的优势;②实现对控制系统中所传输信息的按需加、解密处理;③数据处理速度快,满足高实时性应用的要求,仿真实现的AES密码算法加、解密处理速度分别约为40Mbs和38.79Mb/s。由此可见,基于DSP的AES加密卡可处理网络控制系统中的信息安全问题,也不影响控制网络的高实时性要求。

 

上一篇:云计算是什么意思 下一篇:加密卡的工作原理与设计