CN116680736A - 基于数据混淆的匿踪查询***及方法 - Google Patents
基于数据混淆的匿踪查询***及方法 Download PDFInfo
- Publication number
- CN116680736A CN116680736A CN202310651198.9A CN202310651198A CN116680736A CN 116680736 A CN116680736 A CN 116680736A CN 202310651198 A CN202310651198 A CN 202310651198A CN 116680736 A CN116680736 A CN 116680736A
- Authority
- CN
- China
- Prior art keywords
- query
- key
- data
- confusion
- queried
- 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 47
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 49
- 238000012795 verification Methods 0.000 claims description 20
- 238000013500 data storage Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种基于数据混淆的匿踪查询***及方法,包括:数据加解密模块和数据查询与混淆模块;数据加解密模块,用于根据蒙哥马利曲线加密算法生成查询密钥,并基于查询密钥对待查询ID加密得到查询密文;数据查询与混淆模块,用于生成混淆ID,并基于混淆ID和待查询ID进行数据查询得到匹配ID;数据加解密模块,还用于基于查询密文和查询密钥生成匹配ID对应的查询结果密文,并对查询结果密文进行解密得到待查询ID对应的查询结果。本发明提高了匿踪查询效率。
Description
技术领域
本发明涉及数据查询技术领域,尤其是涉及一种基于数据混淆的匿踪查询***及方法。
背景技术
在诸如金融机构等对某些敏感性信息的匿踪查询服务中,需要保证金融机构想要查询的用户ID不能被他人察觉,同时还需要保证查询结果不能暴露任何额外的隐私信息。目前,基于数据混淆的匿踪查询需要使用不经意传输协议,不经意传输协议通常需要基于不对称加密算法实现,查询效率较低。
发明内容
有鉴于此,本发明的目的在于提供一种基于数据混淆的匿踪查询***及方法,以提高了匿踪查询效率。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种基于数据混淆的匿踪查询***,包括:数据加解密模块和数据查询与混淆模块;数据加解密模块,用于根据蒙哥马利曲线加密算法生成查询密钥,并基于查询密钥对待查询ID加密得到查询密文;数据查询与混淆模块,用于生成混淆ID,并基于混淆ID和待查询ID进行数据查询得到匹配ID;数据加解密模块,还用于基于查询密文和查询密钥生成匹配ID对应的查询结果密文,并对查询结果密文进行解密得到待查询ID对应的查询结果。
在一种实施方式中,查询密钥包括:第一私钥、第一公钥和第二公钥;数据加解密模块包括:第一加密单元;其中,第一加密单元,用于采用椭圆曲线加密算法生成待查询ID的第一私钥,并基于第一私钥生成在蒙哥马利曲线上的第一公钥和在扭曲线上的第二公钥。
在一种实施方式中,第一加密单元,还用于生成随机字符串,并基于随机字符串将待查询ID编码到蒙哥马利曲线的二次扩域上得到第一编码结果,以及基于第一编码结果和第一私钥计算待查询ID的密文得到查询密文集合;其中,编码过程包括:基于待查询ID的ID字符串确定待查询ID的验证信息;将验证信息转换为第一字节码,以及将随机字符串转换成第二字节码;基于第一字节码和第二字节码生成目标整数,并基于预设模p将目标整数转换为蒙哥马利曲线在预设的有限素数域上的目标点;基于目标点确定蒙哥马利曲线的二次扩域上的合法公钥点,并将待查询ID编码到蒙哥马利曲线的二次扩域上的合法公钥点,得到第一编码结果。
在一种实施方式中,数据查询与混淆模块包括:混淆单元、数据储存单元和查询单元;混淆单元,用于生成多个混淆ID,并确定混淆ID和待查询ID的数据库检索索引集合;查询单元,用于基于数据库检索索引集合在数据储存单元进行数据查询,得到多个匹配ID,并计算匹配ID的查询结果索引集合。
在一种实施方式中,查询密钥包括:第二私钥、共享密钥和对称加密密钥;数据加解密模块还包括:第二加密单元;第二加密单元,用于判断第一公钥、第二公钥和查询密文集合是否为合法公钥点;如果是,则对每个匹配ID进行编码得到第二编码结果,并基于第二编码结果生成第二私钥、第一参数和共享密钥,以及基于共享密钥生成每个匹配ID的对称加密密钥,并基于对称加密密钥对匹配ID进行加密,得到查询结果密文。
在一种实施方式中,第二加密单元,还用于基于第二编码结果判断蒙哥马利曲线的y值是否为预设模p的二次剩余;如果蒙哥马利曲线的y值是预设模p的二次剩余,则基于第二私钥和第一公钥计算第一参数和共享密钥;如果蒙哥马利曲线的y值不是预设模p的二次剩余,则基于第二私钥和第二公钥计算第一参数和共享密钥。
在一种实施方式中,查询密钥包括:第三私钥,第二加密单元,还用于生成第三私钥,并基于第三私钥和第二编码结果计算每个匹配ID的第二参数,以及基于第一参数和第二参数计算得到第三参数,以及基于第三私钥和查询密文集合计算得到第四参数。
在一种实施方式中,数据查询与混淆模块还包括:验证单元,用于计算待查询ID的查询结果索引,并在匹配ID的查询结果索引集合中查找待查询ID的查询结果索引对应的目标索引,以及基于目标索引确定对应的目标查询结果密文和第三参数。
在一种实施方式中,数据加解密模块还包括:第一解密单元,用于基于目标索引对应的第三参数和第四参数计算解密密钥,并基于解密密钥对目标查询结果密文进行解密,得到查询结果。
第二方面,本发明实施例提供了一种基于数据混淆的匿踪查询方法,该方法应用于上述第一方面提供的任一项的基于数据混淆的匿踪查询***,包括:通过数据加解密模块根据蒙哥马利曲线加密算法生成查询密钥,并基于查询密钥对待查询ID加密得到查询密文;通过数据查询与混淆模块生成混淆ID,并基于混淆ID和待查询ID进行数据查询得到匹配ID;通过数据加解密模块基于查询密文和查询密钥生成匹配ID对应的查询结果密文,并对查询结果密文进行解密得到待查询ID对应的查询结果。
第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述第一方面提供的任一项的方法的步骤。
本发明实施例带来了以下有益效果:
本发明实施例提供的上述基于数据混淆的匿踪查询***及方法,包括:数据加解密模块和数据查询与混淆模块;数据加解密模块,用于根据蒙哥马利曲线加密算法生成查询密钥,并基于查询密钥对待查询ID加密得到查询密文;数据查询与混淆模块,用于生成混淆ID,并基于混淆ID和待查询ID进行数据查询得到匹配ID;数据加解密模块,还用于基于查询密文和查询密钥生成匹配ID对应的查询结果密文,并对查询结果密文进行解密得到待查询ID对应的查询结果。上述***在匿踪查询服务中,采用蒙哥马利曲线加密算法进行加密计算,并通过数据混淆进行数据查询,能够在保证数据查询安全性的同时,提高查询效率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于数据混淆的匿踪查询***的结构示意图;
图2为本发明实施例提供的另一种基于数据混淆的匿踪查询***的结构示意图;
图3为本发明实施例提供的一种基于数据混淆的匿踪查询***的各单元示意图;
图4为本发明实施例提供的一种基于数据混淆的匿踪查询***的任务流程图;
图5为本发明实施例提供的一种基于数据混淆的匿踪查询方法流程图;
图6为本发明实施例提供的一种电子设备的结构示意图。
图标:
10-数据加解密模块;20-据查询与混淆模块;101-第一加密单元;102-第一解密单元;103-第二加密单元;201-混淆单元;202-数据储存单元;203-查询单元;204-验证单元。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于本领域技术人员更好地理解本申请,下面先对本发明涉及的技术用语进行简单介绍。
1、匿踪查询(Private Information Retrieval,PIR)是一种隐私保护技术,旨在实现用户在***露查询信息的同时,从数据库中获取特定信息的能力。匿踪查询技术常用于医疗、金融和电子商务等领域,在保护个人隐私的同时,为用户提供了方便和安全的检索服务。例如在金融领域,银行等金融机构可以使用匿踪查询技术,在保护客户隐私的同时有效地识别欺诈行为。匿踪查询的实现涉及了多层加密、哈希函数和随机化等多种技术,以确保查询结果的完整性和查询过程中隐私数据的安全性。
2、不经意传输(Oblivious Transfer,OT)是一种密码学协议,旨在实现双方安全通信。在不经意传输协议中,发送者向接收者发送一些信息,但发送者不知道接收者需要哪些信息,同时接收者也无法确定发送者拥有哪些信息。因此,不经意传输协议可以保证发送的信息对于接收者是私密的,同时发送者不能获得接收者不想要他们获得的信息。这种协议常用于数字签名、哈希函数和加密等领域,以保护数据传输和交换过程中的隐私和机密性。根据信息的发送和接收数量不同,不经意传输协议可分为2选1、n选1和n选k等多种协议。通过不经意传输协议,可实现基于数据混淆的匿踪查询服务。
3、前后向安全性一般分别称之为前向安全性(Forward Security,FS)和后向安全性(Backward Security,BS)。前向安全性指当前密钥被攻击者获取后,仍然能够保护历史的通信内容不被破解;后向安全性是指当前密钥被攻击者获取后,仍然能够保护未来的通信内容不被破解或篡改。前后向安全是加密协议或安全通信机制的一个重要特性,实现了前后向安全性的匿踪查询***,即使某次查询使用的密钥被攻击者截获,攻击者也无法解密之前和之后通信的任何信息。
4、蒙哥马利曲线(Montgomery curve)是一种椭圆曲线加密算法中常用的一种曲线类型,被广泛应用于实现数字签名、密钥协商和加密等安全通信机制。基于蒙哥马利曲线的加密算法具有以下两大特点:①实施椭圆曲线标量乘法计算时,一般的椭圆曲线加密算法需要同时使用曲线的x坐标和y坐标参与计算,而蒙哥马利曲线可使用仅基于x坐标的蒙哥马利阶梯算法(Montgomery's Ladder Algorithm);②为了防范针对椭圆加密算法的攻击,一般的椭圆曲线加密算法在加密前需要对收到的公钥实施合法性校验,而基于蒙哥马利曲线设计的加密算法在许多应用场景中可省去校验公钥的步骤。因此,基于蒙哥马利曲线设计的加密算法具有计算速度快、存储空间小、易于实现硬件加速等特点。
在介绍了本发明涉及的技术用语后,接下来,对本申请实施例的应用场景和设计思想进行简单介绍。
目前,基于数据混淆的匿踪查询需要使用不经意传输协议,不经意传输协议通常需要基于不对称加密算法实现,查询效率较低。基于此,本发明实施例提供的一种基于数据混淆的匿踪查询***及方法,以提高了匿踪查询效率。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种基于数据混淆的匿踪查询***进行详细介绍。参见图1所示的一种基于数据混淆的匿踪查询***的结构示意图,该***主要包括:数据加解密模块10和数据查询与混淆模块20;数据加解密模块10,用于根据蒙哥马利曲线加密算法生成查询密钥,并基于查询密钥对待查询ID加密得到查询密文;数据查询与混淆模块20,用于生成混淆ID,并基于混淆ID和待查询ID进行数据查询得到匹配ID;数据加解密模块10,还用于基于查询密文和查询密钥生成匹配ID对应的查询结果密文,并对查询结果密文进行解密得到待查询ID对应的查询结果。
本发明实施例提供的上述基于数据混淆的匿踪查询***,在匿踪查询服务中,采用蒙哥马利曲线加密算法进行加密计算,并通过数据混淆进行数据查询,能够在保证数据查询安全性的同时,提高查询效率。
在一种实施方式中,参见图2所示,数据加解密模块10包括:第一加密单元101、第一解密单元102和第二加密单元103;数据查询与混淆模块20包括:混淆单元201、数据储存单元202、查询单元203和验证单元204。
在具体实施时,参见图3所示,本发明实施例提供的上述***可以分为客户端和服务端部署,其中,客户端以SDK(软件开发工具包)形式部署;服务端部署于数据输出服务方的服务器中,通过API(应用程序接口)接受客户端的查询请求。
客户端包括:第一加密单元101、混淆单元201、验证单元204和第一解密单元102。其中,第一加密单元101用于即时生成本次查询使用的查询密钥,并基于待查询ID生成本次查询的查询密文;混淆单元201用于生成若干与待查询ID不同的混淆ID;验证单元204与第一解密单元102连接,用于验证服务端返回的数据中是否包含待查询ID的加密数据;第一解密单元102与验证单元204连接,用于解密返回结果中待查询ID对应的加密数据。
服务端包括:第二加密单元103、数据储存单元202和查询单元203。其中,数据储存单元202与查询单元203相连接,用于储存待查询的数据;查询单元203与数据储存单元202和第二加密单元103相连接,用于在数据库中匹配满足预设查询条件的ID;第二加密单元103与查询单元203相连接,用于即时生成本次查询使用的查询密钥,并基于查询密文生成对应的查询结果密文。
下面参见图4所示,结合具体的查询过程,对各个单元的功能进行介绍。
在一种实施方式中,查询密钥包括:第一私钥、第一公钥和第二公钥;第一加密单元101用于:
(1)采用椭圆曲线加密算法生成待查询ID的第一私钥,并基于第一私钥生成在蒙哥马利曲线上的第一公钥和在扭曲线上的第二公钥。
在具体实施时,生成椭圆曲线加密算法(Elliptic Curve Cryptography,ECC)第一私钥sB,第一私钥需要保证该私钥在蒙哥马利曲线y2=x3+Ax2+x及扭曲线By2=x3+Ax2+x上均具备足够强度的安全性。本发明实施例中采用的蒙哥马利曲线可以是Curve25519,该曲线参数为A=486662,扭曲因子B=2。第一私钥允许的取值空间为:{s:s∈2254+8*{0,1,…,2251-1}}。
基于第一密钥sB,分别计算在蒙哥马利曲线上的第一公钥KB=sBG,以及扭曲线上的第二公钥K'B=sBG'。本发明实施例中,可以选取曲线Curve25519的基点G的横坐标为x=9,扭曲线的基点G'的横坐标为x=2。
(2)生成随机字符串,并基于随机字符串将待查询ID编码到蒙哥马利曲线的二次扩域上得到第一编码结果。
在具体实施时,生成一个随机字符串R,并基于该随机字符串R将待查询ID分别通过编码函数f编码到蒙哥马利曲线的二次扩域上,得到第一编码结果x={x1,x2,…,xk},其中,xi=f(IDi,R),IDi为第i个待查询ID的验证信息。
具体的编码过程包括:
(i)基于待查询ID的ID字符串确定待查询ID的验证信息。
具体的,基于待查询ID的ID字符串构造待查询ID的验证信息,其中,待查询ID的验证信息可以包括但不限于以下数据之一:
a:用户ID字符串;
b:用户ID的杂凑值,可以包括但不限于用户ID的SHA-256;
c:其他验证信息,通过一个单射函数产生,函数的自变量为用户ID字符串。
(ii)将验证信息转换为第一字节码,以及将随机字符串转换成第二字节码。
具体的,将待查询ID的验证信息转换为第一字节码bID,并将随机字符串R转换为第二字节码bR。
(iii)基于第一字节码和第二字节码生成目标整数,并基于预设模p将目标整数转换为蒙哥马利曲线在预设的有限素数域上的目标点。
具体的,基于第一字节码和第二字节码生成目标整数z=g(bID∥bR),其中,g为生成函数,符号“∥”表示字节码的拼接。本发明实施例中的生成函数g为:直接将字节码按大端法转换为整数z。
在生成目标整数z之后,计算x′=z mod p,将z转换为蒙哥马利曲线定义在有限素数域Fp上的目标点x′。对于本发明实施例中采用的曲线Curve25519,预设模p的取值可以是p=2255-19。
(iv)基于目标点确定蒙哥马利曲线的二次扩域上的合法公钥点,并将待查询ID编码到蒙哥马利曲线的二次扩域上的合法公钥点,得到第一编码结果。
具体的,令i=0,1,2,...,依次判断x=x′+i是否为蒙哥马利曲线的二次扩域上的合法的公钥点,即判断x=x′+i是否在蒙哥马利曲线的二次扩域上的取值空间内,并将待查询ID编码到第一个找到的合法公钥点。本发明实施例中采用的曲线Curve25519,其二次扩域上的合法公钥点的取值空间为:
(3)基于第一编码结果和第一私钥计算待查询ID的密文得到查询密文集合。
在具体实施时,对于每个待查询ID的编码结果xi,计算查询密文Ei=sBxi,对于k个待查询ID的编码结果得到查询密文集合E={E1,E2,…,Ek}。
混淆单元201,用于生成多个混淆ID,并确定混淆ID和待查询ID的数据库检索索引集合。
在具体实施时,在混淆单元201进行以下操作:
(1)随机生成n-k个混淆ID,且每个混淆ID与k个待查询ID均不相同。
(2)生成n个ID(包括n-k个混淆ID和k个待查询ID)的数据库检索索引集合H={H1,H2,…,Hn},其中,Hi表示第i个ID的数据库检索索引,数据库检索索引可以是一下数据之一:
i:用户ID字符串;
ii:用户ID的杂凑值,可以是但不限于是用户ID的SHA-256;
iii:用户ID的杂凑值的前m位,可以是但不限于是用户ID的SHA-256值的前8位;
iv:其他能够用于从数据库中检索出用户ID数据的索引信息。
在第一加密单元101和混淆单元201完成上述操作后,客户端可以通过HTTPS传输协议向服务端发送查询请求,请求参数包括:第一公钥KB、第二公钥K'B、查询密文集合E、随机字符串R和数据库检索索引集合H。
进一步,查询单元203用于:基于数据库检索索引集合在数据储存单元进行数据查询,得到多个匹配ID,并计算匹配ID的查询结果索引集合。
在具体实施时,可以在查询单元203进行以下操作:
(1)根据接收到的数据库检索索引集合H,向数据储存单元202发送查询指令,获取数据储存单元202的查询结果,即n′个符合查询条件的匹配ID。
(2)对于每个匹配ID采用算法h,生成查询结果索引集合H′={H′1,H′2,…,H′n′},H′i表示第i个匹配ID的查询结果索引,查询结果索引可以是以下数据之一:
i:用户ID本身;
ii:用户ID的杂凑值,可以是但不限于是用户ID的SHA-256;
iii:用户ID的杂凑值的前m位,可以是但不限于是用户ID的SHA-256值的前8位;
iv:用户ID的加盐杂凑值,其中盐值为随机字符串R',可以是但不限于是用户ID的加盐SHA-256;
v:用户ID的加盐杂凑值的前m位,其中盐值为随机字符串R',可以是但不限于是用户ID的加盐SHA-256的前8位;
vi:其他可用于验证查询结果数据是否为指定用户ID数据的查询结果索引。
第二加密单元103用于:(1)判断第一公钥、第二公钥和查询密文集合是否为合法公钥点;如果是,则对每个匹配ID进行编码得到第二编码结果,并基于第二编码结果生成第二私钥、第一参数和共享密钥;具体的,基于第二编码结果判断蒙哥马利曲线的y值是否为预设模p的二次剩余;如果蒙哥马利曲线的y值是预设模p的二次剩余,则基于第二私钥和第一公钥计算第一参数和共享密钥;如果蒙哥马利曲线的y值不是预设模p的二次剩余,则基于第二私钥和第二公钥计算第一参数和共享密钥。
在具体实施时,判断接收到的第一公钥KB、第二公钥K'B、查询密文集合E是否都是合法公钥点(即基于前述合法公钥点的取值空间进行判断),若存在非法公钥点,则抛出异常点,查询结束。
如果第一公钥KB、第二公钥K'B、查询密文集合E都是合法公钥点,对于每个匹配ID,将其通过编码函数f编码到蒙哥马利曲线的二次扩域上,第i个匹配ID的第二编码结果记为x′i=f(ID′i,R),并计算蒙哥马利曲线是否为模p的二次剩余。
进一步,对于每个匹配ID随机生成一个椭圆曲线加密算法第二私钥并计算第一参数Pi和共享密钥Si。其中,如果y′i为模p的二次剩余,则/>否则,/>
(2)基于共享密钥生成每个匹配ID的对称加密密钥,并基于对称加密密钥对匹配ID进行加密,得到查询结果密文。
在具体实施时,对于每个匹配ID,基于共享密钥Si生成对称加密密钥,并基于该对称加密密钥加密对应的匹配ID对应的查询数据结果,得到密文Mi,并得到查询结果密文M={M1,M2,…,Mn′}。本发明实施例中对共享密钥Si可以采用Salsa20算法以获得对称加密密钥,使用的对称加密算法可以是Xsalsa20Poly1305。
(3)生成第三私钥,并基于第三私钥和第二编码结果计算每个匹配ID的第二参数,以及基于第一参数和第二参数计算得到第三参数,以及基于第三私钥和查询密文集合计算得到第四参数。
在具体实施时,首先,随机生成一个椭圆曲线加密算法第三私钥sC,对于每个匹配ID的第二编码结果x′i,计算其第二参数Qi=sCx′i;然后,基于第一参数Pi和第二参数Qi,计算得到第三参数Ci=Pi+Qi或者Ci=Pi-Qi,并令C={C1,C2,…,Cn′}。由于蒙哥马利阶梯算法仅依赖于横坐标进行运算,而椭圆曲线上的点P当只给定横坐标x时,可能对应点P(x,y),也可能对应点P(x,-y)。因此,通过横坐标xp和xq仅能计算出集合{xp+q,xp-q},该集合有两个元素,无法准确确定哪个元素对应xp+q,哪个元素对应xp-q,本发明实施例中的Ci的计算相当于从集合{Pi+Qi,Pi-Qi}中任取一个元素,可能等于Pi+Qi,也可能等于Pi-Qi。最后,计算第四参数Di=sCEi,得到D={D1,D2,…,Dk}。
在第二加密单元将查询结果数据进行加密后,服务端可以将第二加密单元加密后的数据,以HTTPS传输协议返回给客户端,返回的内容包括:查询结果索引集合H′、查询结果密文M、第三参数集合C和第四参数集合D,以及验证查询结果操作所必需的数据,如随机字符串R'。其中,H′、M和C可以以字典格式数据传输:T={H′1:(M1,C1),H′2:(M2,C2),…,H′n′:(Mn′,Cn′)},即在字典中每个匹配ID的查询结果索引与该匹配ID的查询结果密文相匹配。
客户端接收到服务端的返回数据后,验证单元204用于计算待查询ID的查询结果索引,并在匹配ID的查询结果索引集合中查找待查询ID的查询结果索引对应的目标索引,以及基于目标索引确定对应的目标查询结果密文和第三参数。
在具体实施时,在验证单元204对k个待查询ID依次进行以下验证查询结果的操作:
(1)使用算法h,计算第i个待查询ID的查询结果索引H″i。
(2)在T中查找是否存在H′j=H″i,其中,1≤j≤n′。如果存在H′j(即目标索引,表明返回结果中存在与待查询ID相同的查询结果索引),则获取第i个待查询ID对应的查询结果密文(Mj,Cj)(即目标索引确定对应的目标查询结果密文和第三参数);如果不存在H′j,则表明服务端的数据库中未查得第i个待查询ID对应的数据。
进一步,第一解密单元102用于基于目标索引对应的第三参数和第四参数计算解密密钥,并基于解密密钥对目标查询结果密文进行解密,得到查询结果。
在具体实施时,在第一解密单元102对所查到的ID,依次进行以下操作:
(1)对于第i个待查询ID,计算Uj=sBCj,以及计算解密密钥Vj={Uj+Di,Uj-Di}。
(2)将解密密钥Vj中的两个元素依次作为共享密钥Sj,使其生成对称加密密钥,并解密密文Mj,则解密密钥Vj中必有一个元素可以解密Mj,得到该待查询ID对应的查询数据结果。本发明实施例中采用的对称加密算法可以是Xsalsa20Poly1305。
解密密钥Vj中必有一个元素可以解密Mj的理由是:Uj=sBCj=sBPj+sBscxj或者Uj=sBCj=sBPj-sBscxj,Di=scEi=sBscxi,由于查询结果密文(Mj,Cj)与第i个待查询ID对应,所以xi=xj,Di=sBscxj,所以Vj={Uj+Di,Uj-Di}中必有一个元素等于sBPj;又根据Pj和sj的计算过程可以确定,sj=sBPj,所以Vj中必有一个元素为共享密钥Sj,因此可以解密Mj。
本发明实施例提供的上述基于数据混淆的匿踪查询***,主要具有以下技术效果:
第一,高效性。
(1)本发明实施例使用蒙哥马利阶梯算法实施椭圆曲线加密计算,具有简单、快速、安全、恒定时间等优势。
(2)本发明实施例将蒙哥马利曲线二次扩域上的点引入椭圆曲线的编码函数,大大简化了用户ID编码算法,并保证尝试1次便可编码成功,而一般形式的椭圆曲线,任取一点,只有一半的概率可以编码到椭圆曲线上,编码算法较为复杂和低效。
第二,泛用性。
(1)本发明实施例提供的上述***是基于数据混淆方法,无需提前加密数据库,即可实现匿踪查询,具有广泛的适用性。
(2)本发明实施例支持数据库中多种保存ID数据的查询方式。例如,允许数据库仅保存ID的杂凑值,而不保存ID本身,只需双方约定编码函数f将ID的杂凑值编码到椭圆曲线上即可。
第三,安全性。
(1)蒙哥马利曲线的安全性。蒙哥马利阶梯算法本身即为恒定时间实现,只需选取合适的曲线参数,可以曲线加密算法在其二次扩域上可对抗小子群攻击、无效曲线攻击、时序攻击等多种攻击方式。目前Curve25519等蒙哥马利曲线被广泛应用于OpenSSL等安全通信软件中。在本发明提出的匿踪查询***中,排除了可能具有侧信道攻击(side channelattack,SCA)风险的低阶公钥点,进一步增强了曲线的安全性。
(2)匿踪查询协议的安全性:协议保护查询方的隐私。首先,由于椭圆曲线离散对数问题(Elliptic Curve Discrete Logarithm Problem,ECDLP),数据服务方和第三方从KB=sBG或K′B=sBG′计算出sB是困难的,因此难以利用Ei=sBxi计算出xi,所以用户的查询隐私得到保护。其次,本发明中,可以根据ID的数据分布设计合理的编码函数f,使得将ID编码为xi的期望尝试次数为1,且为恒定时间实现,因此他方无法使用时序攻击缩小目标ID的可能范围;且将ID编码为xi时使用到了随机字符串R,使得他方也无法通过计算的二次剩余性质来缩小目标ID的可能范围。再次,本发明实施例支持查询方发送ID杂凑值的前m位作为查询索引,使真伪ID在数据库中的查得分布更为接近,防止数据持有方根据查得情况估计查询方的目标ID。因此,查询方加密查询目标ID的过程是安全的。
协议保护数据输出服务方隐私。数据服务输出方返回给查询方的数据中,Ci=Pi±Qi=Pi±sCxi,Di=sCEi=sCsBxi。取Gi=sBxi为椭圆曲线公钥加密算法的基点,并令则有/>Di=sCGi。可见Ci、Di满足椭圆曲线公钥加密算法的形式,其加密了Pi。因此,第三方在没有私钥sB时,试图通过Ci,Di求出Pi是困难的,也就无法进一步求出共享密钥Si来解密密文Mi。同时,当j≠i时,xj≠xi,对于Uj±Di=Sj±sBsCxj±sCsBxi,无论等式右边的正负号如何选取,都无法消去后两项得到共享密钥Sj。所以查询方仅能获取自己想要查询的目标ID数据,无法获得数据服务输出方的其他用户数据。
协议具备前后向安全性。协议中的所有私钥sB、sC,均为协议执行过程中即时生成,且仅在当次协议执行过程中使用,下一次执行协议时使用全新的私钥。这防止了因为私钥泄露而导致历史查询加密数据被解密,同样也避免了未来因为重复使用同一组密钥而造成加密数据被破译的风险。所以,本发明提供的匿踪查询协议具备良好的前后向安全性。
为了便于理解,本发明实施例还提供了基于上述基于数据混淆的匿踪查询***进行数据查询的具体示例,其中,供方为数据交换双方中输出数据的一方,使用服务端;需求方为数据交换双方中获得数据的一方,使用客户端。用户标识ID可以是身份证号、手机号等用来唯一标识用户的值。场景假设为需求方通过指定用户的11位手机号,向供方查询该用户的个人征信报告。查询过程主要包括以下步骤:
1、供方计算数据库中所有手机号的SHA-256,并将计算的SHA-256值前8位设为对应手机号的索引。
2、需方想要查询手机号为12388888888的用户个人征信报告。需方取当前时间戳t=1680142401543,与手机号合并为字符串“123888888881680142401543”,将此字符串转换为字节码后,按大端法转换为整数得0x313233383838383838383831363830313432343031353433。该值在Curve25519曲线的二次扩域上的合法公钥值的取值空间内。故本次查询中,手机号12388888888在椭圆曲线二次扩域上的编码为x=0x313233383838383838383831363830313432343031353433。
3、需方随机一个生成X25519算法的私钥sB,然后计算公钥KB=sBG和K′B=sBG′,并根据私钥计算密文E=sBx。
4、需方随机生成若干个(假设生成9个)假的手机号,加上待查询手机号,对这10个手机号计算SHA-256,并去掉计算结果的末尾若干位(假设仅保留前8位)。
5、需方将10个只有前8位的手机号SHA-256,以及公钥KB、K′B、密文E及时间戳t通过HTTPS传输协议发送给供方。
6、供方收到需方查询请求,首先检查公钥KB、K′B、密文E是否均为合法公钥点,若存在非法公钥点,则停止查询,否则继续后续的步骤。
7、供方生成一个本次查询的随机字符串UUID,并在数据库中查询SHA-256前8位与需方发来的10个SHA-256前8位中任意一个匹配的用户,假设共查到30个用户及对应的个人征信报告。
8、供方对于查到的每一个手机号,计算(手机号字符串+UUID)的SHA-256,结果命名为H′i。
9、供方使用需方提供的时间戳t,采用同样的编码方式,将查到的每一个手机号依次编码到椭圆曲线的二次扩域上,并基于编码xi计算是否为模p的二次剩余。这里以目标手机号12388888888为例,其编码:xi=0x313233383838383838383831363830313432343031353433,Curve25519的曲线参数为:A=486662,p=2255-19,计算得到:
该值为模p的非二次剩余。
10、供方对每一个手机号都随机生成一个X25519算法的私钥计算Pi和共享密钥Si。以目标手机号12388888888为例,其yi值为模p的非二次剩余,所以
11、供方对每一个手机号的对应的个人征信报告数据,基于Si应用Salsa20算法生成对称加密密钥,采用Xsalsa20Poly1305对称加密算法加密数据,获得密文Mi。
12、供方随机生成一个X25519算法的私钥sC,对每一个手机号,利用其在椭圆曲线上的编码xi,计算Qi=scxi,并进一步计算Ci=Pi+Qi或Ci=Pi-Qi。
13、供方基于私钥sC,计算D=sCE。
14、供方将UUID、D和查得的30个手机号的加密数据T={H′1:(M1,C1),H′2:(M2,C2),…,H′30:(M30,C30)}通过HTTPS传输协议发送给需方。
15、需方计算待查询手机号+UUID的SHA-256,然后在T中查询是否有H′i与该值相等。若存在此H′i,则获取对应的用户加密个人征信报告(Mi,Ci);若不存在此H′i,表明未查到指定手机号的用户加密个人征信报告数据,查询结束。
16、需方按以下步骤解密用户的个人征信报告数据,完成查询:
①计算Ui=sBCi;
②计算Vi={Ui+Di,Ui-Di};
③将Vi中的两个元素,依次应用Salsa20算法生成对称加密密钥,尝试采用Xsalsa20Poly1305算法解密密文Mi。最多尝试两次即可解密Mi,得到该用户的个人征信报告数据。
对于前述基于数据混淆的匿踪查询***,本发明实施例提供了一种基于数据混淆的匿踪查询方法,参见图5所示的一种基于数据混淆的匿踪查询方法流程图,示意出该方法主要包括以下步骤S501至步骤S503:
步骤S501:通过数据加解密模块根据蒙哥马利曲线加密算法生成查询密钥,并基于查询密钥对待查询ID加密得到查询密文。
步骤S502:通过数据查询与混淆模块生成混淆ID,并基于混淆ID和待查询ID进行数据查询得到匹配ID。
步骤S503:通过数据加解密模块基于查询密文和查询密钥生成匹配ID对应的查询结果密文,并对查询结果密文进行解密得到待查询ID对应的查询结果。
本发明实施例提供的上述基于数据混淆的匿踪查询方法,在匿踪查询服务中,采用蒙哥马利曲线加密算法进行加密计算,并通过数据混淆进行数据查询,能够在保证数据查询安全性的同时,提高查询效率。
在一种实施方式中,上述步骤S501包括:采用椭圆曲线加密算法生成待查询ID的第一私钥,并基于第一私钥生成在蒙哥马利曲线上的第一公钥和在扭曲线上的第二公钥;生成随机字符串,并基于随机字符串将待查询ID编码到蒙哥马利曲线的二次扩域上得到第一编码结果,以及基于第一编码结果和第一私钥计算待查询ID的密文得到查询密文集合;其中,编码过程包括:基于待查询ID的ID字符串确定待查询ID的验证信息;将验证信息转换为第一字节码,以及将随机字符串转换成第二字节码;基于第一字节码和第二字节码生成目标整数,并基于预设模p将目标整数转换为蒙哥马利曲线在预设的有限素数域上的目标点;基于目标点确定蒙哥马利曲线的二次扩域上的合法公钥点,并将待查询ID编码到蒙哥马利曲线的二次扩域上的合法公钥点,得到第一编码结果。
在一种实施方式中,上述步骤S502包括:生成多个混淆ID,并确定混淆ID和待查询ID的数据库检索索引集合;基于数据库检索索引集合在数据储存单元进行数据查询,得到多个匹配ID,并计算匹配ID的查询结果索引集合。
在一种实施方式中,上述步骤S503包括:判断第一公钥、第二公钥和查询密文集合是否为合法公钥点;如果是,则对每个匹配ID进行编码得到第二编码结果,并基于第二编码结果生成第二私钥、第一参数和共享密钥,以及基于共享密钥生成每个匹配ID的对称加密密钥,并基于对称加密密钥对匹配ID进行加密,得到查询结果密文。
在一种实施方式中,上述步骤S503还包括:基于第二编码结果判断蒙哥马利曲线的y值是否为预设模p的二次剩余;如果蒙哥马利曲线的y值是预设模p的二次剩余,则基于第二私钥和第一公钥计算第一参数和共享密钥;如果蒙哥马利曲线的y值不是预设模p的二次剩余,则基于第二私钥和第二公钥计算第一参数和共享密钥。
在一种实施方式中,上述步骤S503还包括:生成第三私钥,并基于第三私钥和第二编码结果计算每个匹配ID的第二参数,以及基于第一参数和第二参数计算得到第三参数,以及基于第三私钥和查询密文集合计算得到第四参数。
在一种实施方式中,上述步骤S503还包括:计算待查询ID的查询结果索引,并在匹配ID的查询结果索引集合中查找待查询ID的查询结果索引对应的目标索引,以及基于目标索引确定对应的目标查询结果密文和第三参数。
在一种实施方式中,上述步骤S503还包括:基于目标索引对应的第三参数和第四参数计算解密密钥,并基于解密密钥对目标查询结果密文进行解密,得到查询结果。
本发明实施例所提供的方法,其实现原理及产生的技术效果和前述***实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述***实施例中相应内容。
需要说明的是,本发明实施中提供的具体数值,仅为是示例性的,在此不做限定。
本发明实施例还提供了一种电子设备,具体的,该电子设备包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行如上实施方式的任一项所述的方法。
图6为本发明实施例提供的一种电子设备的结构示意图,该电子设备100包括:处理器60,存储器61,总线62和通信接口63,所述处理器60、通信接口63和存储器61通过总线62连接;处理器60用于执行存储器61中存储的可执行模块,例如计算机程序。
其中,存储器61可能包含高速随机存取存储器(RAM,Random Acc ess Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口63(可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线62可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器61用于存储程序,所述处理器60在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器60中,或者由处理器60实现。
处理器60可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器60中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器60可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器61,处理器60读取存储器61中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见前述方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种基于数据混淆的匿踪查询***,其特征在于,包括:数据加解密模块和数据查询与混淆模块;
所述数据加解密模块,用于根据蒙哥马利曲线加密算法生成查询密钥,并基于所述查询密钥对待查询ID加密得到查询密文;
所述数据查询与混淆模块,用于生成混淆ID,并基于所述混淆ID和所述待查询ID进行数据查询得到匹配ID;
所述数据加解密模块,还用于基于所述查询密文和所述查询密钥生成所述匹配ID对应的查询结果密文,并对所述查询结果密文进行解密得到所述待查询ID对应的查询结果。
2.根据权利要求1所述的***,其特征在于,所述查询密钥包括:第一私钥、第一公钥和第二公钥;所述数据加解密模块包括:第一加密单元;
其中,所述第一加密单元,用于采用椭圆曲线加密算法生成所述待查询ID的第一私钥,并基于所述第一私钥生成在蒙哥马利曲线上的第一公钥和在扭曲线上的第二公钥。
3.根据权利要求2所述的***,其特征在于,所述第一加密单元,还用于生成随机字符串,并基于所述随机字符串将所述待查询ID编码到所述蒙哥马利曲线的二次扩域上得到第一编码结果,以及基于所述第一编码结果和所述第一私钥计算所述待查询ID的密文得到查询密文集合;
其中,编码过程包括:基于所述待查询ID的ID字符串确定所述待查询ID的验证信息;
将所述验证信息转换为第一字节码,以及将所述随机字符串转换成第二字节码;
基于所述第一字节码和所述第二字节码生成目标整数,并基于预设模p将所述目标整数转换为所述蒙哥马利曲线在预设的有限素数域上的目标点;
基于所述目标点确定所述蒙哥马利曲线的二次扩域上的合法公钥点,并将所述待查询ID编码到所述蒙哥马利曲线的二次扩域上的合法公钥点,得到第一编码结果。
4.根据权利要求3所述的***,其特征在于,所述数据查询与混淆模块包括:混淆单元、数据储存单元和查询单元;
所述混淆单元,用于生成多个混淆ID,并确定所述混淆ID和所述待查询ID的数据库检索索引集合;
所述查询单元,用于基于所述数据库检索索引集合在所述数据储存单元进行数据查询,得到多个匹配ID,并计算所述匹配ID的查询结果索引集合。
5.根据权利要求4所述的***,其特征在于,所述查询密钥包括:第二私钥、共享密钥和对称加密密钥;所述数据加解密模块还包括:第二加密单元;
所述第二加密单元,用于判断所述第一公钥、所述第二公钥和所述查询密文集合是否为合法公钥点;如果是,对每个所述匹配ID进行编码得到第二编码结果,并基于所述第二编码结果生成第二私钥、第一参数和共享密钥,以及基于所述共享密钥生成每个所述匹配ID的对称加密密钥,并基于所述对称加密密钥对所述匹配ID进行加密,得到查询结果密文。
6.根据权利要求5所述的***,其特征在于,所述第二加密单元,还用于基于所述第二编码结果判断所述蒙哥马利曲线的y值是否为预设模p的二次剩余;
如果所述蒙哥马利曲线的y值是预设模p的二次剩余,则基于所述第二私钥和所述第一公钥计算所述第一参数和所述共享密钥;
如果所述蒙哥马利曲线的y值不是预设模p的二次剩余,则基于所述第二私钥和所述第二公钥计算所述第一参数和所述共享密钥。
7.根据权利要求5所述的***,其特征在于,所述查询密钥包括:第三私钥,所述第二加密单元,还用于生成第三私钥,并基于所述第三私钥和所述第二编码结果计算每个所述匹配ID的第二参数,以及基于所述第一参数和所述第二参数计算得到第三参数,以及基于所述第三私钥和所述查询密文集合计算得到第四参数。
8.根据权利要求7所述的***,其特征在于,所述数据查询与混淆模块还包括:验证单元,用于计算所述待查询ID的查询结果索引,并在所述匹配ID的查询结果索引集合中查找所述待查询ID的查询结果索引对应的目标索引,以及基于所述目标索引确定对应的目标查询结果密文和第三参数。
9.根据权利要求8所述的***,其特征在于,所述数据加解密模块还包括:第一解密单元,用于基于所述目标索引对应的第三参数和所述第四参数计算解密密钥,并基于所述解密密钥对所述目标查询结果密文进行解密,得到查询结果。
10.一种基于数据混淆的匿踪查询方法,其特征在于,所述方法应用于权利要求1至9任一项所述的基于数据混淆的匿踪查询***,包括:
通过数据加解密模块根据蒙哥马利曲线加密算法生成查询密钥,并基于所述查询密钥对待查询ID加密得到查询密文;
通过数据查询与混淆模块生成混淆ID,并基于所述混淆ID和所述待查询ID进行数据查询得到匹配ID;
通过所述数据加解密模块基于所述查询密文和所述查询密钥生成所述匹配ID对应的查询结果密文,并对所述查询结果密文进行解密得到所述待查询ID对应的查询结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310651198.9A CN116680736A (zh) | 2023-06-02 | 2023-06-02 | 基于数据混淆的匿踪查询***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310651198.9A CN116680736A (zh) | 2023-06-02 | 2023-06-02 | 基于数据混淆的匿踪查询***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116680736A true CN116680736A (zh) | 2023-09-01 |
Family
ID=87783094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310651198.9A Pending CN116680736A (zh) | 2023-06-02 | 2023-06-02 | 基于数据混淆的匿踪查询***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116680736A (zh) |
-
2023
- 2023-06-02 CN CN202310651198.9A patent/CN116680736A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101999188B1 (ko) | 비밀 공유를 위한 타원 곡선 암호를 사용하는 개인용 장치 보안 | |
US11895231B2 (en) | Adaptive attack resistant distributed symmetric encryption | |
CN107483212B (zh) | 一种双方协作生成数字签名的方法 | |
Wang et al. | Privacy-preserving public auditing for data storage security in cloud computing | |
US8935528B2 (en) | Techniques for ensuring authentication and integrity of communications | |
US8744078B2 (en) | System and method for securing multiple data segments having different lengths using pattern keys having multiple different strengths | |
US9531540B2 (en) | Secure token-based signature schemes using look-up tables | |
CN109905360B (zh) | 数据验证方法及终端设备 | |
CN109818730B (zh) | 盲签名的获取方法、装置和服务器 | |
CN115580396B (zh) | 匿踪查询***及匿踪查询方法 | |
JP7259868B2 (ja) | システムおよびクライアント | |
JP7231023B2 (ja) | 照合システム、クライアントおよびサーバ | |
JP6041864B2 (ja) | データの暗号化のための方法、コンピュータ・プログラム、および装置 | |
WO2016136142A1 (ja) | 暗号文照合システム、方法、および記録媒体 | |
CN112804050B (zh) | 多源数据查询***及方法 | |
CN110855667A (zh) | 一种区块链加密方法、装置及*** | |
US10484182B2 (en) | Encrypted text verification system, method, and recording medium | |
CN114389810B (zh) | 证明生成方法及装置、电子设备、存储介质 | |
CN117220865A (zh) | 经纬度加密方法、经纬度校验方法、装置及可读存储介质 | |
US11134112B2 (en) | Secure multi-party random bit generation | |
Kumar et al. | Cryptanalysis and performance evaluation of enhanced threshold proxy signature scheme based on RSA for known signers | |
CN112350820A (zh) | 多接收者签密方法、发送端、接收端、***及存储介质 | |
CN117335989A (zh) | 基于国密算法在互联网***中安全应用方法 | |
CN111314059B (zh) | 账户权限代理的处理方法、装置、设备及可读存储介质 | |
WO2013153628A1 (ja) | 演算処理システムおよび演算結果認証方法 |
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 |