CN116915383A - 不经意键值存储编解码方法、系统、装置和介质 - Google Patents
不经意键值存储编解码方法、系统、装置和介质 Download PDFInfo
- Publication number
- CN116915383A CN116915383A CN202310869751.6A CN202310869751A CN116915383A CN 116915383 A CN116915383 A CN 116915383A CN 202310869751 A CN202310869751 A CN 202310869751A CN 116915383 A CN116915383 A CN 116915383A
- Authority
- CN
- China
- Prior art keywords
- key
- key value
- encoding
- value pairs
- hash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000003860 storage Methods 0.000 title claims abstract description 43
- 239000013598 vector Substances 0.000 claims abstract description 50
- 230000008569 process Effects 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 52
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 15
- 241000544061 Cuculus canorus Species 0.000 claims description 11
- 238000002360 preparation method Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 7
- 230000003993 interaction Effects 0.000 claims description 6
- 241000364483 Lipeurus epsilon Species 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/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
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种不经意键值存储编解码方法、系统、装置和介质,包括编码和解码两个步骤。编码首先对键值对集合的所有k值进行多个哈希运算。对每个元素的多个哈希值进行判断,如果所有哈希值都与其他元素的哈希值碰撞,则优先编码。编码过程中将键值对v值分为多个秘密份额,分别存入哈希函数值在向量L上的对应位置。如果无处可存,则启用向量R中的辅助位置进行存储。解码需先询问某个k值是否在键值对集合中,对于多个解码值。如果能从键值对集合中的v值匹配到一个解码值,则说明k在键值对集合中,完成解码。本发明的优点是:拥有较低的通信和计算花销;适用于编码和解码操作由同一方进行的场景。
Description
技术领域
本发明涉及信息安全技术领域,特别涉及一种保护双方隐私的不经意键值存储(OKVS)的编解码方法、系统、装置和介质。
背景技术
在当前大数据时代,隐私保护技术的研究逐渐由单纯的密码学方法向多领域交叉的方向发展。目前,隐私集合交集计算已经成为隐私保护领域的热点和重要研究方向之一,该技术在需要保护隐私的场景中有重要应用,如医疗、金融等领域。随着各国政府开始实施数字化转型战略,涉及大量的个人数据,如何在保护个人隐私的前提下更好地共享这些数据成为倍受关注的问题。隐私集合交集计算作为保障数据隐私的关键技术,日益重要。
隐私集合交集计算实现参与双方(或多方)在不暴露原始数据的情况下对多个数据集合进行交集计算。当前的研究中,有许多基于加密协议的隐私集合交集计算方法,包括同态加密(HE)、差分隐私(DP)、安全多方计算(MPC)以及零知识证明(ZKP)等。这些方法都采用了加密算法来对原始数据进行保护,使其可以在未解密的情况下进行集合交集运算。此外,还有基于哈希技术的隐私保护方法,例如局部敏感哈希(LSH)和布谷鸟哈希图(CHG)等,这些方法可以对原始数据进行哈希处理,然后使用哈希值进行隐私集合交集计算,从而达到保护数据隐私的目的。
现有的基于哈希技术进行隐私集合交集计算的方法存在以下问题:
映射范围小的哈希函数不可避免地会出现哈希冲突,即不同的原始数据被映射为相同的哈希值。如果没有采取特殊的防范措施,会导致误判,降低隐私保护效果。
由于哈希函数是公开的,攻击者可以使用各种方法来进行分析和破解。当哈希值集合较小时,攻击者可能会使用穷举法等暴力攻击方法尝试破解哈希值。此外,如果哈希函数本身有弱点或不够安全,则会造成隐私泄露。
发明内容
本发明针对现有技术的缺陷,提供了一种不经意键值存储(OKVS)的编解码方法、系统、装置和介质,用于解密前对解密值有预期的场景。
为了实现以上发明目的,本发明采取的技术方案如下:
一种不经意键值存储的编解码方法,包括如下步骤:
基于3哈希布谷鸟图的OKVS构造方案包含两个算法:编码算法(Encode)和解码算法(Decode);
S1准备阶段:定义三个哈希函数为h1,h2,h3和两个函数l(·)和r(·)。其定义域都是整数环。哈希函数的值域为{1,…,m},l(·)和r(·)则分别返回m长和λ长的0-1比特串。
S2编码初始化阶段:初始化空向量L,分别满足L∈(Fl)m、R∈(Fl)λ,Q为空队列,队列Q之后用来存放符合一定条件的键值对(ki,vi)。
S3键值对分类阶段:将键值对集合{(k1,v1),…,(kn,vn)}所有的k进行三次哈希运算,统计碰撞情况,将三个哈希值都碰撞的键值对(ki,vi)放入队列Q中。
S4编码阶段:先编码队列Q中的键值对,再编码队列Q之外的键值对,顺序将键值对编码到向量L和向量R中,最终得出最后的OKVS S:=(L,R)。
S5解码阶段:给定键值对(k,v),计算l(k)和r(k),根据编码得到的S进行解码计算<l(k),L>和<(l(k),r(k)),(L,R)>,<·,·>表示内积计算。将得出的两个值与编码前的键值对集合进行匹配。与其他v值匹配,如果成功匹配,这说明(k,v)在键值对集合{(k1,v1),...,(kn,vn)}中;如果匹配失败,则说明(k,v)不在键值对集合{(k1,v1),...,(kn,vn)}中。
进一步地,所述S1准备阶段包括如下步骤:
哈希函数h1,h2,h3的映射范围都是{1,…,m},m为布谷鸟图的顶点数。l(x)输出一个长度为m的位向量,除了h1(x),h2(x)和h3(x)的位置外,所有位置都是零。函数r(x)输出一个长度为λ的随机位向量,除两个随机位置外,所有位置都是零。
进一步地,所述S4编码阶段包括如下子步骤:
S41首先编码队列Q中的键值对。
如果键值对(ki,vi)的三个哈希值对应布谷哈希图的顶点至少有一个位置没有固定存入秘密份额值,则保留一个空的位置。其他的位置如果是空的,就用随机值填充到对应向量L的位置。最后,保留的空位置由键值对v值和哈希值对应的确定顶点值决定,保证编码后的键值对满足等式<l(ki),L>=vi。
如果键值对(ki,vi)的三个哈希值对应布谷哈希图的顶点全都存入秘密份额值,则启用辅助存储位,即向量R。计算r(ki),并使用由r(ki)确定的随机位置来协助编码(ki,vi),保证编码后的键值对满足等式<(l(ki),r(ki)),(L,R)>=vi。
S42最后编码非队列Q中的键值对。由于此类键值对一定对应还未固定的布谷哈希图顶点,因此不会用到辅助存储位。详细步骤参考对队列Q中键值对的编码流程,保证编码后的键值对满足等式<l(ki),L>=vi。
本发明还公开了一种不经意键值存储编解码系统,该系统能够用于实施上述的不经意键值存储编解码方法,具体的,包括:编码器模块、解码器模块、哈希函数模块、外部接口模块和用户交互模块;
编码器模块:初始化空向量L和向量R,以及创建一个空队列Q。对输入的键值对集合进行哈希运算,并统计碰撞情况,将符合条件的键值对放入队列Q中。以顺序方式对键值对进行编码,更新向量L和向量R,最后得出OKVS S:=(L,R)。
解码器模块:首先对输入的键进行哈希运算,得到l(k)和r(k),然后利用编码器模块得到的OKVS S:=(L,R),通过内积计算得到<l(k),L>和<(l(k),r(k)),(L,R)>,<·,·>表示内积计算,将这两个值分别与键值对集合进行匹配,从而确定输入的键值对是否存在。
哈希函数模块:包含了三个哈希函数h1,h2,h3和两个函数l(·)和r(·)。哈希函数对输入的数据进行哈希运算,用于键的分类和解码过程中的哈希匹配。
对外部接口模块:包括添加键值对、删除键值对、获取键值对、以及导入导出数据功能。
用户交互模块:包括添加键值对的输入框、删除键值对的选项、获取键的搜索框及显示区域,以及导入导出数据的按钮和文件选择框功能模块。
本发明还公开了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述不经意键值存储编解码方法。
本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述不经意键值存储编解码方法。
与现有技术相比,本发明的优点在于:
本发明适合用于编解码由同一参与方计算的协议,使用了布谷哈希这样一个在密码学中广泛使用的概念,并且设计一个新的有效的隐私集合交集计算协议;
本发明的原始数据与构建数据比例相较于现有的其他OKVS有7.5%的提高,应用到隐私集合交集协议中可以明显降低通信花销,对于授权访问者来说,访问速度也比较快;
本发明构造的隐私集合交集计算协议能够达到恶意安全,有力地保护了数据和密钥的安全性,防止第三方对数据进行非授权访问。
附图说明
图1是本发明实施例方法中键值对编码的流程图;
图2是本发明实施例方法中键值解码匹配的流程图。
具体实施方式
为更清楚地表述本发明的目的、技术方案及优点,根据附图并列举实施例,对本发明做进一步详细说明。
如图1和2所示,应用本发明的不经意键值存储的编解码方法进行两方的隐私集合交集计算(PSI)实例,包括如下步骤:
PSI架构主要包含:编码算法和解码算法,以及传送方法。
准备阶段:参与双方协定哈希函数h1,h2,h3和两个映射函数l(·)和r(·)。
编码阶段:此阶段只涉及一个参与方,首先初始化向量L和R以及空队列Q。参与者将自己的键值对集合通过哈希函数映射和v值秘密分享编码到L和R向量中,得到OKVS实例S:=(L,R)。
传送阶段:参与者将编码后的S通过VOLE或OOS方法传送给另一个参与方。这两种方法规避了密码学传统的模运算方法,能够节省大量计算开销。
解码阶段:接收到S的参与方应用解码算法里的两个计算公式将自己所有集合元素进行解码,每个元素会得到两个解码值。将解码值再传送回到编码参与方,编码参与方用解码值与所持集合的v值进行匹配,即可得到双方交集。
所述准备阶段包括如下步骤:
参与双方协定哈希函数h1,h2,h3和两个映射函数l(·)和r(·)。哈希函数h1,h2,h3的映射范围都是{1,…,m},m为布谷鸟图的顶点数。l(x)输出一个长度为m的位向量,除了h1(x),h2(x)和h3(x)的位置外,所有位置都是零。函数r(x)输出一个长度为λ的随机位向量,除了两个随机位置外,所有位置都是零。
所述编码阶段包括如下步骤:
(1)元素分类
编码参与方将自己的键值对集合进行遍历,分别求出每个元素的三个哈希值,并判断彼此之间的碰撞情况。如果一个键值对的三个哈希值都出现碰撞,则将键值对放入队列Q中。
(2)键值对编码处理
首先编码队列Q中的键值对。如果键值对(ki,vi)的三个哈希值对应布谷哈希图的顶点至少有一个位置没有固定存入秘密份额值,则保留一个空的位置。其他的位置如果是空的,就用随机值填充到向量L的对应位置。最后,保留的空位置由其值根据已固定位置的值决定,保证编码后的键值对满足等式<l(ki),L>=vi。
如果键值对(ki,vi)的三个哈希值对应布谷哈希图的顶点全都存入秘密份额值,则启用辅助存储位,即向量R。计算r(ki)并使用由r(ki)确定的随机位置来协助编码(ki,vi),保证编码后的键值对满足等式<(l(ki),r(ki)),(L,R)>=vi。
最后编码非队列Q中的键值对。由于此类键值对一定对应还未固定的布谷哈希图顶点,因此不会用到辅助存储位。详细步骤参考对队列Q中键值对的编码流程,保证编码后的键值对满足等式<l(ki),L>=vi。
由以上流程即可得到S:=(L,R),完成编码。
所述传送阶段实例选用可以随机转换选择VOLE机制,包括如下步骤:
整个VOLE方案是适配两个参与方的,限定有限域为F,所有的向量维数设置为m。整个功能两个参与方无需提供任何输入。在没有检测到恶意敌手时,由VOLE处理器随机选取向量A和向量B以及标量Δ,然后可计算出C:=B+ΔA。当功能实现过程中有恶意敌手的出现,则执行情况需要分情况讨论:
如果编码参与方是恶意敌手,则需要编码参与方自己生成A和C传送到VOLE处理器中,处理器随机取值Δ,然后计算B=C–ΔA返回B和Δ给解码参与方。
如果解码参与方是恶意敌手,则需要解码参与方自己生成标量Δ和向量B,并将二者传输到VOLE处理器中,VOLE处理器则会随机取向量A然后计算C=B+ΔA,然后将向量A和向量C传输给编码参与方。
编码参与方可以根据以上机制将编码生成的S与向量A相加得到一个新的向量A,再计算出新的向量C,就可以完成传递。
所述解码阶段包括如下步骤:
解码参与方将两个解码算式的值分别放入两个集合M1、M2中,其中M1={x,Decode1(C,x)-ΔH(x)+w|x∈X},M2={x,Decode(C,x)-ΔH(x)+w|x∈X}。
再将集合M1和M2传送给编码参与方,编码参与方将M1和M2中元素与自己的集合v值进行匹配即可得到双方交集。
在整个实例过程中,编码参与方相当于一个请求者,请求协同计算得到双方的交集。而解码参与方同意协同计算后只提供解码数据,非交集元素以随机数形式呈现于编码参与方,并不会泄露。编码参与方最后得到计算出的交集,但解码参与方不会得到关于交集和编码参与方的任何集合信息。
本发明再一个实施例中,提供了一种不经意键值存储编解码系统,该系统能够用于实施上述的一种不经意键值存储编解码方法,具体的,包括:编码器模块、解码器模块、哈希函数模块、外部接口模块和用户交互模块;
编码器模块:初始化空向量L和向量R,以及创建一个空队列Q。对输入的键值对集合进行哈希运算,并统计碰撞情况,将符合条件的键值对放入队列Q中。以顺序方式对键值对进行编码,更新向量L和向量R,最后得出OKVS S:=(L,R)。
解码器模块:首先对输入的键进行哈希运算,得到l(k)和r(k),然后利用编码器模块得到的OKVS S:=(L,R),通过内积计算得到<l(k),L>和<(l(k),r(k)),(L,R)>,<·,·>表示内积计算,将这两个值分别与键值对集合进行匹配,从而确定输入的键值对是否存在。
哈希函数模块:包含了三个哈希函数h1,h2,h3和两个函数l(·)和r(·)。哈希函数对输入的数据进行哈希运算,用于键的分类和解码过程中的哈希匹配。
对外部接口模块:包括添加键值对、删除键值对、获取键值对、以及导入导出数据功能。
用户交互模块:包括添加键值对的输入框、删除键值对的选项、获取键的搜索框及显示区域,以及导入导出数据的按钮和文件选择框功能模块。
本发明再一个实施例中,提供了一种终端设备,该终端设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor、DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于一种不经意键值存储编解码方法的操作,包括以下步骤:
S1准备阶段:定义三个哈希函数为h1,h2,h3和两个函数l(·)和r(·)。其定义域都是整数环。哈希函数的值域为{1,…,m},l(·)和r(·)则分别返回m长和λ长的0-1比特串。
S2编码初始化阶段:初始化空向量L,分别满足L∈(Fl)m、R∈(Fl)λ,Q为空队列,队列Q之后用来存放符合一定条件的键值对(ki,vi)。
S3键值对分类阶段:将键值对集合{(k1,v1),…,(kn,vn)}所有的k进行三次哈希运算,统计碰撞情况,将三个哈希值都碰撞的键值对(ki,vi)放入队列Q中。
S4编码阶段:先编码队列Q中的键值对,再编码队列Q之外的键值对,顺序将键值对编码到向量L和向量R中,最终得出最后的OKVS S:=(L,R)。
S5解码阶段:给定键值对(k,v),计算l(k)和r(k),根据编码得到的S进行解码计算<l(k),L>和<(l(k),r(k)),(L,R)>,<·,·>表示内积计算。将得出的两个值与编码前的键值对集合进行匹配。与其他v值匹配,如果成功匹配,这说明(k,v)在键值对集合{(k1,v1),...,(kn,vn)}中;如果匹配失败,则说明(k,v)不在键值对集合{(k1,v1),...,(kn,vn)}中。
本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(Memory),所述计算机可读存储介质是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端设备中的内置存储介质,当然也可以包括终端设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关一种不经意键值存储编解码方法的相应步骤;计算机可读存储介质中的一条或一条以上指令由处理器加载并执行如下步骤:
S1准备阶段:定义三个哈希函数为h1,h2,h3和两个函数l(·)和r(·)。其定义域都是整数环。哈希函数的值域为{1,…,m},l(·)和r(·)则分别返回m长和λ长的0-1比特串。
S2编码初始化阶段:初始化空向量L,分别满足L∈(Fl)m、R∈(Fl)λ,Q为空队列,队列Q之后用来存放符合一定条件的键值对(ki,vi)。
S3键值对分类阶段:将键值对集合{(k1,v1),…,(kn,vn)}所有的k进行三次哈希运算,统计碰撞情况,将三个哈希值都碰撞的键值对(ki,vi)放入队列Q中。
S4编码阶段:先编码队列Q中的键值对,再编码队列Q之外的键值对,顺序将键值对编码到向量L和向量R中,最终得出最后的OKVS S:=(L,R)。
S5解码阶段:给定键值对(k,v),计算l(k)和r(k),根据编码得到的S进行解码计算<l(k),L>和<(l(k),r(k)),(L,R)>,<·,·>表示内积计算。将得出的两个值与编码前的键值对集合进行匹配。与其他v值匹配,如果成功匹配,这说明(k,v)在键值对集合{(k1,v1),...,(kn,vn)}中;如果匹配失败,则说明(k,v)不在键值对集合{(k1,v1),...,(kn,vn)}中。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (6)
1.一种不经意键值存储编解码方法,其特征在于,包括如下步骤:
S1准备阶段:定义三个哈希函数为h1,h2,h3和两个函数l(·)和r(·),其定义域都是整数环;哈希函数的值域为{1,…,m},l(·)和r(·)则分别返回m长和λ长的0-1比特串;
S2编码初始化阶段:初始化空向量L,分别满足L∈(Fl)m、R∈(Fl)λ和空队列Q,队列Q之后用来存放符合一定条件的键值对(ki,vi);
S3键值对分类阶段:将键值对集合{(k1,v1),…,(kn,vn)}所有的ki(i=1,…,n)进行三次哈希运算,统计碰撞情况,将三个哈希值都碰撞的键值对(ki,vi)放入队列Q中;
S4编码阶段:先编码队列Q中的键值对,再编码队列Q之外的键值对,顺序将键值对编码到向量L和向量R中,最终得出最后的OKVS S:=(L,R);
S5解码阶段:给定键值对(k,v),计算l(k)和r(k),根据编码得到的S进行解码计算<l(k),L>和<(l(k),r(k)),(L,R)>,<·,·>表示内积计算;将得出的两个值与编码前的键值对集合进行匹配;与其他v值匹配,如果成功匹配,这说明(k,v)在键值对集合{(k1,v1),...,(kn,vn)}中;如果匹配失败,则说明(k,v)不在键值对集合{(k1,v1),…,(kn,vn)}中。
2.根据权利要求1所述的一种不经意键值存储编解码方法,其特征在于:所述S1准备阶段包括如下步骤:
哈希函数h1,h2,h3的映射范围都是{1,…,m},m为布谷鸟图的顶点数;l(x)输出一个长度为m的位向量,除了h1(x),h2(x)和h3(x)的位置外,所有位置都是零;函数r(x)输出一个长度为λ的随机位向量,除了两个随机位置外,所有位置都是零。
3.根据权利要求1所述的一种不经意键值存储编解码方法,其特征在于:所述S4编码阶段包括如下子步骤:
首先编码队列Q中的键值对;如果键值对(ki,vi)的三个哈希值对应布谷哈希图的顶点中至少有一个位置没有固定存入秘密份额值,则保留一个空的位置;其他的位置如果是空的,就用随机值填充到对应向量L的位置;最后,保留的空位置由键值对v值和哈希值对应的确定顶点值决定,保证编码后的键值对满足等式<l(ki),L>=vi;
如果键值对(ki,vi)的三个哈希值对应布谷哈希图的顶点均已存入秘密份额值,则启用辅助存储位,即向量R;计算r(ki)并使用由r(ki)确定的随机位置来协助编码(ki,vi),保证编码后的键值对满足等式<(l(ki),r(ki)),(L,R)>=vi;
最后编码非队列Q中的键值对;由于此类键值对一定对应还未固定的布谷哈希图顶点,因此不会用到辅助存储位;详细步骤参考对队列Q中键值对的编码流程,保证编码后的键值对满足等式<l(ki),L>=vi。
4.一种不经意键值存储编解码系统,其特征在于:该系统能够用于实施权利要求1至3其中一项所述的不经意键值存储编解码方法,具体的,包括:编码器模块、解码器模块、哈希函数模块、外部接口模块和用户交互模块;
编码器模块:初始化空向量L和向量R,以及创建一个空队列Q;对输入的键值对集合进行哈希运算,并统计碰撞情况,将符合条件的键值对放入队列Q中;以顺序方式对键值对进行编码,更新向量L和向量R,最后得出OKVS S:=(L,R);
解码器模块:首先对输入的键进行哈希运算,得到l(k)和r(k),然后利用编码器模块得到的OKVS S:=(L,R),通过内积计算得到<l(k),L>和<(l(k),r(k)),(L,R)>,<·,·>表示内积计算,将这两个值分别与键值对集合进行匹配,从而确定输入的键值对是否存在;
哈希函数模块:包含了三个哈希函数h1,h2,h3和两个函数l(·)和r(·);哈希函数对输入的数据进行哈希运算,用于键的分类和解码过程中的哈希匹配;
对外部接口模块:包括添加键值对、删除键值对、获取键值对、以及导入导出数据功能;
用户交互模块:包括添加键值对的输入框、删除键值对的选项、获取键的搜索框及显示区域,以及导入导出数据的按钮和文件选择框功能模块。
5.一种计算机设备,其特征在于:包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至3其中一项所述的不经意键值存储编解码方法。
6.一种计算机可读存储介质,其特征在于:其上存储有计算机程序,该程序被处理器执行时实现权利要求1至3其中一项所述的不经意键值存储编解码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310869751.6A CN116915383A (zh) | 2023-07-14 | 2023-07-14 | 不经意键值存储编解码方法、系统、装置和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310869751.6A CN116915383A (zh) | 2023-07-14 | 2023-07-14 | 不经意键值存储编解码方法、系统、装置和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116915383A true CN116915383A (zh) | 2023-10-20 |
Family
ID=88355949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310869751.6A Pending CN116915383A (zh) | 2023-07-14 | 2023-07-14 | 不经意键值存储编解码方法、系统、装置和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116915383A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117439732A (zh) * | 2023-10-30 | 2024-01-23 | 浙江大学 | 应用于隐私计算的电路隐私集合求交方法、电子设备 |
-
2023
- 2023-07-14 CN CN202310869751.6A patent/CN116915383A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117439732A (zh) * | 2023-10-30 | 2024-01-23 | 浙江大学 | 应用于隐私计算的电路隐私集合求交方法、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020253234A1 (zh) | 实现隐私保护的数据同态加解密方法及装置 | |
CN109886687B (zh) | 一种基于区块链实现安全多方计算的结果验证方法及系统 | |
Jayapandian et al. | Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption | |
CN110784306B (zh) | Sm4算法白盒实现方法、装置、电子设备及计算机介质 | |
CN111639367B (zh) | 基于树模型的两方联合分类方法、装置、设备及介质 | |
JP7297131B2 (ja) | 分散型機械学習モデルのトレーニング方法、装置、機器および媒体 | |
CN115730333A (zh) | 基于秘密分享和同态加密的安全树模型构建方法和装置 | |
CN114647857A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
Ibarrondo et al. | Banners: Binarized neural networks with replicated secret sharing | |
Jammula et al. | Hybrid lightweight cryptography with attribute-based encryption standard for secure and scalable IoT system | |
CN106453393B (zh) | 参与式感知中可验证的隐私保护数据类型匹配方法 | |
Rahaman et al. | Secure multi-party computation (SMPC) protocols and privacy | |
CN116915383A (zh) | 不经意键值存储编解码方法、系统、装置和介质 | |
CN113806775B (zh) | 一种基于卷积优化的区块链报文处理方法及装置 | |
CN115396148B (zh) | 隐私保护的名单查询方法、系统、介质、设备及终端 | |
CN117171202A (zh) | 一种数据查询方法及装置 | |
Qasim et al. | Encrypt medical image using Csalsa20 stream algorithm | |
CN117278210A (zh) | 基于可信执行环境的随机不经意传输扩展方法及相关装置 | |
CN110838908A (zh) | 一种gf矩阵变换和随机分层融合的图像加密解密方法 | |
da Silva et al. | An efficient homomorphic data encoding with multiple secret Hensel codes | |
CN116170142A (zh) | 分布式协同解密方法、设备和存储介质 | |
CN106683030A (zh) | 基于量子多图像模型与三维变换的量子多图加密算法 | |
TWI701931B (zh) | 具分級機制的數位簽章方法及適用該方法的硬體錢包裝置 | |
CN116028969B (zh) | 一种基于数据加密技术的隐私计算方法 | |
Krishnegowda et al. | Efficient matrix key homomorphic encryption of medical images |
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 |