椭圆曲线公钥在网络安全密码体系中的应用

合集下载

椭圆曲线密码算法的安全性分析

椭圆曲线密码算法的安全性分析

椭圆曲线密码算法的安全性分析椭圆曲线密码算法(Elliptic Curve Cryptography,ECC)是一种基于椭圆曲线数学理论的加密算法,与传统的RSA和DSA等加密算法相比,ECC在相同的加密强度下具有更短的密钥长度和更高的安全性。

本文将对椭圆曲线密码算法的安全性进行分析,并探讨其应用领域和发展前景。

1. 椭圆曲线密码算法原理椭圆曲线密码算法利用椭圆曲线上的离散对数问题,通过对椭圆曲线上的点进行运算,实现加密和解密的过程。

其基本原理是利用数论中的椭圆曲线离散对数难题,即在给定一个椭圆曲线和其中的一个点,计算该点的多倍点所需要的运算时间非常困难。

因此,只要能够保证椭圆曲线参数的选择合理,并且确保私钥的安全性,椭圆曲线密码算法就能提供较高的安全性保障。

2. 椭圆曲线密码算法的安全性椭圆曲线密码算法的安全性主要取决于椭圆曲线的选择和私钥的保密性。

对于椭圆曲线的选择,一般需要满足以下几个条件:- 曲线参数的选取要公开透明,以便进行各种安全性分析。

- 曲线的阶要是一个大素数,确保计算多倍点的运算时间非常困难。

- 椭圆曲线的离散对数问题要难以解决,以确保私钥的安全性。

对于私钥的保密性,通常采用合适的密钥管理策略和身份认证机制来确保私钥只有合法的用户才能获得,从而提高算法的安全性。

3. 椭圆曲线密码算法的应用领域由于椭圆曲线密码算法具有较高的安全性和较短的密钥长度,因此在许多领域都有广泛的应用。

主要包括以下几个方面:- 信息安全领域:椭圆曲线密码算法可用于数据加密、数字签名、身份认证等安全保障机制的实现,保护数据在传输和存储过程中的安全性。

- 无线通信领域:椭圆曲线密码算法的密钥长度短,能够有效减少通信数据量,提高无线信道利用率和传输速度。

- 物联网领域:椭圆曲线密码算法在物联网终端设备的安全认证、数据加密和身份验证等方面具有较大优势,提供了稳定可靠的安全保障。

- 云计算领域:椭圆曲线密码算法可用于云计算平台的数据隐私保护、用户认证和云服务商之间的安全通信等方面。

gbt2标准

gbt2标准

gbt2标准GBT2标准。

GBT2标准是指中国国家标准化技术委员会发布的《信息技术网络与通信安全技术密码技术 SM2椭圆曲线公钥密码算法使用规范》。

该标准是为了规范SM2椭圆曲线公钥密码算法的使用而制定的,旨在提高网络与通信安全技术水平,保护信息安全。

GBT2标准的发布对于我国网络与通信安全领域具有重要意义。

首先,GBT2标准的实施将提高我国网络与通信安全技术水平,加强信息安全保护。

SM2椭圆曲线公钥密码算法作为国产密码算法,具有自主知识产权,其安全性和可靠性得到了广泛认可。

通过推广应用GBT2标准,可以有效防范网络攻击和信息泄露,保障国家和个人信息安全。

其次,GBT2标准的发布将促进我国信息技术产业的发展。

作为一项重要的安全技术标准,GBT2标准的实施将推动国产密码算法在各个领域的广泛应用,促进相关产业链的发展壮大。

同时,GBT2标准的制定和推广也将为我国在国际上树立更加积极的形象,提升国际竞争力。

此外,GBT2标准的发布还将促进我国网络安全法规体系的完善。

网络安全是信息社会的重要基础,而密码技术作为保障网络安全的重要手段,其标准化和规范化对于构建健全的网络安全法规体系至关重要。

GBT2标准的发布将为相关法规的制定和完善提供重要的技术支撑,为我国网络安全法规体系的建设做出积极贡献。

