论文部分内容阅读
本文讨论了硬件平台上公钥密码系统的核心运算单元的设计与实现。公钥密码系统(Pairing,ECC,RSA等)的最基本操作就是模乘(域的乘法)和模逆(乘法逆)。密码协处理器的效率在很大程度上取决于这些基本的有限域算术的性能,本文挖掘了硬件在执行公钥密码算法的特点,并结合算法本身,设计了相应的密码协处理器运算单元并在FPGA平台上得到实现,实验结果可以充分证明所提出的方法的效率。希望本文的工作可以成为对面向硬件实现的算法设计的一种思考,为今后新型加密协处理器的探索与设计提供借鉴。本文的主要成果如下:1.提出了二元扩域下的高度并行且可扩展的RNS蒙哥马利模乘器。通过推广素域下的RNS蒙哥马利乘法(RNS MM)和伪像梅森素数,可以在满足‘与可接受的电路面积’和‘适度的关键路径延迟’条件之上,使得所设计的模法器具有相当高的运算速度。此外,FPGA平台上的实验还表明这种设计具有很好的可扩展性,可以满足不同的域大小以及不可约多项式的计算要求。2.设计了一个二元扩域下的新型乘法求逆器,该模逆器具有更好的时间-面积比。首先,本文挖掘了二元扩域的高斯正规基乘法来降低硬件开销。随后推广Ito-Tsujii算法(ITA)为完全并行化的Parallel-ITA,使得算法复杂度得到有效的降低。具体的硬件实验也表明,与其他文献中的求逆器相比,本文的模拟器具有明显的速度优势。3.提出一种新的RSA密钥生成器的架构,在处理能力非常有限的嵌入式平台上,为客户高速生产RSA密钥对。余数系统(RNS)第一次被引入到加速生成RSA密钥对的进程中。在传输触发架构(TTA)协处理器架构的基础上,实现了系统级的密钥对并行处理。此外,在筛函数过程中,我们引入了卡迈克定理(Carmichael Theorem)从而避免了试除操作,显着地降低了硬件资源的开销。