毕 业 设 计 ( 论 文 )
中 文 题 目 : NT R U 算 法 加 密 及 签 名 的 实 现
英 文 题 目 : NTRU encryption and signature algorithms
to achieve
北京交通大学毕业设计(论文)任务书
题 目:
NTRU 加密及签名的实现
适合专业:
通信工程、电子通信
指导教师(签名):
提交日期:
年 月 日
毕业设计(论文)基本内容和要求:
NTRU 是一种公钥密码体制,相对于基于离散对数的 Elgamal 或基于
大数分解的 RSA 等公钥密码体制而言,它具有以下优点:(1)NTRU 基
于格上的困难问题,可以抵抗量子算机攻击;而 Elgamal 和 RSA 在量子
算机中的破解是多项式复杂度的;(2)对长为 n 的密钥,NTRU 加解密
算的复杂度都是 O(n^2),而 Elgamal 和 RSA 是 O(n^3)。因此,NTRU
在 1996 年被提出,就备受关注。在标准化方面,NTRU 已正式成为
IEEEP1363 标准,并被 CEES、IEEE802.15.3 等机构所接受。
NTRU 算法只需要进行多项式环上的和积运算,很好的解决了公钥
密码体制的最大瓶颈--速度问题,这使它有着非常广泛的应用前景,从而
很有可能取代 RSA 等算法成为公钥密钥体制中的一种优秀运算,就目前
来说 NTRU 的安全性至少和 RSA 算法 ECC 算法等是一样安全的。NTRU
是一种比较新的公开密钥体制,NTRU 产生的密钥算法比较容易,加密
和解密的速度比 RSA 等著名算法快得多,NTRU 将成为当前公钥体制研
究的一大热点。
0
北京交通大学毕业设计(论文)任务书
毕业设计(论文)重点研究的问题:
1.掌握 NTRU 算法的基本原理,对 NTRU 算法的运行现状进行分析;
2.掌握数字签名的基本内容;
3.用 c/c++实现 NTRU 加密算法 NTRU Encrypt 和签名算法 NTRU Sign。
用 c/c++
毕业设计(论文)应完成的工作:
实现 NTRU 加密算法 NTRU Encrypt 和签名算法 NTRU Sign。
1
北京交通大学毕业设计(论文)任务书
参考资料推荐:
[1]张利华,章丽萍,张有光.NTRUsign 无线认证和密钥协商协议[D].北京:
算机工程与应用,2009:45-52.
[2]步山岳,徐辛娅,姚清海.NTRU 公开密钥体制安全性分析[D].
[3]胡玉璞,一个新型的 NTRU 类数字签名方案.[N] 算机学报
其他要说明的问题:
2
北京交通大学毕业设计(论文)开题报告
题 目:
NTRU 加密及签名的实现
文献综述:
NTRU 算法介绍:
NTRU 公钥加密体制是由 J.Hoffstein,J.Pipher,和 J.H.Silverman
三位美国数学家提出的,算法是基于多项式环
R Z X
[
] / (
X
N
1)
的密钥
体制,其中 N 是一个安全参数。算法的原理是基于数论寻找一个很短向
量的数学难题。在目前的技术水平来说,NTRU 和目前有影响的 RSA 算
法、椭圆曲线加密体制 Ecc 等算法具有一样安全性。在安全性的相同条
件下,NTRU 算法比其它公开密钥体制算法的运算速度快,这是因为
NTRU 算法时非常巧妙设计,整个算法过程只有一个小整数的加,乘、
模运算,这就提高算法执行的速度。NTRU 算法的优势在于可以减少对
带宽、处理器、存储器的性能要求,同时也扩大 NTRU 公开密钥体制的
在实际中的应用范围。由此可见,对 NTRU 的研究尤其是对应用范围的
研究将有十分重要的意义的。
基本研究方法:
NTRU 密码体制依赖于三个参数 (
N p q 和 1N 次整系数多项式的 4 格
,
, )
多项式集合 ,
f
L L L L ,其中: ,p q 不必是素数,但是有
,
,
,
p q ,一
1
g
r
m
般的假设 q
p ;
本文记:
(
,
L d d
1
2
) {
F R F d
1
:
1
d
2
的 个系数为 , 个系数为 ,余下系数为
1
0}
0
北京交通大学毕业设计(论文)开题报告
L
f
(
L d d
1
f
,
f
)
L
g
(
,
L d d
g
g
1)
L
r
(
,
L d d
r
r
1)
mL
{
m R m
:
的系数位于区间
1/ 2(
p
1) 1/ 2(
p
1)}
1.密钥的生成
由 NTRU 已知参数 N,需要先随机的选择两个多项式 ( ),
f x g x ,
( )
满足 ( ),
( )
f x g x
R , ,p
F F 是 f 模 p ,模 q 的乘逆,满足
q
*
f F
p
1mod
p
*
f F
q
1mod
q
由此可以得到密钥:
* mod
p
h F g
(
)
p
(1)
(2)
(3)
NTRU 算法取私人密钥是多项式环 (
,
f F ,公开密钥是多项式环 h 。
)q
2.加密
给定明文多项式 m ,由参数 rd 先随机的选择多项式 r ,使用公开密
钥 h 对明文 m 进行加密,得到密文 e
( * *
q r h m
e
) mod
p
3.解密
用私人密钥 (
,
f F 进行解密 e
)q
a
( * ) mod
f
e
p
mod
q
b
a
1
(4)
(5)
(6)
北京交通大学毕业设计(论文)开题报告
这里 a 的系数需要满足在{
p
/ 2,
p
/ 2}
之间
c
(
F b
q
* ) mod
q
(7)
记多项式 c 为明文 m 。
NTRU 算法的运行现状:
在国外对 NTRU 算法的研究、开发和应用发展速度是异常快的,
NTRU 算法被认为是公开密钥体制中运行最快的算法,同时也是比较容
易实现的算法。在国外有很多研究机构针对 NTRU 算法安全性展开了研
究,但到目前为止还没有任何数据显示 NTRU 算法是不安全的,所以本
文是有理由相信 NTRU 算法能够在公开密钥体制中占有主导地位。
随着信息技术的迅猛发展和一些高技术武器设备、通信指挥系统等
的需要,未来军事部门将大量地使用公钥密码技术。由于 RSA 和 ECC
都不能够抵抗量子算攻击,但是 NTRU 能够抵抗量子算攻击,而且速度
快,安全性也高,非常适合用于例如智能卡,保密蜂窝电话系统,保密
传真、无线保密数据网,以及其他认证系统的业务,从而扩大了公钥密
钥体制的应用范围。再次证明了 NTRU 算法完全能够在公钥密钥体制中
占有主导地位。
自从该密码体制被提出来后,就引起国外一流的密码学家的关注,
这 包 括 Don Coppersmith Johan Hastad, Andres Odlyzko,and Adi Shamir
等。到目前为止,有很多讨论 NTRU 算法安全性。但还没有哪一种分析
方法能破译该密码体制。从目前研究结果来看,NTRU 算法基于的困难
问题是安全的。后面的研究主要是集中于对体制的参数设置和选择适当
的填充方案。Jaulmes 和 Joux 在 2000 年论证了仔细的选择填充方案可
以有效防止对密文攻击,Howgrave-Graham 等的研究成果显示选择正确
2
北京交通大学毕业设计(论文)开题报告
的参数设置可以使解密失败概率几乎降为 0,如果正确的参数选择和使
用适当的填充方案,可以把任何对 NTRU 的攻击都可以转发为对格中困
难问题的求解。
研究内容:
1、掌握 NTRU 算法的基本原理,对 NTRU 算法的运行现状进行分析;
2、掌握数字签名的基本内容;
3、用 c/c++实现 NTRU 加密算法 NTRU Encrypt 和签名算法 NTRU Sign。
必要性和价值:
NTRU 算法只需要进行多项式环上的和积运算,很好的解决了公钥
密码体制的最大瓶颈--速度问题,这使它有着非常广泛的应用前景,从
而很有可能取代 RSA 等算法成为公钥密钥体制中的一种优秀运算,就目
前来说 NTRU 的安全性至少和 RSA 算法 ECC 算法等是一样安全的。
NTRU 是一种比较新的公开密钥体制,NTRU 产生的密钥算法比较容易,
加密和解密的速度比 RSA 等著名算法快得多,NTRU 将成为当前公钥体
制研究的一大热点。
3