总的来说,GBT2标准的发布是我国网络与通信安全领域的重大进步,对于提高网络安全技术水平、促进产业发展、完善法规体系具有重要意义。

我们应当充分认识到GBT2标准的重要性,积极推动其在各个领域的落地应用,为构建网络强国、信息强国做出应有的贡献。

同时,我们也要不断加强对GBT2标准的研究和完善,确保其在实际应用中能够发挥最大的效果,为我国网络与通信安全事业的发展提供有力支撑。

椭圆曲线密码学的原理

椭圆曲线密码学的原理

椭圆曲线密码学(Elliptic Curve Cryptography, ECC)是一种基于椭圆曲线的公钥密码体制,其原理和运算方式与传统的RSA算法有所不同。

椭圆曲线密码学是一种现代密码学领域的前沿技术,被广泛应用于许多安全领域,如数据加密、数字签名、密钥交换等。

本文将主要介绍椭圆曲线密码学的原理及其应用。

椭圆曲线密码学是通过椭圆曲线上的离散对数问题来实现安全通信的。

首先,我们需要选择一条合适的椭圆曲线作为密码系统的基础。

椭圆曲线的方程可以表示为y² = x³ + ax + b,其中a和b是定义曲线的参数。

为了保证安全性,这些参数需要经过严格的选择和审核,以确保计算离散对数问题的困难性。

在椭圆曲线密码系统中,每个用户都有一对密钥,分别是公钥和私钥。

公钥由椭圆曲线上的一个点和曲线的参数生成,私钥是一个随机数,只有用户自己知道。

公钥可以被广泛分发,而私钥必须严格保密。

为了实现安全通信,发送方使用对方的公钥对要发送的数据进行加密,接收方使用自己的私钥对密文进行解密。

椭圆曲线密码学所基于的数学原理是椭圆曲线上的离散对数问题。

即给定一点P和一个整数k,求解使得kP = P + P + ... + P(k个P相加)的问题。

这个问题在目前的计算能力下是非常难以求解的。

利用这个困难问题,我们可以构建一个安全的公钥密码系统。

相比于传统的RSA算法,椭圆曲线密码学具有许多优势。

首先,椭圆曲线密码学能够提供相同的安全性,但使用更短的密钥长度。

这对于存储和传输密钥来说是非常重要的,可以减少存储和传输的开销。

其次,椭圆曲线密码学的加密和解密速度更快,特别是在资源有限的设备上。

这使得椭圆曲线密码学非常适合嵌入式设备和移动设备上的安全通信应用。

除了基本的加解密功能,椭圆曲线密码学还可以用于数字签名和密钥交换等安全协议。

数字签名可以用来验证信息的真实性和完整性,并防止信息被篡改。

而密钥交换协议则可以用来安全地协商通信双方之间的共享密钥,以确保通信过程中的机密性和完整性。

网络安全-第16讲 数据加密技术(ELGAMAL和椭圆曲线)

网络安全-第16讲 数据加密技术(ELGAMAL和椭圆曲线)
⑸ ELGamal密码的应用
①加解密速度快 由于实际应用时ELGamal密码运算的素数p比RSA 要小,所以ELGamal密码的加解密速度比RSA稍快。 ②随机数源 由ELGamal密码的解密钥d和随机数k都应是高质量 的随机数。因此,应用ELGamal密码需要一个好的随机 数源,也就是说能够快速地产生高质量的随机数。 ③大素数的选择 为了ELGamal密码的安全,p应为150位(十进制数) 以上的大素数,而且p-1应有大素因子。
三、椭圆曲线密码
G 3G 5G 7G 9G 11G 13G =(2,7), 2G =(5,2), =(8,3), 4G =(10,2), =(3,6), 6G =(7,9), =(7,2), 8G =(3,5), =(10,9),10G =(8,8), =(5,9), 12G =(2,4), =O( ∞,∞ )。
二、 ELGamal公钥密码
⑵ 加密 将明文消息M(0≤M≤p-1)加密成密文的过程如
下: ①随机地选取一个整数k,2≤k≤p-2。 ②计算: U =y k mod p; C1=α k mod p; C2=UM mod p; ③取 C=(C1 ,C2)作为的密文。
二、 ELGamal公钥密码
二、 ELGamal公钥密码
⑸ ELGamal密码的应用 由于ELGamal密码的安全性得到世界公认,
所以得到广泛的应用。著名的美国数字签 名标准DSS,采用了ELGamal密码的一种变 形。 为了适应不同的应用,人们在应用中总结 出18种不同的ELGamal密码的变形。
二、 ELGamal公钥密码
2、离散对数问题:
求对数 X 的运算为
x=logα y,1≤x≤p-1 由于上述运算是定义在模p有限域上的,所以称为 离散对数运算。 ③从x计算y是容易的。可是从y计算x就困难得多, 利用目前最好的算法,对于小心选择的p将至少 需用O(p ½)次以上的运算,只要p足够大,求解 离散对数问题是相当困难的。

