椭圆曲线加密算法在PKI中的应用

第25卷第7期计算机工程与设计2004年7月V01.25No.7COMPUTERENGINEERINGANDDESIGNJul.2004文章编号:1000—7024(2004)07—1229-03中图分类号:TP393,08文献标识码:A

椭圆曲线加密算法在PKI中的应用

张庆胜,叶震,周兵斌,李志亮,管水能

(合肥工业大学计算机与信息学院,安徽合肥230009)

摘要:随着计算机网络的发展,社会对网络安全的要求也越来越紧迫,PKI技术正是能够实现信息安全的热门技术。对PKI技术的关键技术——数据加密算法进行了分析,介绍了ECC的运算,重点讨论了椭圆曲线加密系统(ECC)在PKI中的应用和系统的模型结构与设计,分析了ECC的安全性,说明了ECC在PKI中很好的应用前景。

关键词:公钥基础结构;椭圆曲线加密系统;认证机构;数据加密算法。

ApplicationofPKIbyECC

ZHANGQing-sheng,YEZhen,ZHOUBing—bin,LIZhi-liang,GUANShui-neng(SchoolofComputerScienceandInformationEngineering,HefeiUniversityofTechnology,Hefei230009,China)

Abstract:Withthedevelopmentofcomputernetwork,therehavebeenmoreandmoreurgentrequirementsinthecomputernetworkse?

curity.PKIisakeytechnologyfortheinformationsecurity.ThekeytechnologyofPK卜卅ata

encryptionalgorithmisanalyzed.The

operationofECCisintroduced.AndtheemphasisisputonthediscussionoftheapplicationofPKIbyECCanddesignonthemodelandthestructureofthissystem.ThesecurityofECCisanalyzed,andthegoodapplicationprospectofPKIbyECCisalsodescribed.

Keywords:publickeyinfrastructure(PKI);ellipticcBrvescryptosystems(ECC);certificationauthority(CA):dataencryptionalgorithm.

1引言

要真正实现互联网上交易与信息传输的安全,就必须满足机密性、真实性、完整性、不可抵赖性的4大要求“1。PKI

(PulicKeyIntrastructure公钥基础结构)就是为了满足以上4大要求的统一的技术框架,它的安全技术主要包括公钥加密技术、数字签名和验证技术。1。

PKI密钥交换和身份验证的安全性依赖于PKI使用的

公开密钥算法、对称加密算法和摘要算法,而这些加密算法的载体就是PKI的核,L,一CA(CertificationAuithority),即认证机构。CA就是通信双方相互信赖的第3方01。

CA为每个用户签发的数字证书,如同每个人自己的身份证一样,能有效地对通信双方进行身份签别。CA通过加密算法来保证信息安全,加密算法包括对称加密算法和非对称加密算法。

(1)对称加密算法

它的特点是加密和解密密钥相同或彼此之间容易相互确定。其安全性不是依赖于加解密算法而是依赖于密钥。常用的对称加密算法有美国数据加密标准(DES)。

(2)非对称加密算法

它的特点是加密和解密密钥不同,在不知道陷门信息的情况下,由加密密钥推出解密密钥在计算上是不可行的。加解密算法和加密密钥可以公开,但解密密钥必须保密,其安全性依赖于加密密钥。常用的非对称密码体制有:基于大整数分解问题困难性的RSA体制、基于离散对数问题困难性的DSA体制,以及基于椭圆曲线离散对数(ECDLP)问题困难性的ECC体制o。’。

在实际的PKI方案中,所采用的加密算法是对称加密算法和非对称加密算法的混合,例如用非对称密码体制传递会话密钥,对称密码体制传输消息,这主要因为对称密码体制加解密速度快,但密钥管理不方便,而非对称密码体制加解密速度相对较慢,但密钥管理方便。

RSA加密算法已经在PKI中获得广泛应用,却很少有论文谈及椭圆曲线加密系统(ECC)在PKI中的应用,这种情况可以做出不同的理解,这种密码体制尚未被很好地认识,或者这种密码体制被人们接受也需要一个过程。本文在ECC应用于PKI方面做出了一些积极的尝试。

2ECC上的运算及其算法特点

