CN116074090B - 一种基于oprf的多用户顺序揭示加密方法及系统 - Google Patents

一种基于oprf的多用户顺序揭示加密方法及系统 Download PDF

Info

Publication number
CN116074090B
CN116074090B CN202310098895.6A CN202310098895A CN116074090B CN 116074090 B CN116074090 B CN 116074090B CN 202310098895 A CN202310098895 A CN 202310098895A CN 116074090 B CN116074090 B CN 116074090B
Authority
CN
China
Prior art keywords
user
token
value
plaintext
outputs
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
Application number
CN202310098895.6A
Other languages
English (en)
Other versions
CN116074090A (zh
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.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
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 Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202310098895.6A priority Critical patent/CN116074090B/zh
Publication of CN116074090A publication Critical patent/CN116074090A/zh
Application granted granted Critical
Publication of CN116074090B publication Critical patent/CN116074090B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提出一种基于OPRF的多用户顺序揭示加密方法及系统,其中方法包括:随机生成私钥及第一秘密值并存储于第一用户,随机生成第二秘密值并存储于第二用户;基于私钥及第一秘密值,第一用户输出密钥,并基于密钥对给定明文加密以输出密文;基于OPRF协议及第二秘密值,第二用户交互获取密钥,再基于密钥及待查询明文,第二用户输出第二令牌并发送至云端,第一用户输出第一令牌并发送至云端;云端解析密文并与第一令牌、第二令牌进行比较,并将比较结果发送至第二用户。本方法基于OPRF协议交互生成授权令牌,防止直接泄露数据拥有者的密钥信息,避免代理转移的问题,同时通过拆分授权令牌的方式,避免了权限扩张的问题。

Description

一种基于OPRF的多用户顺序揭示加密方法及系统
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于OPRF的多用户顺序揭示加密方法及系统。
背景技术
顺序揭示加密(ORE)是一种基本的密码原语,能够根据密文(索引结构)判断出明文大小,同时不会泄露其他任何除了底层明文顺序之外的信息,保持了明文的私密性。作为保序加密(OPE)方法的延伸,ORE在确保客户端能够对加密数据执行有效范围查询的前提下,具有更高的安全性。不同于OPE,ORE的密文可以表示为任意形式,而不仅仅是OPE中的数值。此外,ORE还引入了额外的公开比较算法来进行密文比较。在实践中,ORE允许客户端以加密形式将数据存储在不受信任的服务器上,同时仍然允许服务器有效地执行各种操作,例如在没有秘密解密密钥的情况下对加密数据进行范围查询。
为了在多用户设置中实现有效且安全的密文比较,Lv等人提出了多用户顺序揭示加密(multi-client ORE,m-ORE)方案,数据所有者可以将令牌生成的权限委托给一些授权用户,而无需透露自己密钥,以实现跨数据库的范围查询。与此前单用户方案会额外泄露msdb(最重要的不同位)相比,m-ORE只会泄露任意三个消息mi、mj和mk中两两msdb是否相同,降低了ORE的泄露量。但以ORE为基础的方案中,仍然存在权限扩张、代理转移、密文较大、泄漏量较高等缺陷。
发明内容
鉴于上述内容,本申请提出一种基于OPRF的多用户顺序揭示加密方法及系统,用以解决上述问题。
本申请实施例提供一种基于OPRF的多用户顺序揭示加密方法,应用于多用户之间的数据访问,其特征在于,所述第一用户授权所述第二用户查询加密数据库的令牌,具体包括下列步骤:
S10:基于系统安全参数,随机生成私钥及第一秘密值并存储于所述第一用户,随机生成第二秘密值并存储于所述第二用户;
S20:基于所述私钥及所述第一秘密值,所述第一用户输出密钥,并基于所述密钥对给定明文加密以输出密文;
S30:基于OPRF协议及所述第二秘密值,所述第二用户交互获取所述密钥,再基于所述密钥及待查询明文,所述第二用户与所述第一用户进行交互,所述第二用户输出第二令牌并发送至云端,所述第一用户输出第一令牌并发送至云端;
S40:所述云端解析所述密文并与所述第一令牌、所述第二令牌进行比较,并将比较结果发送至所述第二用户。
在至少一个实施方式中,所述步骤S10还包括:
基于所述系统安全参数λ,随机生成所述私钥ski=(k1,(k2,1,k2,2))及第一秘密值xi,并存储于所述第一用户;随机生成所述第二秘密值xj,并存储于所述第二用户;其中k1为私钥第一部分的值,k2,1为私钥第二部分第一位的值,k2,2为私钥第二部分第二位的值。
在至少一个实施方式中,所述步骤S20还包括:
所述第一用户生成第一随机数s,以输出所述密钥临时密钥ski′=(k1,(k2,1·s,k2,2)),其中g1[x]为g1的x坐标值,g1为群G1的生成元,G1为阶为p的加法循环群。
在至少一个实施方式中,所述步骤S20还包括:
所述第一用户将所述给定明文m表示为二进制形式(m[1],…,m[n]),并通过下式输出所述给定明文第l位的编码值ul
其中,n为给定明文m的总位数,l∈[n],0n-l+1为一个长度为的n-l+1字符串,m[i]为给定明文m的第i位,m[:i]为给定明文m的前i位前缀,F(·)为伪随机函数。
在至少一个实施方式中,所述步骤S20还包括:
所述第一用户基于所述临时密钥通过下式输出所述给定明文的密文ct:
ct=(ct0,ct1,…,Ctn) (4)
其中,哈希函数H(k,·)=h(·)kmod p, 为1,2…p-1组成的整数集合,π:[n]→[n]为第一用户随机选择的随机置换函数。
在至少一个实施方式中,所述步骤S30还包括:
所述第二用户发起查询,通过下式输出第一中间值a并发送至所述第一用户:
所述第一用户基于所述第一中间值a,输出第二中间值b并发送至所述第二用户:
所述第二用户基于所述第二中间值b,通过下式获取所述密钥
所述第二用户将所述待查询明文qm表示为二进制形式(qm[1],…,qm[n]),通过下式输出所述待查询明文第l位的编码值ul′:
其中,n为待查询明文qm的总位数,l∈[n],qm[i]为待查询明文qm的第i位,qm[:i]为待查询明文qm的前i位前缀。
在至少一个实施方式中,所述步骤S30还包括:
所述第二用户通过下式输出第三中间值(a1,1,a1,2),…,(an,1,an,2)并发送至所述第一用户:
其中,β12,…,βn为第二用户选择的n个随机数;
所述第一用户通过下式输出第四中间值(b1,1,b1,2),…,(bn,1,bn,2)并发送至所述第二用户:
所述第二用户输出第五中间值d并发送至所述第一用户:
d=(g1[x])r (13)
其中,r为第二用户选择的随机数;
所述第一用户通过下式输出第一令牌ti,且输出第六中间值f并发送至所述第二用户:
其中,s′为第一用户选择的随机数,g2为G2的生成元,G2为阶为p的加法循环群;
所述第二用户通过下式输出第七中间值tokl,1、tokl,2
所述第二用户令tj,l=tokπ(l),1,tokπ(l),2),并输出所述第二令牌tj=tj,1,tj,2,…,tj,n),其中π:[n]→[n]为第二用户随机选择的随机置换函数。
在至少一个实施方式中,所述步骤S40还包括:
所述云端接收所述第一令牌ti与所述第二令牌tj,将所述给定明文的密文解析为(xt0,ct1,…,ctn);
将所述待查询明文qm与所述给定明文m进行比较:若e(cty,ti)=e(ct0,tokz,1),表明m>qm,输出结果1;若e(cty,ti)=e(ct0,tokz,2),表明m<qm,输出结果2;若为其它情况,输出结果0,表明m=qm;其中y,z∈[n],e为从G1×G2到GT的双线性对映射。
本申请实施例还提出一种基于OPRF的多用户顺序揭示加密系统,应用于多用户之间的数据访问,包括第一用户模块、第二用户模块与云端模块;所述第一用户模块用于随机生成并存储私钥及第一秘密值,并基于所述私钥及所述第一秘密值,输出密钥并基于所述密钥给给定明文加密以输出密文,还与所述第二用户模块交互以输出第一令牌并发送至所述云端模块;所述第二用户模块用于随机生成并存储第二私钥及第二秘密值,基于OPRF协议与所述第一用户模块交互获取所述密钥,基于所述密钥及待查询明文,通过与所述第一用户模块交互并输出第二令牌至所述云端模块;所述云端模块用于解析所述密文并与所述第一令牌、所述第二令牌进行比较,并将比较结果发送至所述第二用户模块。
本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中在所述计算机程序运行时控制所述计算机可读存储介质所在的设备执行如前述的基于OPRF的多用户顺序揭示加密方法。
相较于现有技术,本申请的提出的基于OPRF的多用户顺序揭示加密方法,基于OPRF协议交互生成授权令牌,防止直接泄露数据拥有者的密钥信息,避免代理转移的问题,同时通过拆分授权令牌的方式,避免了权限扩张的问题,具有泄漏量小、安全性高的有益效果。
附图说明
图1是本申请中基于OPRF的多用户顺序揭示加密方法一实施例的步骤流程图;
图2是本申请中基于OPRF的多用户顺序揭示加密系统一实施例的系统模块图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度小于第二特征。
下文的公开提供了许多不同的实施方式或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。
请参阅图1,本申请提出一种基于OPRF的多用户顺序揭示加密方法,应用于多用户之间的数据访问,第一用户授权第二用户查询加密数据库的令牌,具体包括下列步骤:
S10:基于系统安全参数,随机生成私钥及第一秘密值并存储于第一用户,随机生成第二秘密值并存储于第二用户;
S20:基于私钥及第一秘密值,第一用户输出密钥,并基于密钥对给定明文加密以输出密文;
S30:基于OPRF协议及第二秘密值,第二用户交互获取密钥,再基于密钥及待查询明文,第二用户与第一用户进行交互,第二用户输出第二令牌并发送至云端,第一用户输出第一令牌并发送至云端;
S40:云端解析密文并与第一令牌、第二令牌进行比较,并将比较结果发送至第二用户。
需要解释的是,本方法可用于多用户之间的数据访问情形,各个用户分别存有不同的数据,且不同用户之间可以进行相互的访问申请。可包括云端,云端包括有服务器,多个用户可分别与云端服务器进行数据交换。
步骤S10中,包括基于KeyGen算法的密钥生成步骤,第二用户同时随机生成有第二私钥,第二私钥存储于第二用户,本实施例中以第二用户向第一用户发出信息请求为例,并未就第二私钥进行相关运算或调用,因此在此仅做提及。
步骤S20中,包括Enc加密算法的步骤,第一用户可对给定明文进行加密处理形成密文,以便进行数据交互,本实施例中将密文存储于云端服务器。
步骤S30中,包括基于TokGen算法的令牌生成的步骤,基于在线OPRF协议进行交互,以本实施例中第二用户向第一用户进行数据查询为例而进行。第二用户与第一用户的交互包括基于各自端的运算,并基于运算结果进行的数据交换。第一用户和第二用户分别发出基于待查询明文生成的第一令牌和第二令牌作为数据请求,云端服务器接收后可对第一令牌和第二令牌进行处理。
步骤S40中,云端与第一用户及第二用户进行数据交换,并保存有第一用户所存储的给定明文的对应密文,并且能够根据令牌进行密文大小比较操作。当云端同时获取第一令牌与第二令牌,开始执行比较算法Comp,将令牌与第一用户存储的密文比较,并将比较结果返回给第二用户。
于一实施例中,步骤S10可包括:
基于系统安全参数λ,随机生成私钥ski=(k1,(k2,1,k2,2))及第一秘密值xi,并存储于第一用户;随机生成第二秘密值xj,并存储于第二用户;其中k1为私钥第一部分的值,k2,1为私钥第二部分第一位的值,k2,2为私钥第二部分第二位的值。
本实施例中的系统安全参数λ=128,第二用户同时生成有第二私钥skj=(k1′,(k2,1′,k2,2′))并存储于第二用户。对于多用户的情形,各用户分别生成对应的私钥及秘密值,并基于具体的请求数据方与接收请求方,调用对应的私钥或秘密值。本实施例后续步骤中,符号i关联第一用户及相关数据,符号j关联第二用户及相关数据。
于一实施例中,步骤S20可包括:
第一用户生成第一随机数s,以输出伪随机函数的密钥临时密钥ski′=(k1,(k2,1·s,k2,2)),其中g1[x]为g1的x坐标值,g1为群G1的生成元,G1为阶为p的加法循环群。临时密钥的值与第一随机数s相关,因此每次发出查询请求的过程中的临时密钥并不相同。
于一实施例中,步骤S20可包括:
第一用户将给定明文m表示为二进制形式(m[1],…,[n]),并通过下式输出给定明文第l位的编码值ul
其中,n为给定明文m的总位数,l∈[n],0n-l+1为一个长度为n-l+1的字符串,m[i]为给定明文m的第i位,m[:]为给定明文m的前i位前缀,F(·)为伪随机函数,且为K×([n]×{0,1}n)→{0,1}λ
于一实施例中,步骤S20可包括:
第一用户基于临时密钥通过下式输出给定明文的密文ct:
ct=(ct0,ct1,…,ctn) (4)
其中,哈希函数H(k,·)=h(·)k,其中 为1,2…-1组成的整数集合,π:[]→[n]为第一用户随机选择的随机置换函数。
于一实施例中,步骤S30可包括:
第二用户发起查询,通过下式输出第一中间值a并发送至第一用户:
第一用户基于第一中间值a,输出第二中间值b并发送至第二用户:
第二用户基于第二中间值b,通过下式获取密钥
第二用户将待查询明文qm表示为二进制形式(qm[1],…,m[n]),通过下式输出待查询明文第l位的编码值ul′:
其中,n为待查询明文qm的总位数,l∈[n],m[i]为待查询明文qm的第i位,qm[:i]为待查询明文qm的前i位前缀,即m[:i]=m[1]||m[2]||…||m[i]
于一实施例中,步骤S30可包括:
第二用户通过下式输出第三中间值(a1,1,a1,2),…,(an,1,an,2)并发送至第一用户:
其中,β12,…,βn为第二用户选择的n个随机数;
第一用户通过下式输出第四中间值(n1,1,b1,2),…,(nn,1,bn,2)并发送至第二用户:
第二用户输出第五中间值d并发送至第一用户:
d=(g1[x])r (13)
其中,r为第二用户选择的随机数;
第一用户通过下式输出第一令牌ti,且输出第六中间值f并发送至第二用户:
其中,s′为第一用户选择的随机数,g2为G2的生成元,G2为阶为p的加法循环群;
第二用户通过下式输出第七中间值tokl,1、tokl,2
第二用户令tj,l=(tokπ(l),1,tokπ(l),2),并输出第二令牌tj=(tj,1,tj,2,…,tj,n),其中π:[n]→[n]为第二用户随机选择的随机置换函数。
第一令牌与第二令牌组成完整的授权令牌,云端服务器接收到对应的第一令牌与第二令牌后,开始执行比较与输出结果等后续步骤。
于一实施例中,步骤S40可包括:
云端接收第一令牌ti与第二令牌tj,将给定明文的密文解析为(ct0,ct1,…,ctn);
将待查询明文qm与给定明文m进行比较:若e(cty,ti)=e(ct0,tokz,1),表明m>qm,输出结果1;若e(cty,ti)=e(ct0,tokz,2),表明m<qm,输出结果2;若为其它情况,输出结果0,表明m=qm;其中y,z∈[n],e为从G1×G2到GT的双线性对映射。
需要解释的是,云端服务器保存有给定明文对应的密文ct,当云端服务器接收到有效的第一令牌与第二令牌时,将密文ct解析,再执行比较算法,逐比特地将密文ct与第一令牌和第二令牌进行比对。
本实施例中,云端服务器将从第一用户处接收到的密文,通过比较算法,按照对应的底层明文大小,以由小到大存储为有序密文序列。在实施范围查询时,第二用户选择希望查询的范围[qx,qy],他首先与第一用户执行OPRF交互分别得到qx的第二令牌tj,qx、qy的第二令牌tj,qy,同时第一用户将分别保存qx的第一令牌ti,qx、qy的第一令牌ti,qy。二者同时发送(tj,qx,tj,qy)和(ti,qx,ti,qy)至云服务器。云服务器接受查询令牌后进行响应,通过比较算法,分别依次比较令牌(ti,qx,tj,qx)与云端服务器存储的密文序列中的密文、令牌(tj,qy,ti,qy)与云端服务器存储的密文序列中的密文,查询所述密文序列中的第一个≥qx对应令牌(ti,qx,tj,qx)的密文ctα,所述密文序列中的最后一个≤qy对应令牌(tj,qy,ti,qy)的密文ctβ,则查询到目标密文段,目标密文段为[ctα,ctβ],停止比较。再对这部分内容进行解密算法,即可获取第一用户的云端密文数据库中处于待查询范围[qx,qy]内的内容,并将这部分内容发送至第二用户。
本实施例中还包括对令牌生成过程进行正确性的验证。
将给定明文m表示为二进制形式(m[1],…,m[n]),待查询明文qm表示为(m[1]′,…,m[n]′)。
对于第二用户获取密钥的步骤,验证如下:
因此通过式(22)可证明,第二用户通过式(7)能够获取正确的伪随机函数密钥
基于式(9)、(13)、(15)、(18)、(22),输出下式:
进而可以输出下式:
同理可输出
再带入至比较算法中,可输出:
即可输出此时表明m>qm,算法输出结果1。
同理,可以得出当e(cty,ti)=e(ct0,tokz,2)时,有uy=u′z-1,此时m<qm,算法输出结果2。
对于uy=u′z±1始终不成立,可得出m=qm,算法输出结果0。
通过式(22)至式(25)可以验证本实施例的正确性。
本申请的方法实施例具有下列有益效果:1)第一用户与第二用户基于OPRF协议,通过交互的方式生成授权令牌,防止直接将密钥相关信息泄露至第二用户,使第二用户在信息转移时造成代理转移的问题;2)第一用户不会将整个授权令牌交于第二用户,避免第二用户对授权令牌对应的明文范围进行组合使用,避免了权限扩张问题;3)基于OPRF协议,安全性高、泄漏量小;4)适用于多用户的数据共享场景。
请参阅图2,本申请实施例还提出一种基于OPRF的多用户顺序揭示加密系统,应用于多用户之间的数据访问,包括第一用户模块、第二用户模块与云端模块;第一用户模块用于随机生成并存储私钥及第一秘密值,并基于私钥及第一秘密值,输出密钥并基于密钥给给定明文加密以输出密文,还与第二用户模块交互以输出第一令牌并发送至云端模块;第二用户模块用于随机生成并存储第二私钥及第二秘密值,基于OPRF协议与第一用户模块交互获取密钥,基于密钥及待查询明文,通过与第一用户模块交互并输出第二令牌至云端模块;云端模块用于解析密文并与第一令牌、第二令牌进行比较,输出二者底层明文比较结果并发送至第二用户模块。
在具体的实施过程中,可以包括多个用户模块,并依据数据提供方与请求发起方分别定义该场景下的第一用户模块与第二用户模块。云端模块可以包括服务器,以实现远程的数据存储、数据调用与数据交互功能。第一用户模块、第二用户模块与云端模块均具有数据运算功能、数据存储功能与数据交互功能,以执行如前述的基于OPRF的多用户顺序揭示加密方法。
本申请实施例还提出一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中在计算机程序运行时控制计算机可读存储介质所在的设备执行如前述的基于OPRF的多用户顺序揭示加密方法。
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述任一实施例中的功能的软件程序代码,且使该系统或者装置的电子设备读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本说明书的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,还包括由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (4)