椭圆曲线密码体制的应用及其安全性分析

椭圆曲线密码体制的应用及其安全性分析

m
s e c u r
it y
K
y
w
o r
d
s :E
l l ip t ic C
u r v e
C
y p to
s
y
s
te m
;p
b l ic
-
y
y pt
o s
y
s
te m
te
lo g
a r
it h
m


艳 gI
, 筒晕/ 椭面 曲缓蔷鸹体 翻酌匠 角友萁妥奎 性分 析
17
《 。 0_ 冀
() 一 =0; 2 0
u s e
a
l le
y
s
d
c o m
t a t io n a
l ly
o s
m
ff i
a n
c
t
s
a
lg
ith
a
m
t
h
a n
d it io
n
n a
l
c r
y p t
g
s
ph i
n a
c
a
lg

o r
ith
o
s

T h is
p
a
p
e r
in t
r o
d
u c e s
t
r
h
e
E l l ip t i c
s





椭 圆 曲线 密 码 体 制 已 经 成 为 密码 学 的 研 究 热 点 之

法和其它算法

在 网 络 安 全 领 域 有 着 广 阔 的应 用 前 景

ecdsa算法原理

ecdsa算法原理

ecdsa算法原理ECDSA(Elliptic Curve Digital Signature Algorithm,椭圆曲线数字签名算法)是一种基于椭圆曲线的公钥密码学算法,用于生成和验证数字签名。

它在安全性、效率和资源需求方面具有很大优势,被广泛应用于现代密码体系中。

ECDSA的原理可以概括为以下步骤:1.选择椭圆曲线:首先需要选择一个合适的椭圆曲线,这个曲线通常由一个有限域上的方程定义。

常用的椭圆曲线有NIST、SECG等。

2.生成公钥和私钥:接下来,需要生成一个随机的私钥,并使用椭圆曲线上的离散对数运算生成对应的公钥。

私钥是用户保密的,而公钥是公开的。

3.签名生成:当需要对一些消息进行签名时,首先需要计算消息的哈希值。

然后,随机选择一个整数k,并计算椭圆曲线上的乘法k*G,其中G是椭圆曲线的基点。

将乘法运算结果中的x坐标记为r。

计算私钥和哈希值的乘积,并与r相加,然后对椭圆曲线阶数取余得到s。

4.签名验证:对于接收到的签名,需要验证签名的有效性。

首先,需要计算消息的哈希值。

然后,计算s的逆元r'。

计算两个椭圆曲线上的点r*G和s*Q,并将它们相加得到一个点P。

将P的x坐标与r进行比较,如果相等,则签名有效。

ECDSA的安全性基于椭圆曲线离散对数问题的困难性,即在有限域上寻找椭圆曲线上的点的离散对数是困难的。

这意味着,即使知道公钥和签名,也很难找到对应的私钥,从而泄露签名者的身份。

此外,ECDSA还具有较短的密钥长度和高效的运算速度,使其成为一种理想的数字签名算法。

ECDSA的应用非常广泛,例如在区块链技术中用于比特币和以太坊等加密货币的交易验证,确保交易的真实性和完整性。

