CN117155570B - 密文置换方法、存储介质及电子设备 - Google Patents

密文置换方法、存储介质及电子设备 Download PDF

Info

Publication number
CN117155570B
CN117155570B CN202311413505.6A CN202311413505A CN117155570B CN 117155570 B CN117155570 B CN 117155570B CN 202311413505 A CN202311413505 A CN 202311413505A CN 117155570 B CN117155570 B CN 117155570B
Authority
CN
China
Prior art keywords
ciphertext
polynomial
equation
private
data
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
Application number
CN202311413505.6A
Other languages
English (en)
Other versions
CN117155570A (zh
Inventor
俞海清
张舒畅
宋英齐
胡益榕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Tianrun Foundation Technology Development Co ltd
Original Assignee
Beijing Tianrun Foundation Technology Development Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Tianrun Foundation Technology Development Co ltd filed Critical Beijing Tianrun Foundation Technology Development Co ltd
Priority to CN202311413505.6A priority Critical patent/CN117155570B/zh
Publication of CN117155570A publication Critical patent/CN117155570A/zh
Application granted granted Critical
Publication of CN117155570B publication Critical patent/CN117155570B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public 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
    • H04L9/3026Public 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 details relating to polynomials generation, e.g. generation of irreducible polynomials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Abstract

本申请提供了一种密文置换方法、存储介质及电子设备,涉及信息安全技术领域。该密文置换方法包括:生成目标数据对应的第一密文和第二密文各自的第一方程和第二方程;基于第一方程和第二方程,生成第一方程对应的第一多项式约束、以及第二方程对应的第二多项式约束;生成第一多项式约束中的多个私有多项式对应的第一承诺、以及第二多项式约束中的多个私有多项式对应的第二承诺;对第一承诺和第二承诺进行区域证明,生成第一证明文件,并将第一证明文件发送至验证端,以便验证端对数据密文的加密正确性进行验证。本申请可让验证端在密文状态下验证目标数据加密的正确性以及目标数据的范围大小,解决了外包计算中的信任问题。

Description

密文置换方法、存储介质及电子设备
技术领域
本申请涉及信息安全技术领域,具体涉及一种密文置换方法、存储介质及电子设备。
背景技术
数据持有方对待加密消息进行加密后,将加密结果发送至第三方计算平台进行计算。对于第三方计算平台而言,其无法根据加密结果获取关于待加密消息的任何消息,这使得第三方计算平台无法检测待加密消息是否在规定的合理范围内,并且,无法验证加密结果的正确性。
发明内容
有鉴于此,本申请实施例提供了一种密文置换方法、存储介质及电子设备。
第一方面,本申请一实施例提供了一种密文置换方法,应用于数据加密端。该方法包括:生成目标数据对应的第一密文的第一方程、以及目标数据对应的第二密文的第二方程,第一密文和第二密文共同组成目标数据对应的数据密文;基于第一方程和第二方程,生成第一方程对应的关于多个私有多项式的第一多项式约束、以及第二方程对应的关于多个私有多项式的第二多项式约束;生成第一多项式约束中的多个私有多项式对应的第一承诺、以及第二多项式约束中的多个私有多项式对应的第二承诺;对第一承诺和第二承诺进行区域证明,生成第一证明文件,并将第一证明文件发送至验证端,以便验证端对数据密文的加密正确性进行验证。
结合第一方面,在第一方面的某些实现方式中,生成目标数据对应的第一密文的第一方程、以及目标数据对应的第二密文的第二方程,包括:获取数据解密端生成的安全参数、以及数据解密端基于安全参数生成的目标公钥,其中,目标公钥包括第一多项式向量和第二多项式向量;基于安全参数,生成第一私有多项式向量、第二私有多项式向量、私有多项式、以及基于目标数据生成的目标多项式;基于第一多项式向量、第一私有多项式向量和第二私有多项式向量,生成第一密文对应的第一方程,第一方程用于证明第一密文所属的数据加密端的身份信息;基于第二多项式向量、私有多项式和目标多项式,生成第二密文对应的第二方程,第二方程用于证明第二密文与目标数据的相关性。
结合第一方面,在第一方面的某些实现方式中,第一方程包括:
第二方程包括:
其中,表示第一多项式向量;/>表示第二多项式向量;/>,/>为素数;/>表示第一私有向量;/>表示第二私有向量;/>表示私有多项式;/>表示目标多项式;/>表示第一密文;/>表示第二密文。
结合第一方面,在第一方面的某些实现方式中,密文置换方法还包括:对第一承诺和第二承诺进行内积证明,生成第二证明文件,并将第二证明文件发送至验证端。
第二方面,本申请一实施例提供了一种密文置换方法,应用于数据解密端。该方法包括:获取数据加密端基于目标数据生成的第一密文和第二密文,第一密文和第二密文共同组成目标数据对应的数据密文;基于第一密文和第二密文,生成目标数据的解密值;生成用于证明数据解密端的身份信息的第一方程;基于解密值、第一密文和第二密文,生成用于证明解密值的正确性的第二方程;基于第一方程和第二方程,生成第一方程对应的关于多个私有多项式的第一多项式约束、以及第二方程对应的关于多个私有多项式的第二多项式约束;生成第一多项式约束中的多个私有多项式对应的第一承诺、以及第二多项式约束中的多个私有多项式对应的第二承诺;对第一承诺和第二承诺进行区域证明,生成第一证明文件,并将第一证明文件发送至验证端,以便验证端对第一密文和第二密文的解密正确性进行验证。
结合第二方面,在第一方面的某些实现方式中,生成用于证明数据解密端的身份信息的第一方程,包括:确定数据解密端生成的安全参数;利用数据解密端生成的目标私钥、数据解密端发送至加密端的目标公钥和安全参数的相关关系,构建用于证明数据解密端的身份信息的第一方程。
结合第二方面,在第一方面的某些实现方式中,第二方程包括:
其中,表示第一密文;/>表示目标私钥;/>,其中,/>表示随机多项式向量,/>表示第一私有向量,/>表示第二私有向量;/>表示私有多项式;/>,/>为素数;/>表示目标数据转化后得到的目标多项式;/>表示第二密文。
结合第二方面,在第一方面的某些实现方式中,密文置换方法还包括:对第一承诺和第二承诺进行内积证明,生成第二证明文件,并将第二证明文件发送至验证端。
第三方面,本申请一实施例提供了一种密文置换装置,应用于数据加密端。该装置包括:第一生成模块,用于生成目标数据对应的第一密文的第一方程、以及目标数据对应的第二密文的第二方程,第一密文和第二密文共同组成目标数据对应的数据密文;第二生成模块,用于基于第一方程和第二方程,生成第一方程对应的关于多个私有多项式的第一多项式约束、以及第二方程对应的关于多个私有多项式的第二多项式约束;第三生成模块,用于生成第一多项式约束中的多个私有多项式对应的第一承诺、以及第二多项式约束中的多个私有多项式对应的第二承诺;第四生成模块,用于对第一承诺和第二承诺进行区域证明,生成第一证明文件,并将第一证明文件发送至验证端,以便验证端对数据密文的加密正确性进行验证。
第四方面,本申请一实施例提供了一种密文置换装置,应用于数据解密端,该装置包括:获取模块,用于获取数据加密端基于目标数据生成的第一密文和第二密文,第一密文和第二密文共同组成目标数据对应的数据密文;第一生成模块,用于基于第一密文和第二密文,生成目标数据的解密值;第二生成模块,用于生成用于证明数据解密端的身份信息的第一方程;第三生成模块,用于基于解密值、第一密文和第二密文,生成用于证明解密值的正确性的第二方程;第四生成模块,用于基于第一方程和第二方程,生成第一方程对应的关于多个私有多项式的第一多项式约束、以及第二方程对应的关于多个私有多项式的第二多项式约束;第五生成模块,用于生成第一多项式约束中的多个私有多项式对应的第一承诺、以及第二多项式约束中的多个私有多项式对应的第二承诺;第六生成模块,用于对第一承诺和第二承诺进行区域证明,生成第一证明文件,并将第一证明文件发送至验证端,以便验证端对第一密文和第二密文的解密正确性进行验证。
第五方面,本申请一实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序用于执行第一方面和第二方面所述的密文置换方法。
第六方面,本申请一实施例提供了一种电子设备,该电子设备包括:处理器;用于存储处理器可执行指令的存储器;该处理器用于执行第一方面和第二方面所述的密文置换方法。
在本实施例中,将目标数据对应的第一密文和第二密文的生成过程转换成线性方程组,将方程组转换成多项式约束,进而生成多项式约束的承诺和证明文件,可让验证端在密文状态下验证目标数据加密的正确性以及目标数据的范围大小,防止其他作假者进行数据造假,保证了目标数据的真实性以及在具体场景下数据加密端参与事务的公平性,同时能够解决外包计算中的信任问题。
附图说明
通过结合附图对本申请实施例进行更详细地描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1所示为本申请一示例性实施例提供的密文置换方法的应用场景示意图。
图2所示为本申请一示例性实施例提供的应用于数据加密端的密文置换方法的流程示意图。
图3所示为本申请一示例性实施例提供的生成第一方程和第二方程的流程示意图。
图4所示为本申请一示例性实施例提供的应用于数据解密端的密文置换方法的流程示意图。
图5所示为本申请一示例性实施例提供的应用于数据加密端的密文置换装置的结构示意图。
图6所示为本申请一示例性实施例提供的应用于数据解密端的密文置换装置的结构示意图。
图7所示为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1所示为本申请一示例性实施例提供的密文置换方法的应用场景示意图。如图1所示,该应用场景中包括数据加密端10、数据解密端20和验证端30,并且,本实施例中的数据加密端10、数据解密端20和验证端30既可以是服务器,也可以是终端设备。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务,以及大数据和人工智能平台等基础云计算服务的云服务器。
终端设备可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备,或连接到无线调制解调器的其他处理设备。例如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。例如,个人通信业务(PersonalCommunication Service,PCS)电话、无绳电话、会话发起协议(Session initializationProtocol,SIP)话机、无线本地环路(Wireless Local Loop,WLL)站、个人数字助理(Personal Digital Assistant,PDA)等设备。
示例性地,在拍卖场景中,数据加密端10为买方,数据解密端20为卖方,验证端30为交易中心。具体地,卖方在交易中心公示了待出售订单,以及针对待出售订单设置的订单底价、订单数量等信息,同时,卖方还会生成公私钥对,并将公私钥对中的目标公钥发送至买方。例如,买方针对待出售订单给出了竞价价格,同时,为了保证竞价价格的安全性,买方利用卖方发送的目标公钥进行加密。具体地,买方生成竞价价格对应的第一密文的第一方程、以及竞价价格对应的第二密文的第二方程;进一步地,将第一方程和第二方程表示成多项式约束,并生成多项式约束对应的承诺,对承诺进行区域证明,生成证明文件,之后,买方将竞价价格对应的数据密文(包括第一密文和第二密文)和证明文件发送至交易中心,以便交易中心根据数据密文对证明文件进行验证。若证明文件能够运行成功,则说明交易中心接收的数据密文的确是由该买方发送的正确的密文。
相应地,交易中心接收到买方的数据密文后,由于要进行数据比较或者其他数据处理任务,需要将数据密文发送至卖方进行解密。卖方依据在执行拍卖事务前与买方的约定,利用对应的解密方法生成解密值,同时,基于解密值,生成了用于证明卖方身份信息的第一方程、以及用于证明解密值的正确性的第二方程,进而生成多项式约束以及多项式约束的承诺,最终,基于承诺生成证明文件。卖方将证明文件和解密值发送至交易中心,交易中心可根据解密值对卖方发送的证明文件进行验证,若该证明文件运行成功,则说明交易中心接收的解密值的确是由该卖方发送的正确的解密值。
图2所示为本申请一示例性实施例提供的应用于数据加密端的密文置换方法的流程示意图。如图2所示,本实施例中的密文置换方法包括如下步骤。
步骤S210,生成目标数据对应的第一密文的第一方程、以及目标数据对应的第二密文的第二方程。
第一密文和第二密文共同组成目标数据对应的数据密文,也就是说,目标数据对应的数据密文包括两部分,分别是第一密文和第二密文。示例性地,目标数据可以是买方出示的、针对目标订单的竞价数据,也可以是投票系统中的投票方出示的投票结果,本申请实施例不限制目标数据的具体使用场景。
示例性地,若目标数据应用于需要外包计算平台参与的事务场景,则目标数据对应的第一密文和第二密文为同态密文,也即,第一密文和第二密文是对目标数据进行同态加密后得到的。具体地,同态加密是一种加密技术,它可以允许外包计算平台在不解密的情况下对加密数据进行计算。简单来说,就是对加密数据进行加法或乘法运算后,再解密得到的结果与对原始数据进行相同的运算所得到的结果是相同的。这种技术在保护隐私数据的同时,也能够方便地进行数据处理和分析。
步骤S220,基于第一方程和第二方程,生成第一方程对应的关于多个私有多项式的第一多项式约束、以及第二方程对应的关于多个私有多项式的第二多项式约束。
示例性地,第一多项式约束可以表示为;第二多项式约束可以表示为/>。其中,/>表示第一多项式约束中的多个私有多项式,/>表示第二多项式约束中的多个私有多项式。
简单来说,数据加密端将其想要证明的内容转换成代数形式,整个过程中,验证端不会知道关于证明内容的任何信息,因此是零知识的。
步骤S230,生成第一多项式约束中的多个私有多项式对应的第一承诺、以及第二多项式约束中的多个私有多项式对应的第二承诺。
示例性地,第一多项式约束中的多个私有多项式记为;第二多项式约束中的多个私有多项式记为/>。在本实施例中,数据加密端分别对第一多项式约束和第二多项式约束中的多个私有多项式计算Pedersen承诺。具体地,选择一个大阶数循环群G并计算/>个生成元,记作/>,随机生成整数/>,则/>所对应的Pedersen承诺为/>;/>所对应的Pedersen承诺为/>。并且,该承诺由私有的目标数据唯一确定,且无法篡改,也无法反推出目标数据。
在本实施例中,第一承诺和第二承诺可用于证明第一多项式约束和第二多项式约束在特定位置的值与指定的数值一致。例如,数据加密端计算第一多项式约束的第一承诺,并可以在第一多项式约束的任意一个点进行打开,用来证明第一多项式约束在特定位置的值与指定的数值一致。同时,由于承诺的隐藏性,第一承诺并不会泄露第一多项式约束的信息。
步骤S240,对第一承诺和第二承诺进行区域证明,生成第一证明文件,并将第一证明文件发送至验证端。
步骤S240的目的是,以便验证端对数据密文的加密正确性进行验证。
具体地,区域证明技术是密码学领域的一种安全的证明协议,可用于证明一个数字在某一合理区间并且不泄露该数字的具体数值等信息。例如,Borromean环签名方案、Bulletproof方案、zkSNARK等零知识证明技术均可用于区域证明。示例性地,在本实施例中,利用bulletproof对第一承诺和第二承诺/>进行区域证明,得到对应的第一证明文件和第二证明文件。
在一些实施例中,验证端对第一证明文件进行验证的方法包括:确定随机数;将随机数发送至数据加密端,以便数据加密端基于随机数,计算多个私有多项式各自对应的多项式值;获取数据加密端发送的多个私有多项式各自对应的多项式值;基于多个私有多项式各自对应的多项式值,对零知识证明进行验证。
具体地,验证端检验第一多项式约束和第二多项式约束在多个私有多项式各自对应的多项式值处是否成立,若成立,则确定第一证明文件通过验证。
在本实施例中,随机数可以为任意值。在实际应用时,为了保证随机数不被篡改,通过第三方机构端的私钥,对随机数进行加密后,将加密结果发送至数据加密端。
在本实施例中,将目标数据对应的第一密文和第二密文的生成过程转换成线性方程组,将方程组转换成多项式约束,进而生成多项式约束的承诺和证明文件,可让验证端在密文状态下验证目标数据加密的正确性以及目标数据的范围大小,防止其他作假者进行数据造假,保证了目标数据的真实性以及在具体场景下数据加密端参与事务的公平性,同时能够解决外包计算中的信任问题。
图3所示为本申请一示例性实施例提供的生成第一方程和第二方程的流程示意图。在图2所示实施例的基础上延伸出图3所示实施例,下面着重叙述图3所示实施例与图2所示实施例的不同之处,相同之处不再赘述。
如图3所示,在本申请实施例中,生成目标数据对应的第一密文的第一方程、以及目标数据对应的第二密文的第二方程,包括如下步骤。
步骤S310,获取数据解密端生成的安全参数、以及数据解密端基于安全参数生成的目标公钥。
示例性地,目标公钥包括第一多项式向量和第二多项式向量。安全参数包括环,其中/>是整系数多项式,/>为/>上的/>阶不可约多项式,Z表示整数环。示例性地,取/>,即/>。此外,安全参数还包括明文空间/>,密文空间/>,其中/>为素数(质数),/>
示例性地,数据解密端生成的目标私钥 ,其中/> 是随机/>维小系数多项式向量,即任意多项式分量/>,其最大系数/>。目标公钥/> ,其中/>是随机/>维多项式向量,/> 是随机k维小系数多项式向量,/>是哈达玛乘积算子。在本实施例,假设目标公钥包括的第一多项式向量为/>,第二多项式向量为/>
步骤S320,基于安全参数,生成第一私有多项式向量、第二私有多项式向量、私有多项式以及基于目标数据生成的目标多项式。
示例性地,第一私有多项式向量 ,第二私有多项式向量/> ,私有多项式/>,其中,第一私有多项式向量/>为随机生成的,第二私有多项式向量/>为小系数多项式向量,私有多项式/>是小系数多项式。基于目标数据生成的目标多项式
步骤S330,基于第一多项式向量、第一私有多项式向量和第二私有多项式向量,生成第一密文对应的第一方程。
示例性地,数据密文,其中,/>表示第一密文,/>表示第二密文。进一步地,第一方程/> 第一方程用于证明第一密文所属的数据加密端的身份信息,即第一方程解释了第一密文/>与加密者随机生成的/>的相关性。
步骤S340,基于第二多项式向量、私有多项式和目标多项式,生成第二密文对应的第二方程。
示例性地, 。第二方程用于证明第二密文与目标数据的相关性,即第二方程解释了第二密文/>与加密者所加密的目标数据/>的相关性。进一步地,第一方程和第二方程共同解释了数据密文/>的确是由数据加密端从目标数据加密而来。
上述加密过程中的第一方程和第二方程可以表示成下述矩阵形式:
在上述矩阵方程中,和/>是公有数据,/>是私有数据,只有数据加密端以及具有目标私钥的数据解密端才知晓该私有数据的具体信息。
在本实施例中,根据预先生成的安全参数,将目标数据转化成第一密文对应的第一方程和第二密文对应的第二方程,提高了目标数据的安全性,便于验证端在密文状态下验证目标数据加密的准确性,并且,基于第一方程和第二方程,验证端验证的整个过程是零知识的,不会泄露目标数据的任何私有信息。
下面,结合图3所示实施例,更具体地陈述图2中的步骤S220,即如何生成第一方程对应的第一多项式约束以及第二方程对应的第二多项式约束。
具体地,上述第一方程或者第二方程中的每一个方程都可以写成如下形式:
其中,/>是公开多项式,/>是小系数私有多项式。将上述方程写成等式,再将私有多项式/>的系数提升到整数/>,可以得到整系数多项式满足以下方程:
,则又可写成:
也即,第一方程或第二方程都可以写成的形式,其中,/>根据第一方程和第二方程的具体内容而定。
结合前述实施例,本申请中的密文置换方法还包括:对第一承诺和第二承诺进行内积证明,生成第二证明文件,并将第二证明文件发送至验证端。
示例性地,在本申请实施例中,利用防弹证明(bulletproof)来生成相关的证明文件。具体地,防弹证明是一种零知识证明协议,并且可以提供以下证明:
区域证明:给定区域,证明者证明知道一个消息m满足/>
内积证明:给定u,证明者证明知道一对向量满足/>,其中,证明者所知道的信息需通过Pedersen承诺给出。
在本实施例中,利用bulletproof对第一承诺和第二承诺进行区域证明,这可保证第一承诺和第二承诺所对应的私有多项式具有小系数,且由于目标数据对应的目标多项式含于私有多项式中,可进一步对目标数据对应的目标多项式进行区域证明。
由于是关于/>的线性方程,也即内积形式,可利用bulletproof对第一承诺和第二承诺进行内积证明,这可保证第一承诺和第二承诺所对应的私有信息(私有多项式/>)满足上述方程。
具体地,验证端对数据加密端发送的第二证明文件的验证方法可参见图2所示实施例中的相关陈述,此处不再赘述。
同样地,本申请实施例将数据密文转化成线性方程组,使用Pedersen承诺和bulletproof给出零知识证明,可让验证端在密文状态下验证加密的正确性,也可验证消息的范围大小,解决了外包计算中的信任问题。
图4所示为本申请一示例性实施例提供的应用于数据解密端的密文置换方法的流程示意图。如图4所示,本实施例中的密文置换方法包括如下步骤。
步骤S410,获取数据加密端基于目标数据生成的第一密文和第二密文。
第一密文和第二密文共同组成目标数据对应的数据密文。示例性地,目标数据可以是买方出示的、针对目标订单的竞价数据,也可以是投票系统中的投票方出示的投票结果,本实施例不限制数据密文的具体使用场景。
步骤S420,基于第一密文和第二密文,生成目标数据的解密值。
具体地,数据解密端对第一密文和第二密文的解密方式可根据数据加密端对目标数据的加密方式而定。示例性地,基于前述数据加密端对应的实施例,数据解密端可进一步计算,其中/>是小系数多项式,则解密值为/>
步骤S430,生成用于证明数据解密端的身份信息的第一方程。
具体地,确定数据解密端生成的安全参数;利用数据解密端生成的目标私钥、数据解密端发送至加密端的目标公钥和安全参数的相关关系,构建用于证明数据解密端的身份信息的第一方程。
如前所述,安全参数包括环,其中/>是整系数多项式,/>为/>上的/>阶不可约多项式,Z表示整数环。示例性地,取/>,即/>。此外,安全参数还包括明文空间/>,密文空间/>,其中/>为素数(质数),。并且,解密端生成的目标私钥/> ,其中/> 是随机/>维小系数多项式向量,即任意多项式分量/>,其最大系数/>。目标公钥/> ,其中/>是随机/>维多项式向量,/> 是随机k维小系数多项式向量,/>是哈达玛乘积算子。在此基础上,第一方程为/>
也就是说,目标公钥是数据解密端发送给对应的数据加密端的,若数据解密端能够用自身拥有的目标私钥确定与数据加密端所持有的目标公钥具有相关关系,则证明数据解密端确实是正确的、与加密端对应的一方,而并非恶意作假的一端。
步骤S440,基于解密值、第一密文和第二密文,生成用于证明解密值的正确性的第二方程。
基于前述示例,第二方程为
其中,表示所述第一密文;/>表示所述目标私钥;/>,其中,/>表示随机多项式向量,/>表示第一私有向量,/>表示第二私有向量;/>表示私有多项式;/>,/>为素数;/>表示目标数据转化后得到的目标多项式;/>表示所述第二密文。由于数据解密端拥有目标私钥,因此可以知晓数据解密端生成的第一私有向量/>、第二私有向量/>和私有多项式/>
进一步地,数据解密端生成的第一方程和第二方程可以表示成如下矩阵形式:
其中,针对上述矩阵方程,和/>是公有信息;/>是私有信息,即只有具有目标私钥的一方才能知晓该矩阵的值(在本实施例中为数据解密端)。更具体地,上述矩阵方程中的第一方程解释了公钥/>与私钥/>的对应关系;第二方程解释了数据解密端解密得到的解密值/>与数据密文的相关性。两个方程共同解释了解密值的确是由数据解密端从给定数据密文(包括第一密文和第二密文)用密钥/>解密而来。
步骤S450,基于第一方程和第二方程,生成第一方程对应的关于多个私有多项式的第一多项式约束、以及第二方程对应的关于多个私有多项式的第二多项式约束。
示例性地,在数据解密端生成的第一方程中,第一多项式约束表示为;在数据解密端生成的第二方程中,第二多项式约束表示为。其中,/>表示第一多项式约束中的多个私有多项式,/>表示第二多项式约束中的多个私有多项式。
步骤S460,生成第一多项式约束中的多个私有多项式对应的第一承诺、以及第二多项式约束中的多个私有多项式对应的第二承诺。
示例性地,第一多项式约束中的多个私有多项式记为;第二多项式约束中的多个私有多项式记为/>。在本实施例中,数据解密端分别对第一多项式约束中和第二多项式约束中的多个私有多项式计算Pedersen承诺,具体地,选择一个大阶数循环群G并计算/>个生成元,记作/>,随机生成整数/>,则/>所对应的Pedersen承诺为/>所对应的Pedersen承诺为/>
步骤S470,对第一承诺和第二承诺进行区域证明,生成第一证明文件,并将第一证明文件发送至验证端。
步骤S470的目的是,便于验证端对第一密文和第二密文的解密正确性进行验证。
在一些实施例中,在执行步骤S470时,还可以对第一承诺和第二承诺进行内积证明,生成第二证明文件,并将第二证明文件发送至验证端。
示例性地,数据解密端利用bulletproof对第一承诺和第二承诺进行区域证明,得到对应的第一证明文件和第二证明文件。具体地,验证端对数据解密端发送的第一证明文件和第二证明文件的验证方法可参见图2所示实施例中的相关陈述,此处不再赘述。
由于是关于/>的线性方程,也即内积形式,可利用bulletproof对第一承诺和第二承诺进行内积证明,这可保证第一承诺和第二承诺所对应的私有信息(私有多项式/>)满足上述方程。本申请实施例将数据密文转化成线性方程组,使用bulletproof给出零知识证明,可让验证端验证解密的正确性,也可验证消息的范围大小,解决了外包计算中的信任问题。
在本实施例中,根据解密值生成用于证明数据解密端身份信息的第一方程、以及用于证明解密值的正确性的第二方程,并根据第一方程和第二方程生成第一多项式约束和第二多项式约束,这个过程是零知识的,可以让验证端验证解密的正确性,防止其他作假者进行数据造假,保证了解密值的真实性以及数据加密端在参加具体事务时的公平性,同时,能够解决外包计算中的信任问题。
上文结合图2至图4,详细描述了本申请的密文置换方法实施例,下面结合图5和图6,详细描述本申请的密文置换装置实施例。应理解,密文置换方法实施例的描述与密文置换装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图5所示为本申请一示例性实施例提供的应用于数据加密端的密文置换装置的结构示意图。如图5所示,本申请实施例提供的密文置换装置50包括:
第一生成模块510,用于生成目标数据对应的第一密文的第一方程、以及目标数据对应的第二密文的第二方程,第一密文和第二密文共同组成目标数据对应的数据密文;
第二生成模块520,用于基于第一方程和第二方程,生成第一方程对应的关于多个私有多项式的第一多项式约束、以及第二方程对应的关于多个私有多项式的第二多项式约束;
第三生成模块530,用于生成第一多项式约束中的多个私有多项式对应的第一承诺、以及第二多项式约束中的多个私有多项式对应的第二承诺;
第四生成模块540,用于对第一承诺和第二承诺进行区域证明,生成第一证明文件,并将第一证明文件发送至验证端,以便验证端对数据密文的加密正确性进行验证。
在本申请一实施例中,第一生成模块510还用于,获取数据解密端生成的安全参数、以及数据解密端基于安全参数生成的目标公钥,其中,目标公钥包括第一多项式向量和第二多项式向量;基于安全参数,生成第一私有多项式向量、第二私有多项式向量、私有多项式以及基于目标数据生成的目标多项式;基于第一多项式向量、第一私有多项式向量和第二私有多项式向量,生成第一密文对应的第一方程,第一方程用于证明第一密文所属的数据加密端的身份信息;基于第二多项式向量、私有多项式和目标多项式,生成第二密文对应的第二方程,第二方程用于证明第二密文与目标数据的相关性。
在本申请一实施例中,第一方程包括:
第二方程包括:
其中,表示第一多项式向量;/>表示第二多项式向量;/>为素数;/>表示第一私有向量;/>表示第二私有向量;/>表示私有多项式;/>表示目标多项式;/>表示第一密文;/>表示第二密文。
在本申请一实施例中,第四生成模块540还用于,对第一承诺和第二承诺进行内积证明,生成第二证明文件,并将第二证明文件发送至验证端。
图6所示为本申请一示例性实施例提供的应用于数据解密端的密文置换装置的结构示意图。如图6所示,本申请实施例提供的密文置换装置60包括:
获取模块610,用于获取数据加密端基于目标数据生成的第一密文和第二密文,第一密文和第二密文共同组成目标数据对应的数据密文;
第一生成模块620,用于基于第一密文和第二密文,生成目标数据的解密值;
第二生成模块630,用于生成用于证明数据解密端的身份信息的第一方程;
第三生成模块640,用于基于解密值、第一密文和第二密文,生成用于证明解密值的正确性的第二方程;
第四生成模块650,用于基于第一方程和第二方程,生成第一方程对应的关于多个私有多项式的第一多项式约束、以及第二方程对应的关于多个私有多项式的第二多项式约束;
第五生成模块660,用于生成第一多项式约束中的多个私有多项式对应的第一承诺、以及第二多项式约束中的多个私有多项式对应的第二承诺;
第六生成模块670,用于对第一承诺和第二承诺进行区域证明,生成第一证明文件,并将第一证明文件发送至验证端,以便验证端对第一密文和第二密文的解密正确性进行验证。
在本申请一实施例中,第二生成模块630还用于,确定数据解密端生成的安全参数;
利用数据解密端生成的目标私钥、数据解密端发送至加密端的目标公钥和安全参数的相关关系,构建用于证明数据解密端的身份信息的第一方程。
在本申请一实施例中,第二方程包括:
其中,表示第一密文;/>表示目标私钥;/>,其中,/>表示随机多项式向量,/>表示第一私有向量,/>表示第二私有向量;/>表示私有多项式;/>,/>为素数;/>表示目标数据转化后得到的目标多项式;/>表示第二密文。
在本申请一实施例中,第六生成模块670还用于,对第一承诺和第二承诺进行内积证明,生成第二证明文件,并将第二证明文件发送至所述验证端。
下面,参考图7来描述根据本申请实施例的电子设备。图7所示为本申请一示例性实施例提供的电子设备的结构示意图。
如图7所示,电子设备70包括一个或多个处理器701和存储器702。
处理器701可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备70中的其他组件以执行期望的功能。
存储器702可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器701可以运行所述程序指令,以实现上文所述的本申请的各个实施例的密文置换方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如包括目标数据、数据加密端生成的第一多项式约束和第二多项式约束、数据加密端生成的第一证明文件、解密值、数据解密端生成的第一多项式约束和第二多项式约束、数据解密端生成的第一证明文件等各种内容。
在一个示例中,电子设备70还可以包括:输入装置703和输出装置704,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
该输入装置703可以包括例如键盘、鼠标等等。
该输出装置704可以向外部输出各种信息,包括目标数据、数据加密端生成的第一多项式约束和第二多项式约束、数据加密端生成的第一证明文件、解密值、数据解密端生成的第一多项式约束和第二多项式约束、数据解密端生成的第一证明文件等。该输出装置704可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图7中仅示出了该电子设备70中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备70还可以包括任何其他适当的组件。
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述描述的根据本申请各种实施例的密文置换方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述描述的根据本申请各种实施例的密文置换方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (8)

1.一种密文置换方法,其特征在于,应用于数据加密端,所述方法包括:
生成目标数据对应的第一密文的第一方程、以及所述目标数据对应的第二密文的第二方程,所述第一密文和所述第二密文共同组成所述目标数据对应的数据密文;
基于所述第一方程和所述第二方程,生成所述第一方程对应的关于多个私有多项式的第一多项式约束、以及所述第二方程对应的关于多个私有多项式的第二多项式约束;
生成所述第一多项式约束中的多个私有多项式对应的第一承诺、以及所述第二多项式约束中的多个私有多项式对应的第二承诺;
对所述第一承诺和所述第二承诺进行区域证明,生成第一证明文件,并将所述第一证明文件发送至验证端,以便所述验证端对所述数据密文的加密正确性进行验证;
所述生成目标数据对应的第一密文的第一方程、以及所述目标数据对应的第二密文的第二方程,包括:
获取数据解密端生成的安全参数、以及所述数据解密端基于所述安全参数生成的目标公钥,其中,所述目标公钥包括第一多项式向量和第二多项式向量;
基于所述安全参数,生成第一私有多项式向量、第二私有多项式向量、私有多项式、以及基于所述目标数据生成的目标多项式;
基于所述第一多项式向量、所述第一私有多项式向量和所述第二私有多项式向量,生成所述第一密文对应的第一方程,所述第一方程用于证明所述第一密文所属的数据加密端的身份信息;
基于所述第二多项式向量、所述私有多项式和所述目标多项式,生成所述第二密文对应的第二方程,所述第二方程用于证明所述第二密文与所述目标数据的相关性。
2.根据权利要求1所述的密文置换方法,其特征在于,
所述第一方程包括:
所述第二方程包括:
其中,表示所述第一多项式向量;/>表示所述第二多项式向量;/>为素数;/>表示所述第一私有多项式向量;/>表示所述第二私有多项式向量;/>表示所述私有多项式;/>表示所述目标多项式;/>表示所述第一密文;/>表示所述第二密文。
3.根据权利要求1或2所述的密文置换方法,其特征在于,还包括:
对所述第一承诺和所述第二承诺进行内积证明,生成第二证明文件,并将所述第二证明文件发送至所述验证端。
4.一种密文置换方法,其特征在于,应用于数据解密端,所述方法包括:
获取数据加密端基于目标数据生成的第一密文和第二密文,所述第一密文和所述第二密文共同组成所述目标数据对应的数据密文;
基于所述第一密文和所述第二密文,生成所述目标数据的解密值;
生成用于证明所述数据解密端的身份信息的第一方程;
基于所述解密值、所述第一密文和所述第二密文,生成用于证明所述解密值的正确性的第二方程;
基于所述第一方程和所述第二方程,生成所述第一方程对应的关于多个私有多项式的第一多项式约束、以及所述第二方程对应的关于多个私有多项式的第二多项式约束;
生成所述第一多项式约束中的多个私有多项式对应的第一承诺、以及所述第二多项式约束中的多个私有多项式对应的第二承诺;
对所述第一承诺和所述第二承诺进行区域证明,生成第一证明文件,并将所述第一证明文件发送至验证端,以便所述验证端对所述第一密文和所述第二密文的解密正确性进行验证;
所述生成用于证明所述数据解密端的身份信息的第一方程,包括:
确定所述数据解密端生成的安全参数;
利用所述数据解密端生成的目标私钥、所述数据解密端发送至所述加密端的目标公钥和所述安全参数的相关关系,构建用于证明所述数据解密端的身份信息的第一方程。
5.根据权利要求4所述的密文置换方法,其特征在于,所述第二方程包括:
其中,表示所述第一密文;/>表示所述数据解密端生成的目标私钥;,其中,/>表示随机多项式向量,/>表示第一私有向量,/>表示第二私有向量;/>表示私有多项式;/>,/>为素数;/>表示所述目标数据转化后得到的目标多项式;/>表示所述第二密文。
6.根据权利要求4或5所述的密文置换方法,其特征在于,还包括:
对所述第一承诺和所述第二承诺进行内积证明,生成第二证明文件,并将所述第二证明文件发送至所述验证端。
7.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1至6任一项所述的密文置换方法。
8.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于执行上述权利要求1至6任一项所述的密文置换方法。
CN202311413505.6A 2023-10-30 2023-10-30 密文置换方法、存储介质及电子设备 Active CN117155570B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311413505.6A CN117155570B (zh) 2023-10-30 2023-10-30 密文置换方法、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311413505.6A CN117155570B (zh) 2023-10-30 2023-10-30 密文置换方法、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN117155570A CN117155570A (zh) 2023-12-01
CN117155570B true CN117155570B (zh) 2024-01-23

Family

ID=88884761

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311413505.6A Active CN117155570B (zh) 2023-10-30 2023-10-30 密文置换方法、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN117155570B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111885079A (zh) * 2020-07-31 2020-11-03 支付宝(杭州)信息技术有限公司 保护数据隐私的多方联合处理数据的方法及装置
WO2022116176A1 (zh) * 2020-12-04 2022-06-09 上海阵方科技有限公司 数字签名的生成方法、装置和服务器
CN116561789A (zh) * 2023-07-07 2023-08-08 北京天润基业科技发展股份有限公司 隐私数据的处理方法、装置、电子设备及可读存储介质
CN116599669A (zh) * 2022-12-28 2023-08-15 中移动信息技术有限公司 数据处理方法、装置、计算机设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11032068B2 (en) * 2018-06-29 2021-06-08 International Business Machines Corporation Leakage-deterring encryption for message communication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111885079A (zh) * 2020-07-31 2020-11-03 支付宝(杭州)信息技术有限公司 保护数据隐私的多方联合处理数据的方法及装置
WO2022116176A1 (zh) * 2020-12-04 2022-06-09 上海阵方科技有限公司 数字签名的生成方法、装置和服务器
CN116599669A (zh) * 2022-12-28 2023-08-15 中移动信息技术有限公司 数据处理方法、装置、计算机设备及存储介质
CN116561789A (zh) * 2023-07-07 2023-08-08 北京天润基业科技发展股份有限公司 隐私数据的处理方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN117155570A (zh) 2023-12-01

Similar Documents

Publication Publication Date Title
CN110351096B (zh) 多重签名方法、签名中心、程序介质及电子设备
CN112152794A (zh) 具有基于签名加入协议和无限签名的有效后量子匿名证明
CN111598254A (zh) 联邦学习建模方法、设备及可读存储介质
CN109818730B (zh) 盲签名的获取方法、装置和服务器
CN112152792A (zh) 基于mts的相互认证的远程证明
CN107425971B (zh) 无证书的数据加/解密方法和装置、终端
CN112003696A (zh) Sm9密钥生成方法、系统、电子设备、装置及存储介质
CN114946152A (zh) 用于在传输层安全和其它上下文中验证数据的分散式技术
CN110597836A (zh) 基于区块链网络的信息查询请求响应方法及装置
CN111654481B (zh) 一种身份认证方法、装置和存储介质
CN114553590A (zh) 数据传输方法及相关设备
CN114301609B (zh) 一种不经意传输方法、多方安全计算平台和用于不经意传输的装置
CN116455580A (zh) 消息签名方法、装置、设备及可读存储介质
CN117319086B (zh) 不经意传输系统、方法、电子设备及存储介质
CN111245594B (zh) 一种基于同态运算的协同签名方法及系统
CN116170144B (zh) 智能电网匿名认证方法、电子设备及存储介质
CN117155570B (zh) 密文置换方法、存储介质及电子设备
CN111565108A (zh) 签名处理方法、装置及系统
Chenli et al. Fairtrade: Efficient atomic exchange-based fair exchange protocol for digital data trading
CN114329542A (zh) 文件的签名方法、装置、终端及存储介质
CN114117388A (zh) 设备注册方法、设备注册装置、电子设备以及存储介质
CN111552950A (zh) 一种软件授权方法、装置及计算机可读存储介质
CN116975935B (zh) 数据比较方法、存储介质及电子设备
CN116975936B (zh) 金融资质证明方法、金融资质验证方法
CN117454437B (zh) 交易处理方法、存储介质及电子设备

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