1.一种基于OPRF的多用户顺序揭示加密方法,应用于多用户之间的数据访问,其特征在于,第一用户授权第二用户查询加密数据库的令牌,具体包括下列步骤:
S10:基于系统安全参数,随机生成私钥及第一秘密值并存储于所述第一用户,随机生成第二秘密值并存储于所述第二用户;
S20:基于所述私钥及所述第一秘密值,所述第一用户输出密钥,并基于所述密钥对给定明文加密以输出密文;
S30:基于OPRF协议及所述第二秘密值,所述第二用户交互获取所述密钥,再基于所述密钥及待查询明文,所述第二用户与所述第一用户进行交互,所述第二用户输出第二令牌并发送至云端,所述第一用户输出第一令牌并发送至云端;
S40:所述云端解析所述密文并与所述第一令牌、所述第二令牌进行比较,并将比较结果发送至所述第二用户;
所述步骤S10还包括:
基于所述系统安全参数λ,随机生成所述私钥ski=(k1,(k2,1,k2,2))及第一秘密值xi,并存储于所述第一用户;随机生成所述第二秘密值xj,并存储于所述第二用户;其中k1为私钥第一部分的值,k2,1为私钥第二部分第一位的值,k2,2为私钥第二部分第二位的值;
所述步骤S20还包括:
所述第一用户生成第一随机数s,以输出所述密钥临时密钥ski′=(k1,(k2,1·s,k2,2)),其中g1[x]为g1的x坐标值,g1为群G1的生成元,G1为阶为p的加法循环群;
所述步骤S20还包括:
所述第一用户将所述给定明文m表示为二进制形式(m[1],…,m[n]),并通过下式输出所述给定明文第l位的编码值ul
其中,n为给定明文m的总位数,l∈[n],0n-l+1为一个长度为n-l+1的字符串,m[i]为给定明文m的第i位,m[:i]为给定明文m的前i位前缀,F(·)为伪随机函数;
所述步骤S20还包括:
所述第一用户基于所述临时密钥通过下式输出所述给定明文的密文ct:
ct=(ct0,ct1,…,ctn) (4)
其中,哈希函数H(k,·)=h(·)kmod p, 为1,2…p-1组成的整数集合,π:[n]→[n]为第一用户随机选择的随机置换函数;
所述步骤S30还包括:
所述第二用户发起查询,通过下式输出第一中间值a并发送至所述第一用户:
所述第一用户基于所述第一中间值a,输出第二中间值b并发送至所述第二用户:
所述第二用户基于所述第二中间值b,通过下式获取所述密钥
所述第二用户将所述待查询明文qm表示为二进制形式(qm[1],…,qm[n]),通过下式输出所述待查询明文第l位的编码值ul′:
其中,n为待查询明文qm的总位数,l∈[n],qm[i]为待查询明文qm的第i位,qm[:i]为待查询明文qm的前i位前缀;
所述步骤S30还包括:
所述第二用户通过下式输出第三中间值(a1,1,a1,2),…,(an,1,an,2)并发送至所述第一用户:
其中,β12,…,βn为第二用户选择的n个随机数;
所述第一用户通过下式输出第四中间值(b1,1,b1,2),…,(bn,1,bn,2)并发送至所述第二用户:
所述第二用户输出第五中间值d并发送至所述第一用户:
d=(g1[x])r (13)
其中,r为第二用户选择的随机数;
所述第一用户通过下式输出第一令牌ti,且输出第六中间值f并发送至所述第二用户:
其中,s′为第一用户选择的随机数,g2为G2的生成元,G2为阶为p的加法循环群;
所述第二用户通过下式输出第七中间值tokl,1、tokl,2
所述第二用户令tj,l=(tokπ(l),1,tokπ(l),2),并输出所述第二令牌tj=(tj,1,tj,2,…,tj,n),其中π:[n]→[n]为第二用户随机选择的随机置换函数。
2.如权利要求1所述的基于OPRF的多用户顺序揭示加密方法,其特征在于,所述步骤S40还包括:
所述云端接收所述第一令牌ti与所述第二令牌tj,将所述给定明文的密文解析为(ct0,ct1,…,ctn);
将所述待查询明文qm与所述给定明文m进行比较:若e(cty,ti)=e(ct0,tokz,1),表明m>qm,输出结果1;若e(cty,ti)=e(ct0,tokz,2),表明m<qm,输出结果2;若为其它情况,输出结果0,表明m=qm;其中y,z∈[n],e为从G1×G2到GT的双线性对映射。
3.一种基于OPRF的多用户顺序揭示加密系统,应用于多用户之间的数据访问,其特征在于,包括第一用户模块、第二用户模块与云端模块;
所述第一用户模块用于随机生成并存储私钥及第一秘密值,并基于所述私钥及所述第一秘密值,输出密钥并基于所述密钥给给定明文加密以输出密文,还与所述第二用户模块交互以输出第一令牌并发送至所述云端模块;
所述第二用户模块用于随机生成并存储第二私钥及第二秘密值,基于OPRF协议与所述第一用户模块交互获取所述密钥,基于所述密钥及待查询明文,通过与所述第一用户模块交互并输出第二令牌至所述云端模块;
所述云端模块用于解析所述密文并与所述第一令牌、所述第二令牌进行比较,并将比较结果发送至所述第二用户模块;
所述第一用户模块具体用于,基于系统安全参数λ,随机生成所述私钥ski=(k1,(k2,1,k2,2))及第一秘密值xi,并存储于所述第一用户模块;所述第二用户模块具体用于,随机生成所述第二秘密值xj,并存储于所述第二用户模块;其中k1为私钥第一部分的值,k2,1为私钥第二部分第一位的值,k2,2为私钥第二部分第二位的值;
所述第一用户模块具体用于,生成第一随机数s,以输出所述密钥临时密钥ski′=(k1,(k2,1·s,k2,2)),其中g1[x]为g1的x坐标值,g1为群G1的生成元,G1为阶为p的加法循环群;
所述第一用户模块还用于,将所述给定明文m表示为二进制形式(m[1],…,m[n]),并通过下式输出所述给定明文第l位的编码值ul
其中,n为给定明文m的总位数,l∈[n],0n-l+1为一个长度为n-l+1的字符串,m[i]为给定明文m的第i位,m[:i]为给定明文m的前i位前缀,F(·)为伪随机函数;
所述第一用户模块还用于,基于所述临时密钥通过下式输出所述给定明文的密文ct:
ct=(ct0,ct1,…,ctn) (4)
其中,哈希函数H(k,·)=h(·)kmod p, 为1,2…p-1组成的整数集合,π:[n]→[n]为第一用户随机选择的随机置换函数;
所述第二用户模块还用于,发起查询,通过下式输出第一中间值a并发送至所述第一用户模块:
所述第一用户模块基于所述第一中间值a,输出第二中间值b并发送至所述第二用户模块:
所述第二用户模块基于所述第二中间值b,通过下式获取所述密钥
所述第二用户模块将所述待查询明文qm表示为二进制形式(qm[1],…,qm[n]),通过下式输出所述待查询明文第l位的编码值ul′:
其中,n为待查询明文qm的总位数,l∈[n],qm[i]为待查询明文qm的第i位,qm[:i]为待查询明文qm的前i位前缀;
所述第二用户模块还用于,通过下式输出第三中间值(a1,1,a1,2),…,(an,1,an,2)并发送至所述第一用户模块:
其中,β12,…,βn为第二用户选择的n个随机数;
所述第一用户模块通过下式输出第四中间值(b1,1,b1,2),…,(bn,1,bn,2)并发送至所述第二用户模块:
所述第二用户模块输出第五中间值d并发送至所述第一用户模块:
d=(g1[x])r (13)
其中,r为第二用户模块选择的随机数;
所述第一用户模块通过下式输出第一令牌ti,且输出第六中间值f并发送至所述第二用户模块:
其中,s′为第一用户模块选择的随机数,g2为G2的生成元,G2为阶为p的加法循环群;
所述第二用户模块通过下式输出第七中间值tokl,1、tokl,2
所述第二用户模块令tj,l=(tokπ(l),1,tokπ(l),2),并输出所述第二令牌tj=(tj,1,tj,2,…,tj,n),其中π:[n]→[n]为第二用户模块随机选择的随机置换函数。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中在所述计算机程序运行时控制所述计算机可读存储介质所在的设备执行如权利要求1至2中任一项所述的基于OPRF的多用户顺序揭示加密方法。
CN202310098895.6A 2023-01-31 2023-01-31 一种基于oprf的多用户顺序揭示加密方法及系统 Active CN116074090B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310098895.6A CN116074090B (zh) 2023-01-31 2023-01-31 一种基于oprf的多用户顺序揭示加密方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310098895.6A CN116074090B (zh) 2023-01-31 2023-01-31 一种基于oprf的多用户顺序揭示加密方法及系统

