CN114338006B - 基于半可信硬件的互相关伪随机数的远程获取方法及装置 - Google Patents
基于半可信硬件的互相关伪随机数的远程获取方法及装置 Download PDFInfo
- Publication number
- CN114338006B CN114338006B CN202111598444.6A CN202111598444A CN114338006B CN 114338006 B CN114338006 B CN 114338006B CN 202111598444 A CN202111598444 A CN 202111598444A CN 114338006 B CN114338006 B CN 114338006B
- Authority
- CN
- China
- Prior art keywords
- commitment
- cross
- random
- seed
- correlation
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012795 verification Methods 0.000 claims abstract description 40
- 230000007246 mechanism Effects 0.000 claims abstract description 30
- 230000000875 corresponding effect Effects 0.000 description 40
- 230000006870 function Effects 0.000 description 26
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 2
- 241000499489 Castor canadensis Species 0.000 description 1
- 235000011779 Menyanthes trifoliata Nutrition 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- 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
-
- 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
-
- 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/3218—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/30—Compression, e.g. Merkle-Damgard construction
-
- 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
-
- 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
-
- 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了基于半可信硬件的互相关伪随机数的远程获取方法及装置,该方法应用于半可信硬件时包括:获取发送方的随机种子和接收方的选择数;根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;根据所述第一承诺值和选择数,生成梅克尔证明;将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方,以使得接收方根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
Description
技术领域
本申请涉及隐私保护数据处理领域,尤其涉及基于半可信硬件的互相关伪随机数的远程获取方法及装置。
背景技术
安全多方计算(Secure Multi-party Computation,MPC)技术可以让多个互不信任的参与方协同计算一个预先商定好的函数,同时不泄露除了函数输出以外的任何信息,如参与方的隐私输入。在安全多方计算协议中,常会使用互相关伪随机数(correlatedrandomness)作为协议的组成部分。例如,随机不经意传输(Random Oblivious Transfer,ROT)和乘法三元组(Beaver triple)都可以被视为互相关伪随机数。
由于协议的参与方互不信任,且往往都是通过远程信道进行连接,如何生成互相关伪随机数并让参与方获取适当的互相关伪随机数需要经过仔细考虑。目前,一种普遍的做法是让协议的各个参与方运行一个简单的安全多方计算协议,这个协议的作用就是让各个参与方得到相应的互相关伪随机数,而在这个协议中,各个参与方的输入与计算函数时的输入无关,因此这个协议的运行可以在参与方得到函数输入之前,也就是计算的离线阶段(offline phase)。另一种做法是使用半可信硬件,通过向可信硬件输入互相关伪随机数的生成种子和各个参与方需要获取的互相关伪随机数,可以使得半可信硬件直接向各个参与方输出相应的互相关伪随机数。
然而,在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
对于使用安全多方计算协议生成互相关伪随机数的技术,这一方法需要的通讯量大、通讯轮次多,在实际运行过程中耗时长,导致参与方需要在正式计算前运行协议生成互相关伪随机数,而无法做到在需要进行计算时直接执行用于计算的安全多方计算协议,并且,生成的互相关伪随机数需要在存储介质中长期保存,造成较大的开销;对于使用半可信硬件生成互相关伪随机数的技术,这一方法引入了额外的可信根,依赖于半可信硬件会正确生成互相关伪随机数并输出结果的假设,但如果这一假设不成立,就会影响整体安全多方计算协议的正确性。总的来说,现有技术或是存在通讯量大、通讯轮次多、耗时长的问题,或是存在获取的互相关伪随机数正确性无法保证的问题,难以兼顾效率和正确性。
发明内容
本申请实施例的目的是提供基于半可信硬件的互相关伪随机数的远程获取方法及装置,以解决相关技术中存在的无法在低通讯量开销下向远程的参与方传输多项式数量级别的互相关伪随机数的技术问题。
根据本申请实施例的第一方面,提供一种基于半可信硬件的互相关伪随机数的远程获取方法,应用于半可信硬件,包括:
获取发送方的随机种子和接收方的选择数;
根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;
根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;
根据所述第一承诺值和选择数,生成梅克尔证明;
将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方,以使得接收方根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
进一步地,获取发送方的随机种子和接收方的选择数,包括:
接收发送方的加密随机种子和接收方的随机数;
根据发送方和半可信硬件的对称密钥,对所述加密随机种子进行解密;
对解密得到的结果进行验证;
若验证通过,则获得发送方的随机种子。
进一步地,根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子,包括:
将所述随机种子扩展为第一伪随机种子和第二伪随机种子;
根据所述预定互相关伪随机数种类和第一伪随机种子,生成若干第一互相关伪随机数;
根据所述第二伪随机种子,生成若干第一承诺种子,其中所述第一承诺种子的数量与所述第一互相关伪随机数的数量相同。
根据本申请实施例的第二方面,提供一种基于半可信硬件的互相关伪随机数的远程获取装置,应用于半可信硬件,包括:
第一获取模块,用于获取发送方的随机种子和接收方的选择数;
第一生成模块,用于根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;
第二生成模块,用于根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;
第三生成模块,用于根据所述第一承诺值和选择数,生成梅克尔证明;
第一发送模块,用于将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方,以使得接收方根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
根据本申请实施例的第三方面,提供一种基于半可信硬件的互相关伪随机数的远程获取方法,应用于发送方,包括:
对所述半可信硬件进行验证并得到与所述半可信硬件共享的对称密钥;
根据所述对称密钥,对随机种子进行加密并发送至接收方,以使得接收方将发送方的加密随机种子和接收方的选择数发送至半可信硬件,从而使得所述半可信硬件获取发送方的随机种子和接收方的选择数;根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;根据所述第一承诺值和选择数,生成梅克尔证明;将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方;
根据所述随机种子和预定互相关伪随机数种类,生成若干第二互相关伪随机数和第二承诺种子;
根据所述若干第二互相关伪随机数和第二承诺种子,生成第二承诺值;
根据所述第二承诺值,生成梅克尔根哈希;
将所述梅克尔根哈希发送至接收方,以使得接收方根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
根据本申请实施例的第四方面,提供一种基于半可信硬件的互相关伪随机数的远程获取装置,应用于发送方,包括:
第一验证模块,用于对所述半可信硬件进行验证并得到与所述半可信硬件共享的对称密钥;
第二发送模块,用于根据所述对称密钥,对随机种子进行加密并发送至接收方,以使得接收方将发送方的加密随机种子和接收方的选择数发送至半可信硬件,从而使得所述半可信硬件获取发送方的随机种子和接收方的选择数;根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;根据所述第一承诺值和选择数,生成梅克尔证明;将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方;
第四生成模块,用于根据所述随机种子和预定互相关伪随机数种类,生成若干第二互相关伪随机数和第二承诺种子;
第五生成模块,用于根据所述若干第二互相关伪随机数和第二承诺种子,生成第二承诺值;
第六生成模块,用于根据所述第二承诺值,生成梅克尔根哈希;
第三发送模块,用于将所述梅克尔根哈希发送至接收方,以使得接收方根据所述梅克尔根哈希和梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
根据本申请实施例的第五方面,提供一种基于半可信硬件的互相关伪随机数的远程获取方法,应用于接收方,包括:
接收发送方发送的加密随机种子;
将所述加密随机种子和选择数发送至半可信硬件,以使得半可信硬件获取发送方的随机种子和接收方的选择数;根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;根据所述第一承诺值和选择数,生成梅克尔证明;将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方;
根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
根据本申请实施例的第六方面,提供一种基于半可信硬件的互相关伪随机数的远程获取装置,应用于接收方,包括:
接收模块,用于接收发送方发送的加密随机种子;
第四发送模块,用于将所述加密随机种子和选择数发送至半可信硬件,以使得半可信硬件获取发送方的随机种子和接收方的选择数;根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;根据所述第一承诺值和选择数,生成梅克尔证明;将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方;
第二验证模块,用于根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
根据本申请实施例的第七方面,提供一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面或第三方面或第五方面任一项所述的方法。
根据本申请实施例的第八方面,提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如第一方面或第三方面或第五方面中任一项所述方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
由上述实施例可知,本申请通过使用半可信硬件,降低了远程传输互相关伪随机数的通讯量,允许发送方以常数级别的通讯量向远程的接收方传输多项式级别数量的互相关伪随机数;根据若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值,通过承诺机制保证半可信硬件输出的正确性,同时也防止了接收方从半可信硬件的输出中获取不应该获得的隐私信息;根据所述第一承诺值和选择数,生成梅克尔证明并使得接收方根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证,通过梅克尔树技术,在确保信息传输安全性的同时使得发送方只需要常数级别的通讯量就可以向远程的接收方发送验证信息,而接收方只需要对数级别的计算量和存储空间就可以对可信硬件的输出结果进行验证。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种基于半可信硬件的互相关伪随机数的远程获取方法(应用于半可信硬件)的流程图。
图2是根据一示例性实施例示出的步骤S11的流程图。
图3是根据一示例性实施例示出的步骤S12的流程图。
图4是根据一示例性实施例示出的一种基于半可信硬件的互相关伪随机数的远程获取装置(应用于半可信硬件)的框图。
图5是根据一示例性实施例示出的一种基于半可信硬件的互相关伪随机数的远程获取方法(应用于发送方)的流程图。
图6是根据一示例性实施例示出的一种基于半可信硬件的互相关伪随机数的远程获取装置(应用于发送方)的框图。
图7是根据一示例性实施例示出的一种基于半可信硬件的互相关伪随机数的远程获取方法(应用于接收方)的流程图。
图8是根据一示例性实施例示出的一种基于半可信硬件的互相关伪随机数的远程获取装置(应用于接收方)的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先对半可信硬件进行解释说明:
在现有技术中,可信硬件可以直接得到所有用户的隐私输入,而当硬件制造商并不可信时,它可以通过嵌入后门的方式窃取用户的隐私信息、更改计算流程。例如,硬件制造商可以在可信硬件生成的密码学测度中以电子隐写术的方法嵌入信息,当远程参与方将该密码学测度转发至硬件制造商提供的第三方认证服务器时,硬件制造商就可以从中获取隐私信息;而当用户调用可信硬件进行计算时,硬件制造商可以随意指定其运行结果。在这样的场景下,可信硬件对于协议参与方仍然起到了保护作用:本地参与方无法通过攻击可信硬件的方式得到远程参与方的隐私输入,也无法控制可信硬件的计算流程、篡改可信硬件的计算结果;但是,硬件制造商具备了获取用户向可信硬件发送的隐私输入和更改可信硬件输出结果的能力,因此,我们将这样的硬件称为半可信硬件。
假设用户B想要从用户A处获取一系列互相关伪随机数中位于特定位置的某个伪随机数。用户B持有一个半可信硬件设备,半可信硬件设备的输出需要经过验证。为实现以上要求,用户A和用户B可以通过下面展示的基于半可信硬件的互相关伪随机数的远程获取方法来获取特定位置的某个互相关伪随机数。用户A作为发送方,用户B作为接收方。
在本发明的具体实施过程中,所述半可信硬件可以置于接收方内部,也可与接收方建立高速连接。相对于网络传输高延时、低带宽的特性,将半可信硬件置于接收方内部,或是在半可信硬件与接收方之间建立高速连接,可以让半可信硬件与接收方在低延时、高带宽的信道中进行通信、传输数据,进而提升协议的整体性能。
实施例1:
图1是根据一示例性实施例示出的一种基于半可信硬件的互相关伪随机数的远程获取方法的流程图,如图1所示,该方法应用于半可信硬件中,可以包括以下步骤:
步骤S11:获取发送方的随机种子和接收方的选择数;
步骤S12:根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;
步骤S13:根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;
步骤S14:根据所述第一承诺值和选择数,生成梅克尔证明;
步骤S15:将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方,以使得接收方根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
由上述实施例可知,本申请通过使用半可信硬件,降低了远程传输互相关伪随机数的通讯量,允许发送方以常数级别的通讯量向远程的接收方传输多项式级别数量的互相关伪随机数;根据若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值,通过承诺机制保证半可信硬件输出的正确性,同时也防止了接收方从半可信硬件的输出中获取不应该获得的隐私信息;根据所述第一承诺值和选择数,生成梅克尔证明并使得接收方根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证,通过梅克尔树技术,在确保信息传输安全性的同时使得发送方只需要常数级别的通讯量就可以向远程的接收方发送验证信息,而接收方只需要对数级别的计算量和存储空间就可以对可信硬件的输出结果进行验证。
在步骤S11的具体实施中,获取发送方的随机种子和接收方的选择数;
具体地,如图2所示,此步骤包括以下子步骤:
步骤S21:接收发送方的加密随机种子和接收方的随机数;
具体地,半可信硬件接收由接收方发送的发送方的加密随机种子和接收方的随机数,其中发送方的加密随机种子由发送方发送给接收方,这一步骤的作用是让用户A与用户B的半可信硬件能够以间接的方式进行通讯,同时防止用户B窃取用户A的随机种子。
步骤S22:根据发送方和半可信硬件的对称密钥,对所述加密随机种子进行解密;
步骤S23:对解密得到的结果进行验证;
步骤S24:若验证通过,则获得发送方的随机种子。
在步骤S22-S24的具体实施中,半可信硬件以发送方和半可信硬件的对称密钥为解密密钥,以加密随机种子作为密文,调用发送方使用的带有消息验证码的对称加密算法对应的解密算法进行解密,该解密算法会对消息的完整性进行校验,如果校验通过则输出明文的随机种子。这一步骤的作用是让用户B的半可信硬件接收用户A发送的随机种子,同时防止用户B对随机种子进行篡改。
在步骤S12的具体实施中,根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;
具体地,如图3所示,此步骤包括以下子步骤:
步骤S31:将所述随机种子扩展为第一伪随机种子和第二伪随机种子;
具体地,以伪随机函数(pseudorandom function,PRF)作为伪随机数生成器。给定安全参数c,伪随机函数是定义在(K,X,Y)上的能在基于c的多项式时间内被计算的确定性函数PRF:K×X→Y,其中K为密钥空间,即所有长度为c位的字符串组成的空间,X为输入空间,Y为输出空间。伪随机函数与真正的随机函数无法区分,具体地,记所有定义在输入空间X和输出空间Y上的函数构成的函数空间为F,对于K中任选的一个密钥k和F中任选的一个函数f,伪随机函数PRF(k,·)与f(·)无法在多项式时间内被区分。
以随机种子s作为密钥,分别以0和1作为输入调用伪随机函数,得到s1=PRF(s,0),s2=PRF(s,1),分别作为互相关伪随机数的种子和承诺种子的种子,由伪随机函数的定义可知,s1和s2能够快速被计算得到,且在不知道密钥s的情况下,s1和s2与真正的随机数无法区分,因此接收方无法得到s1和s2。
步骤S32:根据所述预定互相关伪随机数种类和第一伪随机种子,生成若干第一互相关伪随机数;
具体地,根据指定的互相关伪随机数种类,使用第一伪随机种子s1生成第一互相关伪随机数,记作m1,…,mn。例如,对随机不经意传输,计算PRF(s1,i||0)和PRF(s1,i||1)作为第i组随机不经意传输,其中“||”表示拼接,通过将i从1递增至预先指定的数量,即可生成所需的随机不经意传输;对混淆电路,则可以根据所需的不同优化形式,用第一伪随机种子s1分别产生线路标签和混淆种子,再利用混淆种子根据电路定义逐个对线路标签进行加密,产生各个门的混淆表。由于第一伪随机种子s1与真正的随机数无法区分,即使接收方知道互相关伪随机数的生成方式,也无法得知生成的互相关伪随机数的任何信息。
步骤S33:根据所述第二伪随机种子,生成若干第一承诺种子,其中所述第一承诺种子的数量与所述第一互相关伪随机数的数量相同;
具体地,使用第二伪随机种子s2生成与第一互相关伪随机数数量相对应的第一承诺种子,记作r1,…,rn,其中ri=PRF(s2,i)。由于第二伪随机种子s2与真正的随机数无法区分,ri是以s2为密钥调用PRF生成,因此得到的这些承诺种子与真正的随机数无法区分,接收方无法得知承诺种子的任何信息。
在步骤S13的具体实施中,根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;
具体地,可以使用多种承诺机制的实现方式,将i从1到n遍历即可生成所有的承诺值和打开值,其中n为所述第一互相关伪随机数的数量。
在一实施例中,可以采用具备碰撞抵抗性质的哈希函数H来实现承诺机制,第一承诺值为ci=H(mi||ri),第一打开值为di=mi||ri。由于H具备碰撞抵抗性质,一旦半可信硬件给出了承诺值,它就无法找到其他的mi′和ri′,使得ci=H(mi′||ri′),因此可以保证半可信硬件无法伪造能够通过承诺机制验证的错误互相关伪随机数;由于H是单向函数,即使接收方获得了所有互相关伪随机数的承诺值,也无法从承诺值中获取关于互相关伪随机数的任何信息。进一步的,具备碰撞抵抗性质的哈希函数在现实中有着广泛的高效实现,因此这样设计的效率较高。
在另一实施例中,可以采用基于离散对数假设的Pederson承诺机制,预先商定阶数为大素数q的乘法群G,G有生成元g,h,元组(g,h,q)都是公开的,第一承诺值为第一打开值为di=ri。由于ri与真正的随机数无法区分,接收方无法从承诺值中获取关于互相关伪随机数的任何信息,又由于离散对数假设,一旦半可信硬件给出了承诺值,它就无法找到其他的mi′和ri′,使得因此可以保证半可信硬件无法伪造能够通过承诺机制验证的错误互相关伪随机数。
在步骤S14的具体实施中,根据所述第一承诺值和选择数,生成梅克尔证明;
具体地,根据梅克尔树的定义,使用所有的第一承诺值生成一棵梅克尔树,根据所述选择数生成相应的梅克尔证明。为了方便起见,我们假设所述第一互相关伪随机数的数量为2d,如果数量不为2的指数个,则用空消息填充至2的指数个。对于按生成顺序排列的2d个第一承诺值,将i从1到2d进行遍历,对第i个承诺值调用哈希函数H,得到第一层梅克尔树节点对j从1到d进行遍历,对于按生成顺序排列的2d-j+1个第j层梅克尔树节点,将i从1到2d-j进行遍历,对第2*i-1个和第2*i个第一承诺值调用哈希函数H,得到第j+1层梅克尔树节点如此形成一棵深度为d、层数为d+1的二叉树,称为梅克尔树,第d+1层的节点被称为梅克尔根哈希。梅克尔证明即为,从选择数对应的第一层梅克尔树节点一直到第d+1层的梅克尔树根节点这一条路径上,所有兄弟节点的值,例如,如果选择数为1,则相应的梅克尔证明为这些节点的值。
在步骤S15的具体实施中,将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方,以使得接收方根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
具体地,所述梅克尔根哈希由发送方根据第二承诺值生成,所述第二承诺值由根据若干第二互相关伪随机数和第二承诺种子生成,所述若干第二互相关伪随机数和第二承诺种子由根据所述随机种子和预定互相关伪随机数种类生成,所述第二互相关伪随机数与第一互相关伪随机数相同,所述第二承诺种子与所述第一承诺种子相同,所述第二承诺值与所述第一承诺值相同。
具体地,接收方首先使用所述梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证。接收方对所述第一承诺值调用哈希函数H,作为选择数对应的第一层梅克尔树节点,随后接收方逐个读取所述梅克尔证明中的梅克尔树节点,对目前持有的梅克尔树节点和从梅克尔证明中读取得到的梅克尔树节点调用哈希函数H,得到下一层的梅克尔树节点,如此得到梅克尔树根节点值,并与所述梅克尔根哈希进行对比,如果相同则验证通过。例如,如果选择数为1,则对所述第一承诺值调用哈希函数,得到的为第一层梅克尔树节点随后对i从1到d进行遍历,从梅克尔证明中逐个读取并与一起调用哈希函数,得到最后将与所述梅克尔根哈希进行对比,相同则验证通过。在梅克尔树验证通过后,接收方使用所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证,具体验证方法需要与前述的承诺实现方式相对应。对于基于碰撞抵抗的哈希函数H的实现方式,第一打开值中包含所述选择数对应的互相关伪随机数和所述选择数对应的承诺种子,接收方验证第一打开值中包含的互相关伪随机数与自己收到的互相关伪随机数是否相同,验证通过后对第一打开值调用哈希函数H,并验证输出结果与第一承诺值是否相同,如果相同则全部验证过程通过;对于Pederson承诺机制,接收方计算并验证ci与第一承诺值是否相同,如果相同则全部验证过程通过。
与前述的基于半可信硬件的互相关伪随机数的远程获取方法的实施例相对应,本申请还提供了基于半可信硬件的互相关伪随机数的远程获取装置的实施例。
图4是根据一示例性实施例示出的一种基于半可信硬件的互相关伪随机数的远程获取装置框图。参照图4,该装置应用于半可信硬件,包括
第一获取模块21,用于获取发送方的随机种子和接收方的选择数;
第一生成模块22,用于根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;
第二生成模块23,用于根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;
第三生成模块24,用于根据所述第一承诺值和选择数,生成梅克尔证明;
第一发送模块25,用于将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方,以使得接收方根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
实施例2:
图5是根据一示例性实施例示出的一种基于半可信硬件的互相关伪随机数的远程获取方法的流程图,如图5所示,该方法应用于发送方,可以包括以下步骤:
步骤S41:对所述半可信硬件进行验证并得到与所述半可信硬件共享的对称密钥;
具体地,按照硬件制造商制定的远程认证规则,用户A向用户B发起多轮质询挑战请求,用户B将这些质询挑战请求转发给半可信硬件,由半可信硬件对这些请求做出回应,用户B将这些回应信息转发给用户A,用户A通过与硬件制造商提供的第三方可信服务器通讯,对半可信硬件的真实性和可用性进行验证。
步骤S42:根据所述对称密钥,对随机种子进行加密并发送至接收方,以使得接收方将发送方的加密随机种子和接收方的选择数发送至半可信硬件,从而使得所述半可信硬件获取发送方的随机种子和接收方的选择数;根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;根据所述第一承诺值和选择数,生成梅克尔证明;将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方;
具体地,根据所述对称密钥,使用带有消息认证码的对称加密算法对随机种子进行加密,例如AES-GCM算法。随后将加密随机种子发送至接收方,以使得接收方将发送方的加密随机种子和接收方的选择数发送至半可信硬件,从而使得半可信硬件执行步骤S11-S15的过程。
步骤S43:根据所述随机种子和预定互相关伪随机数种类,生成若干第二互相关伪随机数和第二承诺种子;
具体地,生成过程与步骤S12相同,此处不作赘述。
步骤S44:根据所述若干第二互相关伪随机数和第二承诺种子,生成第二承诺值;
具体地,所述第二承诺值的生成过程与步骤S13中第一承诺值的生成过程相同,此处不作赘述。
步骤S45:根据所述第二承诺值,生成梅克尔根哈希;
具体地,根据梅克尔树的定义,使用所有的第二承诺值生成一棵梅克尔树,并根据所述梅克尔树生成梅克尔根哈希。
步骤S46:将所述梅克尔根哈希发送至接收方,以使得接收方根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
具体地,接收方进行验证的过程已在步骤S15中进行解释说明,此处不作赘述。
与前述的基于半可信硬件的互相关伪随机数的远程获取方法的实施例相对应,本申请还提供了基于半可信硬件的互相关伪随机数的远程获取装置的实施例。
图6是根据一示例性实施例示出的一种基于半可信硬件的互相关伪随机数的远程获取装置框图。参照图6,该装置应用于发送方,包括:
第一验证模块31,用于对所述半可信硬件进行验证并得到与所述半可信硬件共享的对称密钥;
第二发送模块32,用于根据所述对称密钥,对随机种子进行加密并发送至接收方,以使得接收方将发送方的加密随机种子和接收方的选择数发送至半可信硬件,从而使得所述半可信硬件获取发送方的随机种子和接收方的选择数;根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;根据所述第一承诺值和选择数,生成梅克尔证明;将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方;
第四生成模块33,用于根据所述随机种子和预定互相关伪随机数种类,生成若干第二互相关伪随机数和第二承诺种子;
第五生成模块34,用于根据所述若干第二互相关伪随机数和第二承诺种子,生成第二承诺值;
第六生成模块35,用于根据所述第二承诺值,生成梅克尔根哈希;
第三发送模块36,用于将所述梅克尔根哈希发送至接收方,以使得接收方根据所述梅克尔根哈希和梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
实施例3:
图7是根据一示例性实施例示出的一种基于半可信硬件的互相关伪随机数的远程获取方法的流程图,如图7所示,该方法应用于接收方,可以包括以下步骤:
步骤S51:接收发送方发送的加密随机种子;
步骤S52:将所述加密随机种子和选择数发送至半可信硬件,以使得半可信硬件获取发送方的随机种子和接收方的选择数;根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;根据所述第一承诺值和选择数,生成梅克尔证明;将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方;
步骤S53:根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
具体地,步骤S51-S53的具体实施已在上文中作出解释说明,此处不再赘述。
与前述的基于半可信硬件的互相关伪随机数的远程获取方法的实施例相对应,本申请还提供了基于半可信硬件的互相关伪随机数的远程获取装置的实施例。
图8是根据一示例性实施例示出的一种基于半可信硬件的互相关伪随机数的远程获取装置框图。参照图8,该装置应用于接收方,包括:
接收模块41,用于接收发送方发送的加密随机种子;
第四发送模块42,用于将所述加密随机种子和选择数发送至半可信硬件,以使得半可信硬件获取发送方的随机种子和接收方的选择数;根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;根据所述第一承诺值和选择数,生成梅克尔证明;将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方;
第二验证模块43,用于根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
实施例4:
相应的,本申请还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的基于半可信硬件的互相关伪随机数的远程获取方法。
实施例5:
相应的,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如上述的基于半可信硬件的互相关伪随机数的远程获取方法。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (10)
1.一种基于半可信硬件的互相关伪随机数的远程获取方法,其特征在于,应用于半可信硬件,包括:
获取发送方的随机种子和接收方的选择数;
根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;
根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;
根据所述第一承诺值和选择数,生成梅克尔证明;
将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方,以使得接收方根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
2.根据权利要求1所述的方法,其特征在于,获取发送方的随机种子和接收方的选择数,包括:
接收发送方的加密随机种子和接收方的随机数;
根据发送方和半可信硬件的对称密钥,对所述加密随机种子进行解密;
对解密得到的结果进行验证;
若验证通过,则获得发送方的随机种子。
3.根据权利要求1所述的方法,其特征在于,根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子,包括:
将所述随机种子扩展为第一伪随机种子和第二伪随机种子;
根据所述预定互相关伪随机数种类和第一伪随机种子,生成若干第一互相关伪随机数;
根据所述第二伪随机种子,生成若干第一承诺种子,其中所述第一承诺种子的数量与所述第一互相关伪随机数的数量相同。
4.一种基于半可信硬件的互相关伪随机数的远程获取装置,其特征在于,应用于半可信硬件,包括:
第一获取模块,用于获取发送方的随机种子和接收方的选择数;
第一生成模块,用于根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;
第二生成模块,用于根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;
第三生成模块,用于根据所述第一承诺值和选择数,生成梅克尔证明;
第一发送模块,用于将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方,以使得接收方根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
5.一种基于半可信硬件的互相关伪随机数的远程获取方法,其特征在于,应用于发送方,包括:
对所述半可信硬件进行验证并得到与所述半可信硬件共享的对称密钥;
根据所述对称密钥,对随机种子进行加密并发送至接收方,以使得接收方将发送方的加密随机种子和接收方的选择数发送至半可信硬件,从而使得所述半可信硬件获取发送方的随机种子和接收方的选择数;根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;根据所述第一承诺值和选择数,生成梅克尔证明;将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方;
根据所述随机种子和预定互相关伪随机数种类,生成若干第二互相关伪随机数和第二承诺种子;
根据所述若干第二互相关伪随机数和第二承诺种子,生成第二承诺值;
根据所述第二承诺值,生成梅克尔根哈希;
将所述梅克尔根哈希发送至接收方,以使得接收方根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
6.一种基于半可信硬件的互相关伪随机数的远程获取装置,其特征在于,应用于发送方,包括:
第一验证模块,用于对所述半可信硬件进行验证并得到与所述半可信硬件共享的对称密钥;
第二发送模块,用于根据所述对称密钥,对随机种子进行加密并发送至接收方,以使得接收方将发送方的加密随机种子和接收方的选择数发送至半可信硬件,从而使得所述半可信硬件获取发送方的随机种子和接收方的选择数;根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;根据所述第一承诺值和选择数,生成梅克尔证明;将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方;
第四生成模块,用于根据所述随机种子和预定互相关伪随机数种类,生成若干第二互相关伪随机数和第二承诺种子;
第五生成模块,用于根据所述若干第二互相关伪随机数和第二承诺种子,生成第二承诺值;
第六生成模块,用于根据所述第二承诺值,生成梅克尔根哈希;
第三发送模块,用于将所述梅克尔根哈希发送至接收方,以使得接收方根据所述梅克尔根哈希和梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
7.一种基于半可信硬件的互相关伪随机数的远程获取方法,其特征在于,应用于接收方,包括:
接收发送方发送的加密随机种子;
将所述加密随机种子和选择数发送至半可信硬件,以使得半可信硬件获取发送方的随机种子和接收方的选择数;根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;根据所述第一承诺值和选择数,生成梅克尔证明;将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方;
根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
8.一种基于半可信硬件的互相关伪随机数的远程获取装置,其特征在于,应用于接收方,包括:
接收模块,用于接收发送方发送的加密随机种子;
第四发送模块,用于将所述加密随机种子和选择数发送至半可信硬件,以使得半可信硬件获取发送方的随机种子和接收方的选择数;根据所述随机种子和预定互相关伪随机数种类,生成若干第一互相关伪随机数和第一承诺种子;根据所述若干第一互相关伪随机数和第一承诺种子,利用承诺机制生成第一承诺值和第一打开值;根据所述第一承诺值和选择数,生成梅克尔证明;将所述选择数对应的第一互相关伪随机数、第一承诺值、第一打开值和梅克尔证明发送至接收方;
第二验证模块,用于根据发送方发送的梅克尔根哈希和所述梅克尔证明对所述第一承诺值进行验证并根据验证通过后的所述第一承诺值和第一打开值对所述选择数对应的互相关伪随机数进行验证。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-3或权利要求5或权利要求7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-3或权利要求5或权利要求7中任一项所述方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111598444.6A CN114338006B (zh) | 2021-12-24 | 2021-12-24 | 基于半可信硬件的互相关伪随机数的远程获取方法及装置 |
PCT/CN2021/141676 WO2023115602A1 (zh) | 2021-12-24 | 2021-12-27 | 基于半可信硬件的互相关伪随机数的远程获取方法及装置 |
US18/536,280 US11947930B1 (en) | 2021-12-24 | 2023-12-12 | Method and device for remote acquisition of correlated pseudo-random numbers based on semi-trusted hardware |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111598444.6A CN114338006B (zh) | 2021-12-24 | 2021-12-24 | 基于半可信硬件的互相关伪随机数的远程获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114338006A CN114338006A (zh) | 2022-04-12 |
CN114338006B true CN114338006B (zh) | 2023-01-24 |
Family
ID=81012685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111598444.6A Active CN114338006B (zh) | 2021-12-24 | 2021-12-24 | 基于半可信硬件的互相关伪随机数的远程获取方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11947930B1 (zh) |
CN (1) | CN114338006B (zh) |
WO (1) | WO2023115602A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016204970A1 (en) * | 2015-06-16 | 2016-12-22 | Intel Corporation | System, apparatus and method for providing randomly generated codes in a user anonymous manner |
CN108334553A (zh) * | 2017-12-29 | 2018-07-27 | 北京欧链科技有限公司 | 基于区块链的数据筛选方法和装置 |
CN112631549A (zh) * | 2019-10-08 | 2021-04-09 | 橙载(上海)信息技术有限公司 | 一种对fts随机算法中伪随机数生成器的跨平台改造方法 |
CN113489584A (zh) * | 2021-07-02 | 2021-10-08 | 北京泛融科技有限公司 | 一种区块链中随机数的处理方法、装置和电子设备 |
CN113569294A (zh) * | 2021-09-22 | 2021-10-29 | 浙江大学 | 一种零知识证明方法及装置、电子设备、存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180331832A1 (en) * | 2015-11-05 | 2018-11-15 | Allen Pulsifer | Cryptographic Transactions System |
US20190205898A1 (en) * | 2017-07-31 | 2019-07-04 | Chronicled, Inc | Decentralized confidential transfer system, method and device |
EP3669315A1 (en) * | 2017-08-15 | 2020-06-24 | Nchain Holdings Limited | Random number generation in a blockchain |
US20200313896A1 (en) * | 2017-10-04 | 2020-10-01 | Algorand Inc. | Declarative smart contracts |
GB201720946D0 (en) * | 2017-12-15 | 2018-01-31 | Nchain Holdings Ltd | Computer-implemented system and method |
WO2020082031A1 (en) * | 2018-10-18 | 2020-04-23 | Eian Labs Inc. | Confidential transaction auditing using an authenticated data structure |
US10846372B1 (en) * | 2019-12-31 | 2020-11-24 | Onu Technology Inc. | Systems and methods for trustless proof of possession and transmission of secured data |
-
2021
- 2021-12-24 CN CN202111598444.6A patent/CN114338006B/zh active Active
- 2021-12-27 WO PCT/CN2021/141676 patent/WO2023115602A1/zh unknown
-
2023
- 2023-12-12 US US18/536,280 patent/US11947930B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016204970A1 (en) * | 2015-06-16 | 2016-12-22 | Intel Corporation | System, apparatus and method for providing randomly generated codes in a user anonymous manner |
CN108334553A (zh) * | 2017-12-29 | 2018-07-27 | 北京欧链科技有限公司 | 基于区块链的数据筛选方法和装置 |
CN112631549A (zh) * | 2019-10-08 | 2021-04-09 | 橙载(上海)信息技术有限公司 | 一种对fts随机算法中伪随机数生成器的跨平台改造方法 |
CN113489584A (zh) * | 2021-07-02 | 2021-10-08 | 北京泛融科技有限公司 | 一种区块链中随机数的处理方法、装置和电子设备 |
CN113569294A (zh) * | 2021-09-22 | 2021-10-29 | 浙江大学 | 一种零知识证明方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023115602A1 (zh) | 2023-06-29 |
CN114338006A (zh) | 2022-04-12 |
US20240111493A1 (en) | 2024-04-04 |
US11947930B1 (en) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Diffie et al. | New directions in cryptography | |
US11722305B2 (en) | Password based threshold token generation | |
US11895231B2 (en) | Adaptive attack resistant distributed symmetric encryption | |
US10027654B2 (en) | Method for authenticating a client device to a server using a secret element | |
US20200076614A1 (en) | Method of rsa signature or decryption protected using a homomorphic encryption | |
US9166800B2 (en) | Authentication method, authentication system, and authentication chip using common key cryptography | |
US20070180241A1 (en) | Authentication method | |
US20200336470A1 (en) | Method and apparatus for effecting a data-based activity | |
CN108933650B (zh) | 数据加解密的方法及装置 | |
US11483145B2 (en) | Key exchange device, key exchange system, key exchange method, and key exchange program for exchanging a key with another device | |
US12010216B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
US9635003B1 (en) | Method of validating a private-public key pair | |
JP6041864B2 (ja) | データの暗号化のための方法、コンピュータ・プログラム、および装置 | |
US11528127B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
WO2015173827A1 (en) | Methods and devices for securing keys when key-management processes are subverted by an adversary | |
US11637817B2 (en) | Method and apparatus for effecting a data-based activity | |
CN114338006B (zh) | 基于半可信硬件的互相关伪随机数的远程获取方法及装置 | |
US10797866B1 (en) | System and method for enforcement of correctness of inputs of multi-party computations | |
CN114285558B (zh) | 一种基于半可信硬件的多方隐私计算方法及装置 | |
Golebiewski et al. | Stealing secrets with SSL/TLS and SSH-kleptographic attacks | |
Diffie et al. | 6. New Directions in | |
Das | A hybrid algorithm for secure cloud computing | |
Diffie | New Directions in Cryptography Whitfield Diffie (Member, IEEE), Martin E. Hellman (Member, IEEE) | |
CN115941174A (zh) | 数据通信方法、装置、电子设备和计算机可读存储介质 | |
Yoon et al. | Robust User Password Change Scheme based on the Elliptic Curve Cryptosystem |
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 |