CN117134888A - 杂凑值的生成方法和装置 - Google Patents

杂凑值的生成方法和装置 Download PDF

Info

Publication number
CN117134888A
CN117134888A CN202210543169.6A CN202210543169A CN117134888A CN 117134888 A CN117134888 A CN 117134888A CN 202210543169 A CN202210543169 A CN 202210543169A CN 117134888 A CN117134888 A CN 117134888A
Authority
CN
China
Prior art keywords
instance
equal
hash value
value
code set
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
Application number
CN202210543169.6A
Other languages
English (en)
Inventor
李哲
李�杰
邢朝平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210543169.6A priority Critical patent/CN117134888A/zh
Publication of CN117134888A publication Critical patent/CN117134888A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种杂凑值的生成方法和装置。本申请提供的技术方案中,通过基于编码困难问题构造出能够满足统计意义下的平滑性的哈希证明系统来生成杂凑值,由于满足统计意义下的平滑性的哈希证明系统比满足计算意义下的平滑性的哈希证明系统的安全性更高,因此,本申请的基于编码困难问题构造的哈希证明系统在生成杂凑值时的安全性更高。

Description

杂凑值的生成方法和装置
技术领域
本申请涉及信息安全技术领域,尤其涉及一种杂凑值的生成方法和装置。
背景技术
哈希证明系统(hash proof system,HPS)也称为平滑投影的哈希函数(smoothprojective hash functions,SPHF),是一种只允许指定验证者的非交互式证明系统,可作为用于构造许多上层安全系统或协议的密码工具。
通常,在构造HPS时,使用的底层困难问题是离散对数,而离散对数问题在后量子时代是不安全的。因此,基于后量子困难问题来构造HPS成为广受关注的研究问题。
目前,基于后量子困难问题来构造HPS的一种常用方法是基于编码的困难问题来构造SPHF,包括基于带噪音的奇偶性学习问题(learning parity with noise,LPN)的SPHF或者基于等级度量代码(rank metric code)的SPHF。
然而,当上层安全系统或协议使用上述SPHF生成杂凑值时,安全性不高。
发明内容
本申请提供了一种杂凑值的生成方法和装置,可以提升生成杂凑值时的安全性。
第一方面,本申请提供一种杂凑值的生成方法,应用于第一设备,包括:根据第一实例、所述第一实例的证据和第二设备的公钥,确定公开计算杂凑值;发送所述第一实例和所述公开计算杂凑值;其中,所述第一实例等于第一目标值与第一偏差信息之和,所述第一目标值等于所述第一实例的证据与二元线性[n,k]码集合的生成矩阵之积,所述第一偏差信息的汉明重量小于或等于第一阈值,且所述第一阈值小于第二阈值;所述公钥基于目标伯努利分布确定,所述目标伯努利分布在试验成功时的概率值等于第一预设参数d与n的比值;所述第一阈值和第二阈值的取值满足如下条件:使得所述第一实例与所述[n,k]码集合中的距离最近的码字之间的距离小于或等于第二预设参数w且2d/n小于或等于1/2时的所述公开计算杂凑值与隐私计算杂凑值相等的概率大于或等于1与之差、β大于或等于/>d log(n/d)大于或等于4k、所述[n,k]码集合中除与第二语言中的第二实例相同的码字之外的任意一个码字与所述[n,k]码集合中的距离最近的码字之间的距离位于区间[(1-β)*n/2,(1+β)*n/2]内,β指示所述[n,k]码集合为β-平衡码时对应的β的取值,所述第二实例等于第二目标值与第二偏差信息之和,所述第二目标值等于所述第二实例的证据与所述[n,k]码集合的生成矩阵之积,所述第二偏差信息的汉明重量小于或等于所述第二阈值。
本实施例提供的杂凑值的生成方法中,当第一阈值和第二阈值的取值满足上述条件,则对基于[n,k]码集合、第二语言和第一实例构造的基于编码困难问题的哈希证明系统可以被证明是满足统计意义下的平滑性的,因此,相比基于编码困难问题构造的现有技术中的仅能够满足计算意义下的平滑性的哈希证明系统,由于满足统计意义下的平滑性的哈希证明系统比满足计算意义下的平滑性的哈希证明系统的安全性更高,因此,基于本申请的[n,k]码集合、第二语言和第一实例构造的哈希证明系统在生成杂凑值时,安全性也更高。
结合第一方面,在一种可能的实现方式中,所述公钥由[n,k]码集合的生成矩阵与第二设备的私钥进行内积运算得到,所述第二设备的私钥基于所述目标伯努利分布确定。
结合第一方面,在一种可能的实现方式中,所述第二设备的私钥为所述第二设备对所述目标伯努利分布进行n次采样得到的信息。
结合第一方面,在一种可能的实现方式中,所述公开计算杂凑值由所述第一实例的证据与所述第二设备的公钥进行内积运算后再进行模2运算得到。
第二方面,本申请提供一种杂凑值的生成方法,应用于第二设备,包括:接收第一设备发送的第一实例和所述第一实例对应的公开计算杂凑值;基于所述第一实例和所述第二设备的私钥,确定隐私计算杂凑值,所述隐私计算杂凑值和所述公开计算杂凑值相等的概率大于1/2;其中,所述第一实例等于第一目标值与第一偏差信息之和,所述第一目标值等于所述第一实例的证据与二元线性[n,k]码集合的生成矩阵之积,所述第一偏差信息的汉明重量小于或等于第一阈值,且所述第一阈值小于第二阈值;所述私钥基于目标伯努利分布确定,所述目标伯努利分布在试验成功时的概率值等于第一预设参数d与n的比值;所述第一阈值和第二阈值的取值满足如下条件:使得所述第一实例与所述[n,k]码集合中的距离最近的码字之间的距离小于或等于第二预设参数w且2d/n小于或等于1/2时的所述公开计算杂凑值与隐私计算杂凑值相等的概率大于或等于1与之差、β大于或等于/>d log(n/d)大于或等于4k、所述[n,k]码集合中除与第二语言中的第二实例相同的码字之外的任意一个码字与所述[n,k]码集合中的距离最近的码字之间的距离位于区间[(1-β)*n/2,(1+β)*n/2]内,β指示所述[n,k]码集合为β-平衡码时对应的β的取值,所述第二实例等于第二目标值与第二偏差信息之和,所述第二目标值等于所述第二实例的证据与所述[n,k]码集合的生成矩阵之积,所述第二偏差信息的汉明重量小于或等于所述第二阈值。
结合第二方面,在一种可能的实现方式中,所述第二设备的私钥为所述第二设备对所述目标伯努利分布进行n次采样得到的信息。
结合第二方面,在一种可能的实现方式中,所述隐私计算杂凑值由所述待验证实例与所述第二设备的私钥进行内积运算后再进行模2运算得到。
结合第二方面,在一种可能的实现方式中,所述方法还包括:根据所述第二设备的私钥,确定所述第二设备的公钥,所述公钥由所述[n,k]码集合的生成矩阵与所述第二设备的私钥进行内积运算得到。
结合第二方面,在一种可能的实现方式中,所述方法还包括:向所述第一设备发送所述第二设备的公钥。
第三方面,本申请提供一种哈希证明系统,包括:包括:实例集合模块、第一语言模块、密钥投影模块、公开计算模块和隐私计算模块;所述实例集合模块中包含实例集合,所述实例集合为二元线性[n,k]码集合;所述第一语言模块中包括第一语言,所述第一语言中包含所述[n,k]码集合中满足如下条件的第一实例:所述第一实例等于第一目标值与第一偏差信息之和,所述第一目标值等于所述第一实例的证据与所述[n,k]码集合的生成矩阵之积,所述第一偏差信息的汉明重量小于或等于第一阈值,且所述第一阈值小于第二阈值;所述第二语言中包含所述[n,k]码集合中满足如下条件的第二实例:所述第二实例等于第二目标值与第二偏差信息之和,所述第二目标值等于所述第二实例的证据与所述[n,k]码集合的生成矩阵之积,所述第二偏差信息的汉明重量小于或等于所述第二阈值;所述密钥投影模块用于:基于目标伯努利分布确定私钥和公钥,所述目标伯努利分布在试验成功时的概率值等于第一预设参数d与n的比值;所述公开计算模块用于:对于第一语言中的第一实例,根据所述第一实例、所述第一实例的证据和第二设备的公钥,确定公开计算杂凑值;所述隐私计算模块用于:对于所述[n,k]码集合中的任意一个实例,根据所述第二设备的私钥和所述任意一个实例,确定隐私计算杂凑值;所述第一阈值和第二阈值的取值满足如下条件:使得所述第一实例与所述[n,k]码集合中的距离最近的码字之间的距离小于或等于第二预设参数w且2d/n小于或等于1/2时的所述公开计算杂凑值与隐私计算杂凑值相等的概率大于或等于1与之差、β大于或等于/>dlog(n/d)大于或等于4k、所述[n,k]码集合中除与第二语言中的第二实例相同的码字之外的任意一个码字与所述[n,k]码集合中的距离最近的码字之间的距离位于区间[(1-β)*n/2,(1+β)*n/2]内,β指示所述[n,k]码集合为β-平衡码时对应的β的取值。
结合第三方面,在一种可能的实现方式中,所述私钥为对所述目标伯努利分布进行n次采样得到的采样信息。
结合第三方面,在一种可能的实现方式中,所述公钥由所述[n,k]码集合的生成矩阵与所述第二设备的私钥进行内积运算得到。
结合第三方面,在一种可能的实现方式中,所述公开计算杂凑值由所述第一实例的证据与所述第二设备的公钥进行内积运算后再进行模2运算得到。
结合第三方面,在一种可能的实现方式中,所述隐私计算杂凑值由所述待验证实例与所述第二设备的私钥进行内积运算后再进行模2运算得到。
第四方面,本申请提供一种杂凑值的生成装置,包括用于执行第一方面或其中任意一种可能的实现方式中所述的方法的模块。
第五方面,本申请提供一种杂凑值的生成装置,包括用于执行第二方面或其中任意一种可能的实现方式中所述的方法的模块。
第六方面,本申请一种通信设备,所述通信设备包括如第三方面或其中任一项所述的哈希证明系统。
示例性地,所述通信设备包括终端设备。
第七方面,本申请提供一种杂凑值的生成装置,包括:存储器和处理器;所述存储器用于存储程序指令;所述处理器用于调用所述存储器中的程序指令执行如第一方面或第二方面或其中任意一种可能的实现方式所述的方法。
第八方面,本申请提供一种计算机可读介质,所述计算机可读介质存储用于计算机执行的程序代码,该程序代码包括用于执行如第一方面或第二方面或其中任意一种可能的实现方式所述的方法的指令。
第九方面,本申请提供一种计算机程序产品,所述计算机程序产品中包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得所述计算机实现如第一方面或第二方面或其中任意一种可能的实现方式所述的方法。
其中,第三方面至第九方面中任一种实现方式所带来的技术效果可参见上述第一方面或第二方面中的任一种可能的实现方法所带来的技术效果,不予赘述。
附图说明
图1为本申请一个实施例提供的通信系统的结构示意图;
图2为本申请一个实施例提供的基于HPS搭建不同的上层协议的结构性示意图;
图3为本申请一个实施例提供的杂凑值的生成方法的流程性示意图;
图4为本申请一个实施例提供的杂凑值的生成装置的结构性示意图;
图5为本申请一个实施例提供的终端设备的结构性示意图;
图6为本申请一个实施例提供的杂凑值的生成装置的结构性示意图。
具体实施方式
1、量子计算机
量子计算机(quantum computer)是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。简单地说,量子计算机是一种可以实现量子计算的机器,是一种通过量子力学规律以实现数学和逻辑运算,处理和储存信息能力的系统。它以量子态为记忆单元和信息储存形式,以量子动力学演化为信息传递与加工基础的量子通讯与量子计算,在量子计算机中其硬件的各种元件的尺寸达到原子或分子的量级。量子计算机是一个物理系统,它能存储和处理用量子比特表示的信息。
如同传统计算机是通过集成电路中电路的通断来实现0、1之间的区分,其基本单元为硅晶片一样,量子计算机也有着自己的基本单位——昆比特(qubit)。昆比特又称量子比特,它通过量子的两态的量子力学体系来表示0或1。比如光子的两个正交的偏振方向,磁场中电子的自旋方向,或核自旋的两个方向,原子中量子处在的两个不同能级,或任何量子系统的空间模式等。量子计算的原理就是将量子力学系统中量子态进行演化结果。
量子计算机与传统的计算机相比,信息处理愈多,对于量子计算机实施运算也就愈加有利,也就更能确保运算具有精准性。
2、后量子密码
后量子密码,是指能够抵抗量子计算机对现有密码算法攻击的新一代密码算法。所谓“后”,是因为量子计算机的出现,现有的绝大多数公钥密码算法,例如是椭圆曲线算法、迪菲-赫尔曼(Diffie-Hellman)算法等能被足够大和稳定的量子计算机攻破,而可以抵抗这种量子计算机攻击的密码算法只能在量子计算的时代或其之后的时代有效,所以被称为“后”量子密码。
3、线性码
对于正整数n和k,一个二元线性[n,k]码集合C是的k维子空间,C中的每个元素(每个行向量)被称为码字。其中,用/>表示F2上的n维向量空间。
4、生成矩阵
对于正整数n和k,如果线性码则矩阵/>称作二元线性[n,k]码集合C的生成矩阵。
5、汉明重量
汉明重量是一串符号中非零符号的个数。例如,某串符号表示为:001110001,则该某串符号的汉明重量为4。
6、β-平衡码
称一个二元线性[n,k]码集合C是β-平衡码,如果C中每个非零的码字的汉明重量位于区间[(1-β)*n/2,(1+β)*n/2]中,其中,汉明重量是指一个由元素0和1构成的向量中元素1的个数。
7、β-平衡码的存在性
对于β大于或等于一个二元线性[n,k]码集合C是β-平衡码的概率是1与2-Ω(k)之差。
8、β-平衡码的平滑性
对于β大于或等于d log(n/d)大于或等于4k,假设/>是β-平衡码C的生成矩阵,那么在/>后,/>小于或等于2-Ω(d),其中,k为二元线性[n,k]码C中的k,n为二元线性[n,k]码C中n,/>表示在对取值等于1时的概率为d/n的伯努利分布进行n次采样获得的r向量,所述r向量为n维的列向量,/>表示Gr和之间的统计距离,U表示均匀分布。
9、语言系统
令X表示一个实例集合,语言集合L是由某二元关系RL定义的一个X的子集,W是证据集合,对于x∈X,当且仅当存在一个证据w∈W使得(x,w)∈RL时x∈L,那么(X,L,W,RL)构成了一个语言系统。其中,对于任意的L中的实例和L之外的实例不可区分。
10、哈希证明系统
哈希证明系统(hash proof system,HPS)也称为杂凑证明系统。HPS是一种只允许指定验证者的非交互式证明系统,证明最终以哈希值(或称为杂凑值)的形式提供。目前,HPS用于构造许多不同的上层协议,例如用来构造抗泄露公钥密码、密钥交换协议及不经意传输协议、门限签名方案、基于口令的认证密钥交换等。使用HPS,同一个模块能够搭建出不同的上层协议,比直接从困难问题出发的设计更便捷。
HPS有时也被称为平滑投影的杂凑函数(smooth projective hash functions,SPHF),由于对于格和编码密码使用的带噪音的数学问题,SPHF只能做到近似相等,近似SPHF的定义如下:
对于实例集合X、语言集合L与语言集合L',其中,语言集合L'中的一个近似SPHF包含四个算法,分别为私钥生成算法、投影密钥生成算法、确定隐私计算杂凑值算法和确定公开计算杂凑值的算法。假设将私钥生成算法用HashKG(L)进行表示,投影密钥(也称为公开密钥)生成算法用ProjKG(sk)表示,确定隐私计算杂凑值的算法用PrivHash(sk,x)表示,确定公开计算杂凑值的算法用Pubhash(pk,x,w)表示。那么,HashKG(L)主要用于生成私钥sk,ProjKG(sk)主要用于根据私钥sk确定出公开密钥pk,PrivHash(sk,x)主要用于根据私钥sk和X中的实例x确定出隐私计算杂凑值H∈{0,1}m,Pubhash(pk,x,w)主要用于根据公开密钥pk、证据w和实例x,确定出公开计算杂凑值PH∈{0,1}m
一个近似SPHF需要满足近似正确性和平滑性。
其中,近似正确性的定义为:SPHF是∈-正确的,如果对于x∈L',有Pr[dist(Pubhash(pk,x,w),PrivHash(sk,x)≥∈m]=negl(k)。其中,Pr表示概率,dist(Pubhash(pk,x,w),PrivHash(sk,x)≥∈m表示Pubhash(pk,x,w)确定出的公开计算杂凑值与PrivHash(sk,x)确定出的隐私计算杂凑值之间的距离的汉明重量。
其中,平滑性的定义为:对于所有的x∈X\L,X\L表示在实例X中但不在语言集合L中的所有实例构成的集合,以下两个分布是统计不可区分的:
{(pk,H):sk=HashKG(L),pk=ProjKG(sk),H=PrivHash(sk,x)}和
{(pk,H):sk=HashKG(L),pk=ProjKG(sk),H=U({0,1}m)}。
需要说明的是,当近似SPHF输出的杂凑值是一个比特时,称之为近似bit-PHF,一个近似bit-PHF构造需要满足近似正确性和通用性。
其中,近似正确性的定义为:近似bit-PHF是∈-正确的,如果对于x∈L’,有:
Pr[dist(Pubhash(pk,x,w),PrivHash(sk,x)]≥1-∈。
其中,通用性的定义为:对于所有的x∈X\L,X\L表示在实例X中但不在语言集合L中的所有实例构成的集合,以下两个分布是统计不可区分的:
|Pr[PrivHash(sk,x)=1|pk=ProjKG(sk)-1/2|≤negl(k)
还需要说明的是,在给定一个近似bit-PHF后,可以通过通用的转换方法将近似bit-PHF转换为近似SPHF。
随着因特网规模以及用户数量的逐年增加,各种网络方式层出不穷,不断改变着人们的生活方式。图1为本申请一个实施例提供的通信系统的结构示意图。如图1所示,该通信系统包括通信设备101与通信设备102,以及网络103。通信设备101与通信设备102通过网络103进行通信。
本实施例中,通信设备101或通信设备102,可以是一种向用户提供语音和/或数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。终端设备也可以称为用户设备(user equipment,UE)、接入终端(access terminal)、用户单元(user unit)、用户站(user station)、移动站(mobile station)、移动台(mobile)、远方站(remotestation)、远程终端(remote terminal)、移动设备(mobile equipment)、用户终端(userterminal)、无线通信设备(wireless telecom equipment)、用户代理(user agent)、用户装备(user equipment)或用户装置。终端设备可以是无线局域网(wireless local Areanetworks,WLAN)中的站点(station,STA),可以是蜂窝电话、无绳电话、会话启动协议(session initiation protocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字处理(personal digital assistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备以及下一代通信系统(例如,第五代(fifth-generation,5G)通信网络)中的终端或者未来演进的公共陆地移动网络(public land mobile network,PLMN)网络中的终端设备等。其中,5G还可以被称为新空口(new radio,NR)。本申请一种可能的应用的场景中,终端设备也可以为经常工作在地面的终端设备,例如车载设备。
可以理解的是,由于网络103的开放性以及匿名性,通信设备101与通信设备102在使用网络103进行通信时可能存在网络安全问题,例如通信设备101与通信设备102之间的通信信息被泄露或被篡改。因此,为了保证传输信息的安全性,通信设备101与通信设备102在使用网络103进行通信时,通信设备之间会给予一些密码协议对待需要发送的信息进行处理。示例性地,密码协议例如是选择密文安全的加密协议、基于口令的认证密钥交换协议、不经意传输协议、抗泄露加密协议等等。
为了应对量子计算机的可能威胁,美国国家标准与技术研究院(简称NIST)于2017年在全球征集后量子密码(post quantum cryptography,PQC)加密及签名方案。后量子密码方案是指那些既能抗击经典计算攻击又能抗击量子计算攻击的密码方案。目前此工作已经进入到第三轮,幸存的方案主要是基于五类问题的:格上的困难问题,编码中的困难问题,同源上的困难问题,杂凑函数的困难性和多变量二次方程的求解。
基于编码的密码是后量子密码里研究较早的类型,“McEliece”方案四十多年没有被攻破,安全性相对更有保障,可用于构造加密、签名、密钥交换等多种密码原语,为后量子密码算法提供了多样性和安全备份。NIST后量子算法标准化第三轮里有3个基于编码的加密方案,分别为“Classic McEliece”、“BIKE”和“HQC”。因此,需要更多的基于编码的设计以提供格密码算法以外的安全备份。
2002年Cramer和Shoup提出了HPS的概念。其中,HPS是一种只允许指定验证者的非交互式证明系统,证明最终以杂凑值的形式提供。目前,HPS可以用于构造抗泄露公钥密码、密钥交换协议及不经意传输协议、门限签名方案、基于口令的认证密钥交换等。使用HPS,同一个模块能够搭建出不同的上层协议,比直接从困难问题出发的设计更便捷。也就是说,对于通信设备之间使用的密码协议(上层协议),其底层可以由HPS来构造。
示例性地,图2为本申请提供的基于HPS搭建不同的上层协议的结构性示意图。如图2所示,通过基于后量子困难问题先构造出HPS,然后再通过HPS来搭建出不同的上层协议,例如图2中的基于口令的密钥交换协议、抗泄露加密协议、不经意传输协议等等。
如图2所示,在构造HPS时,需要基于底层困难问题。早期,在构造HPS时,使用的底层困难问题是离散对数,而离散对数问题在后量子时代是不安全的。因此,基于后量子困难问题来构造HPS成为广受关注的研究问题。
目前,基于后量子困难问题来构造HPS的一种常用方法是基于编码的困难问题来构造SPHF,包括基于带噪音的奇偶性学习问题(learning parity with noise,LPN)的SPHF或者基于等级度量代码(rank metric code)的SPHF。
然而,当上层安全系统或协议使用上述SPHF生成杂凑值时,安全性不高。
经分析发现,当上层安全系统或协议使用上述SPHF生成杂凑值时,安全性不高的原因如下:由于通常在构造SPHF时,构造出的SPHF需要满足近似正确性和平滑性,其中,平滑性又包括计算平滑性和统计意义下的平滑性,而基于统计意义下的平滑性的SPHF相较于基于计算平滑性的SPHF的安全性更高。但是,现有的基于编码的困难问题来构造SPHF均无法证明统计意义下的平滑性,因此,使得基于编码困难问题构造出的SPHF的安全性不高,从而导致在上层安全系统或协议基于现有的编码的困难问题构造出的SPHF使用上述SPHF生成杂凑值时的安全性不高。
鉴于此,本申请实施例提供一种能够满足统计意义下的平滑性的基于编码困难问题构造的SPHF,以提升生成杂凑值时的安全性。
下面,结合附图,说明本申请实施例提供的满足统计意义下的平滑性的哈希证明系统,以及本申请构造的哈希证明系统生成公开计算杂凑值和隐私计算杂凑值的方法。
首先,说明本申请构造的满足统计意义下的平滑性的哈希证明系统。在此说明的是,本申请构造的满足统计意义下的平滑性的哈希证明系统也称为目标哈希证明系统。
应理解,在构造哈希证明系统时,都需要先定义目标语言系统(本实施例中也称为目标语言定义)。本实施例中,目标语言定义包括:
1)定义实例集合X
本实施例中,实例集合X是一个二元线性[n,k]码集合C,C对应的生成矩阵为G。
本实施例中,[n,k]码集合C中的每个码字都可以认为是X中的一个实例,且每个实例为n维空间中的一个n维向量,记:G为k行n列的矩阵,记为/>
2)定义第一语言集合L1和第二语言集合L2,也称为第一语言L1和第二语言L2。
本实施例中,将L1中的实例称为第一实例,将L2中的实例称为第二实例。
具体地,L1中包含[n,k]码集合中满足如下条件的第一实例:第一实例等于第一目标值与第一偏差信息之和,第一目标值等于第一实例的证据与二元线性[n,k]码集合的生成矩阵之积,第一偏差信息的汉明重量小于或等于第一阈值,且第一阈值小于第二阈值。
具体地,L2中包含[n,k]码集合中满足如下条件的第二实例:第二实例等于第二目标值与第二偏差信息之和,第二目标值等于第二实例的证据与[n,k]码集合的生成矩阵之积,第二偏差信息的汉明重量小于或等于第二阈值。
其中,不论是第一实例还是第二实例,若将实例用v表示,将实例的证据用u表示,将第一偏差信息用e1表示,将第一阈值用o(B)表示,将第二阈值用B表示,将第二偏差信息用e2表示,则:
对于第一语言L1中的实例,需要满足如下条件:存在u,e1使得v等于uG与e1之和且e1的汉明重量小于或等于o(B),记为:
而对于第二语言L2中的实例,需要满足如下条件:存在u,e2使得第二实例v等于uG与e2之和,且e2的汉明重量小于或等于B,记为:
其中,dist(v,C)表示实例v与C中距离最近的码字之间的距离,o(B)小于或等于B。
本实施例中,基于上述目标语言定义的目标哈希证明系统可以执行的算法包括:a)生成私钥、b)生成公钥、c)对于第一语言L1中的第一实例计算公开计算杂凑值,d)对于实例集合X中的任意一个实例计算隐私计算杂凑值(也称为私有计算杂凑值)。
其中,对于生成私钥,一种可实施方案为:对目标伯努利分布进行n次采样生成私钥sk信息,记为采样输出私钥sk信息。其中,/>表示对在取1时的概率值为d/n的目标伯努利分布进行n次采样,sk=s。
其中,对于生成公钥,一种可实施方案为:根据生成矩阵G和sk信息进行内积运算得到,记为:
其中,对于第一语言L1中的第一实例计算公开计算杂凑值,一种可实施方案为:公开计算杂凑值由第一实例的证据u与第二设备的公钥pk进行内积运算后再进行模2运算得到,记为:PubHash(pk,v,u)=<u,pk>=<u,Gs>mod/2。
其中,对于实例集合X中的任意一个实例计算隐私计算杂凑值,一种可实施方案为:隐私计算杂凑值由待验证实例v与第二设备的私钥s进行内积运算后再进行模2运算得到,记为:PrivHash(sk,v)=<v,s>mod2。
本实施例中,B和o(B)的取值满足如下条件:使得第一实例与[n,k]码集合中的距离最近的码字之间的距离小于或等于第二预设参数w且2d/n小于或等于1/2时的公开计算杂凑值与隐私计算杂凑值相等的概率大于或等于1与之差、β大于或等于d log(n/d)大于或等于4k、所述[n,k]码集合中除与第二语言中的第二实例相同的码字之外的任意一个码字与[n,k]码集合中的距离最近的码字之间的距离位于区间[(1-β)*n/2,(1+β)*n/2]内,β指示[n,k]码集合为β-平衡码时对应的β的取值。
本实施例中,由于β大于或等于d log(n/d)大于或等于4k、以及对于实例集合X中除L2中的实例之外的任意一个实例与C中的距离最近的码字之间的距离位于区间[(1-β)*n/2,(1+β)*n/2]内,因此,本实施例中的基于编码困难问题构造的目标哈希证明系统可以满足通用性。其证明过程如下:
由于二元线性[n,k]码集合C是β-平衡码的概率是1与2-Ω(k)之差,如果dist(v,C)包含于[(1-β)*n/2,(1+β)*n/2],那么(G||v)仍然是β-平衡码的二元线性码,其中,(G||v)表示将v向量添加在生成矩阵G的最后一行之后。那么根据β-平衡码的二元线性码的平滑性有其中,≈s表示统计接近,即有:
|Pr[PrivHash(sk,v)=1|pk=ProjKG(sk)]-1/2|≤negl(k)
因此,基于上述目标语言定义的本申请的目标哈希证明系统满足统计意义下的平滑性。
本实施例中,当第一实例与C中的距离最近的码字之间的距离小于或等于第二预设参数w且2d/n小于或等于1/2时,隐私计算杂凑值和公开计算杂凑值相等的概率大于或等于1与之差,其中,β指示C为β-平衡码时对应的β的取值,d/n的比值等于目标伯努利分布在取1时的概率值。记为:如果dist(v,C)≤w,且2d/n≤1/2,那么对于v∈L1,有:
其证明过程如下:
PrivHash(sk,v)=<v,s>=<uG,s>+<e,s>=<u,G s>+<e,s>=<u,pk>+<e,sk>,
(不等式根据“pilling-up”引理得到),故有:
即,本实施例中,构造的目标哈希系统满足近似正确性。其中,有关“pilling-up”引理可以参考相关技术中的描述,此处不再赘述。
根据上述证明,如果定义通用性仅对:
dist(v,C)∈[(1-β)*n/2,(1+β)*n/2]中的v成立,如果dist(v,C)≥(1+β)*n/2,则可通过对v中的元素进行比特翻转,那么此时v∈L1。
作为一个可选的实施例,为满足近似正确性和通用性的条件定义,本申请给出一组语言和合适参数的bit-PHF构。具体地,在构造时,包括:
首先选择合适的参数和定义语言:对于实例设置一个二元线性[n,k]码集合C,该二元线性[n,k]码集合C的生成矩阵为/>k,n为满足编码方案给定安全性的一组参数。
定义语言
定义语言设置参数/>d=k/log(k),w=n log2(k)/k。即,在该实施例中,B等于(1-β)*n/2-1,o(B)等于n log2(k)/k,β等于d等于k/log(k)。
语言定义和参数设置好后,bit-PHF方案具体步骤如下:
私钥生成:采样输出私钥/>
生成公钥:根据私钥sk,计算并输出投影密钥
生成隐私计算杂凑值:对于实例v∈X,根据<v,s>计算并输出隐私计算的杂凑值。
生成公开计算杂凑值:对于实例v∈L1,根据<u,pk>=<u,Gs>计算并输出公开计算杂凑值。
以上,通过公式证明,给出了本申请实施例构造的满足统计意义下的平滑性的哈希证明系统,即目标哈希证明系统。
在此说明的是,本申请实施例对构造的目标哈希证明系统的具体部署不做限定。例如,当某个证明设备仅需要向其他设备证明某个实例是带有证据的实例时,则该证明设备上可以部署用于确定公开计算杂凑值的模块,而不部署用于确定隐私计算杂凑值的模块,而当某个验证设备仅需要对其他设备发送的待验证实例是否是带有证据的实例进行验证时,则该验证设备上可以部署用于确定隐私计算杂凑值的模块,而不部署用于确定公开计算杂凑值的模块。
下面,基于本申请上述实施例中介绍的目标哈希系统,说明本申请中的证明设备在需要向其他设备证明某个实例是带有证据的实例时,生成公开计算杂凑值的方法,以及指定验证者设备在接收到证明设备发送的待验证实例时,生成隐私计算杂凑值的方法。
如图3所示,本实施例的方法包括:S301,S302,S303,S304,S305和S306。
S301,第一设备确定第一实例,所述第一实例等于第一目标值与第一偏差信息之和,第一目标值等于第一实例的证据与二元线性[n,k]码集合的生成矩阵之积,第一偏差信息的汉明重量小于或等于第一阈值,且第一阈值小于第二阈值。
本实施例中,第一设备可以认为是需要基于哈希证明系统向其他设备(第二设备)进行证明的通信设备。
本实施例中,当第一设备需要向第二设备进行证明时,第一设备获取的第一实例为一个等于第一目标值与第一偏差信息之和的实例。
具体地,本实施例中,将任意一个实例都用v表示,第一实例的证据用u表示,二元线性[n,k]码集合的生成矩阵用G表示,第一阈值用o(B)表示,第二阈值用B表示,则本实施例中的第一实例v满足如下条件:存在u,e1使得v等于uG与e1之和且e1的汉明重量小于或等于o(B),记为:其中,o(B)小于B。
更具体地,本实施例中,所述o(B)和B的取值满足如下条件:使得第一实例与[n,k]码集合中的距离最近的码字之间的距离小于或等于第二预设参数w且2d/n小于或等于1/2时的公开计算杂凑值与隐私计算杂凑值相等的概率大于或等于1与之差、β大于或等于/>dlog(n/d)大于或等于4k、所述[n,k]码集合中除与第二语言中的第二实例相同的码字之外的任意一个码字与[n,k]码集合中的距离最近的码字之间的距离位于区间[(1-β)*n/2,(1+β)*n/2]内,β指示[n,k]码集合为β-平衡码时对应的β的取值。
其中,第二实例等于第二目标值与第二偏差信息之和,第二目标值等于第二实例的证据与[n,k]码集合的生成矩阵之积,第二偏差信息的汉明重量小于或等于第二阈值。即,对于第二语言L2中的实例,需要满足如下条件:存在u,e2使得第二实例v等于uG与e2之和,且e2的汉明重量小于或等于B,记为:
也就是说,本实施例中,[n,k]码集合组成了实例集合X,X中所有的等于第二目标值与第二偏差信息之和的实例形成了第二语言(记为L2),而L2中所有的还等于第一目标值与第一偏差信息之和的实例形成了第一语言(记为L1),即而本实施例中的第一实例是指来自L1中的实例。
在此说明的是,有关实例的证据的概念可以参考相关技术中有关哈希证明系统描述中的详细概念介绍,此处不再赘述。
S302,第一设备获取第二设备的公钥,所述公钥基于目标伯努利分布确定,目标伯努利分布在试验成功时的概率值等于第一预设参数d与n的比值。
应理解,对于需要向第二设备进行证明的通信设备,需要获取第二设备的公钥,然后基于第二设备的公钥和要验证的实例以及该要验证的实例的证据,去计算一个杂凑值,也称为公开计算杂凑值。
因此,本实施例中,当第一设备要向第二设备证明时,第一设备需要获取到第二设备的公钥,而非第二设备之外的通信设备的公钥。
在此说明的是,本申请实施例对如何获取第二设备的公钥的实现方式不做限定。例如,在一种可能的实现方式中,第一设备可以向第二设备发送请求公钥的信息,然后第二设备在接收到该请求公钥的信息后,将第二设备的公钥发送给第一设备;又或者,第二设备在生成自己的公钥后,可以一直广播自己的公钥,以使得任意一个需要使用第二设备的公钥的设备直接获取到第二设备的公钥。
本实施例中,可以将第二设备的公钥记作pk。
本实施例中,第二设备的公钥基于目标伯努利分布得到,其中,目标伯努利分布在试验成功时的概率值等于第一预设参数d与n的比值。
具体地,在一种可实施方案中,本实施例中的第二设备的公钥为对生成矩阵G和第二设备的私钥进行内积后的结果值。
将第二设备的私钥记作sk,则在一种实施方案中,sk为第二设备对目标伯努利分布进行n次采样生成的信息。
其中,生成矩阵G的概念可以参考本申请构造的目标哈希证明系统中的有关生成矩阵部分的描述,此处不再赘述。
S303,第一设备根据第一实例、第一实例的证据和第二设备的公钥,确定公开计算杂凑值。
应理解,当第一设备获取到了第一实例、第一实例的证据以及第二设备的公钥之后,就可以基于第一实例、第一实例的证据以及第二设备的公钥来确定公开计算杂凑值。
在一种可实施方案中,当第一设备获取到了第二设备的公钥pk信息之后,便使用该pk信息和第一实例v的证据u进行内积后的结果再进行模2运算,从而得到第一实例对应的公开计算杂凑值。
即,第一实例v的公开计算杂凑值PubHash(pk,v,u)可以通过如下公式得到:PubHash(pk,v,u)=<u,pk>=<u,Gs>mod/2。
S304,第一设备向第二设备发送公开计算杂凑值和第一实例,相应地,第二设备接收第一实例和公开计算杂凑值。
本实施例中,当第一设备基于第一实例和第二设备的公钥,确定出第一实例的公开计算杂凑值之后,便将确定出的第一公开计算杂凑值和第一实例发送给第二设备,以便第二设备确当出第一实例的隐私计算杂凑值。
S305,第二设备获取第二设备的私钥,所述私钥基于所述目标伯努利分布确定。
应理解,当第二设备接收到第一设备发送的第一实例后,第二设备需要基于自己的私钥,确定第一实例的隐私计算杂凑值。
本实施例中,假设将第二设备的私钥记为sk,则在本实施例中,sk基于目标伯努利分布确定,所述目标伯努利分布在试验成功时的概率值等于第一预设参数d与n的比值。
具体地,在一种可实施方案中,sk为第二设备对目标伯努利分布进行n次采样得到的采样信息。
S306,第二设备基于第一实例和第二设备的私钥,确定隐私计算杂凑值,所述隐私计算杂凑值和公开计算杂凑值相等的概率大于1/2。
本实施例中,当第二设备接收到第一实例v后,便可以基于私钥sk信息,计算第一实例v的隐私计算杂凑值。
具体地,在一种可实施方案中,隐私计算杂凑值由第一实例v与第二设备的私钥进行内积运算后再进行模2运算得到。即,执行本申请上述所述的目标哈希系统中的:
PrivHash(sk,v)=<v,s>mod2
可以理解的是,由于第一阈值和第二阈值的取值满足上述所述的条件,因此,本实施例中,由于第一实例为L1中的实例,会使得第一杂凑值和第二杂凑值相等的概率大于1/2。
本实施例提供的杂凑值的生成方法中,当第一阈值和第二阈值的取值满足上述条件,则对基于[n,k]码集合、第二语言和第一实例构造的哈希证明系统可以被证明是满足统计意义下的平滑性的,而由于满足统计意义下的平滑性的哈希证明系统比满足计算意义下的平滑性的哈希证明系统的安全性更高,因此,基于本申请的[n,k]码集合、第二语言和第一实例构造的哈希证明系统在生成杂凑值时,安全性也更高。
应理解,上述给出了目标哈希系统可以输出具有一个比特位的隐私计算杂凑值和公开计算杂凑值的构造方式,即上述给出了bit-PHF的构造方式。可以理解的是,给定一个bit-PHF,可以通过一些通用的转换方法将其转换成SPHF。示例性地,对于本方案bit-PHF的构造方式,可通过1:多项式次采样不同的私钥s重复上述bit-PHF的过程,或者2:对于固定的私钥和投影密钥,多项式次选取不同的实例v来重复bit-PHF的过程,或者1和2混合使用多项式次均可得到一个满足近似正确性和统计平滑性的SPHF。
具体地,本实施例中,在目标证明者获取到公钥pk信息后,可以重复上述过程,然后基于多次重复得到的杂凑值,确定出第一实例v是否为目标哈希证明系统中的第二语言L2中的实例。
上述主要对本申请实施例提供的方法进行了介绍。可以理解的是,各个设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对各个设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图4为本申请一个实施例提供的杂凑值的生成装置的结构示意图。如图4所示,该装置400包括:处理模块401和/或收发模块402。
在第一个实施例中,处理模块401用于:根据第一实例、所述第一实例的证据和第二设备的公钥,确定公开计算杂凑值;收发模块402用于:发送所述第一实例和所述公开计算杂凑值;
其中,所述第一实例等于第一目标值与第一偏差信息之和,所述第一目标值等于所述第一实例的证据与二元线性[n,k]码集合的生成矩阵之积,所述第一偏差信息的汉明重量小于或等于第一阈值,且所述第一阈值小于第二阈值;
所述公钥基于目标伯努利分布确定,所述目标伯努利分布在试验成功时的概率值等于第一预设参数d与n的比值;
所述第一阈值和第二阈值的取值满足如下条件:使得所述第一实例与所述[n,k]码集合中的距离最近的码字之间的距离小于或等于第二预设参数w且2d/n小于或等于1/2时的所述公开计算杂凑值与隐私计算杂凑值相等的概率大于或等于1与之差、β大于或等于/>d log(n/d)大于或等于4k、所述[n,k]码集合中除与第二语言中的第二实例相同的码字之外的任意一个码字与所述[n,k]码集合中的距离最近的码字之间的距离位于区间[(1-β)*n/2,(1+β)*n/2]内,β指示所述[n,k]码集合为β-平衡码时对应的β的取值,所述第二实例等于第二目标值与第二偏差信息之和,所述第二目标值等于所述第二实例的证据与所述[n,k]码集合的生成矩阵之积,所述第二偏差信息的汉明重量小于或等于所述第二阈值。
在一种可能的实现方式中,所述公钥由所述[n,k]码集合的生成矩阵与所述第二设备的私钥进行内积运算得到,所述第二设备的私钥基于所述目标伯努利分布确定。
在一种可能的实现方式中,所述第二设备的私钥为所述第二设备对所述目标伯努利分布进行n次采样得到的信息。
在一种可能的实现方式中,所述公开计算杂凑值由所述第一实例的证据与所述第二设备的公钥进行内积运算后再进行模2运算得到。
在第二个实施例中,收发模块402用于:接收第一设备发送的第一实例和所述第一实例对应的公开计算杂凑值;所述处理模块401用于:基于所述第一实例和所述第二设备的私钥,确定隐私计算杂凑值,所述隐私计算杂凑值和所述公开计算杂凑值相等的概率大于1/2;其中,所述第一实例等于第一目标值与第一偏差信息之和,所述第一目标值等于所述第一实例的证据与二元线性[n,k]码集合的生成矩阵之积,所述第一偏差信息的汉明重量小于或等于第一阈值,且所述第一阈值小于第二阈值;所述私钥基于目标伯努利分布确定,所述目标伯努利分布在试验成功时的概率值等于第一预设参数d与n的比值;所述第一阈值和第二阈值的取值满足如下条件:使得所述第一实例与所述[n,k]码集合中的距离最近的码字之间的距离小于或等于第二预设参数w且2d/n小于或等于1/2时的所述公开计算杂凑值与隐私计算杂凑值相等的概率大于或等于1与之差、β大于或等于/>dlog(n/d)大于或等于4k、所述[n,k]码集合中除与第二语言中的第二实例相同的码字之外的任意一个码字与所述[n,k]码集合中的距离最近的码字之间的距离位于区间[(1-β)*n/2,(1+β)*n/2]内,β指示所述[n,k]码集合为β-平衡码时对应的β的取值,所述第二实例等于第二目标值与第二偏差信息之和,所述第二目标值等于所述第二实例的证据与所述[n,k]码集合的生成矩阵之积,所述第二偏差信息的汉明重量小于或等于所述第二阈值。
在一种可能的实现方式中,所述第二设备的私钥为所述第二设备对所述目标伯努利分布进行n次采样得到的信息。
在一种可能的实现方式中,所述隐私计算杂凑值由所述待验证实例与所述第二设备的私钥进行内积运算后再进行模2运算得到。
在一种可能的实现方式中,所述处理模块401还用于:根据所述第二设备的私钥,确定所述第二设备的公钥,所述公钥由所述[n,k]码集合的生成矩阵与所述第二设备的私钥进行内积运算得到。
在一种可能的实现方式中,所述收发模块402用于:向第一设备发送所述第二设备的公钥。
图5为本申请提供的一种终端设备500的结构示意图。为了便于说明,图5仅示出了终端设备的主要部件。如图5所示,终端设备500包括处理器、存储器、控制电路、天线以及输入输出装置。该终端设备500可执行上述方法。
处理器主要用于对通信协议以及通信数据进行处理,以及对整个终端设备进行控制,执行软件程序,处理软件程序的数据,例如用于控制终端设备执行上述方法实施例中所描述的动作。存储器主要用于存储软件程序和数据。控制电路主要用于基带信号与射频信号的转换以及对射频信号的处理。控制电路和天线一起也可以叫做收发器,主要用于收发电磁波形式的射频信号。输入输出装置,例如触摸屏、显示屏,键盘等主要用于接收用户输入的数据以及对用户输出数据。
当终端设备开机后,处理器可以读取存储单元中的软件程序,解释并执行软件程序的指令,处理软件程序的数据。当需要通过无线发送数据时,处理器对待发送的数据进行基带处理后,输出基带信号至射频电路,射频电路将基带信号进行射频处理后将射频信号通过天线以电磁波的形式向外发送。当有数据发送到终端设备时,射频电路通过天线接收到射频信号,将射频信号转换为基带信号,并将基带信号输出至处理器,处理器将基带信号转换为数据并对该数据进行处理。
本领域技术人员可以理解,为了便于说明,图5仅示出了一个存储器和处理器。在实际的终端设备中,可以存在多个处理器和存储器。存储器也可以称为存储介质或者存储设备等,本申请实施例对此不做限制。
作为一种可选的实现方式,处理器可以包括基带处理器和中央处理器,基带处理器主要用于对通信协议以及通信数据进行处理,中央处理器主要用于对整个终端设备进行控制,执行软件程序,处理软件程序的数据。图5中的处理器集成了基带处理器和中央处理器的功能,本领域技术人员可以理解,基带处理器和中央处理器也可以是各自独立的处理器,通过总线等技术互联。本领域技术人员可以理解,终端设备可以包括多个基带处理器以适应不同的网络制式,终端设备可以包括多个中央处理器以增强其处理能力,终端设备的各个部件可以通过各种总线连接。该基带处理器也可以表述为基带处理电路或者基带处理芯片。该中央处理器也可以表述为中央处理电路或者中央处理芯片。对通信协议以及通信数据进行处理的功能可以内置在处理器中,也可以以软件程序的形式存储在存储单元中,由处理器执行软件程序以实现基带处理功能。
示例性的,在图5的实施例中,可以将具有收发功能的天线和控制电路视为终端设备500的收发单元501,将具有处理功能的处理器视为终端设备500的处理单元502。如图5所示,终端设备500包括收发单元501和处理单元502。收发单元也可以称为收发器、收发机、收发装置等。可选的,可以将收发单元501中用于实现接收功能的器件视为接收单元,将收发单元501中用于实现发送功能的器件视为发送单元,即收发单元501包括接收单元和发送单元。示例性的,接收单元也可以称为接收机、接收器、接收电路等,发送单元可以称为发射机、发射器或者发射电路等。
图5所示的终端设备500能够实现图3所示的方法的各个过程。终端设备500中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详述描述。
图6为本申请另一个实施例提供的杂凑值的生成装置的结构性示意图。图6所示的装置可以用于执行前述任意一个实施例所述的方法。
如图6所示,本实施例的装置600包括:存储器601、处理器602、通信接口603以及总线604。其中,存储器601、处理器602、通信接口603通过总线604实现彼此之间的通信连接。
存储器601可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器601可以存储程序,当存储器601中存储的程序被处理器602执行时,处理器602用于执行图3所示的方法的各个步骤。
处理器602可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本申请图3所示的方法。
处理器602还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例图3的方法的各个步骤可以通过处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器602还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器601,处理器602读取存储器601中的信息,结合其硬件完成本申请装置包括的单元所需执行的功能,例如,可以执行图3所示实施例的各个步骤/功能。
通信接口603可以使用但不限于收发器一类的收发装置,来实现装置600与其他设备或通信网络之间的通信。
总线604可以包括在装置600各个部件(例如,存储器601、处理器602、通信接口603)之间传送信息的通路。
应理解,本申请实施例所示的装置600可以是电子设备,或者,也可以是配置于电子设备中的芯片。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (19)

1.一种杂凑值的生成方法,其特征在于,应用于第一设备,包括:
根据第一实例、所述第一实例的证据和第二设备的公钥,确定公开计算杂凑值;
发送所述第一实例和所述公开计算杂凑值;
其中,所述第一实例等于第一目标值与第一偏差信息之和,所述第一目标值等于所述第一实例的证据与二元线性[n,k]码集合的生成矩阵之积,所述第一偏差信息的汉明重量小于或等于第一阈值,且所述第一阈值小于第二阈值;
所述公钥基于目标伯努利分布确定,所述目标伯努利分布在试验成功时的概率值等于第一预设参数d与n的比值;
所述第一阈值和第二阈值的取值满足如下条件:使得所述第一实例与所述[n,k]码集合中的距离最近的码字之间的距离小于或等于第二预设参数w且2d/n小于或等于1/2时的所述公开计算杂凑值与隐私计算杂凑值相等的概率大于或等于1与之差、β大于或等于/>dlog(n/d)大于或等于4k、所述[n,k]码集合中除与第二语言中的第二实例相同的码字之外的任意一个码字与所述[n,k]码集合中的距离最近的码字之间的距离位于区间[(1-β)*n/2,(1+β)*n/2]内,β指示所述[n,k]码集合为β-平衡码时对应的β的取值,所述第二实例等于第二目标值与第二偏差信息之和,所述第二目标值等于所述第二实例的证据与所述[n,k]码集合的生成矩阵之积,所述第二偏差信息的汉明重量小于或等于所述第二阈值。
2.根据权利要求1所述的方法,其特征在于,所述公钥由所述[n,k]码集合的生成矩阵与所述第二设备的私钥进行内积运算得到,所述第二设备的私钥基于所述目标伯努利分布确定。
3.根据权利要求2所述的方法,其特征在于,所述第二设备的私钥为所述第二设备对所述目标伯努利分布进行n次采样得到的信息。
4.根据权利要求3所述的方法,其特征在于,所述公开计算杂凑值由所述第一实例的证据与所述第二设备的公钥进行内积运算后再进行模2运算得到。
5.一种杂凑值的生成方法,其特征在于,应用于第二设备,包括:
接收第一设备发送的第一实例和所述第一实例对应的公开计算杂凑值;
基于所述第一实例和所述第二设备的私钥,确定隐私计算杂凑值,所述隐私计算杂凑值和所述公开计算杂凑值相等的概率大于1/2;
其中,所述第一实例等于第一目标值与第一偏差信息之和,所述第一目标值等于所述第一实例的证据与二元线性[n,k]码集合的生成矩阵之积,所述第一偏差信息的汉明重量小于或等于第一阈值,且所述第一阈值小于第二阈值;
所述私钥基于目标伯努利分布确定,所述目标伯努利分布在试验成功时的概率值等于第一预设参数d与n的比值;
所述第一阈值和第二阈值的取值满足如下条件:使得所述第一实例与所述[n,k]码集合中的距离最近的码字之间的距离小于或等于第二预设参数w且2d/n小于或等于1/2时的所述公开计算杂凑值与隐私计算杂凑值相等的概率大于或等于1与之差、β大于或等于/>dlog(n/d)大于或等于4k、所述[n,k]码集合中除与第二语言中的第二实例相同的码字之外的任意一个码字与所述[n,k]码集合中的距离最近的码字之间的距离位于区间[(1-β)*n/2,(1+β)*n/2]内,β指示所述[n,k]码集合为β-平衡码时对应的β的取值,所述第二实例等于第二目标值与第二偏差信息之和,所述第二目标值等于所述第二实例的证据与所述[n,k]码集合的生成矩阵之积,所述第二偏差信息的汉明重量小于或等于所述第二阈值。
6.根据权利要求5所述的方法,其特征在于,所述第二设备的私钥为所述第二设备对所述目标伯努利分布进行n次采样得到的信息。
7.根据权利要求6所述的方法,其特征在于,所述隐私计算杂凑值由所述待验证实例与所述第二设备的私钥进行内积运算后再进行模2运算得到。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
根据所述第二设备的私钥,确定所述第二设备的公钥,所述公钥由所述[n,k]码集合的生成矩阵与所述第二设备的私钥进行内积运算得到。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
向所述第一设备发送所述第二设备的公钥。
10.一种哈希证明系统,其特征在于,包括:实例集合模块、第一语言模块、密钥投影模块、公开计算模块和隐私计算模块;
所述实例集合模块中包含实例集合,所述实例集合为二元线性[n,k]码集合;
所述第一语言模块中包括第一语言,所述第一语言中包含所述[n,k]码集合中满足如下条件的第一实例:所述第一实例等于第一目标值与第一偏差信息之和,所述第一目标值等于所述第一实例的证据与所述[n,k]码集合的生成矩阵之积,所述第一偏差信息的汉明重量小于或等于第一阈值,且所述第一阈值小于第二阈值;
所述第二语言中包含所述[n,k]码集合中满足如下条件的第二实例:所述第二实例等于第二目标值与第二偏差信息之和,所述第二目标值等于所述第二实例的证据与所述[n,k]码集合的生成矩阵之积,所述第二偏差信息的汉明重量小于或等于所述第二阈值;
所述密钥投影模块用于:基于目标伯努利分布确定私钥和公钥,所述目标伯努利分布在试验成功时的概率值等于第一预设参数d与n的比值;
所述公开计算模块用于:对于第一语言中的第一实例,根据所述第一实例、所述第一实例的证据和第二设备的公钥,确定公开计算杂凑值;
所述隐私计算模块用于:对于所述[n,k]码集合中的任意一个实例,根据所述第二设备的私钥和所述任意一个实例,确定隐私计算杂凑值;
所述第一阈值和第二阈值的取值满足如下条件:使得所述第一实例与所述[n,k]码集合中的距离最近的码字之间的距离小于或等于第二预设参数w且2d/n小于或等于1/2时的所述公开计算杂凑值与隐私计算杂凑值相等的概率大于或等于1与之差、β大于或等于/>dlog(n/d)大于或等于4k、所述[n,k]码集合中除与第二语言中的第二实例相同的码字之外的任意一个码字与所述[n,k]码集合中的距离最近的码字之间的距离位于区间[(1-β)*n/2,(1+β)*n/2]内,β指示所述[n,k]码集合为β-平衡码时对应的β的取值。
11.根据权利要求10所述的系统,其特征在于,所述私钥为对所述目标伯努利分布进行n次采样得到的采样信息。
12.根据权利要求11所述的系统,其特征在于,所述公钥由所述[n,k]码集合的生成矩阵与所述第二设备的私钥进行内积运算得到。
13.根据权利要求12所述的系统,其特征在于,所述公开计算杂凑值由所述第一实例的证据与所述第二设备的公钥进行内积运算后再进行模2运算得到。
14.根据权利要求13所述的系统,其特征在于,所述隐私计算杂凑值由所述待验证实例与所述第二设备的私钥进行内积运算后再进行模2运算得到。
15.一种杂凑值的生成装置,其特征在于,包括用于执行权利要求1至4中任一项所述的方法的模块。
16.一种杂凑值的生成装置,其特征在于,包括用于执行权利要求5至9中任一项所述的方法的模块。
17.一种杂凑值的生成装置,其特征在于,包括至少一个处理器和存储器,所述处理器和所述存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时,使得装置执行如权利要求1至4中任一项所述的方法,或者执行如权利要求5至9中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读介质存储用于计算机执行的指令,当所述指令被执行时,使得如权利要求1至9中任一项所述的方法。
19.一种计算机程序产品,所述计算机程序产品中包括计算机程序指令,其特征在于,当所述计算机程序指令在计算机上运行时,使得所述计算机执行如权利要求1至9中任一项所述的方法。
CN202210543169.6A 2022-05-18 2022-05-18 杂凑值的生成方法和装置 Pending CN117134888A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210543169.6A CN117134888A (zh) 2022-05-18 2022-05-18 杂凑值的生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210543169.6A CN117134888A (zh) 2022-05-18 2022-05-18 杂凑值的生成方法和装置

