论文部分内容阅读
随着通信技术的发展,越来越多的嵌入式设备开始带有上网功能,因此互联网的安全问题可能会在嵌入式设备中出现。椭圆曲线密码机制是一种高安全性的公钥密码机制,尤其是基于正规基的椭圆曲线密码机制,在有限域上有高效的运算法则。所以对基于正规基的椭圆曲线密码机制的研究和实现就具有重大的意义。本文在深入分析基于正规基的有限域运算和椭圆曲线域运算的基础上,结合椭圆曲线数字签名算法,提出了一种应用于嵌入式设备的椭圆曲线数字签名方案。该方案中的点乘运算(PM模块)选择改进的Montgoment算法,将不关联的模乘运算并行化、相同的运算复用同一模块,一方面减少运算时间,另一面减少资源占用。伪随机数生成器(RAND_N模块)采用线性反馈移位寄存器,输出数据的周期为2 63? 1;为了减少数据转移时间,将输出数据判断功能集成到该模块内,并将串行输出组成191位的并行输出。椭圆曲线域的点加采用仿射坐标下的点加算法,通过复用有限域的模乘和模逆模块,将点加,模乘,模逆运算集成到一个模块(PA_MUL_INV模块),有效地减少了资源的消耗。求模模块(MOD_N模块)对输入的数据循环相减得到结果;该模块的区间判断功能利用比较器来实现。安全散列函数选用安全性较高的SHA-256算法,完成基本的hash运算功能(SHA模块)。在50Mhz时钟频率下仿真表明:点乘模块占用三万个逻辑资源,运算速度达到462.234Kbit/s;伪随机数生成器生成有效数据的最小速度是4.38 Mbit/s;点加,模乘,模逆运算速度分别是24.23Mbit/s,561.76Mbit/s和26.45Mbit/s;求模和区间判断运算速度约4.77Gbit/s;hash运算速度是382.08Mbit/s。最后经过分析,该方案的签名速度是382Mbit/s,验证速度是189Mbit/s。