低成本USB接口密钥的设计方法
1位,SubWord例程使用替代Sbox对给定的一行密钥调度表进行逐字节替换。该过程的循环为: 2.3 AES加密算法的优化 从式(1)矩阵函数可以看出,在软件实现过程中,只需关注如何实现State矩阵元素在GF(28)中与0x01,0x02,0x03的乘法和加法。GF(2 8)中用0x01的乘法相当于普通算数中用l做乘法并且结果也同样,任何值乘以0x01等于其自身;用0x02做乘法,只要被乘的值小于0x80,这时乘法的结果就是该值左移一比特位,如果被乘的值大于或等于Ox80,这时乘法的结果就是左移一比特位再用值Ox1b异或,它防止了”域溢出”并保持乘法的乘积在范围以内;用0x03做乘法时可以分解为2的幂之和,即0x03=0x02+Ox01。对程序进行优化,采用查表法,将16x16的Sbox表分别与Ox01,0x02,0x03相乘产生与Sbox相对应的3个256字节表:XtimeSbox[256]=Sbox[256],Xtime2Sbox[256],Xtime3Sbox[256]。将产生的表存储于code区。MixColumns过程与SubByte操作可通过以下程序完成: 3 USB Key性能测试 考虑到MCU性能,将加密算法初始化所需的4个256字节的数据表存放于Code区,128 bit-AES扩展密钥ExpendedKey=4xNbx(Nr+1)=4×4×(10+1)=176存放于data区。在保证代码空间与运算速度的前提下,经过优化,最后AES加密程序占用3 701字节的程序存储单元和277字节的RAM。 4 结束语 与通用磁盘介质相比,UKev数据只在UKeY内留存,可以防止被非法复制,保证了数据的唯一性,有利于在公共场所使用。 该方案设计的UKey可完成短时间内对少量数据的加密,适用于对数据量要求较小的场合,安全性高,携带方便。在与电子商务以及各种以PC为基础的安全应用上具有其他产品不可替代的优越性。
USB接口密钥通用串行总 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)