此外,ECDSA还可用于安全通信协议中的数字签名认证、身份验证和密钥交换等场景。

尽管ECDSA具有许多优点,但也存在一些潜在的安全风险。

例如,使用弱曲线可能会导致私钥被轻松猜测出来。

因此,在使用ECDSA时,选择合适的椭圆曲线参数和密钥长度非常重要。

国家密码标准sm2的应用

国家密码标准sm2的应用

国家密码标准SM2是中国国家密码管理局于2012年发布的一项新的国家密码标准,它是一种基于椭圆曲线算法的公钥密码体系,其安全性和性能优于RSA算法,可以有效地改善网络安全性。

SM2算法的应用范围非常广泛,其中包括:
一、数字签名
SM2算法可以用于数字签名,可以有效地防止数据被篡改,保证数据的完整性和可验证性。

SM2算法可以用于电子政务、电子商务、网络金融等领域,以保护用户的隐私和数据安全。

二、加密传输
SM2算法可以用于加密传输,可以有效地保护网络数据传输的安全性。

SM2算法可以用于网络金融、医疗保健、政府机构等领域,以保护用户的隐私和数据安全。

三、加密存储
SM2算法可以用于加密存储,可以有效地保护数据存储的安
全性。

SM2算法可以用于网络金融、医疗保健、政府机构等领域,以保护用户的隐私和数据安全。

四、数据加密
SM2算法可以用于数据加密,可以有效地保护数据加密的安全性。

SM2算法可以用于网络金融、医疗保健、政府机构等领域,以保护用户的隐私和数据安全。

五、数据完整性
SM2算法可以用于数据完整性,可以有效地保护数据完整性的安全性。

SM2算法可以用于网络金融、医疗保健、政府机构等领域,以保护用户的隐私和数据安全。

总之,SM2算法在安全性和性能方面具有显著优势,可以有效地改善网络安全性,并且可以用于各种应用场景,是一种非常有效的安全技术。

因此,SM2算法在安全领域得到了广泛的应用,为网络安全提供了有力的保障。

ECC算法和加密应用大全

ECC算法和加密应用大全

ECC算法和加密应用大全椭圆曲线密码算法(ECC)是一种基于椭圆曲线数学的公钥加密算法。

相比于其他公钥加密算法,ECC在相同的安全级别下,使用的密钥长度更短,计算速度更快,对资源的要求更低。

因此,ECC被广泛应用于移动设备、物联网和无线通信等领域。

ECC算法的优势在于它可以提供与RSA和DSA等其他公钥加密算法相同的安全性,但使用更短的密钥长度。

这使得ECC特别适合于资源有限的环境,如智能卡、传感器节点和无线传感器网络。

此外,由于ECC算法的运算速度较快,对于移动设备和网络通信来说,能够提供更好的性能和效率。

1.TLS/SSL:ECC算法在传输层安全协议(TLS)和安全套接层(SSL)协议中被广泛使用。

TLS和SSL用于保护互联网通信的安全性,通过使用ECC算法实现身份验证、密钥交换和数据加密。

2. 数字货币:ECC算法在许多加密货币中被用于生成公钥和私钥,以保证交易的安全性和隐私性。

比特币(Bitcoin)和以太坊(Ethereum)等主要的加密货币都使用了ECC算法。

3.移动设备安全:由于ECC算法对资源的要求较低,因此它在移动设备的安全性中得到了广泛应用。

包括手机、平板电脑和智能手表等移动设备都使用ECC算法来实现身份验证、数据加密和数字签名。

4.物联网安全:ECC算法在物联网中的应用也越来越广泛。

物联网设备通常具有较低的计算能力和存储容量,因此使用ECC算法能够满足物联网设备的要求,并提供足够的安全性。

5.数字签名:ECC算法可以用于生成和验证数字签名,以实现数据的完整性和身份验证。

数字签名在电子商务、电子合同和电子文件等领域中发挥着重要作用。

6.密码学教育:ECC算法也在密码学教育中被广泛应用。

