大数模幂乘算法是信息安全公钥加解密算法中的核心运算。在本项研究中,我们提出了一种快速的大数模幂乘算法,并用数学证明和程序仿真验证了算法的正确性。该算法把以往模乘运算T=T-qN中估计q的准确度的概率从0.5提高到了接近为1。这样,就避开了模乘后再进行减法的运算。在该算法的VLSI实现过程中,我们又解决了大数乘法器设计中阵列的压缩问题和冗余部分积符号位的扩展问题,并完成了1024位×1024位的大数乘法器流水迭代设计。仿真和综合表明大数模幂乘电路可实现1024位的数字签名4300次/秒,这个指标目前已经略超欧美等国同行的研究水平。
大数模幂乘运算是公钥密码体制的引擎,其性能直接决定RSA,ECC等公钥密码算法的加密速度。以往的模乘算法总是需要三次大数乘法和一次大数减法。然而,在本项研究中,我们提出了的大数模幂乘算法,仅有三次大数乘法,并基本消除了减法。在算法的VLSI实现结构中,我们又解决了大数乘法器的阵列的压缩问题和冗余部分积符号位的扩展问题,并完成了1024位×1024位的大数乘法器流水迭代设计。使用本算法研发的RSA芯片,已经在上海中芯国际(SMICS)成功流片。芯片于2006年通过了教育部组织的技术鉴定,其鉴定结论为"国内领先和国际先进"。紧接着,于2007年又通过了国家密码管理局组织的芯片生产许可鉴定,并核准芯片生产许可型号为SSX41。现该芯片已在若干公司和企业投入使用。国家密码管理局的测试表明该芯片可完成1024位的数字签名6900次/秒,这个指标比当初本基金申请书所预期的4300次/秒多出了2300次/秒,比国内同类芯片快3倍。