在域B上的椭圆曲线E:,可3+甜帕,设P=G。∥.),Q=G:加)是E上任意两点,三是毋口连线。若P和Q重合于一点,日[JP=-Q,则三便退化为P点的切线。设三和曲线相交于另一点尺,L,是R点和无穷远点D的连线,也就是说上’是过R点引J,轴平行线,L一和曲线相交于一点,用PoQ表示,其中国是点加运算符。实际

收稿日期:2003—05—16;修订日期:2003.09.12。

作者简介:张庆胜(1976一),男,安徽桐城人,硕士研究生,研究方向为网络安全。

-——1229?——

上点P*Q和点R关于石轴对称。若尸和Q关于工轴对称或重合于x轴,贝tJpQ垂直于x轴,这时£和椭圆曲线交于无穷远点0。

由初等数学不难求出PoQ的坐标@’,):

{yX*.=:1缸2_。X—Ix-.X)一2y。

其中:

当P≠Q时,t=(yz-y,)/∞一X?);当P=Q时仁(3叠+玎)/(2y-),

而m?p印opo…op称为点积运算‘5‘1。

1442443

另外,椭圆曲线密码系统还要用到大数乘、大数取模、模乘、模加、模逆、模幂这些基本运算。其中大数乘、大数取模属于整数域上的运算,模乘、模加、模逆、模幂属于有限域上的运算,而点加和点乘属于椭圆曲线的点加群上的运算。椭圆曲线密码算法有如下特点:①离散性。密码算法需要的是离散值的定点运算,而不是连续值的浮点运算,在密码算法中不允许舍入:②大数运算。密码算法往往是大数运算,如RSA体制中要求512位64个字节的模幂运算。安全的椭圆曲线密码系统要求160位的大数运算,但现有微机的CPU最多只支持64位的运算;③要求大容量的数据存储。密码运算通常都要利用大容量的数据表,即用空间来换取时间上的加速,这就要求运算部件具有大容量的存储;④包含大量的并行性。这种并行性同时包含多种粒度的并行或多层次的并行。既有结点之间并行,也有结点内部并行,故要求处理结点本身具有一定的并行性。

3椭圆曲线加密算法(ECC)在PKI中的应用

以CA为中心,客户必须先向CA中心申请获得证书,然后客户之间按照一定的协议进行通信。设计主要分为两大部分:①初始化过程,包括CA中心初始化和客户端的初始化;②客户端之间进行安全数据通信的过程。

下面就以例程用户A向用户B通过ECC加密发送明文M来进行说明。

3.1初始化过程

3.1.1CA的初始化

CA选取有限域B上的椭圆曲线:Z矿=x3+ax+b,即给出一组椭圆曲线参数◇,a,b,G)。整数p表示一个有限域昂;口,6∈指定了由上式所定义的一条椭圆曲线;G表示一个基点。

对各参数有如下要求:

要选择一条足够安全的椭圆曲线,其p要大于2…,a,b是由CA随机选取的,但要保证a,bEFp及4a%27b2.0(modp):基点G(G.x,G少)也是由CA选取的椭圆曲线E矿=矿+酣6上的点。

这些参数被写入椭圆曲线参数文件,可以被任何用户所访问。

3.1.2客户机的初始化

第1步:客户机产生自己的公钥、私钥对。

用户A随机选取一整数屯,作为自己的私钥,保存在只有自己可以读取的参数文件中,计算@=屯?G(点积运算),G为自己的公钥。同理,用户B随机选取一整数k,作为自己的私钥,计算G-k,?G(点积运算)作为自己的公钥。

一1230一

第2步:客户用自己的公开密钥尺向CA中心申请证书,CA中心对R产生数字签名,记为D砌),再产生证书C-(R,Dd(R))返回给客户机。持有证书的客户机之间可以进行安全的数据通信。

3.2客户端之间进行安全的数据通信

第1步:编码

用户首先对信息M进行分组(这里选取一个字符作为一个分组),使其成为有限域上的明文信息块m。然后将m经编码嵌入到椭圆曲线上的点R。注意到,这种“编码”不同于加密,任何一个合法用户都可解码恢复明文。记分组数为l'lblm,约定O≤num<[p/256]-l,要找这样的x,使之满足256m≤x<256(m+1),Jtf(x)=x3+ax+b(modp)为B上的平方剩余。如果找到这样的X,也就完成了明文信息的编码阶段。

