CN111431710B - 一种发送方可查阅且第三方可监管的加密方法和装置 - Google Patents
一种发送方可查阅且第三方可监管的加密方法和装置 Download PDFInfo
- Publication number
- CN111431710B CN111431710B CN202010214597.5A CN202010214597A CN111431710B CN 111431710 B CN111431710 B CN 111431710B CN 202010214597 A CN202010214597 A CN 202010214597A CN 111431710 B CN111431710 B CN 111431710B
- Authority
- CN
- China
- Prior art keywords
- random number
- key
- sender
- secret random
- ciphertext
- 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/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
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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
- H04L9/3013—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 involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本说明书提供一种发送方可查阅且第三方可监管的加密方法和装置,查阅方法包括:根据发送方私钥的至少部分进行单向函数运算,生成秘密随机数;基于所述秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的加密算法加密所述明文,得到所述密文;其中:所述发送方公钥的至少部分和私钥的至少部分具有离散对数关系,所述接收方公钥的至少部分和私钥的至少部分具有离散对数关系。因为秘密随机数根据私钥的至少部分形成,所以发送方无需考虑秘密随机数的隐秘性和安全性问题,能够采用对应的查阅方法,利用私钥的至少部分和接收方公钥的至少部分处理密文得到明文,实现密文内容的查阅。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种发送方可查阅且第三方可监管的加密方法和装置。
背景技术
当前,行业内已经形成了多个合理的公钥加密方案,但是此类公钥加密方案均围绕安全和实用的角度发展,而缺乏从查阅或者监管的角度发展,因此无法满足某些应用需求。当前公钥加密方案不能满足的应用场景有如下几种。
1.密文发送方再次查看密文内容场景;具体为发送方将信息以密文发送给接收方后,信息的本地备份丢失;因为没有本地备份信息,发送方无法再次查看发送内容。
2.监管方需要对被监管方发送内容进行监管的场景;因为发送方采用接收方的公钥对信息进行加密,并发送给接收方;监管方无法获取接收方的私钥,也就无法确定加密信息,实现对发送方和接收方传递信息的有效监管。
发明内容
一方面,本说明书提供一种加密方法,用于发送方根据明文生成密文,包括:
根据发送方私钥的至少部分进行单向函数运算,生成秘密随机数;
基于所述秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的加密算法加密所述明文,得到所述密文;
其中:所述发送方公钥的至少部分和私钥的至少部分具有离散对数关系,所述接收方公钥的至少部分和私钥的至少部分具有离散对数关系。
可选地,根据发送方私钥的至少部分进行单向函数运算,生成秘密随机数,包括:
对所述发送方私钥的至少部分和一随机数进行单向函数运算,生成所述秘密随机数。
可选地,根据发送方私钥的至少部分进行单向函数运算,生成秘密随机数,包括:
根据所述发送方私钥的至少部分和监管方公钥的至少部分,生成会话密钥;
对所述会话密钥进行单向函数运算,生成所述秘密随机数;
其中:所述监管方的公钥的至少部分和私钥的至少部分具有离散对数关系。
另一方面,本说明书提供一种加密方法,用于发送方根据明文生成密文,包括:
根据发送方私钥的至少部分和监管方公钥的至少部分,生成会话密钥;
根据所述会话密钥生成秘密随机数;
基于所述秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的加密算法加密所述明文,得到所述密文;
其中,所述发送方公钥的至少部分和私钥的至少部分具有离散对数关系,所述接收方公钥的至少部分和私钥的至少部分具有离散对数关系;所述监管方的公钥的至少部分和私钥的至少部分具有离散对数关系。
可选地,根据所述会话密钥生成秘密随机数,包括:
根据所述会话密钥和公开随机数,生成所述秘密随机数。
再一方面,本说明书提供一种查阅方法,用于发送方根据密文获得明文,包括:
对所述发送方私钥的至少部分进行单向函数运算,生成秘密随机数;
基于所述秘密随机数和接收方公钥的至少部分处理所述密文,采用基于离散对数困难问题的查询算法处理所述密文,得到所述明文;
其中:所述发送方公钥的至少部分和私钥的至少部分具有离散对数关系,所述接收方公钥的至少部分和私钥的至少部分具有离散对数关系。
可选地,对所述发送方私钥的至少部分进行单向函数运算,生成秘密随机数,包括:
对所述发送方私钥的至少部分,以及对应所述密文的随机数进行单向函数运算,生成所述秘密随机数。
可选地,对所述发送方私钥的至少部分进行单向函数运算,生成秘密随机数,包括:
根据发送方私钥的至少部分和监管方公钥的至少部分,生成会话密钥;
对所述会话密钥进行单行函数运算,生成所述秘密随机数;
其中:所述监管方的公钥的至少部分和私钥的至少部分具有离散对数关系。
再一方面,本说明书提供一种查阅方法,用于发送方根据密文得到明文,包括:
根据发送方私钥的至少部分和监管方公钥的至少部分,生成会话密钥;
根据所述会话密钥生成秘密随机数;
基于所述秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的查询算法处理所述密文,得到所述明文;
其中,所述发送方公钥的至少部分和私钥的至少部分具有离散对数关系,所述接收方公钥的至少部分和私钥的至少部分具有离散对数关系;所述监管方的公钥的至少部分和私钥的至少部分具有离散对数关系。
可选的,根据所述会话密钥生成秘密随机数,包括:
根据所述会话密钥和公开随机数,生成所述秘密随机数。
再一方面,本说明书提供一种监管方法,用于监管方根据发送方生成的密文获得明文;所述方法包括:
根据发送方公钥的至少部分和所述监管方私钥的至少部分,生成会话密钥;
根据所述会话密钥生成秘密随机数;
基于所述秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的查询算法处理所述密文,得到所述明文;
其中,所述发送方公钥的至少部分和私钥的至少部分具有离散对数关系,所述接收方公钥的至少部分和私钥的至少部分具有离散对数关系;所述监管方的公钥的至少部分和私钥的至少部分具有离散对数关系。
可选地,根据所述会话密钥生成秘密随机数,包括:
根据所述会话密钥和公开随机数,生成所述秘密随机数;其中:所述公开随机数由所述发送方提供。
再一方面,本说明书提供一种加密装置,用于发送方根据明文生成密文,包括:
秘密随机数生成单元,用于根据发送方私钥的至少部分进行单向函数运算,生成秘密随机数;
加密单元,用于基于所述秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的加密算法加密所述明文,得到所述密文;
其中:所述发送方公钥的至少部分和私钥的至少部分具有离散对数关系,所述接收方公钥的至少部分和私钥的至少部分具有离散对数关系。
可选地,其中所述秘密随机数生成单元包括:
会话密钥生成子单元,用于根据所述发送方私钥的至少部分和监管方公钥的至少部分,生成会话密钥;
秘密随机数生成子单元,用于对所述会话密钥进行单向函数运算,生成所述秘密随机数;
其中:所述监管方的公钥的至少部分和私钥的至少部分具有离散对数关系。
再一方面,本说明书提供一种加密装置,用于发送方根据明文生成密文,包括:
会话密钥生成单元,用于根据所述发送方私钥的至少部分和监管方公钥的至少部分,生成会话密钥;
秘密随机数生成单元,用于根据所述会话密钥,生成秘密随机数;
加密单元,用于基于所述秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的加密算法加密所述明文,得到所述密文;
其中,所述发送方公钥的至少部分和私钥的至少部分具有离散对数关系,所述接收方公钥的至少部分和私钥的至少部分具有离散对数关系;所述监管方的公钥的至少部分和私钥的至少部分具有离散对数关系。
再一方面,本说明书提供一种查阅装置,用于发送方根据密文获得明文,包括:
秘密随机数生成单元,用于对所述发送方私钥的至少部分进行单向函数运算,生成秘密随机数;
查阅单元,用于基于所述秘密随机数和接收方公钥的至少部分处理所述密文,采用基于离散对数困难问题的查询算法处理所述密文,得到所述明文;
其中:所述发送方公钥的至少部分和私钥的至少部分具有离散对数关系,所述接收方公钥的至少部分和私钥的至少部分具有离散对数关系。
再一方面,本说明书提供一种查阅装置,用于发送方根据密文得到明文,包括:
会话密钥生成单元,用于根据发送方私钥的至少部分和监管方公钥的至少部分,生成会话密钥;
秘密随机数生成单元,用于根据所述会话密钥生成秘密随机数;
查阅单元,用于基于所述秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的查询算法处理所述密文,得到所述明文;
其中,所述发送方公钥的至少部分和私钥的至少部分具有离散对数关系,所述接收方公钥的至少部分和私钥的至少部分具有离散对数关系;所述监管方的公钥的至少部分和私钥的至少部分具有离散对数关系。
再一方面,本说明书提供一种监管装置,用于监管方根据发送方生成的密文获得明文,包括:
会话密钥生成单元,用于根据发送方公钥的至少部分和所述监管方私钥的至少部分,生成会话密钥;
秘密随机数生成单元,用于根据所述会话密钥生成秘密随机数;
查询单元,用于基于所述秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的查询算法处理所述密文,得到所述明文;
其中,所述发送方公钥的至少部分和私钥的至少部分具有离散对数关系,所述接收方公钥的至少部分和私钥的至少部分具有离散对数关系;所述监管方的公钥的至少部分和私钥的至少部分具有离散对数关系。
本说明书提供的部分加密方法,发送方根据自己私钥的至少部分私钥生成秘密随机数,并根据秘密随机数和接收方公钥的至少部分加密明文。因为秘密随机数根据私钥的至少部分形成,所以发送方无需考虑秘密随机数的隐秘性和安全性问题,并能够采用对应的查阅方法,利用私钥的至少部分和接收方公钥的至少部分处理密文得到明文,实现密文内容的查阅。
在本说明书实施例提供的部分加密方法,发送方根据自己私钥的至少部分和监管方公钥的至少部分生成秘密随机数,并根据秘密随机数和接收方公钥的至少部分加密密文;对应的,监管方法中监管方可以根据自己的私钥的至少部分和发送方公钥的至少部分生成前述秘密随机数。因此,在发送方可以查阅密文的基础上,监管方也可以处理密文得到明文,实现密文内容的监管。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制。
图1是实施例一提供的加密方法的流程图;
图2是实施例一提供的查阅方法的流程图;
图3是实施例二提供的加密方法的流程图;
图4是实施例二提供的查阅方法的流程图;
图5是实施例二提供的监管方法的流程图;
图6是实施例五提供的加密装置的结构示意图;
图7是实施例六提供的加密装置的结构示意图;
图8是实施例七提供的查阅装置的结构示意图;
图9是实施例八提供的查阅装置的结构示意图;
图10是实施例九提供的监管装置的结构示意图;
图6中:11-秘密随机数生成单元,12-加密单元;图7中,21-会话密钥生成单元,22-秘密随机数生成单元,23-加密单元;图8中,31-随机数生成单元,32-查阅单元;图9中,41-会话密钥生成单元,42-秘密随机数生成单元,43-查阅单元;图10中, 51-会话密钥生成单元,52-秘密随机数生成单元,53-查询单元。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
第一种密钥情况下的实施例
在介绍第一情密钥情况下的实施例前,首先简单介绍本第一种密钥情况下的准备步骤。准备步骤包括系统共同参数生成步骤和各个参与方的密钥生成步骤。
系统共同参数生成步骤:采用系统参数生成算法,以安全参数λ为输入,输出一个循环群G,其中群的阶为p,生成元为g,系统公共参数为SP;系统公共参数SP 的求算方法如公式1。
SP=(G,p,g)←SysGen(1λ) 公式1
密钥生成步骤:以前述系统共同参数生成步骤生成的系统公共参数SP为输入,确定各个参与方的公钥。每个参与方分别选择一个秘密随机数α作为自己的私钥,并利用自己的私钥计算对应的公钥。每个参与方的公钥和私钥均具有离散对数关系,即各个参与方的公钥均根据公式2计算得到。
gα←gα 公式2
在第一种密钥情况下,参与方包括发送方和接收方,在一些具体应用中,参与方也可能包括监管方。发送方为对密文进行加密,生成密文的参与方;发送方还可以对自己加密形成的密文进行查阅,所述的查阅指的是处理密文重新得到明文。接收方为接收密文,并对密文进行查询的参与方。监管方为除发送方和接收方外的第三方,监管方可以处理密文得到明文。
为了方便起见,本实施例中,发送方的私钥(SecrettKey,SK)和公钥(Public Key,PK)分别为SK1=α1,PK1=g1,监管方的私钥和公钥为SK2=α2,PK2=g2,接收方的私钥和公钥为SK3=α3,PK3=g3。
实施例一
图1是实施例一提供的加密方法的流程图。此加密方法应用于密文的发送方,用于将明文加密为密文。如图1所示,本实施例包括步骤S101和S102。
S101:根据发送方私钥进行单向函数运算,生成秘密随机数。
步骤S101中,发送方根据自己的私钥α1进行单向函数运算,生成秘密随机数r1。其中的单向函数运算可以为离散对数运算或者哈希运算,也可以为其他类型的单向函数运算,只要保证可以根据私钥α1生成唯一的秘密随机数r1,但是并不能通过秘密随机数r1,采用合理的算力计算得到私钥α1即可。
应当注意是,在单向函数运算为离散对数运算的情况下,离散对数运算的底数应当与前述生成公钥时采用的底数g不同。
S102:基于秘密随机数和接收方公钥,采用基于离散对数困难问题的加密算法加密明文,得到密文。
在本实施例一个具体应用中,密文可以采用公式3计算得到。
公式3中:KDF为密钥派生函数,其可以输入固定长度的密钥,而输出任意长度的派生密钥;AES_Enc为对称加密算法、高级加密标准。本实施例具体应用中,真正的密文为C3。
实际操作中,为了使得接收方或者其他参与方能够根据接收到的密文查询得到明文,还需要将C2发送给接收方或者其他参与方。
在本实施例的一个具体应用中,根据秘密随机数r1和接收方公钥g3,加密明文得到密文时,采用了密钥派生函数KDF和对称加密算法AES_Enc。其中密钥派生函数 KDF用于生成任意长度的随机数,对称加密算法AES_Enc用于实现对加密明文的对称加密。在实施例其他应用中,也可以采用本领域已知的其他算法加密明文,只要相应的数据算法为基于离散对数问题的加密算法即可,例如,在一些实施例中,密文还可以为
以下对现有技术中的加密方法做简单的介绍,以用于后续通过对比方式确定本实施例加密算法可以达到的技术效果。
现有的加密方法中,秘密随机数r1由发送方随机生成;在加密过程中,基于秘密随机数r1生成前述的C2。因为发送方并不存储前述的秘密随机数r1,所以发送方在加密明文形成密文后,无法再次得到前述的C2和也就不能根据前述的C2和计算得到K,继而不能根据前述的K和密文,采用与前述对称加密算法相对的查询算法获得明文。
即使发送方可以保存秘密随机数r1,也必须保证前述的秘密随机数r1存储的隐秘性和安全性,避免因为秘密随机数r1的丢失和被盗(丢失情况下无法查阅密文内容,被盗情况下密文可能被恶意方查看);同时,发送方还需要保证自己私钥α1的隐秘性和安全性。
而在本实施例具体应用中,步骤S101中,秘密随机数r1为根据发送方的私钥α1采用单向函数运算得到。因此,在已知私钥α1的前提下,发送方无需存储前述的秘密随机数r1,也就不会出现如现有技术方案需要确保秘密随机数r1隐秘性和安全性的问题。在发送方明文丢失的情况下,发送方根据私钥α1可以生成秘密随机数r1,并根据私钥生成的秘密随机数r1、接收方的公钥g3和前述的密文得到明文。
图2是实施例一提供的查阅方法的流程图。如前所述,查阅方法应用于密文的发送方,用于处理发送方已经加密的密文,得到对应的明文。如图2所示,本实施例提供的查阅方法包括步骤S201和S202。
S201:根据发送方私钥进行单向函数运算,生成秘密随机数。
步骤S201中,发送方根据自己的私钥α1进行单向函数运算,生成秘密随机数r1。具体应用中,步骤S201采用的单向函数需要与前述步骤S101中采用的单向函数相同。实际上,为了根据处理加密方法生成的密文,得到明文,步骤S201中的操作过程与前述S101的步骤相同;因此本步骤的内容可以参照前述的步骤S101,此处不再复述。
S202:基于秘密随机数和接收方公钥,采用基于离散对数困难问题的查询算法处理密文,得到明文。
在本实施例的一个具体应用中,明文可以采用公式4计算得到。
其中,KDF为如步骤S102中的密钥派生函数;AES_Dec与步骤S102描述部分中AES_Enc对应的解密算法;C3为密文。
如前文加密算法部分的描述,本实施例应用中的查阅算法基于秘密随机数r1和接收方公钥g3实现了对采用步骤S101-S102加密的密文的查阅。具体应用中,发送方无需存储前述的秘密随机数r1,不会出现现有技术方案中需要确保秘密随机数r1隐秘性和安全性的问题。在发送方明文丢失的情况下,发送方根据私钥α1仍然可以秘密随机数r1,根据秘密随机数r1、接收方的公钥g3和前述密文得到明文。
对应的前述的加密方法,本实施例具体应用还提供一种解密方法。解密方法应用于密文的接收方,用于将密文查询为明文。解密方法可以采用公式5计算得到。
公式5中,C2如前述步骤S102和S202中的C2。如前述步骤S101-S102和 S201-S202中的描述,KDF为密钥派生函数AES_Dec与步骤S102描述部分中 AES_Enc对应的查询算法;C3为密文。当然,在前述加密算法为其他算法的情况下,解密算法为队形的算法。例如,在密文为解密算法为
在本实施例加密方法的一个具体应用中,步骤S101可以细化为步骤S1011:对发送方的私钥α1的和一随机数χ进行单向函数运算,生成秘密随机数r1。例如,在一个具体应用中,可以将发送方的私钥α1和一随机数χ合成为一个数据段,采用哈希运算或者离散对数运算,得到一秘密随机数r1。应当注意是,在采用随机数γ的情况下,在采用离散随机数运算生成秘密随机数r1时,离散随机数预算的底数可以为g。此外,为了能够实现对密文的查阅,发送方应当存储随机数χ。
对应的,在查阅方法步骤中,步骤S201可以细化为步骤S2011:对发送方的私钥α1和一随机数χ进行单向函数运算,生成秘密随机数r1。
为了方便起见,在下文描述其他基于第一种密钥情况下的实施例,不再采用公式表示基于秘密随机数加密明文,得到密文的过程;具体处理过程可参照前文公式5 和类似算法的描述。
实施例二
图3是实施例二提供的加密方法的流程图。此加密方法应用于密文的发送方,用于将明文加密为密文。如图3所示,本实施例的一个具体应用步骤包括S301-S303。
S301:根据发送方私钥和监管方的公钥,生成会话密钥。
为了方便起见,会话密钥采用r0表示。会话密钥r0为发送方和监管方根据自己的私钥和对方的公钥生成的一相同密钥。在本实施例的一具体应用中,会话密钥r0可以采用公式6计算得到。
分析公式6可以想到,因为会话密钥r0中必然需要发送方和监管方中一方的私钥和另一方的公钥,所以除发送和监管方的其他各方,在暴力破解方式确定发送方或监管方的私钥,才可能进一步地确定会话密钥r0。
S302:对会话密钥进行单向函数运算,生成秘密随机数。
步骤S302中的单向函数运算可以为离散对数运算或者哈希运算,也可以为其他类型的单向函数运算,本实施例并不做具体地限定。
在一个实施例具体应用中,单向函数优选为哈希运算。实际应用中,为了尽可能增加暴力破解的复杂性,私钥和对应的公钥数据位数均较长;对应的根据发送方私钥和监管方公钥生成的秘密随机数r1会更长。
根据哈希运算的特性可知,采用哈希运算处理会话密钥r0可以将一较长的数据转变为数据长度较短的、数据位数确定的数据段,而将此数据长度较短、数据位数确定的数据段作为秘密随机数r1用于后续处理,可以降低后续步骤的计算复杂度。
S303:基于秘密随机数和接收方公钥,采用基于离散对数困难问题的加密算法加密明文,得到密文。
步骤S303的操作和步骤S102的操作相同,因此相应的内容可以参见步骤S102 中的表述,本实施例不再展开。基于步骤S301-S303的加密算法具体应用中,步骤 S301的会话密钥r0根据发送方的私钥α1和监管方的公钥g2得到,在步骤S302中根据会话密钥r0采用单向函数运算得到秘密随机数r1,在保证私钥α1隐秘性和安全性的情况下,发送方无需面对现有技术方案需要确保秘密随机数r1隐秘性和安全性的问题。在发送方明文丢失的情况下,发送方根据私钥α1、监管方的公钥g2和接收方的公钥g3和前述的密文得到明文。
此外,本实施例加密方法生成的密文还可以被监管方监管。具体的,监管方根据自己的私钥α2和发送方的公钥g1可以得到前述的会话密钥r0,并基于会话密钥r0生成秘密随机数r1;此外,监管方可以获得接收方的公钥g3,所以随后监管方可以采用与前述步骤S303对应的查询方法处理密文,得到对应的明文,继而实现对发送方向接收方发送信息的监管。
在本实施例的加密算法一个具体应用中,步骤S302还可以引入一公开随机数γ。具体的,步骤S302可以更改为:根据会话密钥r0和一公开随机数γ进行运算处理,得到一中间数据后,再对中间数据进行单向函数运算,生成秘密随机数r1。实际应用中,根据会话密钥r0和公开随机数γ运算生成中间数据可以会话密钥r0和公开随机数γ进行拼接等。
基于不同的公开随机数γ,发送方可以得到不同的秘密随机数r1,即使对发送给同一接收方的同一明文进行多次加密,只要公开随机数γ不同,则最后形成的密文也就不同。可以想到,在采用不同的公开随机数γ的情况下,即使接收方相同和明文内容相同,也可以使得最后形成的密文不同,因此减小了恶意方通过比较密文而反推明文的可能性,和/或增加了恶意参与方破解的难度。
应当注意的是,为了使得监管方能够实现对密文对应明文的监管,加密方在将密文向监管方法(或者其他参与方)发送时,应当告知监管方(或者其他参与方)公开随机数γ;为了自己能够查阅加密的密文,发送方也应当保存公开随机数γ。
基于步骤S301-S303加密方法进行简化,可以得到在具体应用中采用的另外一种加密方法。具体的另外一种加密方法包括步骤S401-S402。
S401:根据发送方私钥和监管方的公钥,生成会话密钥。
步骤S401的具体操作内容与步骤S301的内容相同,具体内容可以参见前述步骤S301的叙述,此处不再复述。
S402:将会话密钥作为秘密随机数。
S403:基于秘密随机数和接收方公钥,采用基于离散对数困难问题的加密算法加密明文,得到密文。
可以想到,相比于步骤S301-S303形成的加密方法,步骤S401-S403形成的加密方法直接将会话密钥r0作为秘密随机数r1使用,而没有进行单向函数运算。可以想到,因为会话密钥r0采用发送方的私钥α1和监管方的公钥g2得到,所以会话密钥r0具有良好的隐秘特性,采用会话密钥r0作为秘密随机数r1也很难被接收方或者其他恶意参与方快速的获取。
此外,在一实施例的具体应用中,还可以基于步骤S401-S403确定的加密方法中进行改进,获得另一加密方法。具体的,步骤S401和S403并不改变,仅是步骤402 可以被更改为:根据会话密钥r0和一公开随机数γ生成秘密随机数r1。具体应用中,根据会话秘密钥和公开随机数γ生成秘密随机数r1时,可以采用单向函数算法运算,也可以采用其他算法运算。
图4是实施例二提供的查阅方法的流程图。查阅方法应用于明文的发送方,用于处理发送方已经加密的密文,得到对应的明文。如图4所示,本实施例提供的查阅方法包括步骤S501-S503。
S501:根据发送方私钥和监管方的公钥,生成会话密钥。
步骤S501的内容和前述步骤S301的相同,具体内容可以参见前述步骤S301的叙述,此处不再复述。
S502:对会话密钥进行单向函数运算,生成秘密随机数。
步骤S502的内容和前述步骤S302的相同,具体内容可以参见前述步骤S302的叙述,此处不再复述。
S503:基于秘密随机数和接收方公钥,采用基于离散对数困难问题的查询算法处理密文,得到明文。
步骤503的内容和前述步骤202相同,具体内容可以参见前述步骤S202的叙述,此处不再复述。
如前文加密算法部分的描述,本实施例具体应用中的查阅算法中,发送方基于自己的私钥α1和监管方的公钥g2,采用单向函数运算得到秘密随机数r1,并基于秘密随机数r1和接收方公钥g3实现对步骤S301-S303加密密文的操作。因为公开随机数γ根据自己的私钥α1和监管方的公钥g2获得,所以发送方无需存储前述的秘密随机数 r1,无需面对现有技术方案中需要确保秘密随机数r1隐秘性和安全性的问题。在发送方明文丢失的情况下,发送方可以计算得到秘密随机数r1,根据秘密随机数r1、接收方的公钥g3采用查询算法处理前述密文得到明文。
基于步骤S501-S503查阅方法的进行简化,可以得到在具体应用中采用的另外一种查阅方法。具体的另外一种加密方法包括步骤S601-S603。
S601:根据发送方私钥和监管方的公钥,生成会话密钥。
步骤S601的内容和前述步骤S301的相同,具体内容可以参见前述步骤S301的叙述,此处不再复述。
S602:将会话密钥作为秘密随机数。
S603:基于秘密随机数和接收方公钥,采用基于离散对数困难问题的查询算法处理密文,得到明文。
步骤S603和前述步骤S503相同,具体内容可以参见前述步骤S503。
可以想到,相比于步骤S501-S503形成的查阅方法,步骤S601-S603形成的查阅方法直接将会话密钥r0作为秘密随机数r1使用,而没有进行单向函数运算。因为会话密钥r0采用发送方的私钥α1和监管方的公钥g2得到,所以会话密钥r0具有良好的隐秘特性,采用会话密钥r0作为秘密随机数r1也很难被接收方或者其他恶意参与方快速的获取。
此外,在一实施例的具体应用中,还可以基于步骤S601-S603确定的查阅方法中进行改进,获得另一查阅方法。具体的,步骤S601和S603并不改变,仅是步骤602 可以被更改为:根据会话密钥r0和一公开随机数γ生成秘密随机数r1。具体应用中,根据会话秘密钥和公开随机数γ生成秘密随机数r1时,可以采用单向函数算法运算,也可以采用其他算法运算。
图5是实施例二提供的监管方法的流程图。监管方法用于监管方,用于对发送方向接收方发送的密文进行解析,确定对应的明文,以实现发送方向接收方传递信息的监管。
如图5所示,本实施例具体应用中的监管方法包括步骤S701-S703。应当注意的是,步骤S701-S703确定的监管方法与步骤S301-S303确定的加密方法对应。
S701:基于发送方公钥和监管方私钥,生成会话密钥。
步骤S701中,监管方生成的会话密钥r0和密文发送方生成的会话密钥r0相同。在本实施例的一具体应用中,会话密钥r0可以采用公式7计算得到。
如前文所述,因为会话密钥r0中必然需要发送方和监管方之一的私钥和另一的公钥,所以除发送和监管方的其他各方,仅能够通过暴力破解方式确定发送方或监管方的私钥α3,才可能进一步地确定会话密钥r0。
S702:对会话密钥进行单向函数运算,生成秘密随机数。
步骤S702与前述步骤S302的相同,具体内容可以参见前述步骤S302的叙述,此处不再复述。
S703:基于秘密随机数和接收方公钥,采用基于离散对数困难问题的查询算法处理密文,得到明文。
步骤S703和步骤303相同,具体内容可以参见前述步骤S303的叙述,此处不再复述。
类似前文对加密算法和查阅算法效果的描述,本实施例具体应用提供的查阅方法中,监管方基于自己的私钥α3和发送方的公钥g3,生成会话密钥r0;此会话密钥r0和加密方生成的会话密钥r0相同,因此监管方可以根据会话密钥r0生成秘密随机数r1,并基于秘密随机数r1和接收方的公钥g3处理密文,得到明文,继而实现对明文信息的监管。
基于步骤S701-S703监管方法进行简化,可以得到具体应用中采用的另外一种监管方法,如步骤S801-803。
S801:基于发送方公钥和监管方私钥,生成会话密钥。
步骤S801与步骤S701相同,具体内容可以参见步骤S701,此处不再复述。
S802:将会话密钥作为秘密随机数。
S803:基于秘密随机数和接收方公钥,采用基于离散对数困难问题的查询算法处理密文,得到明文。
步骤S803和前述步骤S503相同,具体内容可以参见前述步骤S503。
可以想到,相比于步骤S701-S703形成的监管方法,步骤S801-S803形成的监管方法直接将会话密钥r0作为秘密随机数r1使用,而没有进行单向函数运算。因为会话密钥r0采用发送方的私钥α1和监管方的公钥g2得到,所以会话密钥r0具有良好的隐秘特性,采用会话密钥r0作为秘密随机数r1也很难被接收方或者其他恶意参与方快速的获取。
此外,在一实施例的具体应用中,还可以基于步骤S801-S803确定的监管方法中进行改进,获得另一监管方法。具体的,步骤S801和S803并不改变,仅是步骤802 可以被更改为:根据会话密钥r0和一公开随机数γ生成秘密随机数r1。具体应用中,根据会话秘密钥和公开随机数γ生成秘密随机数r1时,可以采用单向函数算法运算,也可以采用其他算法运算。
第二种密钥情况下的实施例
在介绍第一情密钥情况下的实施例前,首先简单介绍本第二种密钥情况下的准备步骤。准备步骤包括系统共同参数生成步骤和各个参与方的密钥生成步骤。
系统共同参数生成步骤:采用系统参数生成算法,以安全参数λ为输入,输出一个循环群G,其中群的阶为p,生成元为g1,g2,系统公共参数为SP;系统公共参数 SP的求算方法如公式8。
SP=(G,p,g1,g2)←SysGen(1λ) 公式8
密钥生成步骤:以前述系统共同参数生成步骤生成的系统公共参数SP为输入,确定各个参与方的公钥。每个参与方分别选择5个秘密随机数a,b,c,d,e作为自己的私钥,并利用自己的私钥计算对应的公钥(A,B,E)。每个参与方的公钥和私钥均具有离散对数关系,即各个参与方的公钥均根据公式9计算得到。
在第二种密钥情况下,参与方包括发送方和接收方,在一些具体应用中,参与方也可能包括监管方。发送方为对密文进行加密,生成密文的参与方;发送方还可以对自己加密形成的密文进行查阅,所述的查阅指的是处理密文重新得到明文。接收方为接收密文,并对密文进行查询的参与方。监管方为除发送方和接收方外的第三方,监管方可以处理密文得到明文。
为了方便起见,本实施例中,发送方的私钥(Secret Key,SK)和公钥(Public Key,PK)分别为SK1=(a1,b1,c1,d1,e1),PK1=(A1,B1,E1),监管方的私钥和公钥为 SK2=(a2,b2,c2,d2,e2),PK2=(A2,B2,E2),接收方的私钥和公钥为 SK3=(a3,b3,c3,d3,e3),PK3=(A3,B3,E3)。
实施例三
实施例三具体应用提供一种加密方法,加密方法应用于密文的发送方,用于将明文加密为密文。如图1所示,本实施例包括步骤S901和S902。
S901:根据发送方私钥的部分进行单向函数运算,生成秘密随机数。
步骤S101中,发送方根据自己的部分私钥e1中进行单向函数运算,生成秘密随机数r1。其中的单向函数运算可以为离散对数运算或者哈希运算,也可以为其他类型的单向函数运算,只要保证可以根据部分私钥e1生成唯一的秘密随机数r1,但是并不能通过秘密随机数r1,采用合理的算力计算得到部分私钥e1即可。
应当注意是,在单向函数运算为离散对数运算的情况下,离散对数运算的底数应当与前述生成公钥时采用的底数g1不同。
S902:基于秘密随机数和接收方部分公钥,采用基于离散对数困难问题的加密算法加密明文,得到密文。
在本实施例一个具体应用中,密文可以采用公式10计算得到。
公式10中:KDF为密钥派生函数,其可以输入固定长度的密钥,而输出任意长度的派生密钥;AES_Enc为对称加密算法、高级加密标准,真正的密文为C4。当然,为了使得接收方或者其他参与方能够根据接收到的密文查询得到明文,仍然需要将 C2发送给接收方或者其他参与方。
在本实施例的一个具体应用中,根据秘密随机数r1和接收方的部分公钥E3,加密明文得到密文时,采用了密钥派生函数KDF和对称加密算法AES_Enc。其中密钥派生函数KDF用于生成任意长度的随机数,对称加密算法AES_Enc用于实现对加密明文的对称加密。在实施例其他应用中,也可以采用本领域已知的其他算法加密明文,只要相应的数据算法为基于离散对数问题的加密算法即可。
以下对现有技术中的加密方法做简单的介绍,以用于后续通过对比方式确定本实施例加密算法可以达到的技术效果。
现有的加密方法中,秘密随机数r1由发送方随机生成;在加密过程中,基于秘密随机数r1生成前述的C2。因为发送方并不存储前述的秘密随机数r1,所以发送方在加密明文形成密文后,无法再次得到前述的C2和也就不能根据前述的C2和计算得到K,继而不能根据前述的K和密文,采用与前述对称加密算法相对的查询算法获得明文。
即使发送方可以保存秘密随机数r1,也必须保证前述的秘密随机数r1存储的隐秘性和安全性,避免因为秘密随机数r1的丢失和被盗(丢失情况下无法查阅密文内容,被盗情况下密文可能被恶意方查看);同时,发送方还需要保证自己私钥 SK1=(a1,b1,c1,d1,e1)的隐秘性和安全性。
而在本实施例具体应用中,步骤S901中,秘密随机数r1为根据发送方的部分私钥e1采用单向函数运算得到。因此,在已知部分私钥e1的前提下,发送方无需存储前述的秘密随机数r1,也就不会出现如现有技术方案需要确保秘密随机数r1隐秘性和安全性的问题。在发送方明文丢失的情况下,发送方根据部分私钥e1可以生成秘密随机数r1,并根据私钥生成的秘密随机数r1、接收方的部分公钥和前述的密文得到明文。
在实施例三一具体应用中提供的加密算法中,步骤S902采用接收方公钥的部分用于实现对明文的加密。
实施例三具体应用还提供一种查阅方法,查阅方法应用于密文的发送方,用于处理发送方已经加密的密文,得到对应的明文。本实施例提供的查阅方法包括步骤 S1001和S1002。
S1001:根据发送方的部分私钥进行单向函数运算,生成秘密随机数。
步骤S201中,发送方根据自己的部分私钥e1进行单向函数运算,生成秘密随机数r1。具体应用中,步骤S1001采用的单向函数需要与前述步骤S901中采用的单向函数相同。实际上,为了根据处理加密方法生成的密文,得到明文,步骤S1001中的操作过程与前述S901的步骤相同;因此本步骤的内容可以参照前述的步骤S901,此处不再复述。
S1002:基于秘密随机数和接收方公钥的部分,采用基于离散对数困难问题的查询算法处理密文,得到明文。
在本实施例的一个具体应用中,明文可以采用公式11计算得到。
其中,KDF为如步骤S902中的密钥派生函数;AES_Dec与步骤S902描述部分中AES_Enc对应的查询算法;C3为密文SHA256为哈希运算C4为密文。
在本实施例中的一个具体应用中,根据秘密随机数r1和接收放部分公钥E3,查阅密文得到明文时,采用了密钥派生函数KDF和对称查询算法AES_Dec。其中对称查询算法AES_Dec对称查询算法AES_Enc。在其他应用中,在加密方法采用本领域已知的其他加密算法时,在查阅方法步骤S1002中应当采用对应的其他查询算法,只要相应的数据算法为基于离散对数问题的查询算法即可。
如前文加密算法部分的描述,本实施例应用中的查阅算法基于秘密随机数r1和接收方部分公钥E3实现了对采用步骤S1001-S1002加密的密文的查阅。具体应用中,发送方无需存储前述的秘密随机数r1,不会出现现有技术方案中需要确保秘密随机数 r1隐秘性和安全性的问题。在发送方明文丢失的情况下,发送方根据部分私钥e1仍然可以秘密随机数r1,根据秘密随机数r1、接收方的部分公钥E3和前述密文得到明文。
对应的前述的加密方法,本实施例具体应用还提供一种查询方法。查询方法应用于密文的接收方,用于将密文查询为明文。查询方法可以采用公式12计算得到。
公式5中,C2如前述步骤S902和S1002中的C2。如前述步骤S901-S902和 S1001-S1002中的描述,KDF为密钥派生函数AES_Dec与步骤S102描述部分中 AES_Enc对应的查询算法;C4为密文。
在本实施例加密方法的一个具体应用中,步骤S901可以细化为步骤S9011:对发送方的部分私钥e1的和一随机数χ进行单向函数运算,生成秘密随机数r1。例如,在一个具体应用中,可以将发送方的部分私钥e1和一随机数χ合成为一个数据段,采用哈希运算或者离散对数运算,得到一秘密随机数r1。应当注意是,在采用随机数χ的情况下,在采用离散随机数运算生成秘密随机数r1时,离散随机数预算的底数可以为g1。此外,为了能够实现对密文的查阅,发送方应当存储随机数χ。
对应的,在查阅方法步骤中,步骤S1001可以细化为步骤S10111:对发送方的部分私钥e1和一随机数χ进行单向函数运算,生成秘密随机数r1。
为了方便起见,在下文描述其他基于第二种密钥情况下的实施例,不再采用公式表示基于秘密随机数加密明文,得到密文的过程;具体处理过程可参照前文公式11 和类似算法的描述。
实施例四
实施例四具体应用提供一种加密方法,包括步骤S301-S303加密方法应用于密文的发送方,用于将明文加密为密文。一个具体应用步骤。
S1101:根据发送方私钥的部分私钥和监管方的部分公钥,生成会话密钥。
为了方便起见,会话密钥采用r0表示。会话密钥r0为发送方和监管方根据自己的部分私钥和对方的部分公钥生成的一相同密钥。在本实施例的一具体应用中,会话密钥r0可以采用公式6计算得到。
分析公式13可以想到,因为会话密钥r0中必然需要发送方和监管方中一方的部分私钥和另一方的部分公钥,所以除发送和监管方的其他各方,在暴力破解方式确定发送方或监管方的部分私钥,才可能进一步地确定会话密钥r0。
S112:对会话密钥进行单向函数运算,生成秘密随机数。
步骤S1102中的单向函数运算可以为离散对数运算或者哈希运算,也可以为其他类型的单向函数运算,本实施例并不做具体地限定。
在一个实施例具体应用中,单向函数优选为哈希运算。实际应用中,为了尽可能增加暴力破解的复杂性,私钥和对应的公钥数据位数均较长;对应的根据发送方部分私钥和监管方部分公钥生成的秘密随机数r1会更长。
根据哈希运算的特性可知,采用哈希运算处理会话密钥r0可以将一较长的数据转变为数据长度较短的、数据位数确定的数据段,而将此数据长度较短、数据位数确定的数据段作为秘密随机数r1用于后续处理,可以降低后续步骤的计算复杂度。
S1103:基于秘密随机数和接收方部分公钥,采用基于离散对数困难问题的加密算法加密明文,得到密文。
步骤S1103的操作和步骤S1102的操作相同,因此相应的内容可以参见步骤 S1102中的表述,本实施例不再展开。基于步骤S1101-S1103的加密算法具体应用中,步骤S1101的会话密钥r0根据发送方的部分私钥e1和监管方的部分公钥E2得到,在步骤S1102中根据会话密钥r0采用单向函数运算得到秘密随机数r1,在保证私钥SK1中至少e1部分隐秘性和安全性的情况下,发送方无需面对现有技术方案需要确保秘密随机数r1隐秘性和安全性的问题。在发送方明文丢失的情况下,发送方根据部分私钥e1、监管方的部分公钥E2和接收方的公钥E3和前述的密文得到明文。
此外,本实施例加密方法生成的密文还可以被监管方监管。具体的,监管方根据自己的部分私钥e2和发送方的部分公钥E1可以得到前述的会话密钥r0,并基于会话密钥r0生成秘密随机数r1;此外,监管方可以获得接收方的部分公钥E1,所以随后监管方可以采用与前述步骤S1103对应的查询方法处理密文,得到对应的明文,继而实现对发送方向接收方发送信息的监管。
在本实施例的加密算法一个具体应用中,步骤S302还可以引入一公开随机数γ。具体的,步骤S302可以更改为:根据会话密钥r0和一公开随机数γ进行运算处理,得到一中间数据后,再对中间数据进行单向函数运算,生成秘密随机数r1。实际应用中,根据会话密钥r0和公开随机数γ运算生成中间数据可以会话密钥r0和公开随机数γ进行拼接等。
基于不同的公开随机数γ,发送方可以得到不同的秘密随机数r1,即使对发送给同一接收方的同一明文进行多次加密,只要公开随机数γ不同,则最后形成的密文也就不同。可以想到,在采用不同的公开随机数γ的情况下,即使接收方相同和明文内容相同,也可以使得最后形成的密文不同,因此减小了恶意方通过比较密文而反推明文的可能性,和/或增加了恶意参与方破解的难度。
应当注意的是,为了使得监管方能够实现对密文对应明文的监管,加密方在将密文向监管方法(或者其他参与方)发送时,应当告知监管方(或者其他参与方)公开随机数γ;为了自己能够查阅加密的密文,发送方也应当保存公开随机数γ。
基于步骤S1101-S1103加密方法进行简化,可以得到在具体应用中采用的另外一种加密方法。具体的另外一种加密方法包括步骤S1201-S1202。
S1201:根据发送方的部分私钥和监管方的部分公钥,生成会话密钥。
步骤S1201的具体操作内容与步骤S1101的内容相同,具体内容可以参见前述步骤S1101的叙述,此处不再复述。
S1202:将会话密钥作为秘密随机数。
S1203:基于秘密随机数和接收方的部分公钥,采用基于离散对数困难问题的加密算法加密明文,得到密文。
可以想到,相比于步骤S1101-S1103形成的加密方法,步骤S1201-S1203形成的加密方法直接将会话密钥r0作为秘密随机数r1使用,而没有进行单向函数运算。可以想到,因为会话密钥r0采用发送方的部分私钥e1和监管方的部分公钥E2得到,所以会话密钥r0具有良好的隐秘特性,采用会话密钥r0作为秘密随机数r1也很难被接收方或者其他恶意参与方快速的获取。
此外,在一实施例的具体应用中,还可以基于步骤S1201-S1203确定的加密方法中进行改进,获得另一加密方法。具体的,步骤S1201和S1203并不改变,仅是步骤 1202可以被更改为:根据会话密钥r0和一公开随机数γ生成秘密随机数r1。具体应用中,根据会话秘密钥和公开随机数γ生成秘密随机数r1时,可以采用单向函数算法运算,也可以采用其他算法运算。
本实施例具体应用还提供一种查阅方法,如步骤S1301-S1303。查阅方法应用于明文的发送方,用于处理发送方已经加密的密文,得到对应的明文。S1301:根据发送方的部分私钥和监管方的部分公钥,生成会话密钥。
步骤S1301的内容和前述步骤S1101的相同,具体内容可以参见前述步骤S1101 的叙述,此处不再复述。
S1302:对会话密钥进行单向函数运算,生成秘密随机数。
步骤S1302的内容和前述步骤S1102的相同,具体内容可以参见前述步骤S1102 的叙述,此处不再复述。
S1303:基于秘密随机数和接收方的部分公钥,采用基于离散对数困难问题的查询算法处理密文,得到明文。
步骤1303的内容和前述步骤1002相同,具体内容可以参见前述步骤S1002的叙述,此处不再复述。
如前文加密算法部分的描述,本实施例具体应用中的查阅算法中,发送方基于自己的部分私钥e1和监管方的部分公钥E2,采用单向函数运算得到秘密随机数r1,并基于秘密随机数r1和接收方的部分公钥E3实现对步骤S1101-S1103加密密文的操作。因为公开随机数γ根据自己的部分私钥e1和监管方的部分公钥E2获得,所以发送方无需存储前述的秘密随机数r1,无需面对现有技术方案中需要确保秘密随机数r1隐秘性和安全性的问题。在发送方明文丢失的情况下,发送方可以计算得到秘密随机数r1,根据秘密随机数r1、接收方的部分公钥E3采用查询算法处理前述密文得到明文。
基于步骤S1301-S1303查阅方法的进行简化,可以得到在具体应用中采用的另外一种查阅方法。具体的另外一种加密方法包括步骤S1401-S1403。
S1401:根据发送方的部分私钥和监管方的部分公钥,生成会话密钥。
步骤S1401的内容和前述步骤S1101的相同,具体内容可以参见前述步骤S1101 的叙述,此处不再复述。
S1402:将会话密钥作为秘密随机数。
S1403:基于秘密随机数和接收方的部分公钥,采用基于离散对数困难问题的查询算法处理密文,得到明文。
步骤S1403和前述步骤S1303相同,具体内容可以参见前述步骤S1303。
可以想到,相比于步骤S1301-S1303形成的查阅方法,步骤S1401-S1403形成的查阅方法直接将会话密钥r0作为秘密随机数r1使用,而没有进行单向函数运算。因为会话密钥r0采用发送方的部分私钥e1和监管方的部分公钥E2得到,所以会话密钥r0具有良好的隐秘特性,采用会话密钥r0作为秘密随机数r1也很难被接收方或者其他恶意参与方快速的获取。
此外,在一实施例的具体应用中,还可以基于步骤S1401-S1403确定的查阅方法中进行改进,获得另一查阅方法。具体的,步骤S1401和S1403并不改变,仅是步骤 1402可以被更改为:根据会话密钥r0和一公开随机数γ生成秘密随机数r1。具体应用中,根据会话秘密钥和公开随机数γ生成秘密随机数r1时,可以采用单向函数算法运算,也可以采用其他算法运算。
本实施例具体应用还提供一种监管方法,如步骤S1501-S1503。监管方法用于监管方,用于对发送方向接收方发送的密文进行解析,确定对应的明文,以实现发送方向接收方传递信息的监管。
应当注意的是,步骤S1501-S1503确定的监管方法与步骤S1101-S1103确定的加密方法对应。
S1501:基于发送方的部分公钥和监管方的部分私钥,生成会话密钥。
步骤S1501中,监管方生成的会话密钥r0和密文发送方生成的会话密钥r0相同。在本实施例的一具体应用中,会话密钥r0可以采用公式14计算得到。
如前文,因为会话密钥r0中必然需要发送方和监管方之一的部分私钥和另一的部分公钥,所以除发送和监管方的其他各方,仅能够通过暴力破解方式确定发送方的部分私钥或监管方的部分私钥,才可能进一步地确定会话密钥r0。
S1502:对会话密钥进行单向函数运算,生成秘密随机数。
步骤S1502与前述步骤S1102的相同,具体内容可以参见前述步骤S1102的叙述,此处不再复述。
S1503:基于秘密随机数和接收方的部分公钥,采用基于离散对数困难问题的查询算法处理密文,得到明文。
步骤S1503和步骤1103相同,具体内容可以参见前述步骤S1103的叙述,此处不再复述。
类似前文对加密算法和查阅算法效果的描述,本实施例具体应用提供的查阅方法中,监管方基于自己的部分私钥e3和发送方的部分公钥E1,生成会话密钥r0;此会话密钥r0和加密方生成的会话密钥r0相同,因此监管方可以根据会话密钥r0生成秘密随机数r1,并基于秘密随机数r1和接收方的部分公钥E3处理密文,得到明文,继而实现对明文信息的监管。
基于步骤S1501-S1503监管方法进行简化,可以得到具体应用中采用的另外一种监管方法,如步骤S1601-1603。
S1601:基于发送方的部分公钥和监管方的部分私钥,生成会话密钥。
步骤S1601与步骤S1501相同,具体内容可以参见步骤S1501,此处不再复述。
S1602:将会话密钥作为秘密随机数。
S1603:基于秘密随机数和接收方的部分公钥,采用基于离散对数困难问题的查询算法处理密文,得到明文。
步骤S1603和前述步骤S1503相同,具体内容可以参见前述步骤S1503。
可以想到,相比于步骤S501-S1503形成的监管方法,步骤S1601-S1603形成的监管方法直接将会话密钥r0作为秘密随机数r1使用,而没有进行单向函数运算。因为会话密钥r0采用发送方的部分私钥e1和监管方的部分公钥E2得到,或者根据发送方的部分公钥E1和监管方的部分私钥e2得到,所以会话密钥r0具有良好的隐秘特性,采用会话密钥r0作为秘密随机数r1也很难被接收方或者其他恶意参与方快速的获取。
此外,在一实施例的具体应用中,还可以基于步骤S1601-S1603确定的监管方法中进行改进,获得另一监管方法。具体的,步骤S1601和S1603并不改变,仅是步骤 1602可以被更改为:根据会话密钥r0和一公开随机数γ生成秘密随机数r1。具体应用中,根据会话秘密钥和公开随机数γ生成秘密随机数r1时,可以采用单向函数算法运算,也可以采用其他算法运算。
除了提供前述的方法外,本说明书实施例还提供与前述方法对应的加密装置、查阅装置和监管装置。因为装置和前述方法基于同样的发明构思,所以下文仅就装置的组成做介绍,其解决的技术问题和可以达到的技术效果可以参照前述方法实施例。
基于前述实施例一-至实施例四,本领域技术人员可以想到,在合理构建系统公共参数中的生成元的情况下,即使发送方采用自己的部分私钥和接收方的全部公钥,也可以按照前述方法加密明文得到密文,发送方也可以利用自己的部分私钥和接收方的全部公钥查阅密文;或者,发送方可以采用自己的全部私钥和接收方的部分公钥加密明文得到密文,以及利用自己的全部私钥和接收方的部分公钥查阅密文;对应的,接收方可以采用自己的全部公钥和发送方的部分私钥查询密文,或者采用自己的部分私钥和发送方的全部公钥查询密文,得到明文。
类似的,发送方可以采用自己的部分私钥和监管方的全部公钥生成会话密钥,或者采用自己的全部私钥和监管方的部分公钥生成会话密钥;对应的,监管方可以采用自己的部分私钥和发送方的全部公钥生成会话密钥,或者采用自己的全部私钥和发送方的部分公钥生成会话密钥。
实施例五
图6是实施例五提供的加密装置的结构示意图。如图6所示,在加密装置包括秘密随机数生成单元11和加密单元12。
在实施例一个具体应用中,秘密随机数生成单元11用于根据发送方私钥的至少部分进行单向函数运算,生成秘密随机数;加密单元12用于基于秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的加密算法加密明文,得到密文;其中:发送方公钥的至少部分和私钥的至少部分具有离散对数关系,接收方公钥的至少部分和私钥的至少部分具有离散对数关系。
进一步地,秘密随机数生成单元11对发送方私钥的至少部分和一随机数进行单向函数运算,生成秘密随机数。
进一步地,秘密随机数生成单元11包括会话密钥生成子单元和秘密随机数生成子单元。
在一个具体应用中,会话密钥生成子单元用于根据发送方私钥的至少部分和监管方公钥的至少部分,生成会话密钥;秘密随机数生成子单元用于对会话密钥和随机数进行单向函数运算,生成秘密随机数;其中:监管方的公钥的至少部分和私钥的至少部分具有离散对数关系;随机数为公开随机数。
实施例六
图7是实施例六提供的加密装置的结构示意图,如图7所示,加密装置包括会话密钥生成单元21、秘密随机数生成单元22和加密单元23。会话密钥生成子单元21 用于根据发送方私钥的至少部分和监管方公钥的至少部分,生成会话密钥;秘密随机数生成单元22根据会话密钥生成秘密随机数;加密单元23用于基于秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的加密算法加密明文,得到密文,其中:发送方公钥的至少部分和私钥的至少部分具有离散对数关系,接收方公钥的至少部分和私钥的至少部分具有离散对数关系;监管方的公钥的至少部分和私钥的至少部分具有离散对数关系。
实施例七
图8是实施例七提供的查阅装置的结构示意图。如图8所示,查阅装置包括秘密随机数生成单元31和查阅单元32。
在实施例一个具体应用中,秘密随机数生成单元31用于对发送方私钥的至少部分进行单向函数运算,生成秘密随机数;查阅单元32,用于基于秘密随机数和接收方公钥的至少部分处理密文,采用基于离散对数困难问题的查询算法处理密文,得到明文;其中:发送方公钥的至少部分和私钥的至少部分具有离散对数关系,接收方公钥的至少部分和私钥的至少部分具有离散对数关系。
在一个具体应用中,秘密随机数生成单元31对发送方私钥的至少部分,以及对应密文的随机数进行单向函数运算,生成秘密随机数。
实施例八
图9是实施例八提供的查阅装置的结构示意图。如图9所示,查阅装置包括会话密钥生成单元41、秘密随机数生成单元42和查阅单元43。会话密钥生成单元41用于根据发送方私钥的至少部分和监管方公钥的至少部分,生成会话密钥;秘密随机数生成单元,42用于根据会话密钥生成秘密随机数;查阅单元43用于基于秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的查询算法处理密文,得到明文;其中,发送方公钥的至少部分和私钥的至少部分具有离散对数关系,接收方公钥的至少部分和私钥的至少部分具有离散对数关系;监管方的公钥的至少部分和私钥的至少部分具有离散对数关系。
实施例九
图10是实施例九提供的监管装置的结构示意图。如图10所示,监管装置包括会话密钥生成单元51、秘密随机数生成单元52和查询单元53。会话密钥生成单元 51用于根据发送方公钥的至少部分和监管方私钥的至少部分,生成会话密钥;秘密随机数生成单元52用于根据会话密钥生成秘密随机数;查询单元53用于基于秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的查询算法处理密文,得到明文;其中,发送方公钥的至少部分和私钥的至少部分具有离散对数关系,接收方公钥的至少部分和私钥的至少部分具有离散对数关系;监管方的公钥的至少部分和私钥的至少部分具有离散对数关系。
除了提供前述的方法和装置外,本说明书实施例还提供一种计算机可读存储介质,存储介质存储有程序代码;程序代码在被处理器加载后可以执行如前的加密方法、查阅方法或者监管方法。实际应用中,计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
本说明书实施例还提供一种电子设备。电子设备包括存储器和处理器。存储器存储有程序代码;程序代码在被处理器加载后可以执行如前的加密方法、查阅方法或者监管方法。
此外,为了实现数据明文输入、私钥输入或者密文输入等功能,电子设备还可以包括输入部件;实际应用中,输入部件可以为鼠标、键盘、触摸屏等本领域技术人员已知的输入部件。
为了实现明文输出、公钥输出或者密文输出等共鞥,电子设备还可以包括输出部件;实际应用中,输出部件可以是诸如显示器、打印机、扬声器等本领域已知的输出部件。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种加密方法,用于发送方根据明文生成密文,包括:
根据发送方私钥的至少部分进行单向函数运算,生成秘密随机数;
基于所述秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的加密算法加密所述明文,得到所述密文;
基于所述秘密随机数和接收方公钥的至少部分处理所述密文,采用基于离散对数困难问题的查询算法处理所述密文,得到所述明文;其中:发送方公钥的至少部分和私钥的至少部分具有离散对数关系,所述接收方公钥的至少部分和私钥的至少部分具有离散对数关系。
2.根据权利要求1所述的方法,根据发送方私钥的至少部分进行单向函数运算,生成秘密随机数,包括:
对所述发送方私钥的至少部分和一随机数进行单向函数运算,生成所述秘密随机数。
3.根据权利要求1所述的方法,根据发送方私钥的至少部分进行单向函数运算,生成秘密随机数,包括:
根据所述发送方私钥的至少部分和监管方公钥的至少部分,生成会话密钥;
对所述会话密钥进行单向函数运算,生成所述秘密随机数;
其中:所述监管方公钥的至少部分和私钥的至少部分具有离散对数关系。
4.一种加密方法,用于发送方根据明文生成密文,包括:
根据发送方私钥的至少部分和监管方公钥的至少部分,生成会话密钥;
根据所述会话密钥生成秘密随机数;
基于所述秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的加密算法加密所述明文,得到所述密文;
基于所述秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的查询算法处理所述密文,得到所述明文;
其中,发送方公钥的至少部分和私钥的至少部分具有离散对数关系,所述接收方公钥的至少部分和私钥的至少部分具有离散对数关系;所述监管方公钥的至少部分和私钥的至少部分具有离散对数关系。
5.根据权利要求4所述的方法,根据所述会话密钥生成秘密随机数,包括:
根据所述会话密钥和公开随机数,生成所述秘密随机数。
6.一种加密装置,用于发送方根据明文生成密文,包括:
秘密随机数生成单元,用于根据发送方私钥的至少部分进行单向函数运算,生成秘密随机数;
加密单元,用于基于所述秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的加密算法加密所述明文,得到所述密文;
查阅单元,用于基于所述秘密随机数和接收方公钥的至少部分处理所述密文,采用基于离散对数困难问题的查询算法处理所述密文,得到所述明文;
其中:发送方公钥的至少部分和私钥的至少部分具有离散对数关系,所述接收方公钥的至少部分和私钥的至少部分具有离散对数关系。
7.根据权利要求6所述的装置,其中所述秘密随机数生成单元包括:
会话密钥生成子单元,用于根据所述发送方私钥的至少部分和监管方公钥的至少部分,生成会话密钥;
秘密随机数生成子单元,用于对所述会话密钥进行单向函数运算,生成所述秘密随机数;
其中:所述监管方公钥的至少部分和私钥的至少部分具有离散对数关系。
8.一种加密装置,用于发送方根据明文生成密文,包括:
会话密钥生成单元,用于根据所述发送方私钥的至少部分和监管方公钥的至少部分,生成会话密钥;
秘密随机数生成单元,用于根据所述会话密钥,生成秘密随机数;
加密单元,用于基于所述秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的加密算法加密所述明文,得到所述密文;
查询单元,用于基于所述秘密随机数和接收方公钥的至少部分,采用基于离散对数困难问题的查询算法处理所述密文,得到所述明文;
其中,发送方公钥的至少部分和私钥的至少部分具有离散对数关系,所述接收方公钥的至少部分和私钥的至少部分具有离散对数关系;所述监管方公钥的至少部分和私钥的至少部分具有离散对数关系。
9.一种计算机可读存储介质,存储有程序代码,所述程序代码在被处理器加载后可执行如权利要求1-5任一项所述的加密方法。
10.一种电子设备,包括存储器和处理器;所述存储器存储有程序代码;
所述程序代码被所述处理器加载后,可执行如权利要求1-5任一项所述的加密方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010214597.5A CN111431710B (zh) | 2020-03-24 | 2020-03-24 | 一种发送方可查阅且第三方可监管的加密方法和装置 |
PCT/CN2020/084725 WO2021189566A1 (zh) | 2020-03-24 | 2020-04-14 | 一种发送方可查阅且第三方可监管的加密方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010214597.5A CN111431710B (zh) | 2020-03-24 | 2020-03-24 | 一种发送方可查阅且第三方可监管的加密方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111431710A CN111431710A (zh) | 2020-07-17 |
CN111431710B true CN111431710B (zh) | 2021-09-10 |
Family
ID=71549735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010214597.5A Active CN111431710B (zh) | 2020-03-24 | 2020-03-24 | 一种发送方可查阅且第三方可监管的加密方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111431710B (zh) |
WO (1) | WO2021189566A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111914312B (zh) * | 2020-08-07 | 2024-02-13 | 上海方付通科技服务股份有限公司 | 基于贴膜卡硬件的终端密码键盘系统及pin码保护方法 |
CN114157431A (zh) * | 2021-10-27 | 2022-03-08 | 上海朝夕网络技术有限公司 | 基于多变量签名方法的区块链交易处理方法及计算机设备 |
CN114827212B (zh) * | 2022-06-27 | 2022-09-16 | 浙江省邮电工程建设有限公司 | 智慧交通的车辆通信管理方法 |
CN115549987A (zh) * | 2022-09-19 | 2022-12-30 | 广州图灵科技有限公司 | 一种基于数据安全隐私保护的混合加密方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109768864A (zh) * | 2019-01-14 | 2019-05-17 | 大连大学 | 基于ecc与同态加密的加密方法 |
CN110839026A (zh) * | 2019-11-12 | 2020-02-25 | 深圳市网心科技有限公司 | 基于区块链的数据处理方法及相关设备 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1380766A (zh) * | 2001-04-16 | 2002-11-20 | 南相浩 | 密钥交换与密钥传递方案 |
CN101079701B (zh) * | 2006-05-22 | 2011-02-02 | 北京华大信安科技有限公司 | 高安全性的椭圆曲线加解密方法和装置 |
CN101594228B (zh) * | 2009-07-02 | 2011-06-01 | 西安电子科技大学 | 证书公钥系统与身份公钥系统之间的认证加密方法 |
US8351601B2 (en) * | 2010-02-18 | 2013-01-08 | King Fahd University Of Petroleum And Minerals | Elliptic polynomial cryptography with secret key embedding |
CN105553669B (zh) * | 2015-12-21 | 2019-01-08 | 中城智慧科技有限公司 | 一种基于标识认证的信息加密传输装置及方法及监管方法 |
CN107682158B (zh) * | 2017-09-18 | 2020-06-19 | 杭州师范大学 | 一种可托管的认证加密方法 |
CN107508684B (zh) * | 2017-09-23 | 2021-01-05 | 深圳奥联信息安全技术有限公司 | 非对称加解密方法和装置 |
CN108390755B (zh) * | 2018-01-10 | 2021-01-12 | 北京芯盾集团有限公司 | 基于内置安全芯片的sim贴膜卡的安全输入法 |
JP2021523620A (ja) * | 2018-05-14 | 2021-09-02 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | 秘密を通信する方法及びシステム |
CN109361506B (zh) * | 2018-09-21 | 2021-06-15 | 无锡润盟软件有限公司 | 信息处理方法 |
CN109951274B (zh) * | 2019-01-15 | 2023-09-01 | 如般量子科技有限公司 | 基于私钥池的抗量子计算点对点消息传输方法和系统 |
CN110087240B (zh) * | 2019-03-28 | 2020-09-11 | 中国科学院计算技术研究所 | 基于wpa2-psk模式的无线网络安全数据传输方法及系统 |
CN110599164B (zh) * | 2019-09-02 | 2022-05-10 | 北京航空航天大学 | 一种可监管的链下任意收款方快速支付方法 |
CN110691098A (zh) * | 2019-10-29 | 2020-01-14 | 北京龙德时代技术服务有限公司 | 民爆信息多重加密通讯方法 |
-
2020
- 2020-03-24 CN CN202010214597.5A patent/CN111431710B/zh active Active
- 2020-04-14 WO PCT/CN2020/084725 patent/WO2021189566A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109768864A (zh) * | 2019-01-14 | 2019-05-17 | 大连大学 | 基于ecc与同态加密的加密方法 |
CN110839026A (zh) * | 2019-11-12 | 2020-02-25 | 深圳市网心科技有限公司 | 基于区块链的数据处理方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2021189566A1 (zh) | 2021-09-30 |
CN111431710A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111431710B (zh) | 一种发送方可查阅且第三方可监管的加密方法和装置 | |
Almaiah et al. | A new hybrid text encryption approach over mobile ad hoc network | |
JP6363032B2 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
KR101866935B1 (ko) | 연관된 개인 키 부분을 사용하는 보다 빠른 공개 키 암호화를 위한 시스템들 및 방법들 | |
US20110317838A1 (en) | method for secure communication in a network, a communication device, a network and a computer program therefor | |
US20160119120A1 (en) | Method and apparatus for public-key encrypted communication | |
US11190499B2 (en) | Communication terminals, server devices, and programs | |
Sengupta et al. | Message mapping and reverse mapping in elliptic curve cryptosystem | |
CN104798339A (zh) | 密钥生成装置、密钥生成程序、隐匿检索系统和密钥发布方法 | |
Natanael et al. | Text encryption in android chat applications using elliptical curve cryptography (ECC) | |
JP6033741B2 (ja) | 暗号化鍵更新システム及びその方法 | |
Khoirom et al. | Audio encryption using ameliorated ElGamal public key encryption over finite field | |
Reshma et al. | Pairing-free CP-ABE based cryptography combined with steganography for multimedia applications | |
WO2020085151A1 (ja) | サーバ装置、通信端末、通信システム、及びプログラム | |
Dong et al. | Achieving secure and efficient data collaboration in cloud computing | |
Patil et al. | Identity-based signcryption scheme for medical cyber physical system in standard model | |
KR20150081168A (ko) | 래티스에서의 아이디 기반 브로드캐스트 방법 | |
CN116996276A (zh) | 一种基于条件代理重加密的数据共享方法及装置 | |
US20170302444A1 (en) | System and methods for keyed communications channel encryption and decryption | |
Son et al. | A new outsourcing conditional proxy re‐encryption suitable for mobile cloud environment | |
US11165758B2 (en) | Keystream generation using media data | |
CN115941288A (zh) | 一种不使用配对的自主路径代理重加密方法 | |
Doshi | An enhanced approach for CP-ABE with proxy re-encryption in IoT paradigm | |
Zheng et al. | Improved anonymous proxy re-encryption with CCA security | |
EP3739806A1 (en) | Apparatus and method for generating secret key, apparatus and method for generating evaluation key |
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 |