作为一种高效且安全的公钥加密算法,ECC算法成为密码学课程中的重要内容。

总结:ECC算法是一种基于椭圆曲线数学的公钥加密算法,具有较短的密钥长度、较快的计算速度和较低的资源要求。

ECC算法在TLS/SSL、数字货币、移动设备安全、物联网安全、数字签名和密码学教育等领域得到了广泛应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

椭圆曲线公钥在网络安全密码体系中的应用作者:高建明来源:《计算机时代》2013年第08期摘要:移动设备和无线设备的大量使用需要一种新的公钥密码方案,来适应这些设备在计算能力和带宽方面的限制,同时要满足安全性级别的要求。

椭圆曲线密码体制作为一种新兴的加密及身份认证技术,以其自身的多项特点,已从学术理论研究阶段逐步走向实际应用阶段,成为目前最有前途的一种公钥密码体系,极有可能成为现存公钥密码体系RSA的替代者。

椭圆曲线密码算法具有高安全性、低消耗、运算速度快的特点,具有良好的应用前景。

文章对椭圆曲线方程、算法的原理、加密算法、安全性进行了分析,实现了椭圆曲线公钥在网络Diffie-Hellman密钥交换中的应用。

关键词:椭圆曲线;密码学;编码;密钥;安全性中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2013)08-25-030 引言目前,大多数使用公钥密码学进行加密和数字签名的产品和标准都使用RSA算法。

为了保证RSA在使用中的安全性,最近这些年来密钥设置的位数一直在增加,这对使用RSA的应用是一个很重的负担,近年来,出现了一种具有较强竞争力的椭圆曲线密码学(ECC),它对RSA提出了挑战[1]。

ECC突出的优点是可以使用比RSA短得多的密钥,但却能得到相同的安全性,因此在应用上可以大大减少运行负荷。

1 椭圆曲线方程概述1.1 椭圆曲线方程一般地说,椭圆曲线是由方程y2+dxy+ey=x3+ax2+bx+c定义的曲线,其中定义a,b,c,d,e为系数,从数学上讲,椭圆曲线的形状并非椭圆,之所以被称为椭圆曲线,是因为该方程右边的多项式x3+ax2+bx+c与椭圆曲线的积分有关。

现分析以下椭圆曲线类方程:令K(b,c)为式⑴的椭圆曲线上所有(x,y)的不同点组成的集合。

这类椭圆曲线的特征是曲线上的点具有加法性质,一般可用于构造交换群,交换群(M,+)满足以下5个性质的代数结构,其中M为集合,集合上元素的加法运算用符号“+”表示。

⑴对任意x,y∈M,x+y∈M,则满足集合上的封闭性。

⑵对任意x,y,z∈M,x+(y+z)=(x+y)+z),则满足集合上的结合性。

⑶单位元:存在0∈M,使得对任意x∈M,则x+0=0+x=0。

⑷逆元素:对任x∈M,显然存在元素x'∈M使x+x'=x'+x。

将x'记为-x,并将x+(-y)记为x-y。

⑸对任意x,y∈M,x+y=y+x,则满足集合上交换性。

在交换群中单位元称为零元。

现令X,Y为椭圆曲线上的任意一点,则有以下两种情形:⑴当X≠Y时,可令L为连接这两个点的直线。

若L不垂直,则可以推出L一定与曲线上第三点相交,并且惟一。

⑵当X=Y时,可令L为曲线在点X的切线。

若L不垂直,则L一定与曲线上的另一个点相交,且惟一。

在上面两种情形中,如果当L为垂直线时,则L和曲线不相交。

引进一个虚拟点P,假设它在无穷远处与L线相交。

虚拟点P设定为单位元的角色,称为零点,定义K'(b,c)=K (b,c)∪{0}[2]。

对集合K'(b,c)上的点可以定义一个加法运算“+”如下:⑴对任意的K'(b,c),令X+0=X。

⑵对任意的X,Y∈K(b,c),如果X≠Y,若它们的X坐标相同,则根据椭圆曲线的性质,则X和Y与X轴互为映像,即X=(x,y),Y=(x,-y)。

