论文部分内容阅读
椭圆曲线密码(Elliptic Curve Cryptography,ECC)算法是一种公钥密码算法,可应用于数据加密、数字签名以及密钥管理。与RSA公钥密码算法相比,ECC密码算法安全性更高、加密速度更快、密钥长度更短,因此更加适用于RFID、手机等计算能力、存储空间、硬件资源受限的物联网应用。另一方面,针对密码设备的攻击方法层出不穷。功耗分析攻击是一种利用密码设备运行时泄露的功耗信息,对密钥进行破译的新兴攻击方法。对ECC密码设备构成了巨大的威胁。本论文针对抗功耗分析攻击ECC算法、硬件电路实现和真随机数发生器,围绕安全性、低成本、高硬件效率以及灵活性等设计目标,开展以下关键技术研究:面向ECC功耗攻击安全性问题,分别研究了 SPA、DPA、ZPA以及DA攻击方法。自主搭建了一种基于FPGA的功耗分析攻击平台。研究了二进制域Montgomery随机射影坐标点乘算法,分析发现其不能抵抗ZPA攻击。因此提出了一种随机串行模乘算法,以消除零值坐标对模乘功耗的影响。分别对双域中椭圆曲线随机点的产生进行了研究分析,并且给出了一种改进的判断Jacobi符号的二进制算法。为了满足抗功耗攻击ECC算法中随机序列的高随机性要求,开展低成本高质量真随机数发生器研究。提出了一种能够增强抖动的新型四边形环形振荡器结构,研究了电路器件参数对随机性的影响。为了增强随机序列的均匀性,基于一种新的扩散算法设计了随机数发生器的数字后处理单元。并且在NIST SP800-22标准和Diehard标准下对随机数芯片产生的随机序列进行测试,所产生的随机序列满足测试标准要求。针对RFID、智能卡等低成本应用,在二进制域开展抗功耗攻击ECC密码处理器研究。采用Montgomery随机射影坐标点乘算法,能够有效的抵抗SPA和DPA攻击。由于其不能抵抗ZPA攻击,采用了所提出的MSB串行模乘算法,并将其进一步扩展为随机MSD模乘算法,设计了随机模乘的电路结构。并在此基础上设计了一种随机模运算单元,能够支持模加、模乘、模平方运算。给出了一种坐标交换方法,有效的减少了点乘算法控制复杂度和迭代计算时间。采用一种新的模逆方法,减少了计算过程中的寄存器中间变量。优化了循环移位寄存器单元的结构,有效的减少寄存器单元的面积。测试和分析结果表明,所设计的二进制域ECC密码处理器能够有效的抵抗SPA、DPA、ZPA、DA等功耗分析攻击。针对多种ECC标准的兼容性要求,开展高硬件效率双域ECC密码处理器研究。为了有效的减少模运算单元的关键路径延迟,提高计算速度,本论文提出了一种改进的Radix-4迭代模乘算法。采用CSA加法器和CPA加法器相结合的方式,给出了一种新颖的支持三操作数的模加减(MAS)运算单元结构。同时对二倍模、四倍模运算单元以及模除算法的关键电路进行了优化设计。并在此基础上提出了一种高效的双域模算术逻辑单元MALU架构。为了设计的灵活性,本论文采用软硬件相结合的方法,设计了专门的指令集,通过参数配置指令、模运算指令以及优化的点操作指令,可以实现不同的点乘算法以及ECC协议。实现及验证了一种随机点坐标的ECC标量点乘算法,能够有效的抵御SPA、DPA、ZPA、DA等功耗攻击。