Publications (2)

Publication Number Publication Date
CN116074090A CN116074090A (zh) 2023-05-05
CN116074090B true CN116074090B (zh) 2024-05-03

Family

ID=86181759

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310098895.6A Active CN116074090B (zh) 2023-01-31 2023-01-31 一种基于oprf的多用户顺序揭示加密方法及系统

Country Status (1)

Country Link
CN (1) CN116074090B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708921A (zh) * 2015-11-12 2017-05-24 Sap欧洲公司 对加密数据的多对数范围查询
CN109088721A (zh) * 2018-10-02 2018-12-25 复旦大学 一种可委托揭序加密方法
KR102123435B1 (ko) * 2019-08-19 2020-06-16 세종대학교산학협력단 멀티 클라이언트 환경에서 동치 질의를 지원하는 암호화 방법 및 이를 이용한 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10476662B2 (en) * 2017-04-10 2019-11-12 City University Of Hong Kong Method for operating a distributed key-value store

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708921A (zh) * 2015-11-12 2017-05-24 Sap欧洲公司 对加密数据的多对数范围查询
CN109088721A (zh) * 2018-10-02 2018-12-25 复旦大学 一种可委托揭序加密方法
KR102123435B1 (ko) * 2019-08-19 2020-06-16 세종대학교산학협력단 멀티 클라이언트 환경에서 동치 질의를 지원하는 암호화 방법 및 이를 이용한 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
云环境下基于非线性映射的保序加密方案;郁鹏;潘森杉;张建明;;江苏大学学报(自然科学版);20180125(02);全文 *
云环境下支持隐私保护和用户撤销的属性基加密方案;闫玺玺;叶青;刘宇;;信息网络安全;20170610(06);全文 *

Also Published As

Publication number Publication date
CN116074090A (zh) 2023-05-05

Similar Documents

Publication Publication Date Title
Halevi et al. Public-key cryptography and password protocols
US8688973B2 (en) Securing communications sent by a first user to a second user
Chang et al. A communication-efficient three-party password authenticated key exchange protocol
US20060036857A1 (en) User authentication by linking randomly-generated authentication secret with personalized secret
US20100100724A1 (en) System and method for increasing the security of encrypted secrets and authentication
CA2518032A1 (en) Methods and software program product for mutual authentication in a communications network
US8438393B2 (en) Quadratic residue based password authenticated key exchange method and system
CN110855667B (zh) 一种区块链加密方法、装置及系统
CN115021903A (zh) 一种基于区块链的电子病历共享方法及系统
Kaufman DASS-distributed authentication security service
Chang et al. An efficient multi-server password authenticated key agreement scheme using smart cards with access control
Li et al. Delegatable order-revealing encryption
US9292671B1 (en) Multi-server authentication using personalized proactivization
Wu et al. A new authenticated key agreement scheme based on smart cards providing user anonymity with formal proof
Shen et al. Identity-based authenticated encryption with identity confidentiality
CN117155615A (zh) 数据加密传输方法、系统、电子设备及存储介质
JP2003152716A (ja) 可変認証情報を用いる資格認証方法
CN116074090B (zh) 一种基于oprf的多用户顺序揭示加密方法及系统
Qian et al. Anonymous password‐based key exchange with low resources consumption and better user‐friendliness
Juang et al. Efficient User Authentication and Key Agreement with User Privacy Protection.
Mishra et al. Authenticated content distribution framework for digital rights management systems with smart card revocation
CN116318636A (zh) 一种基于sm2的门限签名方法
JP3746919B2 (ja) 可変認証情報を用いる資格認証方法
Hwang et al. Provably efficient authenticated key agreement protocol for multi-servers
EP1440549B1 (en) Authentication of a remote user to a host in a data communication system

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