论文部分内容阅读
椭圆曲线密码体系是新一代的公钥密码体制,它是由N.Koblitz和V.Miller在1985年提出的。它的安全性是建立在椭圆曲线离散对数问题(ECDLP)的难解性上的。与其它的公钥密码体制(如RSA/DSA)相比,它的执行速度快、密钥长度短、安全性高,因此很适合应用在智能卡这种存储空间和计算能力非常有限的移动设备中。边通道攻击(Side channel attack,SCA)是一种新的强大的攻击方法,它的出现给智能卡产品造成了巨大的威胁。其主要攻击目标是椭圆曲线标量乘法。标量乘法正是椭圆曲线密码体系的最核心的算法,其效率影响着整个系统的性能。因此,设计安全高效的标量乘算法,对智能卡产品和椭圆曲线密码学本身都有重大意义。本文对椭圆曲线标量乘法和边通道攻击进行了综述,之后利用Masking技术对Montgomery标量乘法进行改进,这样隐藏了密码算法的真实能量消耗,因此能更好地抵抗边通道攻击,特别是简单能量分析(SPA)和差分能量分析(DPA)的攻击。然后,利用嵌入式开发软件Keil和Infineon公司的SLE 66CXxxP系列智能卡工具进行仿真,设计了该算法,并从几个方面分析了其安全性。最后,使用此算法实现了椭圆曲线数字签名算法ECDSA和椭圆曲线加密算法ECES,并分别进行了测试,证明了该算法的可行性。利用本文提出的改进的Montgomery标量乘法,能够较好地抵抗边通道攻击,可以使椭圆曲线密码体系的安全性得到一定的提高,比较适用于智能卡这类资源受限的移动设备。