Publications (1)

Publication Number Publication Date
CN117134888A true CN117134888A (zh) 2023-11-28

Family

ID=88851305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210543169.6A Pending CN117134888A (zh) 2022-05-18 2022-05-18 杂凑值的生成方法和装置

Country Status (1)

Country Link
CN (1) CN117134888A (zh)

Similar Documents

Publication Publication Date Title
US11991275B2 (en) System and method for quantum-safe authentication, encryption and decryption of information
JP4862159B2 (ja) 量子鍵配送方法、通信システムおよび通信装置
EP3384628B1 (en) Adding privacy to standard credentials
CN100583755C (zh) 使用同源来设计密码系统
Montero-Canela et al. Fractional chaos based-cryptosystem for generating encryption keys in Ad Hoc networks
CN105447361B (zh) 加密和相似性度量的方法、终端及服务器
Tyagi et al. Universal hashing for information-theoretic security
CN114584323A (zh) 基于格的代理签名及验证方法、装置、设备和存储介质
van Poppelen Cryptographic decoding of the Leech lattice
Fehr Quantum cryptography
Dai et al. Super-linear time-memory trade-offs for symmetric encryption
CN117134888A (zh) 杂凑值的生成方法和装置
CN113094721B (zh) 一种基于模上错误学习的后量子口令认证密钥交换方法
CN116155493A (zh) 一种相位阻尼和去极化噪声通道下的多方量子密钥协商方法
WO2023148350A1 (en) Lattice-based cryptographic digital signature scheme utilising masking
Gyöngyösi et al. Long-distance continuous-variable quantum key distribution with advanced reconciliation of a Gaussian modulation
Wang et al. A lightweight encryption and message authentication framework for wireless communication
Ben-Sasson et al. On public key encryption from noisy codewords
Espitau et al. Square unstructured integer euclidean lattice signature
Farooq et al. QuantIoT Novel Quantum Resistant Cryptographic Algorithm for Securing IoT Devices: Challenges and Solution
JP4231926B2 (ja) 量子鍵配送方法および通信装置
Löndahl Some notes on code-based cryptography
Suma et al. An optimal swift key generation and distribution for QKD
KR100822933B1 (ko) 양자 키 배송 방법 및 통신 장치
CN117134915A (zh) 杂凑值的生成方法与装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication