论文部分内容阅读
由于近年以来量子计算机的快速发展,后量子加密应运而生。在国际标准组织NIST主办的后量子密码标准化的进程中,超奇异同源密钥封装协议(SIKE)由于其较小的密钥尺寸,并且与传统ECC加密的兼容特性,已经通过了三轮的激烈竞争。然而协议中数量巨大的串行同源计算构成了其标准化进程的瓶颈,虽然研究者已经做了很多的研究和努力,但是其计算延迟仍然相比其他的热门候选者慢了不止一个数量级。在目前最新的SIKE实现中,有限域上的基本运算采用的是蒙哥马利数据表示方法,因为其对应的约减算法被广泛认为是最为快速的模约减算法。本文中提出了一种新的基于非常规基数的数据表示方法,它可以用于基于超奇异同源椭圆曲线的密码系统中,SIKE是其中的一个子类。新的表示法可以取得比蒙哥马利约减算法更快的模约减速度,并且其他的有限域算法也可以从中获得加速。基于该表示法,本文以C语言的形式实现了有限域上的所有基本运算,并应用于最新的SIKE软件库中。实验结果显示,在64位操作系统的因特尔至强E5-2690处理器上,对SIKEp434、SIKEp503、SIKEp610和SIKEp751分别取得了1.48x、1.61x、2.03x和1.65x的速度提升。除此之外,本文还基于RISC-Ⅴ指令集,对SIKE协议的底层算法,基于新的数据表示方法进行了算法的汇编实现。实现的结果相比C语言的实现又获得了约3.2倍的速度提升。不仅如此,本文还在纯RISC-Ⅴ汇编实现的基础上,探索了使用RISC-Ⅴ ISA的平台Rocket Chip上的软硬协同设计,使用硬件设计的加速器扩展了RISC-Ⅴ的指令集,实现了软硬协同并且取得了一定的加速效果。