微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 低成本USB接口密钥的设计方法

低成本USB接口密钥的设计方法

时间:12-21 来源:互联网 点击:

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为基础的安全应用上具有其他产品不可替代的优越性。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top