CN118264412A - 消息解密方法、装置、设备、存储介质和计算机程序产品 - Google Patents
消息解密方法、装置、设备、存储介质和计算机程序产品 Download PDFInfo
- Publication number
- CN118264412A CN118264412A CN202410386175.4A CN202410386175A CN118264412A CN 118264412 A CN118264412 A CN 118264412A CN 202410386175 A CN202410386175 A CN 202410386175A CN 118264412 A CN118264412 A CN 118264412A
- Authority
- CN
- China
- Prior art keywords
- message
- encryption
- signature
- ciphertext
- party
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 111
- 238000004590 computer program Methods 0.000 title claims abstract description 34
- 238000012795 verification Methods 0.000 claims abstract description 182
- 230000008569 process Effects 0.000 claims abstract description 62
- 230000006870 function Effects 0.000 claims description 197
- 238000012545 processing Methods 0.000 claims description 65
- 125000004122 cyclic group Chemical group 0.000 claims description 48
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 239000000203 mixture Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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
-
- 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/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- 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/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请涉及一种消息解密方法、装置、设备、存储介质和计算机程序产品,涉及信息安全技术领域。该方法包括:接收消息发送端发送的消息密文和签名参考数据;其中,消息密文由消息发送端基于签名参考数据和不同加密参与方的私钥对消息明文加密生成;根据签名参考数据,对消息密文进行签名有效性验证;在签名有效性验证通过的情况下,从消息发送端中获取在对消息明文加密过程中生成的不同加密参与方的签名有效标识;根据不同加密参与方的签名有效标识,对消息密文进行签名准确性验证;在准确性验证通过的情况下,对消息密文进行解密。采用本方法能够提高消息传递过程中的消息安全性。
Description
技术领域
本申请涉及信息安全技术领域,特别是涉及一种消息解密方法、装置、设备、存储介质和计算机程序产品。
背景技术
随着信息技术的快速发展,分布式系统在各种应用场景中变得日益普遍,例如数字货币交易、社交网络、云计算等。这些系统通常涉及大量的用户数据交换和消息传递,因此,确保消息传递的安全性、匿名性和完整性成为了至关重要的挑战。
传统技术中,为确保消息传递的安全性,发送方通常会对消息进行加密处理,接收方在接收到加密消息后,会利用相应的解密方法进行解密,从而还原出原始消息的内容。然而,上述方法的消息传递安全性仍有待完善。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高消息传递过程中的消息安全性的消息解密方法、装置、设备、存储介质和计算机程序产品。
第一方面,本申请提供了一种消息解密方法,应用于消息接收端,包括:
接收消息发送端发送的消息密文和签名参考数据;其中,消息密文由消息发送端基于签名参考数据和不同加密参与方的私钥对消息明文加密生成;
根据签名参考数据,对消息密文进行签名有效性验证;
在签名有效性验证通过的情况下,从消息发送端中获取在对消息明文加密过程中生成的不同加密参与方的签名有效标识;
根据不同加密参与方的签名有效标识,对消息密文进行签名准确性验证;
在准确性验证通过的情况下,对消息密文进行解密。
在其中一个实施例中,不同加密参与方包括一个目标加密参与方和至少一个候选加密参与方;签名参考数据包括预设循环群对应的生成元、各加密参与方对应的生成元、预设循环群对应的双线性对函数、各加密参与方的公钥和预设哈希函数;相应的,根据签名参考数据,对消息密文进行签名有效性验证,包括:从消息密文中提取目标加密参与方的私钥关联数据、各候选加密参与方对应的生成元和消息密文对应的哈希值;其中,消息密文对应的哈希值基于预设哈希函数对消息明文处理得到;基于双线性对函数,对目标加密参与方的私钥关联数据和预设循环群对应的生成元进行处理,得到第一函数值;基于双线性对函数,对各加密参与方对应的生成元、各候选加密参与方对应的生成元、消息密文对应的哈希值和各加密参与方的公钥进行处理,得到第二函数值;在第一函数值与第二函数值相同的情况下,确定签名有效性验证通过。
在其中一个实施例中,基于双线性对函数,对各加密参与方对应的生成元、各候选加密参与方对应的生成元、消息密文对应的哈希值和各加密参与方的公钥进行处理,得到第二函数值,包括:基于预设哈希函数,对消息密文对应的哈希值和各候选加密参与方对应的生成元进行处理,得到中间函数值;基于双线性对函数,对目标加密参与方对应的生成元、中间函数值和各加密参与方的公钥进行处理,得到第二函数值。
在其中一个实施例中,根据不同加密参与方的签名有效标识,对消息密文进行签名准确性验证,包括:根据双线性对函数、各加密参与方对应的生成元、各加密参与方的公钥和预设循环群对应的生成元,对各加密参与方的签名有效标识进行标识有效性验证;在各加密参与方的标识有效性验证通过的情况下,根据双线性对函数、各加密参与方对应的生成元、预设循环群对应的生成元和各加密参与方的公钥,对消息密文进行签名准确性验证。
在其中一个实施例中,根据双线性对函数、各加密参与方对应的生成元、各加密参与方的公钥和预设循环群对应的生成元,对各加密参与方的签名有效标识进行标识有效性验证,包括:针对任一加密参与方,基于双线性对函数,对加密参与方对应的生成元和预设循环群对应的生成元进行处理,得到第三函数值;基于双线性对函数,对加密参与方的签名有效标识和加密参与方的公钥进行处理,得到第四函数值;在第三函数值和第四函数值相同的情况下,确定加密参与方的标识有效性验证通过。
在其中一个实施例中,根据双线性对函数、各加密参与方对应的生成元、预设循环群对应的生成元和各加密参与方的公钥,对消息密文进行签名准确性验证,包括:基于双线性对函数,对各加密参与方对应的生成元和预设循环群对应的生成元进行处理,得到第五函数值;基于双线性对函数,对各加密参与方的签名有效标识和各加密参与方的公钥进行处理,得到第六函数值;在第五函数值与第六函数值相同的情况下,确定签名准确性验证通过。
在其中一个实施例中,对消息密文进行解密之后,还包括:基于预设哈希函数,对解密后的消息明文进行处理,得到对应的消息明文哈希值;在消息明文哈希值与消息密文对应的哈希值相同的情况下,确定消息完整性验证通过。
第二方面,本申请还提供了一种消息解密方法,应用于消息发送端,包括:
向消息接收端发送消息密文和签名参考数据,以使消息接收端根据签名参考数据,对消息密文进行签名有效性验证;其中,消息密文根据签名参考数据和不同加密参与方的私钥,对消息明文进行加密生成;
在签名有效性验证通过的情况下,向消息接收端发送不同加密参与方的签名有效标识,以使消息接收端在根据不同加密参与方的签名有效标识,对各签名准确性验证通过的情况下,对消息密文进行解密;其中,签名有效标识在对消息明文加密过程中生成。
在其中一个实施例中,签名参考数据包括预设循环群对应的生成元和预设哈希函数;相应的,该方法还包括:获取各加密参与方对应的生成元影响参数;根据各生成元影响参数和预设循环群对应的生成元,确定各加密参与方对应的生成元;以及,基于预设哈希函数,对各生成元影响参数和消息明文进行处理,得到消息密文对应的哈希值;从各加密参与方中抽取一个作为目标加密参与方,根据目标加密参与方的私钥、目标加密参与方对应的生成元影响参数、消息密文对应的哈希值和各加密参与方对应的生成元,确定目标加密参与方的私钥关联数据;根据各加密参与方对应的生成元、消息密文对应的哈希值和目标加密参与方的私钥关联数据,确定消息密文。
在其中一个实施例中,根据目标加密参与方的私钥、目标加密参与方对应的生成元影响参数、消息密文对应的哈希值和各加密参与方对应的生成元,确定目标加密参与方的私钥关联数据,包括:基于预设哈希函数,对消息密文对应的哈希值和各加密参与方对应的生成元进行处理,得到中间数据;根据目标加密参与方的私钥、目标加密参与方对应的生成元影响参数和中间数据,确定目标加密参与方的私钥关联数据。
第三方面,本申请还提供了一种消息解密装置,应用于消息接收端,包括:
数据接收模块,用于接收消息发送端发送的消息密文和签名参考数据;其中,消息密文由消息发送端基于签名参考数据和不同加密参与方的私钥对消息明文加密生成;
第一验证模块,用于根据签名参考数据,对消息密文进行签名有效性验证;
标识获取模块,用于在签名有效性验证通过的情况下,从消息发送端中获取在对消息明文加密过程中生成的不同加密参与方的签名有效标识;
第二验证模块,用于根据不同加密参与方的签名有效标识,对消息密文进行签名准确性验证;
第一解密模块,用于在准确性验证通过的情况下,对消息密文进行解密。
第四方面,本申请还提供了一种消息解密装置,应用于消息发送端,包括:
数据发送模块,用于向消息接收端发送消息密文和签名参考数据,以使消息接收端根据签名参考数据,对消息密文进行签名有效性验证;其中,消息密文根据签名参考数据和不同加密参与方的私钥,对消息明文进行加密生成;
第二解密模块,用于在签名有效性验证通过的情况下,向消息接收端发送不同加密参与方的签名有效标识,以使消息接收端在根据不同加密参与方的签名有效标识,对各签名准确性验证通过的情况下,对消息密文进行解密;其中,签名有效标识在对消息明文加密过程中生成。
第五方面,本申请还提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
接收消息发送端发送的消息密文和签名参考数据;其中,消息密文由消息发送端基于签名参考数据和不同加密参与方的私钥对消息明文加密生成;
根据签名参考数据,对消息密文进行签名有效性验证;
在签名有效性验证通过的情况下,从消息发送端中获取在对消息明文加密过程中生成的不同加密参与方的签名有效标识;
根据不同加密参与方的签名有效标识,对消息密文进行签名准确性验证;
在准确性验证通过的情况下,对消息密文进行解密。
第六方面,本申请还提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
向消息接收端发送消息密文和签名参考数据,以使消息接收端根据签名参考数据,对消息密文进行签名有效性验证;其中,消息密文根据签名参考数据和不同加密参与方的私钥,对消息明文进行加密生成;
在签名有效性验证通过的情况下,向消息接收端发送不同加密参与方的签名有效标识,以使消息接收端在根据不同加密参与方的签名有效标识,对各签名准确性验证通过的情况下,对消息密文进行解密;其中,签名有效标识在对消息明文加密过程中生成。
第七方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收消息发送端发送的消息密文和签名参考数据;其中,消息密文由消息发送端基于签名参考数据和不同加密参与方的私钥对消息明文加密生成;
根据签名参考数据,对消息密文进行签名有效性验证;
在签名有效性验证通过的情况下,从消息发送端中获取在对消息明文加密过程中生成的不同加密参与方的签名有效标识;
根据不同加密参与方的签名有效标识,对消息密文进行签名准确性验证;
在准确性验证通过的情况下,对消息密文进行解密。
第八方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
向消息接收端发送消息密文和签名参考数据,以使消息接收端根据签名参考数据,对消息密文进行签名有效性验证;其中,消息密文根据签名参考数据和不同加密参与方的私钥,对消息明文进行加密生成;
在签名有效性验证通过的情况下,向消息接收端发送不同加密参与方的签名有效标识,以使消息接收端在根据不同加密参与方的签名有效标识,对各签名准确性验证通过的情况下,对消息密文进行解密;其中,签名有效标识在对消息明文加密过程中生成。
上述消息解密方法、装置、设备、存储介质和计算机程序产品,消息接收端在接收到消息密文和签名参考数据之后,不直接对消息密文进行解密,而是根据签名参考数据对消息密文进行签名有效性验证。在签名有效性验证通过的情况下,从消息发送端中获取在对消息明文加密过程中生成的不同加密参与方的签名能将标识,并根据不同加密参与方的签名有效标识再次对消息密文进行签名准确性验证。也就是说,消息接收端在接收到消息密文之后,会对消息密文的签名有效性、签名准确性进行验证,并在签名有效性验证和签名准确性验证均通过的情况下,才对消息密文进行解密。采用这种方式,能够提高消息传递过程中的消息安全性。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本实施例提供的一种消息解密方法的应用环境图;
图2为本实施例提供的一种消息解密方法的流程示意图;
图3为本实施例提供的一种签名有效性验证的流程示意图;
图4为本实施例提供的一种签名准确性验证的流程示意图;
图5为本实施例提供的一种消息完整性验证的流程示意图;
图6为本实施例提供的另一种消息解密方法的流程示意图;
图7为本实施例提供的另一种消息解密方法的流程示意图;
图8为本实施例提供的一种消息解密装置的结构框图;
图9为本实施例提供的另一种消息解密装置的结构框图;
图10为本实施例提供的一种计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的消息解密方法,可以应用于如图1所示的应用环境中。其中,消息发送端102通过网络与消息接收端104进行通信。消息发送端102与消息接收端104均部署有数据存储系统,可以分别存储消息发送端102与消息接收端104需要处理的数据。数据存储系统可以集成在消息发送端102与消息接收端104上,也可以放在云上或其他网络服务器上。具体的,消息接收端104接收消息发送端102发送的消息密文和签名参考数据;其中,消息密文由消息发送端102基于签名参考数据和不同加密参与方的私钥对消息明文加密生成;消息接收端104根据签名参考数据,对消息密文进行签名有效性验证,并在签名有效性验证通过的情况下,从消息发送端102中获取在对消息明文加密过程中生成的不同加密参与方的签名有效标识。消息接收端104根据不同加密参与方的签名有效标识,对消息密文进行签名准确性验证;并在准确性验证通过的情况下,对消息密文进行解密。其中,消息发送端102与消息接收端104可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑。
在一个实施例中,如图2所示,提供了一种消息解密方法,以该方法应用于图1中的消息接收端104为例进行说明,包括以下步骤几个步骤:
S201,接收消息发送端发送的消息密文和签名参考数据。
本实施例中,消息发送端与消息接收端可以是金融机构中用于进行资源交换的双方,示例性地,消息发送端可以是用户端,消息接收端可以是金融机构的业务处理端。
在消息发送端欲发送消息至消息接收端时,消息发送端会对待发送消息(即本申请中的消息明文)进行加密处理,得到加密后的消息(即本申请中的消息密文)并将其发送至消息接收端。消息发送端中运行有多个加密参与方,但是在对消息明文进行加密时,仅需要利用其中一个加密参与方(也称目标加密参与方)进行加密签名,其余加密参与方仅作为签名辅助,也称环签名。
其中,消息密文为消息发送端基于签名参考数据和不同加密参与方的私钥对消息明文加密生成。消息明文为消息发送端欲发送至消息接收端的消息。签名参考数据为消息发送端在对消息明文进行处理,得到消息密文的过程中所需要用到的数据。
本实施例中,在消息发送端向消息接收端发送消息密文时,会同时向消息接收端发送签名参考数据。因此,消息接收端能够接收消息发送端发送的消息密文和签名参考数据。一种可选实施方式中,消息发送端与消息接收端之间可以有单向传输通道,消息接收端可以通过该单向传输通道实时接收消息发送端发送的消息密文和签名参考数据。
S202,根据签名参考数据,对消息密文进行签名有效性验证,并在签名有效性验证通过的情况下,执行S203;在签名有效性验证不通过的情况下,执行S206。
其中,签名有效性验证可以是用于验证消息密文中的签名是否有效的验证过程。可以理解的是,若消息密文的签名有效性验证不通过,则说明消息密文并不可信。
在一种可选实施方式中,消息接收端可以将消息密文和签名参考数据输入至预先训练好的签名有效性验证模型中,由签名有效性验证模型对签名参考数据和消息密文进行处理,输出消息密文的签名有效性验证结果(通过/不通过)。
在另一种可选实施方式中,消息接收端可以对消息密文进行解析处理,生成消息密文对应的不同组成数据,并根据预先确定的组成数据与签名参考数据之间的对应关系,确定各组成数据是否有效,若所有组成数据均有效,则确定消息密文的签名有效性验证通过;否则不通过。示例性地,基于预先确定的组成数据确定公式,对签名参考数据进行处理,得到待验证数据,若待验证数据为中间数据中的一个,则说明该组成数据有效。
需要说明的是,本申请不对签名有效性验证模型的构建方式和训练过程,以及组成数据确定公式进行任何限定。
S203,从消息发送端中获取在对消息明文加密过程中生成的不同加密参与方的签名有效标识。
其中,不同加密参与方的签名有效标识用于表征不同加密参与方对消息密文中签名有效性的验证结果。也就是说,在消息密文生成的过程中,各加密参与方都会对消息密文中的签名进行有效性认证得到相应的有效性认证结果。不同加密参与方的签名有效标识可以存储在预先确定好的数据库中。
示例性地,若消息接收端对消息密文的签名有效性验证通过,消息接收端可以从消息发送端中获取在对消息明文加密过程中生成的不同加密参与方的签名有效标识。
S204,根据不同加密参与方的签名有效标识,对消息密文进行签名准确性验证,并在签名准确性验证通过的情况下,执行S205;在签名准确性验证不通过的情况下,执行S206。
在一种可选实施方式中,可以将不同加密参与方的签名有效标识和消息密文输入至预先训练好的签名准确性确定模型中,由模型对不同加密参与方的签名有效标识和消息密文进行解析处理,输出消息密文的签名准确性验证结果(通过/不通过)。
在另一种可选实施方式中,可以基于预先确定的签名准确性验证结果确定公式,对不同加密参与方的签名有效标识进行处理,得到消息密文的签名准确性验证结果。
需要说明的是,本申请实施例不对签名准确性确定模型的构建过程与训练过程进行任何限定。
S205,在准确性验证通过的情况下,对消息密文进行解密。
示例性地,本实施例中,在准确性验证通过的情况下,消息接收端可以从消息发送端获取消息密文对应的加密方式,并采用与该加密方式相对应的解密方式对消息密文进行解密。或者,消息发送端与消息接收端预先确定好加密与解密方式,消息接收端在准确性验证通过的情况下,直接利用确定好的解密方式对消息密文进行解密。
S206,停止对消息密文进行处理。
上述消息加密方法中,消息接收端在接收到消息密文和签名参考数据之后,不直接对消息密文进行解密,而是根据签名参考数据对消息密文进行签名有效性验证。在签名有效性验证通过的情况下,从消息发送端中获取在对消息明文加密过程中生成的不同加密参与方的签名能将标识,并根据不同加密参与方的签名有效标识再次对消息密文进行签名准确性验证。也就是说,消息接收端在接收到消息密文之后,会对消息密文的签名有效性、签名准确性进行验证,并在签名有效性验证和签名准确性验证均通过的情况下,才对消息密文进行解密。采用这种方式,能够提高消息传递过程中的消息安全性。
在上述各实施例的基础上,进一步地,为了使得本申请实施例对消息密文进行签名有效性验证的过程更加严谨,从而使得签名有效性验证结果更准确。在一个实施例中,不同加密参与方包括一个目标加密参与方和至少一个候选加密参与方;签名参考数据包括预设循环群对应的生成元、各加密参与方对应的生成元、预设循环群对应的双线性对函数、各加密参与方的公钥和预设哈希函数。相应的,如图3所示,根据签名参考数据,对消息密文进行签名有效性验证,包括以下几个步骤:
S301,从消息密文中提取目标加密参与方的私钥关联数据、各候选加密参与方对应的生成元和消息密文对应的哈希值。
其中,目标加密参与方为消息发送端从各不同加密参与方中选取的最终加密参与方。候选加密参与方为消息发送端的不同加密参与方中,除目标加密参与方之外的其他加密参与方。目标加密参与方与候选加密参与方共同组成消息发送端的环成员。私钥关联数据可以是基于目标加密参与方的私钥确定的数据,可以是基于预先确定的公式对目标加密参与方的私钥进行处理后得到的数据。各候选加密参与方均对应有生成元,可以是基于预设循环群对应的生成元与该候选加密方对应的生成元系数确定的。消息密文对应的哈希值可以是基于预设哈希函数对消息明文处理得到的。
示例性地,本实施例中,消息密文可以包括目标加密参与方的私钥关联数据、各候选加密参与方对应的生成元和消息密文对应的哈希值。消息接收端可以直接从消息密文中提取到这些数据。例如,消息密文可以如下:
;
其中,C表示消息密文;c表示消息密文对应的哈希值;U表示预设循环群对应的生成元的关联参数;Z表示目标加密参与方的私钥关联数据;R1表示第一个候选加密参与方对应的生成元;Rn表示第n个候选加密参与方对应的生成元;TK1表示第1个加密参与方对应的生成元;TKn表示第n个加密参与方对应的生成元;T表示不同加密参与方对应的签名有效标识的加权和;L表示环成员集合。
以上述消息密文C为例,消息接收端可以从消息密文C中提取目标加密参与方的私钥关联数据Z、各候选加密参与方对应的生成元R和消息密文对应的哈希值c。
S302,基于双线性对函数,对目标加密参与方的私钥关联数据和预设循环群对应的生成元进行处理,得到第一函数值。
其中,双线性对函数可以是与预设循环群对应的双线性对函数,示例性地,若是双线性对,G1为预设循环群,则e即为预设循环群对应的双线性对函数。
示例性地,本实施例中,可以基于双线性对函数,对目标加密参与方的私钥关联数据和预设循环群对应的生成元进行处理,得到第一函数值:
;
式中,e表示双线性对函数;Z表示目标加密参与方的私钥关联数据;P表示预设循环群对应的生成元。
S303,基于双线性对函数,对各加密参与方对应的生成元、各候选加密参与方对应的生成元、消息密文对应的哈希值和各加密参与方的公钥进行处理,得到第二函数值。
示例性地,本实施例中,可以先基于预设哈希函数,对消息密文对应的哈希值和各候选加密参与方对应的生成元进行处理,得到中间函数值:
hi=H3(c,T,Ri);
式中,hi表示第i个加密参数对应的中间函数值;c表示消息密文对应的哈希值,T表示不同加密参与方对应的签名有效标识的加权和,Ri表示第i个候选加密参与方对应的第一生成元。
再基于双线性对函数,对目标加密参与方对应的生成元、中间函数值和各加密参与方的公钥进行处理,得到第二函数值:
;
式中,e表示双线性对函数;P0表示目标加密参与方对应的生成元;Ri表示第i个候选加密参与方对应的第一生成元;hi表示第i个加密参数对应的中间函数值;PKi表示第i个加密参与方的公钥。
S304,在第一函数值与第二函数值相同的情况下,确定签名有效性验证通过。
具体的,本实施例中,对第一函数值与第二函数值进行大小比较,若第一函数值与第二函数值相同,则确定签名有效性验证通过;否则不通过。
上述实施例中,从消息密文中提取目标加密参与方的私钥关联数据、各候选加密参与方对应的生成元和消息密文对应的哈希值,并基于双线性对函数对提取到的数据分别进行处理,得到第一函数值和第二函数值,并根据第一函数值和第二函数值的一致性确定签名有效性验证是否通过,使得对消息密文的签名有效性验证的过程更加简单严谨。
在上述实施例的基础上,进一步地,对消息密文的签名准确性验证过程进行介绍,如图4所示,包括以下几个步骤:
S401,根据双线性对函数、各加密参与方对应的生成元、各加密参与方的公钥和预设循环群对应的生成元,对各加密参与方的签名有效标识进行标识有效性验证。
在一种可选实施例中,可以分别将双线性对函数、各加密参与方对应的生成元、各加密参与方的公钥和预设循环群对应的生成元输入至预先训练好的标识有效性验证模型中,得到各加密参与方对应的标识有效性验证结果。
在另一种可选实施例中,可以针对任一加密参与方,基于双线性对函数,对加密参与方对应的生成元和预设循环群对应的生成元进行处理,得到第三函数值;基于双线性对函数,对加密参与方的签名有效标识和加密参与方的公钥进行处理,得到第四函数值;在第三函数值和第四函数值相同的情况下,确定加密参与方的标识有效性验证通过。
示例性地,第三函数值可以如下:
;
式中,e表示双线性对函数;TKi表示第i个加密参与方对应的第二生成元。
第四函数值可以如下:
;
式中,e表示双线性对函数;Ti表示第i个加密参与方对应的签名有效标识;PKi表示第i个加密参与方对应公钥。
在成立,即第三函数值和第四函数值相同的情况下,确定该加密参与方的标识有效性验证通过。
需要说明的是,本申请实施例不对标识有效性验证模型的构建过程与训练过程进行任何限定。
S402,在各加密参与方的标识有效性验证通过的情况下,根据双线性对函数、各加密参与方对应的生成元、预设循环群对应的生成元和各加密参与方的公钥,对消息密文进行签名准确性验证。
在一种可选实施例中,可以分别将双线性对函数、各加密参与方对应的生成元、预设循环群对应的生成元和各加密参与方的公钥输入至预先训练好的签名准确性验证模型中,确定消息密文的签名准确性验证结果。
在另一种可选实施例中,可以基于双线性对函数,对各加密参与方对应的生成元和预设循环群对应的生成元进行处理,得到第五函数值;基于双线性对函数,对各加密参与方的签名有效标识和各加密参与方的公钥进行处理,得到第六函数值;在第五函数值与第六函数值相同的情况下,确定签名准确性验证通过。
示例性地,第五函数值可以如下:
;
式中,e表示双线性对函数;T表示各加密参与方对应的生成元的加权和;P表示预设循环群对应的生成元。
第六函数值可以如下:
;
式中,e表示双线性对函数;表示各加密参与方的签名有效标识之和;PKi表示第i个加密参与方对应公钥。
在等式成立时,此时对应的i即为目标加密参与方的标识,同时,确定签名准确性验证通过。
需要说明的是,本申请实施例不对签名准确性验证模型的构建过程及训练过程进行任何限定。
上述实施例中,在对消息密文进行签名准确性验证的过程中,先对各加密参与方的签名有效标识进行标识有效性验证,在各加密参与方的标识有效性验证通过的情况下,进一步对消息密文进行签名准确性验证,使得确定出来的签名准确性验证结果更加准确。
在上述各实施例的基础上,为了进一步保证消息传递过程中消息的安全性,在对消息密文进行解密之后,还可以对解密后的消息明文进行消息完整性验证,以在解密后的消息明文完整的前提下,对解密后的消息明文进行处理。如图5所示,可以包括以下几个步骤:
S501,基于预设哈希函数,对解密后的消息明文进行处理,得到对应的消息明文哈希值。
示例的,本实施例中,可以利用与消息发送端对消息明文进行加密的预设哈希函数对解密后的消息明文进行处理,得到消息明文哈希值。
S502,在消息明文哈希值与消息密文对应的哈希值相同的情况下,确定消息完整性验证通过。
具体的,本实施例中,会将消息明文哈希值与消息密文哈希值进行比较,在两者相同的情况下,确定消息完整性验证通过。
上述实施例中,在对消息密文解密之后,还对解密后的消息明文进行完整性验证,并在消息完整性验证通过的情况下再进行下一步处理,使得消息解密过程更加严谨。
进一步地,为了提高消息完整性验证的速度,还可以仅对解密后的消息明文的摘要部分进行提取,并利用与消息发送端对消息明文进行加密的预设哈希函数对摘要部分进行处理,得到解密后的摘要对应的哈希值。相应地,对消息明文摘要部分对应的哈希值与解密后的摘要对应的哈希值进行比较,两者相同的情况下,确定消息完整性验证通过。
在一个实施例中,如图6所示,提供了一种消息解密方法,以该方法应用于图1中的消息发送端102为例进行说明,包括以下步骤几个步骤:
S601,向消息接收端发送消息密文和签名参考数据,以使消息接收端根据签名参考数据,对消息密文进行签名有效性验证。
其中,消息密文根据签名参考数据和不同加密参与方的私钥,对消息明文进行加密生成。
在一种可选实施方式中,本实施例对消息明文进行处理得到消息密文的过程可以如下:
获取各加密参与方对应的生成元影响参数;根据各生成元影响参数和预设循环群对应的生成元,确定各加密参与方对应的生成元;以及,基于预设哈希函数,对各生成元影响参数和消息明文进行处理,得到消息密文对应的哈希值;从各加密参与方中抽取一个作为目标加密参与方,根据目标加密参与方的私钥、目标加密参与方对应的生成元影响参数、消息密文对应的哈希值和各加密参与方对应的生成元,确定目标加密参与方的私钥关联数据;根据各加密参与方对应的生成元、消息密文对应的哈希值和目标加密参与方的私钥关联数据,确定消息密文。其中,各加密参与方对应的生成元影响参数都是预先确定好的。
示例性地,获取各加密参与方对应的生成元影响参数,并基于如下公式确定各加密参与方对应的生成元:
;
式中,Ri表示第i个候选加密参与方对应的生成元;xi表示各候选加密参与方对应的生成元影响参数;P表示预设循环群对应的生成元;S表示目标加密参与方对应的标识。
;
式中,Ti表示第i个加密参与方对应的第一生成元(与Ri不同);ti表示第i个加密参与方对应的生成元影响参数;P表示预设循环群对应的生成元。
;
式中,TKi表示第i个加密参与方对应的第二生成元(与Ri和Ti不同);ti和ri均表示第i个加密参与方对应的生成元影响参数;P表示预设循环群对应的生成元;n为加密参与方的总数。
再根据预设哈希函数和消息明文,确定消息密文对应的哈希值:
;
式中,c表示消息密文对应的哈希值;H2表示预设第二哈希函数;表示密文哈希影响参数。
随机从各加密参与方中抽取一个作为目标加密参与方,并根据如下方式确定目标加密参与方的私钥关联数据:
基于预设哈希函数,对消息密文对应的哈希值和各加密参与方对应的生成元进行处理,得到中间数据:
;
式中,hs表示中间数据;H3表示预设第三哈希函数;c表示消息密文对应的哈希值;T(其计算过程在下面解释中)表示加密参与方对应的生成元总额;Rs表示目标加密参与方对应的生成元。
根据目标加密参与方的私钥、目标加密参与方对应的生成元影响参数和中间数据,确定目标加密参与方的私钥关联数据。
;
式中,Z表示目标加密参与方的私钥关联数据;xs表示目标加密参与方对应的一个生成元影响参数;hs表示中间数据;SKs表示目标加密参与方的私钥。
进一步地,对各加密参与方对应的生成元Ti进行求和处理,得到加密参与方对应的生成元总额T:
;
式中,T表示加密参与方对应的生成元总额;Ti表示第i个加密参与方对应的第一生成元(与Ri不同);rs表示目标加密参与方对应的一个生成元影响参数。
再对各加密参与方对应的生成元TKi和Ri、加密参与方对应的生成元总额T、消息密文对应的哈希值c、各加密参与方对应的标识L和目标加密参与方的私钥关联数据Z进行融合,得到消息密文C。
S602,在签名有效性验证通过的情况下,向消息接收端发送不同加密参与方的签名有效标识,以使消息接收端在根据不同加密参与方的签名有效标识,对各签名准确性验证通过的情况下,对消息密文进行解密。
其中,签名有效标识在对消息明文加密过程中生成。
具体的,本实施例中,消息接收端在签名有效性验证通过的情况下,会从消息发送端获取不同加密参与方的签名有效标识,以根据不同加密参与方的签名有效标识对各签名有效标识进行签名准确性验证,并在各签名准确性验证通过的情况下对消息密文进行解密。该过程在上述实施例中已进行详细介绍,在此不进行赘述。
上述消息解密方法中,消息接收端在接收到消息密文和签名参考数据之后,不直接对消息密文进行解密,而是根据签名参考数据对消息密文进行签名有效性验证。在签名有效性验证通过的情况下,从消息发送端中获取在对消息明文加密过程中生成的不同加密参与方的签名能将标识,并根据不同加密参与方的签名有效标识再次对消息密文进行签名准确性验证。也就是说,消息接收端在接收到消息密文之后,会对消息密文的签名有效性、签名准确性进行验证,并在签名有效性验证和签名准确性验证均通过的情况下,才对消息密文进行解密。采用这种方式,能够提高消息传递过程中的消息安全性。
为了便于本领域技术人员理解本方案,对本实施例提供的消息解密方法进行详细介绍,如图7所示,包括以下几个步骤:
S701,消息发送端获取各加密参与方对应的生成元影响参数。
S702,消息发送端根据各生成元影响参数和预设循环群对应的生成元,确定各加密参与方对应的生成元;以及,基于预设哈希函数,对各生成元影响参数和消息明文进行处理,得到消息密文对应的哈希值。
S703,消息发送端从各加密参与方中抽取一个作为目标加密参与方,根据目标加密参与方的私钥、目标加密参与方对应的生成元影响参数、消息密文对应的哈希值和各加密参与方对应的生成元,确定目标加密参与方的私钥关联数据;并根据各加密参与方对应的生成元、消息密文对应的哈希值和目标加密参与方的私钥关联数据,确定消息密文。
具体的,根据目标加密参与方的私钥、目标加密参与方对应的生成元影响参数、消息密文对应的哈希值和各加密参与方对应的生成元,确定目标加密参与方的私钥关联数据的过程如下:基于预设哈希函数,对消息密文对应的哈希值和各加密参与方对应的生成元进行处理,得到中间数据;根据目标加密参与方的私钥、目标加密参与方对应的生成元影响参数和中间数据,确定目标加密参与方的私钥关联数据。
S704,消息发送端将消息密文和签名参考数据发送至消息接收端。
其中,消息密文由消息发送端基于签名参考数据和不同加密参与方的私钥对消息明文加密生成;不同加密参与方包括一个目标加密参与方和至少一个候选加密参与方;签名参考数据包括预设循环群对应的生成元、各加密参与方对应的生成元、预设循环群对应的双线性对函数、各加密参与方的公钥和预设哈希函数。
S705,消息接收端从消息密文中提取目标加密参与方的私钥关联数据、各候选加密参与方对应的生成元和消息密文对应的哈希值。
其中,消息密文对应的哈希值基于预设哈希函数对消息明文处理得到。
S706,消息接收端基于双线性对函数,对目标加密参与方的私钥关联数据和预设循环群对应的生成元进行处理,得到第一函数值。
S707,消息接收端基于预设哈希函数,对消息密文对应的哈希值和各候选加密参与方对应的生成元进行处理,得到中间函数值;并基于双线性对函数,对目标加密参与方对应的生成元、中间函数值和各加密参与方的公钥进行处理,得到第二函数值。
S708,消息接收端在第一函数值与第二函数值相同的情况下,确定签名有效性验证通过。
S709,在签名有效性验证通过的情况下,消息接收端从消息发送端中获取在对消息明文加密过程中生成的不同加密参与方的签名有效标识,并根据不同加密参与方的签名有效标识对消息密文进行标识有效性验证。
具体的,对消息密文进行签名准确性验证的过程如下:针对任一加密参与方,基于双线性对函数,对加密参与方对应的生成元和预设循环群对应的生成元进行处理,得到第三函数值;基于双线性对函数,对加密参与方的签名有效标识和加密参与方的公钥进行处理,得到第四函数值;在第三函数值和第四函数值相同的情况下,确定加密参与方的标识有效性验证通过。
S710,在各加密参与方的标识有效性验证通过的情况下,消息接收端基于双线性对函数,对各加密参与方对应的生成元和预设循环群对应的生成元进行处理,得到第五函数值。
S711,消息接收端基于双线性对函数,对各加密参与方的签名有效标识和各加密参与方的公钥进行处理,得到第六函数值。
S712,消息接收端在第五函数值与第六函数值相同的情况下,确定签名准确性验证通过。
S713,在准确性验证通过的情况下,消息接收端对消息密文进行解密并基于预设哈希函数,对解密后的消息明文进行处理,得到对应的消息明文哈希值;在消息明文哈希值与消息密文对应的哈希值相同的情况下,确定消息完整性验证通过。
S714,在签名有效性验证不通过,或者,加密参与方的标识有效性验证不通过,或者,准确性验证不通过的情况下,停止对消息密文进行处理。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的消息解密方法的消息解密装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个消息解密装置实施例中的具体限定可以参见上文中对于消息解密方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种第一消息解密装置,包括:数据接收模块810、第一验证模块820、标识获取模块830、第二验证模块840和第一解密模块850,其中:
数据接收模块810,用于接收消息发送端发送的消息密文和签名参考数据。
其中,消息密文由消息发送端基于签名参考数据和不同加密参与方的私钥对消息明文加密生成。
第一验证模块820,用于根据签名参考数据,对消息密文进行签名有效性验证。
标识获取模块830,用于在签名有效性验证通过的情况下,从消息发送端中获取在对消息明文加密过程中生成的不同加密参与方的签名有效标识。
第二验证模块840,用于根据不同加密参与方的签名有效标识,对消息密文进行签名准确性验证。
第一解密模块850,用于在准确性验证通过的情况下,对消息密文进行解密。
在一个实施例中,不同加密参与方包括一个目标加密参与方和至少一个候选加密参与方;签名参考数据包括预设循环群对应的生成元、各加密参与方对应的生成元、预设循环群对应的双线性对函数、各加密参与方的公钥和预设哈希函数;第一验证模块包括:数据提取单元,用于从消息密文中提取目标加密参与方的私钥关联数据、各候选加密参与方对应的生成元和消息密文对应的哈希值;其中,消息密文对应的哈希值基于预设哈希函数对消息明文处理得到;第一处理单元,用于基于双线性对函数,对目标加密参与方的私钥关联数据和预设循环群对应的生成元进行处理,得到第一函数值;第二处理单元,用于基于双线性对函数,对各加密参与方对应的生成元、各候选加密参与方对应的生成元、消息密文对应的哈希值和各加密参与方的公钥进行处理,得到第二函数值;第一验证单元,用于在第一函数值与第二函数值相同的情况下,确定签名有效性验证通过。
在一个实施例中,第二处理单元包括第一处理子单元,用于基于预设哈希函数,对消息密文对应的哈希值和各候选加密参与方对应的生成元进行处理,得到中间函数值;第二处理子单元,用于基于双线性对函数,对目标加密参与方对应的生成元、中间函数值和各加密参与方的公钥进行处理,得到第二函数值。
在一个实施例中,第二验证模块包括:标识有效性验证单元,用于根据双线性对函数、各加密参与方对应的生成元、各加密参与方的公钥和预设循环群对应的生成元,对各加密参与方的签名有效标识进行标识有效性验证;签名准确性验证单元,用于在各加密参与方的标识有效性验证通过的情况下,根据双线性对函数、各加密参与方对应的生成元、预设循环群对应的生成元和各加密参与方的公钥,对消息密文进行签名准确性验证。
在一个实施例中,标识有效性验证单元包括:第三处理子单元,用于针对任一加密参与方,基于双线性对函数,对加密参与方对应的生成元和预设循环群对应的生成元进行处理,得到第三函数值;第四处理子单元,用于基于双线性对函数,对加密参与方的签名有效标识和加密参与方的公钥进行处理,得到第四函数值;标识有效性验证子单元,用于在第三函数值和第四函数值相同的情况下,确定加密参与方的标识有效性验证通过。
在一个实施例中,签名准确性验证单元包括:第五处理子单元,用于基于双线性对函数,对各加密参与方对应的生成元和预设循环群对应的生成元进行处理,得到第五函数值;第六处理子单元,用于基于双线性对函数,对各加密参与方的签名有效标识和各加密参与方的公钥进行处理,得到第六函数值;签名准确性验证子单元,用于在第五函数值与第六函数值相同的情况下,确定签名准确性验证通过。
在一个实施例中,第一消息解密装置还包括第三验证模块,包括第三处理单元,用于基于预设哈希函数,对解密后的消息明文进行处理,得到对应的消息明文哈希值;消息完整性验证单元,用于在消息明文哈希值与消息密文对应的哈希值相同的情况下,确定消息完整性验证通过。
在一个实施例中,还提供一种第二消息解密装置,如图9所示,包括:数据发送模块910和第二解密模块920。其中:
数据发送模块910,用于向消息接收端发送消息密文和签名参考数据,以使消息接收端根据签名参考数据,对消息密文进行签名有效性验证。其中,消息密文根据签名参考数据和不同加密参与方的私钥,对消息明文进行加密生成。
第二解密模块920,用于在签名有效性验证通过的情况下,向消息接收端发送不同加密参与方的签名有效标识,以使消息接收端在根据不同加密参与方的签名有效标识,对各签名准确性验证通过的情况下,对消息密文进行解密。其中,签名有效标识在对消息明文加密过程中生成。
在一个实施例中,签名参考数据包括预设循环群对应的生成元和预设哈希函数;相应的,第二解密装置还包括消息加密装置,包括:参数获取单元,用于获取各加密参与方对应的生成元影响参数;生成元确定单元,用于根据各生成元影响参数和预设循环群对应的生成元,确定各加密参与方对应的生成元;以及,哈希值确定单元,用于基于预设哈希函数,对各生成元影响参数和消息明文进行处理,得到消息密文对应的哈希值;私钥关联数据确定单元,用于从各加密参与方中抽取一个作为目标加密参与方,根据目标加密参与方的私钥、目标加密参与方对应的生成元影响参数、消息密文对应的哈希值和各加密参与方对应的生成元,确定目标加密参与方的私钥关联数据;消息密文确定单元,用于根据各加密参与方对应的生成元、消息密文对应的哈希值和目标加密参与方的私钥关联数据,确定消息密文。
在一个实施例中,私钥关联数据确定单元包括中间数据确定子单元,用于基于预设哈希函数,对消息密文对应的哈希值和各加密参与方对应的生成元进行处理,得到中间数据;私钥关联数据确定子单元,用于根据目标加密参与方的私钥、目标加密参与方对应的生成元影响参数和中间数据,确定目标加密参与方的私钥关联数据。
上述第一消息解密装置和第二消息解密装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种消息解密方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个示例性的实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收消息发送端发送的消息密文和签名参考数据;其中,消息密文由消息发送端基于签名参考数据和不同加密参与方的私钥对消息明文加密生成;
根据签名参考数据,对消息密文进行签名有效性验证;
在签名有效性验证通过的情况下,从消息发送端中获取在对消息明文加密过程中生成的不同加密参与方的签名有效标识;
根据不同加密参与方的签名有效标识,对消息密文进行签名准确性验证;
在准确性验证通过的情况下,对消息密文进行解密。
在一个示例性的实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
向消息接收端发送消息密文和签名参考数据,以使消息接收端根据签名参考数据,对消息密文进行签名有效性验证;其中,消息密文根据签名参考数据和不同加密参与方的私钥,对消息明文进行加密生成;
在签名有效性验证通过的情况下,向消息接收端发送不同加密参与方的签名有效标识,以使消息接收端在根据不同加密参与方的签名有效标识,对各签名准确性验证通过的情况下,对消息密文进行解密;其中,签名有效标识在对消息明文加密过程中生成。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收消息发送端发送的消息密文和签名参考数据;其中,消息密文由消息发送端基于签名参考数据和不同加密参与方的私钥对消息明文加密生成;
根据签名参考数据,对消息密文进行签名有效性验证;
在签名有效性验证通过的情况下,从消息发送端中获取在对消息明文加密过程中生成的不同加密参与方的签名有效标识;
根据不同加密参与方的签名有效标识,对消息密文进行签名准确性验证;
在准确性验证通过的情况下,对消息密文进行解密。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
向消息接收端发送消息密文和签名参考数据,以使消息接收端根据签名参考数据,对消息密文进行签名有效性验证;其中,消息密文根据签名参考数据和不同加密参与方的私钥,对消息明文进行加密生成;
在签名有效性验证通过的情况下,向消息接收端发送不同加密参与方的签名有效标识,以使消息接收端在根据不同加密参与方的签名有效标识,对各签名准确性验证通过的情况下,对消息密文进行解密;其中,签名有效标识在对消息明文加密过程中生成。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
接收消息发送端发送的消息密文和签名参考数据;其中,消息密文由消息发送端基于签名参考数据和不同加密参与方的私钥对消息明文加密生成;
根据签名参考数据,对消息密文进行签名有效性验证;
在签名有效性验证通过的情况下,从消息发送端中获取在对消息明文加密过程中生成的不同加密参与方的签名有效标识;
根据不同加密参与方的签名有效标识,对消息密文进行签名准确性验证;
在准确性验证通过的情况下,对消息密文进行解密。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
向消息接收端发送消息密文和签名参考数据,以使消息接收端根据签名参考数据,对消息密文进行签名有效性验证;其中,消息密文根据签名参考数据和不同加密参与方的私钥,对消息明文进行加密生成;
在签名有效性验证通过的情况下,向消息接收端发送不同加密参与方的签名有效标识,以使消息接收端在根据不同加密参与方的签名有效标识,对各签名准确性验证通过的情况下,对消息密文进行解密;其中,签名有效标识在对消息明文加密过程中生成。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (15)
1.一种消息解密方法,其特征在于,应用于消息接收端,包括:
接收消息发送端发送的消息密文和签名参考数据;其中,所述消息密文由所述消息发送端基于所述签名参考数据和不同加密参与方的私钥对消息明文加密生成;
根据所述签名参考数据,对所述消息密文进行签名有效性验证;
在签名有效性验证通过的情况下,从所述消息发送端中获取在对所述消息明文加密过程中生成的不同加密参与方的签名有效标识;
根据不同加密参与方的签名有效标识,对所述消息密文进行签名准确性验证;
在准确性验证通过的情况下,对所述消息密文进行解密。
2.根据权利要求1所述的方法,其特征在于,所述不同加密参与方包括一个目标加密参与方和至少一个候选加密参与方;所述签名参考数据包括预设循环群对应的生成元、各所述加密参与方对应的生成元、所述预设循环群对应的双线性对函数、各所述加密参与方的公钥和预设哈希函数;
相应的,所述根据所述签名参考数据,对所述消息密文进行签名有效性验证,包括:
从所述消息密文中提取所述目标加密参与方的私钥关联数据、各所述候选加密参与方对应的生成元和所述消息密文对应的哈希值;其中,所述消息密文对应的哈希值基于所述预设哈希函数对所述消息明文处理得到;
基于所述双线性对函数,对所述目标加密参与方的私钥关联数据和所述预设循环群对应的生成元进行处理,得到第一函数值;
基于所述双线性对函数,对各所述加密参与方对应的生成元、各所述候选加密参与方对应的生成元、所述消息密文对应的哈希值和各所述加密参与方的公钥进行处理,得到第二函数值;
在所述第一函数值与所述第二函数值相同的情况下,确定签名有效性验证通过。
3.根据权利要求2所述的方法,其特征在于,所述基于所述双线性对函数,对各所述加密参与方对应的生成元、各所述候选加密参与方对应的生成元、所述消息密文对应的哈希值和各所述加密参与方的公钥进行处理,得到第二函数值,包括:
基于所述预设哈希函数,对所述消息密文对应的哈希值和各所述候选加密参与方对应的生成元进行处理,得到中间函数值;
基于所述双线性对函数,对所述目标加密参与方对应的生成元、所述中间函数值和各所述加密参与方的公钥进行处理,得到第二函数值。
4.根据权利要求2或3所述的方法,其特征在于,所述根据不同加密参与方的签名有效标识,对所述消息密文进行签名准确性验证,包括:
根据所述双线性对函数、各所述加密参与方对应的生成元、各所述加密参与方的公钥和所述预设循环群对应的生成元,对各所述加密参与方的签名有效标识进行标识有效性验证;
在各所述加密参与方的标识有效性验证通过的情况下,根据所述双线性对函数、各所述加密参与方对应的生成元、所述预设循环群对应的生成元和各所述加密参与方的公钥,对所述消息密文进行签名准确性验证。
5.根据权利要求4所述的方法,其特征在于,所述根据所述双线性对函数、各所述加密参与方对应的生成元、各所述加密参与方的公钥和所述预设循环群对应的生成元,对各所述加密参与方的签名有效标识进行标识有效性验证,包括:
针对任一加密参与方,基于所述双线性对函数,对所述加密参与方对应的生成元和所述预设循环群对应的生成元进行处理,得到第三函数值;
基于所述双线性对函数,对所述加密参与方的签名有效标识和所述加密参与方的公钥进行处理,得到第四函数值;
在所述第三函数值和所述第四函数值相同的情况下,确定所述加密参与方的标识有效性验证通过。
6.根据权利要求5所述的方法,其特征在于,所述根据所述双线性对函数、各所述加密参与方对应的生成元、所述预设循环群对应的生成元和各所述加密参与方的公钥,对所述消息密文进行签名准确性验证,包括:
基于所述双线性对函数,对各所述加密参与方对应的生成元和所述预设循环群对应的生成元进行处理,得到第五函数值;
基于所述双线性对函数,对各所述加密参与方的签名有效标识和各所述加密参与方的公钥进行处理,得到第六函数值;
在所述第五函数值与所述第六函数值相同的情况下,确定签名准确性验证通过。
7.根据权利要求3所述的方法,其特征在于,所述对所述消息密文进行解密之后,还包括:
基于所述预设哈希函数,对解密后的消息明文进行处理,得到对应的消息明文哈希值;
在所述消息明文哈希值与所述消息密文对应的哈希值相同的情况下,确定消息完整性验证通过。
8.一种消息解密方法,其特征在于,应用于消息发送端,包括:
向消息接收端发送消息密文和签名参考数据,以使所述消息接收端根据所述签名参考数据,对所述消息密文进行签名有效性验证;其中,所述消息密文根据所述签名参考数据和不同加密参与方的私钥,对消息明文进行加密生成;
在签名有效性验证通过的情况下,向所述消息接收端发送不同加密参与方的签名有效标识,以使所述消息接收端在根据不同加密参与方的签名有效标识,对各所述签名准确性验证通过的情况下,对所述消息密文进行解密;其中,所述签名有效标识在对所述消息明文加密过程中生成。
9.根据权利要求8所述的方法,其特征在于,所述签名参考数据包括预设循环群对应的生成元和预设哈希函数;
相应的,所述方法还包括:
获取各所述加密参与方对应的生成元影响参数;
根据各所述生成元影响参数和所述预设循环群对应的生成元,确定各所述加密参与方对应的生成元;以及,
基于所述预设哈希函数,对各所述生成元影响参数和所述消息明文进行处理,得到消息密文对应的哈希值;
从各所述加密参与方中抽取一个作为目标加密参与方,根据所述目标加密参与方的私钥、所述目标加密参与方对应的生成元影响参数、所述消息密文对应的哈希值和各所述加密参与方对应的生成元,确定所述目标加密参与方的私钥关联数据;
根据各所述加密参与方对应的生成元、所述消息密文对应的哈希值和所述目标加密参与方的私钥关联数据,确定消息密文。
10.根据权利要求9所述的方法,其特征在于,所述根据所述目标加密参与方的私钥、所述目标加密参与方对应的生成元影响参数、所述消息密文对应的哈希值和各所述加密参与方对应的生成元,确定所述目标加密参与方的私钥关联数据,包括:
基于所述预设哈希函数,对所述消息密文对应的哈希值和各所述加密参与方对应的生成元进行处理,得到中间数据;
根据所述目标加密参与方的私钥、所述目标加密参与方对应的生成元影响参数和所述中间数据,确定所述目标加密参与方的私钥关联数据。
11.一种消息解密装置,其特征在于,应用于消息接收端,所述装置包括:
数据接收模块,用于接收消息发送端发送的消息密文和签名参考数据;其中,所述消息密文由所述消息发送端基于所述签名参考数据和不同加密参与方的私钥对消息明文加密生成;
第一验证模块,用于根据所述签名参考数据,对所述消息密文进行签名有效性验证;
标识获取模块,用于在签名有效性验证通过的情况下,从所述消息发送端中获取在对所述消息明文加密过程中生成的不同加密参与方的签名有效标识;
第二验证模块,用于根据不同加密参与方的签名有效标识,对所述消息密文进行签名准确性验证;
第一解密模块,用于在准确性验证通过的情况下,对所述消息密文进行解密。
12.一种消息解密装置,其特征在于,应用于消息发送端,所述装置包括:
数据发送模块,用于向消息接收端发送消息密文和签名参考数据,以使所述消息接收端根据所述签名参考数据,对所述消息密文进行签名有效性验证;其中,所述消息密文根据所述签名参考数据和不同加密参与方的私钥,对消息明文进行加密生成;
第二解密模块,用于在签名有效性验证通过的情况下,向所述消息接收端发送不同加密参与方的签名有效标识,以使所述消息接收端在根据不同加密参与方的签名有效标识,对各所述签名准确性验证通过的情况下,对所述消息密文进行解密;其中,所述签名有效标识在对所述消息明文加密过程中生成。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
15.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410386175.4A CN118264412A (zh) | 2024-04-01 | 2024-04-01 | 消息解密方法、装置、设备、存储介质和计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410386175.4A CN118264412A (zh) | 2024-04-01 | 2024-04-01 | 消息解密方法、装置、设备、存储介质和计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118264412A true CN118264412A (zh) | 2024-06-28 |
Family
ID=91612792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410386175.4A Pending CN118264412A (zh) | 2024-04-01 | 2024-04-01 | 消息解密方法、装置、设备、存储介质和计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118264412A (zh) |
-
2024
- 2024-04-01 CN CN202410386175.4A patent/CN118264412A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110073633B (zh) | 使用同态加密的区块链数据保护 | |
US10944751B2 (en) | Generating cryptographic function parameters from compact source code | |
US8122255B2 (en) | Methods and systems for digital authentication using digitally signed images | |
US11063941B2 (en) | Authentication system, authentication method, and program | |
Wei et al. | Privacy-preserving implicit authentication protocol using cosine similarity for Internet of Things | |
CN113691502B (zh) | 通信方法、装置、网关服务器、客户端及存储介质 | |
CN110546667A (zh) | 使用同态加密的区块链数据保护 | |
US10361844B2 (en) | Generating cryptographic function parameters based on an observed astronomical event | |
CN113422679B (zh) | 密钥生成方法、装置和系统、加密方法、电子设备以及计算机可读存储介质 | |
US10079675B2 (en) | Generating cryptographic function parameters from a puzzle | |
Guo et al. | MRCC: a practical covert channel over Monero with provable security | |
CN111475690B (zh) | 字符串的匹配方法和装置、数据检测方法、服务器 | |
CN116502732B (zh) | 基于可信执行环境的联邦学习方法以及系统 | |
CN101764694A (zh) | 用于保护数据的装置、方法和系统 | |
Zhang et al. | Efficient auditing scheme for secure data storage in fog-to-cloud computing | |
CN114240347A (zh) | 业务服务安全对接方法、装置、计算机设备、存储介质 | |
CN116684102A (zh) | 报文传输方法、报文校验方法、装置、设备、介质和产品 | |
CN116962021A (zh) | 金融合作机构中用户实名认证的方法、装置、设备和介质 | |
CN116488873A (zh) | 信息传输方法、装置、计算机设备和存储介质 | |
CN114124440B (zh) | 安全传输方法、装置、计算机设备和存储介质 | |
CN115834058A (zh) | 通信加密方法、装置、计算机设备 | |
CN118264412A (zh) | 消息解密方法、装置、设备、存储介质和计算机程序产品 | |
CN113094735A (zh) | 隐私模型训练的方法 | |
CN115174260B (zh) | 数据验证方法、装置、计算机、存储介质和程序产品 | |
KR101591323B1 (ko) | 데이터 전송이 가능한 단말 장치 및 상기 데이터 전송이 가능한 단말 장치의 부인 방지를 위한 데이터 전송 방법 |
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 |