CN111835516B - 一种公钥可否认加密方法及系统 - Google Patents
一种公钥可否认加密方法及系统 Download PDFInfo
- Publication number
- CN111835516B CN111835516B CN202010539354.9A CN202010539354A CN111835516B CN 111835516 B CN111835516 B CN 111835516B CN 202010539354 A CN202010539354 A CN 202010539354A CN 111835516 B CN111835516 B CN 111835516B
- Authority
- CN
- China
- Prior art keywords
- public key
- encryption
- ciphertext
- message
- pke
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于公钥加密技术领域,公开了一种公钥可否认加密方法及系统,包括:建立解密可控的公钥加密方案PKE‑CD方案,用于生成可解密和不可解密的密文,将可解密的密文否认成不可解密的密文;从函数族中随机选取一个函数f,用于将随机字符串映射成其某个比特1的位置;输入公钥,真实和伪造的消息以及随机数,调用函数f和PKE‑CD中的加密算法生成密文;输入私钥和密文,调用PKE‑CD中的解密算法,输出解密结果,调用函数f,输出真实传输的消息;当发送方受到胁迫时,输入公钥,真实的消息,加密的随机数和伪造的消息,调用函数f和PKE‑CD中的伪造算法,输出伪造的随机数,将其和伪造的消息一起发送给胁迫方。本发明支持一次多比特消息的加密,实现了δ(n)的可否认性。
Description
技术领域
本发明属于公钥加密技术领域,尤其涉及一种公钥可否认加密方法及系统。
背景技术
目前,在被动窃听敌手存在的场景中,加密技术可以保护通信数据的隐私。然而,在某些场景中,可能会存在胁迫问题,例如,假设Eve经常使用公钥加密方案传输一些机密消息,如果Eve不幸被捕,此时,Eve可能会受到威胁,要求其揭露被截获密文所对应的明文以及加密明文消息时使用的随机数。在这种情况发生时,有没有办法可以让Eve在不泄露真实传输消息的情况下遵守胁迫方的要求呢?1997年,Canetti等人提出了可否认加密技术,为上述问题提供了一个可行的解决方法。粗略地说,可否认加密允许发送方(或接收方或双方)通过伪造一个假的随机数(可能是加密时或密钥生成时所需的一些参数)不可察觉地将传输的密文打开成另一个消息。从上述描述可以看出,可否认加密具有一种有趣的特性,称为可否认性。可否认加密在一些场景中具有广泛的应用,如用于设计不可胁迫(或无收据)的选举方案、拍卖方案和密钥托管等,还可以用于构造通用的不可胁迫的多方计算协议和自适应安全多方协议。
在过去的二十年中,已经有一些关于可否认加密的工作。Canetti等人提出可否认加密概念的同时也描述了两种可否认加密的模型。一种称为完全可否认模型,在这个模型中,通信双方始终运行指定的算法,且当受到胁迫时,可以对其传输的消息进行否认。另一种是一个较弱的模型,称为多分布可否认模型,在这个模型中,通信双方运行备用的密钥生成算法和加密算法,事后,双方令人信服地声称他们使用指定的算法传输了不同的消息。Canetti等人在最初的工作中也给出了在不同模型中的可否认加密方案,其中完全可否认模型中的方案称为party方案,然而方案要实现高的可否认性密文扩展严重。Klonowski等人提高了Canetti等人多分布模型中可否认加密方案的可否认性,此外,他们还基于ElGamal加密给出了一个接收方接可否认加密方案,但此方案需要双方预先共享秘密信息。Ibrahim在多分布的可否认模型中基于二次剩余假设提出了单比特和多比特的发送方可否认加密方案。对于单比特加密的方案,可以看作是Canetti等人方案的具体实现。而对于多比特加密的方案而言,仅在加密几比特时是有效的,并且其伪造的消息可能没有意义。在之后的工作中,他基于Mediated RSA和不经意传输(OT)协议提出了一个接收方可否认加密方案。但由于Mediated PKI的局限性和OT协议的复杂性,使得方案在实用性和效率上是不切实际的。2011年,O’Neill等人在多分布的可否认模型中设计了第一个非交互的双方可否认加密,实现了可忽略的可否认性。Bendlin等人表明在完全可否认的模型中任何非交互的公钥接收方可否认(或双方否认)加密方案的可否认性不会比多项式的可否认性更好。Dürmuth等人在完全可否认的模型中提出了一种发送方可否认的加密方案,具有可忽略的可否认性,但该方案已被证明是不安全的。2014年,Sahai等人在完全可否认的模型中基于不可分区分混淆(iO)提出第一个具有可忽略的可否认性的发送方可否认加密方案。2018年,Canetti等人也利用iO在完全可否认的模型中构造了一个具有可忽略的可否认性的交互式双方可否认加密方案。但是,目前iO还没有一个高效实现方法,这意味着以上两个完全可否的加密方案仅具有理论意义。目前,一些已知的多分布可否认模型中的方案可以在实践中实施,但是它们中的备用算法可能会导致一些问题:如误用、怀疑和协商等。因此,为了获得更安全的保证,应使用完全可否认加密方案。但据我们所知,在完全可否认的模型中设计一个实用的公钥可否认加密方案仍然是一个有趣的挑战。
通过上述分析,现有技术存在的问题及缺陷为:在多分布的可否认模型中的一些方案可以在实践中实施,但模型中存在备用的加密算法和密钥生成算法可能会导致误用、怀疑和协商等问题。所以为了获得更安全的保证,应使用完全可否认模型中的方案,因为该模型中的方案总是运行指定的算法。然而,目前在完全可否认的模型中方案不具有实用性,具体来说,基于iO的构造,由于iO的复杂低效使得方案不能被实施;基于半透明集的构造,实现高的可否认性密文扩展严重。
解决以上问题及缺陷的难度为:在完全可否认的模型中设计实用的公钥可否认加密,难度在于实现强可否认性的同时降低密文长度。
解决以上问题及缺陷的意义为:可否认加密算法旨在在胁迫者存在的场景中保护传输数据的隐私,设计具有强可否认性低通信开销的方案,利用可否认加密在实践中实施。
发明内容
针对现有技术存在的问题,本发明在完全可否认的模型中提供了一种公钥可否认加密方法及系统。
本发明是这样实现的,一种公钥可否认加密方法,所述公钥可否认加密方法包括:
第一步,建立一个解密可控的公钥加密方案PKE-CD方案;
第四步,输入私钥SK和密文c,接收方调用PKE-CD方案中的Decrypt算法,输出解密结果,调用函数f,输出真实传输消息m;
进一步,所述公钥可否认加密方法中的PKE-CD方案包括以下四个算法:
KeyGen(1λ)是一个密钥生成算法,输入安全参数λ,输出公私密钥对(pk,sk)。
Encrypt(pk,m,d,r)是一个加密算法,输入公钥pk,消息m∈M,标签d∈{0,1}和随机数r∈Ωd,输出密文c。
Decrypt(sk,c)是一个确定的解密算法,输入私钥sk和密文c,如果d=1输出消息m,否则输出⊥。
Fake(pk,m,r,m′)是一个伪造算法,输入公钥pk,真实传输的消息m,随机数r∈Ω1和伪造的消息m′∈M,输出r″←Fake(pk,m,r,m′),其中r″属于Ω0且满足Encrypt(pk,m′,0,r″)=Encrypt(pk,m,1,r)
随机选取e=(en,en-1,...,e1)∈Xn,计算k=f(e);
令e″=(en,en-1,...,ek+1,0,ek-1,...,e1),计算k″=f(e″);
当i=k,i=k″时,令mk←m,mk″←m′,随机选取rk,rk″∈Ω1,生成ck←Encrypt(pk,mk,1,rk)和ck″←Encrypt(pk,mk″,1,rk″);当1≤i≤n,i≠k,i≠k″时,随机选取mi∈M,生成ci←Encrypt(pk,mi,ei,ri);最终输出c=(cn,cn-1,...,c1)。
进一步,所述公钥可否认加密方法的Dec(SK,c):输入私钥SK和密文c,算法Dec运行如下:
将密文c解析为cn,cn-1,...,c1,运行算法Decrypt解密每一个子密文ci,其中1≤i≤n。如果ci是可解密的密文,输出mi并将其位置i标记为1,否则输出⊥并将位置i标记为0。
从上一步的结论中接收方获得e=(en,en-1,...,e1),计算k=f(e),获得真实传输的消息m=mk。
令e″=(en,en-1,...,ek+1,0,ek-1,...,e1),计算k″=f(e″);
随机选取m″k∈M,生成r″k←Fake(pk,m,rk,m′k′);
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
第一步,建立一个解密可控的公钥加密方案PKE-CD方案;
第四步,输入私钥SK和密文c,接收方调用PKE-CD方案中的Decrypt算法,输出解密结果,调用函数f,输出真实传输消息m;
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
建立一个解密可控的公钥加密方案PKE-CD方案;
输入私钥SK和密文c,接收方调用PKE-CD方案中的Decrypt算法,输出解密结果,调用函数f,输出真实传输消息m;
本发明的另一目的在于提供一种实施所述公钥可否认加密方法的公钥可否认加密系统,所述公钥可否认加密系统包括:
PKE-CD加密模块,用于生成可解密或不可解密的密文;
PKE-CD解密模块,用于解密密文,对可解密密文输出其对应的加密消息,对不可解密的密文输出⊥;
PKE-CD伪造模块,用于将可解密的密文否认成一个不可解密的密文;
函数f计算模块,用于将随机字符串映射成其某个比特1的位置;
可否认加密模块,输入公钥、真实和伪造的消息以及随机数,调用函数f计算模块和PKE-CD加密模块,输出密文;
可否认解密模块,输入私钥和密文,调用PKE-CD解密模块,输出解密结果,调用函数f计算模块,输出真实传输的消息;
可否认伪造模块,输入公钥,真实传输的消息和加密时用的随机数,以及伪造的消息,调用函数f计算模块和PKE-CD伪造模块,输出伪造的随机数。
本发明的另一目的在于提供一种通信数据隐私保护终端,所述通信数据隐私保护终端搭载所述的公钥可否认加密系统。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明首先提出了一个解密可控的公钥加密方案PKE-CD方案,该方案可以生成可解密和不可解密两种密文,同时支持将可解密的密文否认成不可解密的密文。其次定义了一个函数族,集合中的函数可以将一个随机字符串映射成字符串中某个比特1的位置。接着采用上述的方案和函数,在完全可否认的模型中构造了一个公钥发送方可否认加密方案,该方案支持一次对多比特消息进行加密,实现了δ(n)的可否认性,此外,与party方案对比,具有更强的可否认性,且加密相同长度的消息时需要更少的通信开销。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的公钥可否认加密方法流程图。
图2是本发明实施例提供的公钥可否认加密系统的结构示意图;
图中:1、PKE-CD加密模块;2、PKE-CD解密模块;3、PKE-CD伪造模块;4、函数f计算模块;5、可否认加密模块;6、可否认解密模块;7、可否认伪造模块。
图3是本发明实施例提供的公钥可否认加密方案与party方案的效率对比表格。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种公钥可否认加密方法及系统,下面结合附图对本发明作详细的描述。
如图1所示,本发明提供的公钥可否认加密方法包括以下步骤:
S101:建立一个解密可控的公钥加密方案PKE-CD方案;
S104:输入私钥SK和密文c,接收方调用PKE-CD方案中的Decrypt算法,输出解密结果,调用函数f,输出真实传输消息m;
本发明提供的公钥可否认加密方业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的公钥可否认加密方法仅仅是一个具体实施例而已。
如图2所示,本发明提供的公钥可否认加密系统包括:
PKE-CD加密模块1,用于生成可解密或不可解密的密文;
PKE-CD解密模块2,用于解密密文,对可解密密文输出其对应的加密消息,对不可解密的密文输出⊥;
PKE-CD伪造模块3,用于将可解密的密文否认成一个不可解密的密文;
函数f计算模块4,用于将随机字符串映射成其某个比特1的位置;
可否认加密模块5,输入公钥、真实和伪造的消息以及随机数,调用函数f计算模块4和PKE-CD加密模块1,输出密文;
可否认解密模块,输入私钥和密文,调用PKE-CD解密模块2,输出解密结果,调用函数f计算模块4,输出真实传输的消息;
可否认伪造模块,输入公钥,真实传输的消息,加密时用的随机数和伪造的消息,调用函数f计算模块4和PKE-CD伪造模块3,输出伪造的随机数。
下面结合附图对本发明的技术方案作进一步的描述。
本发明支持一次可以对多比特消息进行加密,同时支持δ(n)的可否认性。首先提出了一个解密可控的公钥加密方案PKE-CD方案,该方案可以生成可解密和不可解密两种密文,同时支持将可解密的密文否认成不可解密的密文。其次定义了一个函数族,集合中的函数f可以将一个随机字符串映射成字符串中某个比特1的位置。采用上述提到的方案和函数f,在完全可否认的模型中构造了一个公钥发送方可否认加密方案,加密时,发送方输入公钥,真实和伪造的消息以及随机数,调用函数f和PKE-CD中的加密算法生成密文;解密时,接收方输入私钥和密文,调用PKE-CD中的解密算法,输出解密结果,接着调用函数f,输出真实传输消息的位置,进而输出真实传输的消息;当发送方受到胁迫时,发送方输入公钥,真实传输的消息,加密时用的随机数和伪造的消息,调用函数f和PKE-CD方案中的伪造算法,输出伪造的随机数,发送方揭露伪造的消息和伪造的随机数给胁迫方,胁迫方根据揭露的信息将伪造的消息识别成真实传输的消息,从而实现了真实传输消息的隐私保护。本发明与party方案相比,具有更强的可否认性,且加密相同长度的消息需要更少的通信开销。
1、预备知识,介绍了一些符号、密码学假设,回顾了公钥δ(n)-发送方可否认加密方案及其安全性要求。
1.1符号
{0,1}n表示所有n长的字符串构成的集合,PPT表示概率多项式时间,表示群,表示群的阶为N,表示群是群的子群。为了简便,分别用g·h和gx表示群中的乘法运算g·hmodN和指数运算gxmodφ(N)。x←y表示将y值赋值给x,x←X表示从集合X中随机选取一个元素x,y←A(x)表示输入x,算法A输出y。
在描述公钥δ(n)-发送方可否认加密之前,首先回顾下δ(n)-接近的概念。
定义1:(δ(n)-接近的),令和是两个概率分布集合,令本发明称分布X和Y是δ(n)-接近的,如果对于任一多项式时间的区分器D和所有足够大的n有|Pr(D(Xn)=1)-Pr(D(Yn)=1)|<δ(n)。
如果δ(n)是可忽略的,本发明称分布X和Y是计算上不可区分的。
1.2公钥δ(n)-发送方可否认加密
Canetti等人给出了δ(n)-发送方可否认加密的一般定义如下。
定义2:(公钥δ(n)-发送方可否认加密),一个公钥δ(n)-发送方可否认加密是一个4元组的多项式时间算法(Gen,Enc,Dec,Fake),描述如下:
Gen是一个密钥生成算法,输入安全参数n,输出公私密钥对(pk,sk)。
Enc是一个加密算法,输入公钥pk,真实传输的消息m∈M和随机数r,输出密文c。
Dec是一个解密算法,输入私钥sk和密文c,输出消息m。
Fake是一个有效的伪造算法,输入公钥pk,真实传输的消息m∈M,随机数r和伪造的消息m′∈M,输出r″←Fake(pk,m,r,m′),r″满足Enc(pk,m′,r″)=Enc(pk,m,r)。
一个公钥δ(n)-发送方可否认加密需要满足下列的性质。
正确性:接收方的输出不同于发送方的输入的概率是可忽略的。
安全性:对于任意的m0,m1∈M,传输m0和传输m1的通讯是计算上不可区分的。
可否认性:对于任意的m,m′∈M,随机数r,r′,令c←Enc(pk,m,r),r″←Fake(pk,m,r,m′),对于仅有公钥pk的PPT区分器而言,随机变量(m′,r″,c)和(m′,r′,Enc(pk,m′,r′))是δ(n)-接近的。
注意当发送方在加密的同时选择了伪造的消息m′,我们称这种方案为提前计划的可否认加密方案。
1.3困难假设
本发明描述了两个困难假设:子群成员问题假设和一比特翻转分布假设。
定义4:(一比特翻转分布假设),对于任意的字符串e=(en,en-1,...,e1)∈{0,1}n,定义一个函数族选取一个随机定义Xn={e|e∈{0,1}n},Yn(f)={e′|e′=(en,...,ef(e)+1,0,ef(e)-1,...,e1)∈{0,1}n,e←Xn\{0n}};分布和是δ(n)-接近的,这里的δ(n)是一个无穷小量。
这个假设表明,当n足够大时,在一个随机的n长字符串中,仅随机的将某位比特1修改成0不会影响其随机性。
在这里本发明给出上述函数f的一种实现方法。首先,令x是一个n长的字符串,将x中比特的位置从右开始标记为1,2,...,n,用Γ(x,i)来表示x中从右边数第i个1的位置,例如,Γ(11001,2)=4,表示11001中第2个1的位置为4。然后,随机选取一个伪随机函数定义f(x)=Γ(x,G(x)mod‖x‖),其中‖x‖是字符串x的汉明权重。易验证f(x)是PPT可计算的。
2、解密可控的公钥加密
本发明提出了解密可控的公钥加密(PKE-CD),其中密文能否解密取决于发送方的决定。此外,本发明还阐述了该加密的安全性需求,并给出了一个具体的方案。
2.1形式化定义
定义5:(PKE-CD),解密可控的公钥加密方案Π=(KeyGen,Encrypt,Decrypt,Fake)是一个4元组的多项式时间算法,定义如下:
KeyGen(1λ)是一个密钥生成算法,输入安全参数λ,输出公私密钥对(pk,sk)。
Encrypt(pk,m,d,r)是一个加密算法,输入公钥pk,消息m∈M,标签d∈{0,1}和随机数r∈Ωd,输出密文c。
Decrypt(sk,c)是一个确定的解密算法,输入私钥sk和密文c,如果d=1输出消息m,否则输出⊥。
Fake(pk,m,r,m′)是一个伪造算法,输入公钥pk,真实传输的消息m,随机数r∈Ω1和伪造的消息m′∈M,输出r″←Fake(pk,m,r,m′),其中r″属于Ω0且满足Encrypt(pk,m′,0,r″)=Encrypt(pk,m,1,r)。
2.2安全性需求
PKE-CD必须满足三个安全需求:正确性、语义安全和半可否认性。现在给出形式化的定义。
定义6:(正确性),如果对于可解密的密文来说,接收方的输出与发送方的输入不同的概率是可忽略的,且不可解密的密文被解密的概率是可忽略的,本发明称PKE-CD方案是正确的。
语义安全游戏,本发明将语义安全游戏描述为敌手和挑战者之间的多阶段游戏:
半可否认性游戏,本发明将半可否认性游戏描述为敌手和挑战者之间的多阶段游戏:
Challenge,输出两个不同的消息m,m′∈M,挑战者抛硬币b∈{0,1}。如果b=0,随机选取r′∈Ω0,生成c′←Encrypt(pk,m′,0,r′),返回(m′,r′,c′)给敌手如果b=1,随机选取r∈Ω1,生成c←Encrypt(pk,m,1,r),r″←Fake(pk,m,r,m′),返回(m′,r″,c)给敌手
Guess,根据分布X={(m′,r′,Encrypt(pk,m′,0,r′))|r′∈Ω0}和分布Y={(m′,r″,Encrypt(pk,m,1,r))|r∈Ω1,r″←Fake(pk,m,r,m′)},输出猜测b′∈{0,1}。
如果上述两个分布X和Y是ε(λ)-接近的,那么本发明称PKE-CD方案是ε(λ)-半可否认的。
2.3一个具体的PKE-CD方案
本发明基于子群成员问题假设给出了一个具体的PKE-CD方案。
KeyGen(1λ):输入安全参数λ,随机选择两个等长的不同奇素数p和q满足P=2N+1也是一个素数,其中N=pq,令是一个N阶的乘法群,选取群的一个随机生成元g,计算h=gq,定义易知是的一个p阶子群,算法KeyGen输出公钥和私钥sk=(p,q);
Encrypt(pk,m,d,R):输入公钥pk,消息m∈M={0,1,2,...,T}(集合M是一个整数集),标签d∈{0,1}和随机数R,生成密文c=gmR;
Decrypt(sk,c):输入私钥sk和密文c,计算g′=gp,c′=cp;
1.可解密的:给定c′=cp=(gmhr)p=gpmgqrp=(gp)m=g′m,计算c′关于g′的离散对数,因为0≤m≤T,所以在O(T)时间内可以用穷举搜索方法找到m或者在时间内用Pollard’s lambda方法找到m;
Fake(pk,m,r,m′):输入公钥pk,真实传输的消息m,随机数r∈Ω1和伪造的消息m′,输出伪造的随机数R″=gmhr/gm′∈Ω0,之后,发送方可以声称c是由c=gm′R″构造的不可解密的密文。
3、新的公钥发送方可否认加密方案
本发明基于PKE-CD方案和一比特翻转分布假设提出了一种公钥发送方可否认加密方案,然后给出了一个具体的实例。
3.1方案
随机选取e=(en,en-1,...,e1)∈Xn,计算k=f(e);
令e″=(en,en-1,...,ek+1,0,ek-1,...,e1),计算k″=f(e″);
当i=k,i=k″时,令mk←m,mk″←m′,随机选取rk,rk″∈Ω1,生成ck←Encrypt(pk,mk,1,rk)和ck″←Encrypt(pk,mk″,1,rk″),当1≤i≤n,i≠k,i≠k″时,随机选取mi∈M,生成ci←Encrypt(pk,mi,ei,ri);最终输出c=(cn,cn-1,...,c1)。
Dec(SK,c):输入私钥SK和密文c,算法Dec运行如下:
将密文c解析为cn,cn-1,...,c1,运行算法Decrypt解密每一个子密文ci,其中1≤i≤n。如果ci是可解密的密文,输出mi并将其位置i标记为1,否则输出⊥并将位置i标记为0。
从上一步的结论中接收方获得e=(en,en-1,...,e1),计算k=f(e),获得真实传输的消息m=mk。
令e″=(en,en-1,...,ek+1,0,ek-1,...,e1),计算k″=f(e″);
随机选取m″k∈M,生成r″k←Fake(pk,m,rk,m′k′);
3.2一个实例
基于2.3中描述的具体的PKE-CD方案给出了本发明发送方可否认加密的一个具体实例。
Gen(1n):输入安全参数n=10,运行算法KeyGen(1λ)生成随机选择输出公钥PK=(pk,f,n=10)和私钥SK=sk,其中f的执行算法参见1.3。注意,将n设置为10,在实际应用中太小,但此处仅通过给出一个简单的例子来描述本发明的方案。此外,本发明假设f(1010110110)=Γ(1010110110,3)=5,f(1010100110)=Γ(1010100110,4)=8。
随机选取e=(e10,e9,...,e1)∈X10,例如e=(1010110110),计算f(1010110110)=5。
令e″=(1010100110),计算f(1010100110)=8。
Dec(SK,c):输入私钥SK和密文c,算法Dec运行如下:
将密文c解析为c10,c9,...,c1,运行算法Decrypt解密每一个子密文ci,其中1≤i≤10。输出(m10,1),(⊥,0),(m8,1),(⊥,0),(m6,1),(m5,1),(⊥,0),(m3,1),(m2,1),(⊥,0)。
从上一步的结论中接收方获得e=(1010110110),计算f(1010110110)=5,获得真实传输的消息m=m5。
令e″=(1010100110),计算f(1010100110)=8。
上述方案中存在两种打开加密的方式,如下:
诚实打开加密:发送方输出
(m10,r10),(m9,R9),(m8,r8),(m7,R7),(m6,r6),
(m5,r5),(m4,R4),(m3,r3),(m2,r2),(m1,R1),
声称传输的消息是m=m5。
不诚实打开加密:发送方输出:
(m10,r10),(m9,R9),(m8,r8),(m7,R7),(m6,r6),
(m″5,R″5),(m4,R4),(m3,r3),(m2,r2),(m1,R1),
当发送方受到胁迫时,他将不诚实的打开加密。
下面结合效率分析对本发明的技术效果作详细的描述。
本发明给出了新的公钥发送方可否认加密方案的效率分析。在已知的完全可否认加密方案中,Dürmuth等人的方案被证明是不安全,分别于2014年和2018年Sahai等人和Canetti等人基于不可区分混淆提出的方案仅仅是理论上的构造。从安全性和可实施性的角度出发,本发明仅与party方案进行了比较。首先本发明假设|m|表示多比特的消息(一般来说,|m|可以取到40),假设PKE-CD方案中的密文长度和party方案中-element(或-element)中元素的长度是一样的,用τ表示(例如,τ=2048)。此外,本发明建议n的取值至少应大于500。表格1给出了两个方案的详细比较。
表1效率比较
方案 | 消息长度 | 密文长度 | 可否认性 |
party方案 | 1比特 | nτ | 4/n |
本发明的方案 | |m|比特 | nτ | δ(n) |
与party方案相比,本发明提出的方案具有更高的效率和更强的可否性。具体来说,本发明的方案一次可以加密|m|比特消息,实现了δ(n)的可否认性,这里δ(n)远小于1/n,当两个方案同时加密|m|长的消息时,本发明将密文长度降低到nτ长。此外,从PKE-CD方案的实现中采样一个随机元素的速度比从party方案的半透明集更快。但是,本发明注意到party方案是一个通用的构造,它可以使用任意的半透明集。在这个意义上,如果party方案使用PKE-CD方案作为半透明集,则两个方案的计算开销是可以比较的。本发明也注意到party方案不是一个提前类型的可否认加密,但party方案一次仅可以加密一比特的消息,因此,一旦加密消息固定,那么其伪造的消息也就被固定了,所以从这个意义上来讲,两个方案都是提前类型的可否认加密,所以上述的比较是合理的。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (5)
1.一种公钥可否认加密方法,其特征在于,所述公钥可否认加密方法包括:
建立一个解密可控的公钥加密方案PKE-CD方案;
输入私钥SK和密文c,接收方调用PKE-CD方案中的Decrypt算法,输出解密结果,调用函数f,输出真实传输消息m;
所述公钥可否认加密方法的PKE-CD方案包括以下四个算法:
KeyGen(1λ)是一个密钥生成算法,输入安全参数λ,输出公私密钥对(pk,sk);
Encrypt(pk,m,d,r)是一个加密算法,输入公钥pk,消息m∈M,标签d∈{0,1}和随机数r∈Ωd,输出密文c;
Decrypt(sk,c)是一个确定的解密算法,输入私钥sk和密文c,如果d=1输出消息m,否则输出⊥;
Fake(pk,m,r,m′)是一个伪造算法,输入公钥pk,真实传输的消息m,随机数r∈Ω1和伪造的消息m′∈M,输出r″←Fake(pk,m,r,m′),其中r″属于Ω0且满足Encrypt(pk,m′,0,r″)=Encrypt(pk,m,1,r);
对于任意的字符串e=(en,en-1,...,e1)∈{0,1}n,定义函数族选取一个随机定义Xn={e|e∈{0,1}n},Yn(f)={e′|e′=(en,...,ef(e)+1,0,ef(e)-1,...,e1)∈{0,1}n,e←Xn\{0n}};
随机选取e=(en,en-1,...,e1)∈Xn,计算k=f(e);
令e″=(en,en-1,...,ek+1,0,ek-1,...,e1),计算k″=f(e″);
当i=k,i=k″时,令mk←m,mk″←m′,随机选取rk,rk″∈Ω1,生成ck←Encrypt(pk,mk,1,rk)和ck″←Encrypt(pk,mk″,1,rk″);当1≤i≤n,i≠k,i≠k″时,随机选取mi∈M,生成ci←Encrypt(pk,mi,ei,ri);最终输出c=(cn,cn-1,...,c1);
所述公钥可否认加密方法的Dec(SK,c):输入私钥SK和密文c,算法Dec运行如下:
将密文c解析为cn,cn-1,...,c1,运行算法Decrypt解密每一个子密文ci,其中1≤i≤n;如果ci是可解密的密文,输出mi并将其位置i标记为1,否则输出⊥并将位置i标记为0;
从上一步的结论中接收方获得e=(en,en-1,...,e1),计算k=f(e),获得真实传输的消息m=mk;
令e″=(en,en-1,...,ek+1,0,ek-1,...,e1),计算k″=f(e″);
随机选取m″k∈M,生成r″k←Fake(pk,m,rk,m″k);
2.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1所述公钥可否认加密方法的步骤。
3.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1所述公钥可否认加密方法的步骤。
4.一种实施权利要求1所述公钥可否认加密方法的公钥可否认加密系统,其特征在于,所述公钥可否认加密系统包括:
PKE-CD加密模块,用于生成可解密或不可解密的密文;
PKE-CD解密模块,用于解密密文,对可解密密文输出其对应的加密消息,对不可解密的密文输出⊥;
PKE-CD伪造模块,用于将可解密的密文否认成一个不可解密的密文;
函数f计算模块,用于将随机字符串映射成其某个比特1的位置;
可否认加密模块,输入公钥、真实和伪造的消息以及随机数,调用函数f计算模块和PKE-CD加密模块,输出密文;
可否认解密模块,输入私钥和密文,调用PKE-CD解密模块,输出解密结果,调用函数f计算模块,输出真实传输的消息;
可否认伪造模块,输入公钥,真实传输的消息,加密时用的随机数和伪造的消息,调用函数f计算模块和PKE-CD伪造模块,输出伪造的随机数。
5.一种通信数据隐私保护终端,其特征在于,所述通信数据隐私保护终端搭载权利要求4所述的公钥可否认加密系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010539354.9A CN111835516B (zh) | 2020-06-14 | 2020-06-14 | 一种公钥可否认加密方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010539354.9A CN111835516B (zh) | 2020-06-14 | 2020-06-14 | 一种公钥可否认加密方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111835516A CN111835516A (zh) | 2020-10-27 |
CN111835516B true CN111835516B (zh) | 2021-11-23 |
Family
ID=72898644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010539354.9A Active CN111835516B (zh) | 2020-06-14 | 2020-06-14 | 一种公钥可否认加密方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111835516B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259107B (zh) * | 2021-06-22 | 2022-06-21 | 西安工程大学 | 一种基于格的双模式加密方法 |
CN114189329B (zh) * | 2021-11-05 | 2022-12-09 | 西安电子科技大学 | 一种公钥认证可否认加密方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562524B (zh) * | 2009-05-31 | 2011-08-03 | 河海大学 | 一种基于身份的数字签名方法 |
US8627084B1 (en) * | 2003-04-04 | 2014-01-07 | Voltage Security, Inc. | Secure messaging systems |
CN103297227B (zh) * | 2013-07-02 | 2016-03-23 | 西安电子科技大学 | 支持灵活且直接撤销的密文策略下基于属性的加密 |
CN106549753A (zh) * | 2016-10-18 | 2017-03-29 | 电子科技大学 | 一种基于身份的支持密文比较的加密方案 |
CN108737383A (zh) * | 2018-04-23 | 2018-11-02 | 同济大学 | 一种可混淆的匿名认证方法 |
CN109039607A (zh) * | 2018-08-23 | 2018-12-18 | 淮北师范大学 | 一种秘钥协商协议的安全性分析方法 |
CN110147681A (zh) * | 2019-04-02 | 2019-08-20 | 西安电子科技大学 | 一种支持灵活访问控制的隐私保护大数据处理方法及系统 |
CN110650032A (zh) * | 2018-06-27 | 2020-01-03 | 复旦大学 | 一种构建多云环境下基于QoS的应用优化部署方案的方法 |
US10671742B2 (en) * | 2016-11-18 | 2020-06-02 | Duncan MacDougall Greatwood | Sharing an object using the scattered storage system with high-entropy credentials |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10148422B2 (en) * | 2011-06-10 | 2018-12-04 | Certicom Corp. | Implicitly certified public keys |
CN109309561A (zh) * | 2018-09-12 | 2019-02-05 | 电子科技大学 | 一种通用的构造可区分不可延展公钥加密体制的方法 |
-
2020
- 2020-06-14 CN CN202010539354.9A patent/CN111835516B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8627084B1 (en) * | 2003-04-04 | 2014-01-07 | Voltage Security, Inc. | Secure messaging systems |
CN101562524B (zh) * | 2009-05-31 | 2011-08-03 | 河海大学 | 一种基于身份的数字签名方法 |
CN103297227B (zh) * | 2013-07-02 | 2016-03-23 | 西安电子科技大学 | 支持灵活且直接撤销的密文策略下基于属性的加密 |
CN106549753A (zh) * | 2016-10-18 | 2017-03-29 | 电子科技大学 | 一种基于身份的支持密文比较的加密方案 |
US10671742B2 (en) * | 2016-11-18 | 2020-06-02 | Duncan MacDougall Greatwood | Sharing an object using the scattered storage system with high-entropy credentials |
CN108737383A (zh) * | 2018-04-23 | 2018-11-02 | 同济大学 | 一种可混淆的匿名认证方法 |
CN110650032A (zh) * | 2018-06-27 | 2020-01-03 | 复旦大学 | 一种构建多云环境下基于QoS的应用优化部署方案的方法 |
CN109039607A (zh) * | 2018-08-23 | 2018-12-18 | 淮北师范大学 | 一种秘钥协商协议的安全性分析方法 |
CN110147681A (zh) * | 2019-04-02 | 2019-08-20 | 西安电子科技大学 | 一种支持灵活访问控制的隐私保护大数据处理方法及系统 |
Non-Patent Citations (3)
Title |
---|
Adaptively Secure Two-Party Computation from Indistinguishability Obfuscation;Ran Canetti ect.;《International Association for Cryptologic Research 2015》;20151231;全文 * |
Deniable Encryption;Ran Canetti ect.;《Annual International Cryptology Cinference》;20060517;全文 * |
Practical Deniable Encryption;Marek Klonowski ect.;《Springer-Verlag Berlin Heidelberg 2008》;20081231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111835516A (zh) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Diffie et al. | New directions in cryptography | |
US12101415B2 (en) | Method of RSA signature or decryption protected using a homomorphic encryption | |
EP1050133B2 (en) | Leak-resistant cryptographic method and apparatus | |
US8654975B2 (en) | Joint encryption of data | |
CA2819211C (en) | Data encryption | |
CN111835516B (zh) | 一种公钥可否认加密方法及系统 | |
Bellare et al. | Nonce-based cryptography: retaining security when randomness fails | |
Agrawal et al. | RCB: leakage-resilient authenticated encryption via re-keying | |
Peris-Lopez et al. | Security flaws in a recent ultralightweight RFID protocol | |
Avestro et al. | Hybrid Algorithm Combining Modified Diffie Hellman and RSA | |
Zhan et al. | Improved proxy re-encryption with delegatable verifiability | |
Purevjav et al. | Email encryption using hybrid cryptosystem based on Android | |
Prakash et al. | Digital Signatures and El Gamal Scheme Integration for Secure Data Transmission in Digital Transaction Survey | |
Glet et al. | Secret sharing scheme for creating multiple secure storage dimensions for mobile applications. | |
CN114189329B (zh) | 一种公钥认证可否认加密方法及系统 | |
Preneel | An introduction to modern cryptology | |
Yoneyama et al. | Leaky random oracle | |
Toussaint | Separating the specification and implementation phases in cryptology | |
CN116074013B (zh) | 一种抗后门攻击的公钥可搜索加密方法 | |
Sugauchi et al. | Fully Subliminal-Free Schnorr Signature for Nonce | |
Das | A hybrid algorithm for secure cloud computing | |
Van Der Merwe et al. | Security in banking | |
Diffie et al. | 6. New Directions in | |
Van Der Merwe et al. | TR-31 and AS 2805 (Non) equivalence report | |
Diffie | New Directions in Cryptography Whitfield Diffie (Member, IEEE), Martin E. Hellman (Member, IEEE) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |