论文部分内容阅读
信息技术的不断发展,对信息安全提出了更高的要求。密码技术是保障信息安全的核心技术。在应用公钥密码体制的时候,对密钥长度要求越来越大,处理速度要求越来越快。现在广泛使用的RSA公钥密码体制已很难满足未来人们对信息高安全性的需求。而基于椭圆曲线离散对数问题的椭圆曲线密码体制,因其每比特最高的安全性,受到越来越广泛的注意。此外,椭圆曲线密码体制还具用计算负载小,密码尺寸短,占用带宽少等优点。因而特别适用于计算能力受限、空间受限、带宽受限和要求高速实现的情况。椭圆曲线密码体制的硬件快速实现成为一个倍受关注的课题。本文从实际应用出发,研究了椭圆曲线密码体制算法的FPGA的实现;以基本的数学理论,密码学理论为依据,结合一些具体的相关算法和FPGA的特点,确定了密码体制的硬件实现方案。采用P1363推荐的GF(2163)上的Koblitz曲线,采用微处理器模式,在FPGA上实现了抵抗自主选择密文攻击的可证明安全的椭圆曲线密码体制。文章按照有限域、椭圆曲线、密码体制三方面的内容依次进行书写,每一部分分别介绍了相应的理论基础及硬件实现。具体实现中,采用硬件描述语言VHDL,在Altera公司出品的Quartus II 5.0平台上进行电路设计。设计选用了Altera公司的StratixⅡ系列器件EP2S130F1508C4。为了硬件实现上的方便高效,有限域GF(2163)上的元素利用正规基表示,其关键运算——乘法运算采用w-SMPOⅡ的算法,利用状态机模式实现;椭圆曲线上的关键运算——标量乘法运算采用Montgomery算法,利用微处理器模式实现;加密体制采用可证明安全OPT-PSEC-3方案实现。程序的每一部分都结合软件编程验证以保证程序的正确性。本设计获得了良好的性能指标:最终标量乘法的实现需要8,830个ALUT和5,575个register,在时钟周期取13ns时,标量乘法的运行时间为184.52us。加解密算法的实现需要11,372个ALUT和6,963个register,在时钟周期取13ns时,加密算法的运行时间为367.67us,解密算法的运行时间为182.624us。标量乘法的速度与国内外相同逻辑资源的实现相比有一定的优势;具有可证明安全的加密方案的硬件实现在我所看到的文献中尚属首次。