第2步:发送密文

用户A对经过分组与编码的信息进行加密计算,并发送如下点对给用户B

{G只_)什(也?G)J)={毛G^j汁(屯?(岛?G))J)

第3步:接受密文并解密

用户B接受到密文,可使用私钥k做如下解密运算,恢复出P_J。

由点积运算的性质,可得:

屯?儡?G)=‰?阮?G)

尸_卅阮?‰?G))J一隔?阮?G))J=RJ

第4步:解码

得到尸_后,去掉点尸_的z坐标的最低一个字节,即将RJ除以256后取整,即可得到明文分组聊。也即:

脚=[P_.x/256]

4ECC应用于PKI的模型结构与设计

在系统设计过程中,通常是用非对称加密算法加密会话密钥,而用对称加密算法加密所需传送的明文,这里所采用的非对称加密算法是ECC,对称加密算法是3DES,哈希算法是SHA-1,这几种算法本身在许多文献中都有详述。

CA初始化,用户初始化。持有证书的用户称为合法用户,在数据传送之前,CA对用户进行身份认证(如图1所示)。

,,一’-‘-.一’~、[、固羔田j

、、、.夕—一签发证书、身份认证L<、—/,7

图iCA与用户初始化以及它们的交互图

只有合法的用户之间才能进行安全的数据通信。下面设计出了合法用户Alice向合法用户Bob发送数据的结构模型(如图2所示)。

(1)Alice对数据明文进行哈希运算,得到该明文的数据摘要,接着用ECC进行加密(用Bob的公钥),得到数字签名。

(2)Alice随机产生会话密钥(简称密钥),用3DES加密数据明文得到数据密文,同时用ECC加密密钥(用Bob的公钥),得到密钥密文。

初始化初始化

i………….苎璺妻垒!ce…………ii…………..舅慨脚b_………….!

图2发送方Alice向接收方Bob发送数据的结构模型图

(3)Bob接受到密钥密文和数据密文。

(4)Bob还原出密钥、数据明文以及数字签名,通过对明

文哈希运算得到一个数据摘要,同时通过数字签名,得到另

外一个数据摘要,对它们进行比较,如果一致,则数据完整

性得到保证,接受到的数据信息有效。

5ECC在PKI中的安全性分析

由Hasse定理:p+1—2x/p<一#E(Fp)≤p+l+2x/p(制甄B)表

示椭圆曲线群上点的总数)“1,可求出椭圆曲线上点的总数

范围。虽然可由Schoof算法计算出龇)的精确值,但其过

程非常复杂。椭圆曲线上点的有限性为数目的难确定性,

使得攻击者很难知道如何应用几何关系。

CA私钥是PKI安全中最重要的元素,CA私钥的安全

性依赖于ECC安全性,ECC安全性即是从公钥G和基点G

中很难计算出私钥尼这一特性。

RSA、DSA、ECC是目前比较常用非对称加密系统,它们

的安全性分析比较如图3所示。在图中,MIPS年指以每秽

执行100万条指令的计算机运行一年。如果l万台运算速

度达到1000MIPS的计算机并行处理,其模长为n。2…,破解

ECDLP要9600年。当前,一般认为破译时间为10“MIPS年

代表安全。为此,RSA和DSA要求模长为1024bit,而160bit

对于ECC就已足够;且当密钥长增加时,ECC的安全性比

RSA/DSA增加快得多,240bit密钥长的ECC比2048bit模长K籁

¥趔

瑚。

ECC和RSA&DSA安全性比较

图3ECC和RSA&DSA安全性比较图

的RSA/DSA安全,虽然RSA/DSA从1024bit增加到2048bit,

而ECC只是从160bit增加到210bit。

可见,ECC与RSA/DSA相比,能提供更小的密钥长度。

6结束语

PKI技术是能够实现信息安全的热门技术,而PKI技术

的核心则是数据加密算法。性能优越的全新的加密算法,

无疑增加了破解的难度。

ECC可用较小的开销,实现较高的安全性,是值得在

PKI中应用的高效率数据加密算法。

参考文献:

[1】张雪琳,马跃.PKl支撑网络安全[EB/OL].2002.http://me.

dia.ccidnet.com/media/ciw/1116/d1301.htm,

[2】廖俊,李世收,蔡瑞英.PKI技术在信息安全中的应用[J].南京化

工大学学报,2001,23(5):57—59.

[3】谢冬青,谢志坚,彭蔓蔓.PKI结构下网络安全协议模型及典型

密码体制安全性分析[J】.科技通报,2001,17(1):7.12.

[4】SchneierB.应用密码学[M】.北京:机械工业出版社,2000.2.4.

【5】WilliamStallings.Cryptographyandnetworksecurityprinciples

andpracticesecondedition[M】.北京:电子工业出版社,2001.

154.157.

[6】卢开澄.计算机密码学【M】.北京:清华大学出版社,1998.

101.1】4.

(上接第1228页)

台。无数迹象表明,WebServices技术将是未来应用架构的一个极为重要的模式,但还有许多未解决的问题,比如如何控制安全性问题和如何适应我们的安全设置问题。还有就是在我们必须知道各自提供的服务前提下,进行集成。下一步要做的工作就是可以在不知道下属部门提供什么样的服务的情况下,来动态地识别服务,并进行调用。

参考文献:

[1】李劲.动态电子商务的Web服务[M】.北京:清华大学出版社.

2002.25-28.

[2】柴晓路,梁宇奇.WebServices技术、架构和应用[M】.北京:电子工业出版社,2003.

[3】郑小平..NET精髓——w曲Service原理与开发[M】.北京:人民邮电出版社,2002.

[4】柴晓路.WebServices标准和规范[EB/OL】.http://www.900.ibm.corn/developerWorks/cn/xml/index.shtml.

[5】ASENET中的Web服务[EB/OL].http://chs.gotdotnet.tom/quickstart/aspplus/doc/webservicesintro.aspx.

一1231—

椭圆曲线加密算法在PKI中的应用

作者:张庆胜, 叶震, 周兵斌, 李志亮, 管水能

作者单位:合肥工业大学计算机与信息学院,安徽,合肥,230009

刊名:

计算机工程与设计

英文刊名:COMPUTER ENGINEERING AND DESIGN

年,卷(期):2004,25(7)

引用次数:5次

参考文献(6条)

1.张雪琳.马跃PKI支撑网络安全 2002

2.廖俊.李世收.蔡瑞英PKI技术在信息安全中的应用[期刊论文]-南京化工大学学报(自然科学版) 2001(5)

3.谢冬青.谢志坚.彭蔓蔓PKI结构下网络安全协议模型及典型密码体制安全性分析[期刊论文]-科技通报 2001(1)

4.Schneier B应用密码学 2000

5.William Stallings Cryptography and network security principles and practice second edition 2001

6.卢开澄计算机密码学 1998

相似文献(1条)

1.期刊论文周国祥.张庆胜ECC应用于PKI之研究-合肥工业大学学报(自然科学版)2003,26(6)

随着计算机网络的发展,社会对网络安全的要求也越来越紧迫.PKI技术正是能够实现信息安全的热门技术.文章对PKI技术的关键技术--数据加密算法进行了分析,重点讨论了椭圆曲线加密系统(ECC)在PKI中的应用、系统模型结构及安全性,说明了ECC在PKI中有很好的应用前景.

引证文献(5条)

1.许向阳.曾海群.邵凯.武坤基于ECC算法的UKey安全认证与应用[期刊论文]-计算机应用研究 2009(3)

2.沈枫.许凯华单片机型GPS车载监控仪设计与软件优化[期刊论文]-计算机工程与设计 2008(17)

3.侯保花.尹家生具有消息恢复功能的椭圆曲线签名系统[期刊论文]-计算机工程与设计 2006(17)

4.刘培.藤玲莹.佘堃.周明天椭圆曲线密码体制的安全性分析[期刊论文]-计算机工程与设计 2006(16)

5.樊华椭圆曲线密码算法的快速实现研究[学位论文]硕士 2006

本文链接:https://www.360docs.net/doc/ec731945.html,/Periodical_jsjgcysj200407064.aspx

下载时间:2010年5月8日

相关主题
相关文档
最新文档