【技术实现步骤摘要】
一种公钥认证可否认加密方法及系统
[0001]本专利技术属于信息加密
,尤其涉及一种公钥认证可否认加密方法及系统
技术介绍
[0002]AES和RSA等加密方案被广泛用于保护信息在公开信道上传输的机密性。尽管一般的加密方案可以为消息提供窃听攻击下的安全保障,然而在面对胁迫或贿赂攻击时却不再能保证消息的机密性。为此,Canetti等人提出了可否认加密(DE)原语,该原语允许通信参与方对传输的密文进行模棱两可。具体地说,在DE系统中,存在一个“伪造算法”,该算法允许发送方(接收方)能够在密文传输后生成假随机数(假私钥)。当通信各方被要求公开与传输密文相关的明文、发送方用于加密的随机数以及接收方持有的私钥时,他们将提供这些假随机数和假私钥,并利用它们将传输密文不可检测地打开为不同的明文,因此,DE使得胁迫和贿赂攻击变的无效。由于DE的独特优点,其得到了广泛的应用。例如,DE隐含着非承诺加密原语,它是自适应设置中构建安全多方计算协议的核心工具。此外,DE在各种现实场景中也非常有用,如电子选举、电子拍卖、情报工作、云存储服务等。 ...
【技术保护点】
【技术特征摘要】
1.一种公钥认证可否认加密方法,其特征在于,所述公钥认证可否认加密方法包括以下步骤:步骤一,可信权威生成系统公开参数和主私钥,公开系统公开参数,保存主私钥;步骤二,发送方和接收方将身份信息发送给可信权威分别请求生成加密密钥和解密密钥,可信权威用主私钥和公开参数分别生成加密密钥和解密密钥;步骤三,发送方输入公开参数、加密密钥、接收方身份信息以及消息,生成密文;步骤四,接收方输入公开参数、解密密钥、预期发送方身份信息以及密文,如果输入的预期发送方身份信息与密文的来源一致,恢复出消息,否则解密失败;步骤五,当发送方受到胁迫时,发送方输入公开参数、加密密钥、接收方身份信息、原始消息和随机数以及假消息,生成假随机数,用于将密文打开成假消息。2.如权利要求1所述公钥认证可否认加密方法,其特征在于,所述公钥认证可否认加密方法中的可信权威负责生成系统的公开参数和主私钥,以及发送方的加密密钥和接收方的解密密钥;一个具有身份id
s
和相应加密密钥ek
s
的发送方能够在加密消息的同时嵌入目标接收方的身份因此,这个密文同时包含发送方和接收方的身份;发送方还能生成假的但是看起来真实的随机数用于将这个密文打开成一个不同的消息;一个接收方将尝试解密一个密文;首先他选择一个预期的发送方,该发送方的身份为使用解密密钥dk
r
和去解密一个密文;如果预期发送方身份信息与密文的来源一致,恢复出消息,否则解密失败。3.如权利要求1所述公钥认证可否认加密方法,其特征在于,所述公钥认证可否认加密方法包括以下六个算法:(1)Setup(1
λ
,n)
→
(pp,msk):设置算法由可信权威执行,输入安全参数λ和一个参数输出公开参数pp和主私钥msk;(2)SGen(pp,msk,id
s
)
→
ek
s
:加密密钥生成算法由可信权威执行,对于任一发送方加密密钥的请求,该算法输入pp,msk和发送方的身份id
s
,输出身份id
s
的加密密钥ek
s
;然后将加密密钥ek
s
通过一个安全信道发送给加密密钥请求的发送方;(3)RGen(pp,msk,id
r
)
→
dk
r
:解密密钥生成算法由可信权威执行,对于任一接收方解密密钥的请求,该算法输入pp,msk和接收方的身份id
r
,输出身份id
r
的解密密钥dk
r
;然后将解密密钥dk
r
通过一个安全信道发送给解密密钥请求的接收方;(4)加密算法由发送方执行,输入pp,发送方加密密钥ek
s
,目标接收方的身份一个消息和一个随机数r,输出密文c;(5)或解密算法由接收方执行,输入pp,接收方解密密钥dk
r
,目标发送方的身份和密文c,输出明文m或一个错误符号(6)伪造算法由发送方执行,输入pp,发送方加密密钥ek
s
,目标接收方的身份原始消息和随机数r以及一个假消息输出伪造的随机数r
′
。4.如权利要求1所述公钥认证可否认加密方法,其特征在于,所述公钥认证可否认加密
方法还包括支持单比特加密的PKADE构造,采用半透明集范式实现可否认性;半透明集是全集的一个子集,且仅用公钥信息即可高效地从半透明集中采样伪随机元素;当与半透明集相关的私钥未知时,伪随机元素可以被声称为随机元素;当加密1时,采样k≡1mod2个伪随机元素;当加密0时,采样k≡0mod2个伪随机元素;当发送方被胁迫时,发送方能够通过声称一个伪随机元素为随机元素进而在两个方向伪造其消息,即从1到0或0到1;采用匹配加密的思想实现双向认证,所述匹配加密思想包括:在加密阶段,发送方能够指定消息接收方的身份同时嵌入他/她自己的身份;在解密阶段,接收方也能指定密文的来源,只有当双方的身份匹配成功时,消息才可被正确恢复;所述支持单比特加密的PKADE构造中发送方将生成包含通信参与方身份的伪随机元素;发送方使用由可信权威用主私钥和发送方身份生成的独一无二的加密密钥生成伪随机子密文或元素,同时嵌入消息接收方的身份;接收方使用与其身份相对应的解密密钥,并输入一个想要的密文源,即想要通信的发送方身份去解密一个密文;只有当接收方输入的两个身份和伪随机子密文中包含的两个身份同时匹配时,明文才能被恢复出来,否则将返回
⊥
;如果接收方能够从子密文中恢复出明文,则他/她确认发送方是由可信权威认证的发送方;如果接收方正确解密了伪随机子密文,在发送方看来,他/她一定是目标接收方,因为仅有目标接收方持有由可信权威对其身份发布的独一无二的解密密钥;关于消息空间的构造如下:(1)Setup(1
λ
,n):输入安全参数λ和一个偶数生成一个双线性群选取两个随机整数计算G=g
α
,选择三个抗碰撞的哈希函数和选择一个填充函数{0,1}
η
→
{0,1}
l
,其中l=η+λ+1,对于任意的γ∈{0,1}
η
,要求{0,1}
l
中的一个随机元素是有效填充的概率是可忽略的;最后输出公开参数和主私钥msk=(α,β);(2)SGen(pp,msk,id
s
):输入pp,msk和发送方的身份id
s
,算法输出一个加密密钥ek
s
=H
s
(id
s
)
β
;(3)RGen(pp,msk,id
r
):输入pp,msk和接收方的身份id
r
,算法输出一个解密密钥dk
r
=(dk
r,1
,dk
r,2
)=(H
r
(id
r
)
α
,H
r
(id
r
)
β
);(4)输入pp,ek
s
,目标接收方的身份消息和随机数r,该算法执行如下:随机选取k∈[n]满足k≡m mod 2,其中[n]表示集合{1,2,...,n};对于i∈[k],选取随机整数随机数γ
i
∈{0,1}
η
;对于i∈[n]\[k],随机选取C
i
∈{0,1}
l
;最后,令r=(k,{(u
i
,v
i
,γ
i
)}
i∈[k]
,{(U
i
,V
i
,C
i
)}
i∈[n]\[k]
);对于i∈[k],首先计算然后计算然后计算最后计算输出密文c=(c1,c2,...,c
n
),其中c
i
=(U
i
,V
i
,C
i
);(5)输入pp,dk
r
,目标发送方的身份和密文c,算法执行如下:将密文c解析为c1,c2,...,c
n
,进一步将c
i
解析为U
i
,V
i
,C
i
;
计算K
1,1
=e(dk
r,1
,V1),然后计算如果是一个有效填充,恢复出γ1,隐含着否则有算法停止;对于i∈[n]\{1},计算K
1,i
=e(dk
r,1
,V
i
),),从恢复γ
i
直到返回
⊥
,输出γ
i
中的最大指标i;令k=i,计算m=kmod 2,输出加密的消息m;(6)输入pp,ek
s
,目标接收方的身份原始消息和随机数r和一个假消息算法执行如下:如果m
′
=m,输出r
′
=r;令k
′
=k
‑
1,如果k=1,伪造失败算法停止;今{(u
′
i
,v
′
i
,γ
′
i
)}
i∈[k
′
]
={(u
i
,v
i
,γ
i
)}
i∈[k
′
]
;令计算和令令{(U
′
i
,V
′
i
,C
′
i
)}
i∈[n]\[k
′
+1
′
]
={(U
...
【专利技术属性】
技术研发人员:陈晓峰,曹艳梅,魏江宏,郝学轩,张方国,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。