admin 管理员组文章数量: 1086019
2024年4月29日发(作者:constellation歌曲far out)
2012年第1期
文章编号:1009—2552(2012)01—0115—03 中图分类号:TP309.7 文献标识码:A
集成加密方案ECIES的设计与验证
范云海
(上海交通大学芯片与系统研究中心,上海2oo24o)
摘要:椭圆曲线密码(ECC,elliptic curve cryptograph)是密码学的重要分支之一,它可以用
来加密数据,进行数字签名或者在安全通信的开始阶段进行密钥交换。在加密方面,基于ECC
最有名的就是综合加密方案(ECIES,elliptic curve integrate encrypt scheme) 。ECIES是Certi—
corn公司提出的公钥加密方案,可以抵挡选择明文攻击和选择密文攻击【2 J。ECIES各个步骤的实
现可以用不同的算法,在软件中是可以配置的。而它实现的多样性也验证了它的灵活性以及可
靠性。
关键词:集成加密;椭圆曲线;公钥加密;数字签名;密钥认证;哈希
Design and veriicatifon of ECIES
FAN Yun—hal
(Chip&System Center,Shanghai Jiaotong University,Shanghai 200240,China)
Abstract:Elliptic Curve Cryptography is a branch of Cryptography that can be used for enerypting data,
generating digital signatures or exchanging keying material during the initial phases of a secure
communication.Regarding encryption,the best—know scheme based on ECC is Elliptic Curve Integrated
Encryption Scheme(ECIES).ECIES is a pubic key encryption scheme provided by Certicom Company.
ECIES is designed to be semantically secure in the presence of an active adversary capable of launching
chosen plaintext and chosen ciphertext attacks.
Key words:ECIES;elliptic curve;public key cryptography;digital signature;key authentication;
Hash
自从1976年Difie和Hellman提出了公钥加密
方案以来,已经发布了好几种密码机制 】。其中尤
为重要的是1985年由Miller和Koblitz发表的加密
系统,它的安全性依赖于椭圆曲线离散对数问题
(ECDLP,elliptic curve discrete logarihm prtoblem)的
维尔斯特拉斯(Weierstrass)方程式…:
E1 +a1xy+ 3y= +a2x +aax+a6 (1)
其中,a1,a2,a3,a4,a6∈F,并且△≠O,△是E的判别
式。条件△≠O可以保证曲线是光滑的,例如,没有
椭圆曲线点有两个或更多个不同的切线。在实际应
用中几乎不会用到Weierstrass方程式,而是根据不
同的有限域F来使用不同的简化版本。当域F的
难解性。迄今为止,还没有一种有效的算法可以较
好地解决椭圆曲线离散对数问题。一些学者认为椭
圆曲线离散对数问题比其他也用在加密系统中的数
学问题(整数因式分解问题和离散对数问题)更难
字符是一个除2和3之外的素数P时(这代
表GF(p)或者印),那么这是一个素数域。如果是
这种情况,对应的简单的方程式如下-3 J:
y2= +嬲+b
收稿日期:2011一O8—24
以解决。这就是为什么ECC密钥的长度要显著的
小于其他密码系统的密钥长度,比如RSA(Rivest,
Shamir and Adleman)。
一
(2)
个有限域F或者伽罗瓦(Galois)域上的椭圆
曲线E是由下面的方程式定义的,这个方程式也叫
作者简介:范云海(1988一),男,在读硕士研究生,研究方向为安全
芯片与嵌入式系统。
一
115—
如果有限域F的符号是2(代表GF(2 )或者
),那么有限域是二进制域。此时对应的简单的
方程式 :
Y + = +O,X +b (3)
ECIES是一个基于椭圆曲线的集成加密方案,
包含公钥操作,加密算法,认证码和哈希计算。更准
确的说,ECIES是一个通用的术语,它用来描述一组
稍有不同的加密方案,这些加密方案都是基于Mihir
Bellare,Philip Rogaway,和Michel Abdalla的论文 ,
在论文中,他们开发了一个加密方案DHIES(Difie
Hellman集成加密方案),它是ECIES的内核,为了
简单起见,ECIES的实现将参考DHIES。
多年来,ECIES已被列入几个标准,并且可以在
高效加密标准组(SECG)的发布版本中发现它
们 J。但迄今为止还没有ECIES软件能实现所有
的不同组合的参数配置。该软件实现了非常多样的
参数和函数的组合。由于该软件的目的在于测试该
加密方案的可行性,所以尝试了不同的参数组合以
用于不同的应用场合中。
1 加密
本软件实现中的所有函数和参数配置都放在文
件config.c%中,该文件内容被当做共享消息传送到
解密端进行相应的解密操作。整个软件的加密流程
如图1所示。
发送者的公钥 标签 加密后的消息
图1 ECIES加翟流程
1.1 函数配置
该软件能实现的函数配置如下:
哈希(Hash)函数:SHA一1,SHA一256。
密钥导出函数(KDF,key derivation function)函
数:KDF1和ANSI。
消息认证码(MAC,message authentication code)
函数:HMAC—SHA—l一160,HMAC—SHA一256—
256。
加密函数:DES(data encryption standard)带
一
1 1 6一
PKCS#5填充与不填充,3DES CBC模式带PKCS
(public key cryptography standards)#5填充与不填
充,AES CBC与ECB模式都带PKCS#5填充。
解析KDF函数的解密输出,可以是MKI I EK或
者EKI I MK。
1.2参数配置
要想顺利地进行加密解密操作,必须配置参数。
当然,若没有配置参数,那就会用缺省的参数进行运
算。根据所选的有限域的不同,要配置的参数也有
所不同,若选择GF(p),则要配置的参数如下。
P:素数,指定有限域Vp={1,2,…,pl}。
。,b:域印的元素,在方程式(2)中定义。
,
G :点G的坐标,G是曲线上的点,用来产生
代表公钥的点Q。
n:素数,它的值代表点G的阶。
h:曲线的余因子,h=#E(Fp)/n。
如果选择的有限域是GF(2 ),那么要配置的
参数如下。
m:有限域GF(2 )的指数。
k1,k2,k3:多项式f( )= + 七3+ 2+ 1+1
的指数。
tl,,b:域 的元素,在方程式(3)中定义。
G ,G :点G的坐标,G是曲线上的点,用来产生
代表公钥的点Q。
n:点G的阶。
h:曲线的余因子。
1.3加密操作
根据明文M和公钥Q,加密流程如下:
①选择一个在1和n一1之间的I临时随机整数
k,计算R=kG=( ,G )。
②将点R转换成八进制字符串尺’。
③由临时密钥k和公钥Q得到共享秘密域元
素:,(例如P=( ,G )=kQ,令z= )。
④将z转换成八进制字符串z。
⑤根据配置文件用KDF函数从z和[共享消
息#1]产生密钥数据K。
⑥按照配置文件从K中提取加密密钥EK和
MAC密钥MK。
⑦根据配置文件中的对称加密函数和EK,加密
消息M得到密文EM。
⑧根据配置文件中的MAC函数和MK,由EM I l
[共享消息 ]得到D。
⑨输出C=R’I lEM II D。
2 解密
者解密c恢复明文M的流程如下:
.
该软件的配置(函数和参数)可以有效地抵抗
现有已知的对ECIES的攻击。
根据密文C=R’I lEM ll D,以及私钥d,接受
①将八进制字符串R’转换成椭圆曲线点R=
(戈R,YR)。
4 结束语
ECIES是一个实现细节强烈依赖于所选的标准
的一个加密方案。它的特点使得开发者要想开发一
个能实现所有安全标准的软件变得非常困难,因此
开发者必须根据可靠性和效率来决定在目标平台上
选择哪些参数。
②得到共享秘密域元素z,(例如dR=dkG=
kQ:P=P=(G ,G ),令 = )。
③将 转换成八进制字符串z。
④用KDF函数从z和[共享消息#1]产生密钥
数据K。
⑤从K中提取加密密钥EK和MAC密钥MK。
⑥用MK计算MAC,通过与D进行比较来确定
发送者的身份。
⑦用EK解密EM得到明文M。
该c语言加密软件是用来测试不同的参数组
合以决定在一个特殊的应用场合中哪个是最佳的组
合。该软件证明ECIES加密方案是可行的。
参考文献:
[1]VICTORGM,LUIS H E,CARMEN SA.A Javaimplementation of
the Elliptic Curve Integrated Encryption Scheme.(201 1).[EB/
OL].http://digita1.csic.es/handle/10261/33129.
3 安全性和抗攻击的能力
根据参考文献[6],现在已知的对ECIES的攻
击可归纳如下:
[2]SHIPSEY R.ECIES[z].London,University ofLondon,2001.
[3]周玉洁,冯登国.公开密钥密码算法及其快速实现[M].北京:国
防工业出版社,2002:103—113.
①延展性攻击。
②小子群攻击。
③不规则曲线的子指数攻击。
另外,在实现ECIES的过程中应该考虑安全的
问题,这可以通过如下方式实现:配置密钥的解析方
式;配置给KDF和MAC的参数的类型和数量;为同
一
[4]ABDAuA M,BELLARE M,ROGAWAY P.DHIES:An Eneryp・
tion Scheme Based on the Ddffie—HeUman Problem.(1998).
[EB/OL].http://cseweb.uesd.edu/users/milir/papesr/dhaes.
pdf.
[5]KOBLITZ N.Elliptic curve eryptosys—tenrs[z].Math.Comp,1987,
48:203—209.
[6]DIFFIE W,HELLMAN M E.New directions in cryptography.IEEE
Trans.Inform.Theory,1976,22:644—654.
个公钥动态的选择参数。
责任编辑:肖滨
(上接第114页) .
其中,C表示共谋的用户数,d表示码的自由距离,
表示卷积码中重量为d的码序列数,s表示错误译
码的概率。
卷积扩频指纹的编码长度为 与BS模型的编
码长度 (n一1)相比较,编码长度约减少n倍,在
BS模型中,承受的错误概率是e/2L,使得d随£增
长而增大;而根据卷积码性质,本组码字仅与相邻m
组相关,所以在本方案编码中, 与Z无关,因而具
有更短的编码长度。
3.2译码分析
4 结束语
文中将卷积码与扩频相结合构造的卷积扩频指
纹,不仅实现了指纹的抗共谋攻击、强鲁棒性、透明
性、更短的指纹码构造和多项式时间的搜索复杂度,
而且能够快速、准确的追踪到盗版者。同时通过实
例验证,能够快速高效地完成盗版者追踪。为数字
指纹的构造提供了一条新思路,对其他领域的知识
产权保护,在理论和实践上都具有一定的指导意义。
参考文献:
[1]刘振华,尹萍.信息隐藏技术及其应用[M].北京:科学出版社,
2002:154—155.
卷积扩频指纹的译码复杂度与nLl成正比,整
[2]Boneh D,Shaw J.Collusion—Secure fingerprinting for diitgal data
个译码效率为0(riL1)。在存储方面,卷积码译码
器需要保留2 个状态,且对每个状态必须有一个路
径寄存器以及一个部分路径度量值存储器,译码器
的存储复杂性为0(nL),其中n=2 且n≥C,一般
要求m≤10,用户信息长度满足址,由于媒体长度
限制,尽量缩短 ,因而可以适当调整k和m取值,
即使对较大共谋人数c,也不难选择较好的卷积
编码。
[J].IEEE Trans.on Information Theory,1998,44(5):1897—
1905.
[3]彭代渊.信息论与编码理论[M].武汉:武汉大学出版社,2008:
212—241.
[4]Viterbi A J.Error bounds ofr eonvolutional codes and all asymptoif—
eally optimum decoding algorithm[J].IEEE Tram.Inform Theory,
1967,IT—is(2):260—269.
[5]孙晓霞.基于Watson感知模型水印的讨论[J].计算机工程与应
用。2009(7):76—79 责任编辑:刘新影
一
1l7一
版权声明:本文标题:集成加密方案ECIES的设计与验证 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1714397411a678500.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论