论文部分内容阅读
NTRU算法是一种没有被攻破的快速公钥加密系统,但是原始NTRU算法不满足可证明安全性。目前已知的几种可证明安全的NTRU的变型算法都在一定程度上降低了原始NTRU算法的效率,并且增大了密文扩展,提高了通信带宽需求。2012年,Wang等人提出了NTRU的新型变形算法:D-NTRU算法。在NTRU算法的单向性假设下,Wang等人证明了该算法在选择明文攻击下的密文不可区分性。而且,D-NTRU算法加密系统相对于NTRU算法加密系统降低了密文扩展,并且D-NTRU算法仅仅是轻微的增加私钥和公钥的长度,便可使其加密算法和解密算法的速度比NTRU的要快。Wang等人通过引入一个NTRU的变型算法C-NTRU算法作为桥梁,定义一些问题,并且证明这些问题的等价性,完成了D-NTRU算法的IND-CPA的安全性证明。因此D-NTRU算法相比原始NTRU算法有很大优势,而且比所有被证明安全的NTRU算法的变种更有效。但是仅仅从理论上论证是单薄的,上述结论还需要在实际应用中去论证,本文便是从实际应用中出发,对NTRU和D-NTRU算法进行了软件实现,论证上述理论的正确性。本文的研究工作如下:1.在相同的计算机环境和编程规范下通过编程语言实现了NTRU算法原型系统和D-NTRU算法原型系统,原型系统的功能包括密钥生成、加密、解密及各部分时间统计。2.搭建测试环境,对原型系统进行了完备的测试,论证了在实际应用中根据Wang等人的参数建议,在对原型系统进行24小时测试的情况下,D-NTRU和NTRU算法原型系统的加解密的正确性达到100%,同时验证了D-NTRU算法原型系统的加解密效率高于NTRU算法原型系统。