论文摘要
NTRU算法只需进行多项式环上的和积运算,是最快的公钥密码算法。同时还具有占用资源少,密钥产生容易等优点。公钥密码属于分组密码中的非对称密码。与流密码相比,更适合软件实现。本文主要分析了NTRU算法的加解密过程、数学原理及实现所需的运算量。具体地,分析了三个NTRU签名算法,其中包括两个我们提出的签名算法以及NTRUsign签名算法。针对各个算法,分别在不同开发环境下做出相应软件。本文得到的主要结果如下:1.通过构造非线性函数,设计了签名算法一,并用Delphi软件实现。实现结果清晰的显示了算法的步骤,但操作过程较为复杂。2.类似签名算法一,我们又提出了签名算法二,并用VC++6.0软件实现了其密钥生成、签名和验证的过程。该软件适于实际应用,且以较少的操作完成了算法的实现。3.讨论了NTRUsign签名算法的密钥生成过程。此环节的运算,会产生远远超出电脑字长的数字。为此,我们用数组模拟运算解决该问题。但是当NTRU参数选择较大时,大矩阵运算的运算量会大大增加,所花费的时间也成倍增长。因此,判定NTRUsign算法在密钥生成上效率较低。