论文部分内容阅读
随着计算机和互联网的飞速发展,信息安全问题越来越受到关注。信息安全的核心是密码技术。椭圆曲线密码体制(Elliptic Curve Cryptosystem,简称ECC)作为一种新兴的公开密钥密码体制,具有密钥短、实现速度快、安全性高的优点,有着良好的应用前景。本文从算法和硬件角度出发,对椭圆曲线算法的实现进行了具体的研究设计,为ECC算法提供了实际可行高效的硬件解决方案,并针对该方法做了增强安全性的改进。椭圆曲线密码系统具有复杂的数学背景,涉及众多的算法。本文结合椭圆曲线算法的数学基础对椭圆曲线密码体制进行深入的分析,对ECC的硬件实现进行了具体的研究设计。有限域运算的实现中模乘运算使用改进的串行结构以达到面积与速度的合理匹配。对比了两种模逆算法,从提高性能的角度选取了扩展的费尔马方法。在寻找适合硬件实现的高效算法的同时,充分考虑了ECC算法的多样性,没有直接使用针对单一曲线的快速算法。椭圆曲线群上运算中最重要的部分是点乘kP运算。针对底层有限域运算的特点对求kP的快速算法采用有限状态机进行设计,最终选择了射影坐标下的DA方法并给出了其硬件实现。在实现ECC的基础上,针对定时攻击分析提出了一种利用随机变量掩蔽时间特征的防护方法,增强了该设计的安全性。本文用Verilog HDL作为硬件实现的描述语言,使用EDA工具和C语言程序进行了逻辑仿真、综合和验证,并详细给出了验证过程和结果。通过验证结果和系统仿真结果显示该实现方法满足预期的设计要求。