令X+Y=0,因此,-X=(x,y)。

⑶对任意X,Y∈K(b,c),如果X坐标不相同,定义L为经过这两个点的直线,若L 不是曲线的切线,则L必定与K(b,c)上的惟一的第三点Z相交,设X+Y=-Z,则X+Y是Z 在X轴上的映像。

如果L为点X上的切线,可令X+Y=-X。

如果L为在点Y上的切线,则可令X+Y=-Y。

⑷对任意X∈K(b,c),令Lx为曲线在点X上的切线,令Y为LX与曲线相交的另一点,令X+X=-Y。

可以证明(K'(b,c),+)是一个交换群。

为便于将传送的明文编码,通常只考虑K (b,c)上的格点(x,y),通常也称为整数点,即X、Y都是整数。

1.2 离散椭圆曲线2 椭圆曲线的编码定义用椭圆曲线将明文进行加密首先需要将明文M编码,使它成为椭圆曲线上的一个整数点,从这个点上可惟一推算出明文M[5]。

但到目前为止仍不知道这种编码能否被多项式时间算法所产生。

不过,这种编码可以用概率算法产生,且速度较快,尽管概率算法不一定能保证总能生成一个编码,但可以证明这种情况发生的几率是很小的[6]。

假设N是比P小的多的正整数。

先令x=N,然后检查N3+bN+c是否等于模P下的整数平方[7]。

如果不是,在N的末尾加入和修改一些数字而得到一个新的整数N',并且检查N3+BN+C是否为模P下的整数平方,下面是一个概率编码的算法。

令¢>0为一个非常小的数,使得(N+1)£因为对于每个J,x3+bx+c不是整数平方的概率约为1/2。

因此,可以知道算法失败的概率为ε,给定Pm=(x,y),容易看出N=[x/£],并称Y为椭圆曲线编码参数。

如令p=179,b=3,c=34,£=15,则(4b3+27c2)mod p=174≠0。

从(M+1)£所以y=9,即P10=(150,9)是N=10在集合K'179(3,34)上的编码(这里设£=15),因为[150/15]=10,所以从点(150,9)可推算出N=10[9]。

3 椭圆曲线加密算法的应用3.1 椭圆曲线加密算法通常将椭圆曲线加密和解密算法分别简称为ECC加密和ECC解密。

令K为任意大于1的整数。

对任意X∈K'(b,c),令kX=X+(k-1)X,椭圆曲线对数问题指的就是从给定k×X和X∈K'(b,c)求K的值,通常认为椭圆曲线对数问题没有快速算法,这个问题就是研究椭圆曲线公钥体系的基础。

与Diffie-Hellman密钥交换体系类似,椭圆曲线公钥体系要求用户共享同一参数,首先选取参数B,C,P并构造模P下的离散椭圆曲线Kp(b,c),然后在Kp(b,c)上选取一个G并选取编码参数£,共享参数是(Kp(b,c),G,£)[10]。

假设甲方拟设立椭圆曲线公钥体系的公钥和私钥,则甲方首先随机选取一个正整数KA作为私钥,然后计算PA=kAG作为公钥,假设乙方需要将明文M用ECC加密后送给甲方,这里的M是满足(M+1)£乙方首先选取一个随机正整数K,将M编码得PM=(x,y),然后计算如下Kp(b,c)中的两个点作为密文:C=(kG,PM+kPA),用∏0(C)表示 kG,∏1(C)表示PM+kPA。

甲方收到密文C后用ECC解密算法将C解密,算法如下:PM=∏1(C)—kA∏0(C)然后从PM=(x,y)算出M=[x/y]。

3.2 椭圆曲线密码的安全性ECC的安全性是建立在由P和kP确定的困难程度之上的,这个问题称为椭圆曲线对数问题,Pollard rho方法是已知的求椭圆曲线对数的最快方法之一,表1表示了从密码分析所需计算量的角度,通过给出可比较的密钥大小,比较了各种算法。

由此可知,ECC使用的密钥比RSA中使用的密钥要短得多,而且在密钥长度相同时,ECC与RSA所执行的计算量也差别不多。

因此,与具有同等安全性的RSA相比,由于ECC使用的密钥更短,所以ECC所需的计算量比RSA少。

3.3 椭圆曲线密码实现Diffie-Hellman密钥交换利用椭圆曲线可实现如下密钥交换。

首先,挑选一个大整数q,及椭圆曲线参数a和b,这里q为素数p或是形式为2m的整数。

由此可以定义出点的椭圆群为Kq(a,b);其次,在Kp(a,b)中挑选一个基点G,G=(x1,y1),G的阶为一个非常大的数n。

使得nG=0成立的最小正整数是椭圆曲线上的点G的阶n。

G和Kq(a,b)是该密码体制中通信各方都已知的参数。

用户A和用户B之间完成密钥交换过程如图1所示。

⑴ A选择一个小于n的整数nA作为其私钥,然后产生其公钥PA= G×nA;该公钥是Kq (a,b)中的一个点。

⑵ B可选择私钥nB并计算公钥PB。

⑶ A产生秘密钥k=PB×nA,B产生秘密钥k=PA×nB。

要破译这种体制,攻击者必须由kG和G计算出k,这通常被认为是非常难的[11]。

如取p=211,Kp(0,-4),G=(2,2),这里Kp(0,-4)即是曲线y2=x3-4,则计算可得240G=0。

A的私钥nA=121,所以A的公钥PA=121(2,2)=(115,48)。

B的私钥nB=203,所以B的公钥为203(2,3)=(130,203),它们共享的密钥为121(130,203)=203(115,48)=(161,69)。

这里得出的密钥是一对数字,若将它当作传统密码中的会话密钥,则必须是一个数字,可以简单地选取x坐标或者x坐标中的某个简单函数[12]。

4 结束语利用椭圆曲线公钥加密是目前公钥加密发展的方向,但是,椭圆曲线公钥密码的理论复杂,选取不同的椭圆曲线参数和加密算法对加密的安全性和效率影响很大;椭圆曲线公钥体系的强度依赖于椭圆曲线离散为难题的难解性。

椭圆曲线公钥体系对参数长度的要求虽然没有RSA公钥体系的要求高,但是椭圆曲线公钥体系破译方法的研究还没有像RSA公钥体系破译方法研究得那么广泛和深入,这可能与椭圆公钥体系用到较深的数学有关。

利用本文所述方法选取椭圆曲线等参数和相关算法进行加密被证明是安全的、有效的,也真正达到了现阶段公钥加密的要求。

参考文献:[1] 刘淳,张其善.基于智能卡的ECC算法的实现[J].计算机工程与应用,2009.4:65-68[2] 蔡庆华,程一飞.一个基于超椭圆曲线的单向数字签名[J].计算机技术与发展,2006.1:89-90[3] 王杰.计算机网络安全的理论与实践[M].高等教育出版社,2011.[4] 唐勇,许金玲.RSA密码系统有效实现算法[J].微处理机,2011.3:128-130[5] 杨晋.现代电子商务安全技术研究[J].网络安全技术与应用,2009.1:89-92[6] 杨敏,杜瑞颖.密码编码学与网络安全原理与实践[M].电子工业出版社,2012.[7] 陈颂,何良生,王建华,徐旸.ECC数字签名协议的安全性研究与分析[J].信息网络安全,2007.6.[8] 朱艳琴.基于ECC的密码系统研究与设计[J].微电子学与计算机,2007.12.[9] 高冬妮,陈云峰.一种改进的ECC数字签名方案[J].信息技术,2009.10:96-99[10] 徐秋亮,李大兴.圆曲线密码体制[J].计算机研究与发展,2009.5:102-104[11] 赵泽茂,刘凤玉:基于椭圆曲线密码体制的签名方程的构造方法[J].计算机工程,2007.6:132-135[12] 张龙军,沈钧毅,赵霖:椭圆曲线密码体制安全性研究[J].西安交通大学学报,2010.10:56-58。

相关文档
最新文档