针对Menezes-Vanstone加密算法一次一密的效率问题,从实际可用性及计算效率上考虑,以基于身份的密码体制为基础,结合混合加密技术,提出了一种新的基于身份密码体制的加密算法。那么接下来,我就给大家简单的介绍一下这种加密算法。
一、Menezes-Vanstone椭圆曲线加密算法
椭圆曲线上所有的点外加一个叫做无穷远点的特殊点构成的集合,连同一个定义的加法运算构成一个Abel群。在等式Q=kP中,已知k和点P求点Q比较容易,反之已知点Q和点P求k确是
相当困难的,这个问题称为椭圆曲线上点群的离散对数问题ECDLP(Elliptic Curve Discrete LogarithmProblem)。椭圆曲线加密体制正是基于这个一个困难问题。
Menezes-Vanstone方法描述如下:
有限域Zq上的非奇异椭圆曲线方程E,公开基点P,点P的阶数为q(大于160位)。设明文m=(m1,m2)∈Zq*×Zq*,发方为A,收方为B。加密操作如下:
1、A、B分别选取SA,SB∈Zq*为私钥,计算PA =SAP,PB = SBP并公开;
2、A计算SAPB=(x1,y1)。 (1)
3、A计算X2=m1xi modq,
y2=m2y1 modq。
则明文朋加密厉生成的密文是(X2,y2)。
解密操作如下:
1、B计算SBPA=(x1,y1)。
2、B计算m1=X2X1-1modq,
m2 = y2y1-1 modq 。
则密文(x2,y2)解密后的明文是(m1,m2)。
Menezes-Vanstone加密算法运用了椭圆曲线Diffie-Hellman秘密交换协议。为了解密密文(x2,y2)需要计算式(2),但如果没有解密方私钥SB而要解山密文是诈常凼难的,它基于ECDLP凼难问题。
Menczes-Vanstone椭圆曲线加密算法十分简洁,整个过样中只有有限域上的求逆及相乘运算。但是,由于用户密钥对是任意选取的,因而在实际应用中仍然需要承担庞大证书库维护和管理的开销。
二、基于身份密码体制的加密算法
我们采用基于身份的密码体制为基础,结合混合密码思想和Menezes-'Vanstone椭圆曲线加密算法,提出了一种新的基于身份密码体制的加密算法。
混合加密体制由Fujisaki和Okamoto于1999年提出,该混合加密体制KEM-DEM包含密钥封装机制KEM(Key Encapsulation Mechanism)和数据封装机制DEM(Data Encapsulation mechanism)。
通常密钥封装机制通常使用公钥加密技术;数据封装机制使用对称加密体制。混合加密体制充分利用了对称加密体制加密速度快、运行时占用资源少及公钥密码技术便于密钥交换的优点。
这种混合加密体制可以描述为:
其中,σ是随机产生的,是概率加密体制,H3是哈希函数。
本文方案将引入该混合加密体制的思想,方案的参与者群体为发送方A、接收方B及系统可信中TA。
方案描述如下:
1、系统初始化
输入:安全参数K∈Z。
TA:利用BDH参数生成器G和安全参数K生成大素数q。两个q阶群GI,G2,可容许的双线形映射^e:Gi ×Gi → G2。选择任意一个G1的生成元p,随机选取数s∈Za*,计算可信中心公钥Ppub=Psb,选择密码哈希函数H1:{0,1}*→G*(G1/{0}),H2:G2→{0,1},H3:{0,1}n→{0,1}制定n,明文空间为:M=(0,1)n,密文空间为:C={0,1}n×{0,1}n。系统公开参数为:系统主密钥为s。
2、密钥提取
3、加密
三、方案安全性及效率分析
该方案的安全性基下Menezes-Vanstone椭圆曲线密码算法的安全性及混合加密体制的安全性,方案分析如下:
1、正确性
方案的加解密算法是止确的,因为:
2、机密性
攻击者没有解密密钥,无法解密出密文。该方案采用混合加密,其中被用户拥有的是公钥加密体制的解密密钥SB,进而可计算式(4)。因为系统主密钥s是绝对保密的,在攻击者无法获得系统主密钥s的任何信息时,由用户公钥QB计算出用户私钥SB是不可能的;由用户的密钥对Q描及SB计算出系统主密钥s也是计算上不可行的,因为这是一个求解ECDLP的难题。
3、方案采用混合加密体制,能抵御己知明文攻击
即使攻击者已知明文肌及其对应的密文c,但由于明文采用对称加密,且加密密钥是随机产生的,不同的消息所采用的对称加密密钥是不同的,因此加密不同的消息时通信双方不用更新自己的公私密钥对便能抵御已知密文攻击。
4、与Menezes-Vanstone方案的效率对比
本文方案中身份信息至椭圆曲线上点的映射是可有效实现的。
1)Menezes-Vanstone方案中,发方A在计算式(1)时,需要获得收方B的公钥,在实际应用中,势必需要引入正式及公钥检索且录等。仅当前方案,发方A无法对收方B的公钥进行验证,若公钥在传输过程中被篡改,则双方永远无法完成一次有效的加密通信。
而对于本文方案,发方A在计算式(3)时,因为收方B的公钥为其身份信息直接计算得到,因此不需要获取并验证对方公钥操作,即不再需要获取并验证收方B的公钥的过烈,在实际应川中有较大的方便性。
2)Menezes-Vanstone方案中,对于不同的消息(m1,m2),加密时需要重新选取SA,SB∈Zq并计算SAPB=(X1,Y1)。因为为了防止已知明文攻击,即攻击者已知明文(m1,m2)及其对应的密文(x2,y2)可推导出 x1=X2m1-1 modq 及y2= y2m'modg,解密不同的消息时要选取不同的SA,SB∈Zq*来计算(x1,y1),所以该方案只适合加密少量的短消息。
而对于本文方案,因为选刚的对称加密密钥σ是随机选取的且采用哈希函数处理,攻击者已知明文脚及所对应密文c=<U,V>,仍然无法获取有关σ或x的任何信息,即用户在加密不同的消息m时一般无需更新自己的公私密钥对。另外本文也充分利用了对称加密体制加密速度快、运行时占用资源少及公钥密码技术便于密钥交换的优点,因此基于身份密码体制的加密算法具有更高的计算效率。
小知识之密码体制
密码体制也叫密码系统,是指能完整地解决信息安全中的机密性、数据完整性、认证、身份识别、可控性及不可抵赖性等问题中的一个或几个的一个系统。对一个密码体制的正确描述,需要用数学方法清楚地描述其中的各种对象、参数、解决问题所使用的算法等。