CN115801261B - 一种基于国密算法的密文求交方法 - Google Patents
一种基于国密算法的密文求交方法 Download PDFInfo
- Publication number
- CN115801261B CN115801261B CN202310062366.0A CN202310062366A CN115801261B CN 115801261 B CN115801261 B CN 115801261B CN 202310062366 A CN202310062366 A CN 202310062366A CN 115801261 B CN115801261 B CN 115801261B
- Authority
- CN
- China
- Prior art keywords
- data
- communication party
- ciphertext
- exchange
- elliptic curve
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于国密算法的密文求交方法,包括:第一通信方和第二通信方通过对自身数据集中任一元素采用SM3算法、对SM2曲线n取模的方式来归一化每个待认证元素;通过SM2椭圆曲线点乘方式,产生交换数据,点乘计算内容包括各自随机数及上文通过SM3、取模等计算后得到的值。通过长度比对方式,缩小对比范围,减少计算量,提升对比效率;通过数据的循序作为原文的索引,迅速判断原文信息。本发明能够以国产商用密码算法SM2、SM3实现密文快速求交集的能力,且能够满足其原文为任意长度数据的需求。
Description
技术领域
本发明涉及通信技术领域,更具体的说是涉及一种基于国密算法的密文求交方法。
背景技术
隐私集合求交是一种基于现代密码学的隐私计算技术,它允许各自持有相应数据集合的执行双方能够计算数据集的交集而同时保证各自数据集中交集以外的任何内容不会暴露给对方。
但现有密文求交存在以下弊端:
(1)算法不合规
现阶段,已公布的隐私求交算法多采用DH算法作为核心算法,不符合现阶段国家密码管理局对国内密码应用的政策要求。
(2)算法面对大数据存在应用局限
现有算法中原文信息多采用一定长度的信息,譬如数据库索引信息、自动增长ID信息等,算法随着原文的增长其运算性能会面临较大挑战甚至不可应用等问题。
(3)密文比对效率低下
密文比对多采用全局比对模式,即经过密文变换后,检测方需要全局比对每个元素。这种方式会随着密文量的增加而增加,特别是在双方没有交集时需要进行大量无用的计算。
因此,如何提供一种基于国密算法的密文求交方法是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种基于国密算法的密文求交方法,能够以国产商用密码算法SM2、SM3实现密文快速求交集的能力,且能够满足其原文为任意长度数据的需求。
为了实现上述目的,本发明采用如下技术方案:
一种基于国密算法的密文求交方法,包括:
S1:第一通信方通过SM2算法对应生成第一私钥Da和第一公钥Pa;
第二通信方通过SM2算法对应生成第二私钥Db和第二公钥Pb;
S2:第一通信方通过SM3算法计算自身第一数据集中所有元素对应的哈希信息,并将其转换为正整数后,该正整数对SM2椭圆曲线基点G的阶n取模运算,得到第一密文数据ma;
第二通信方通过SM3算法计算自身第二数据集中所有元素对应的哈希信息,并将其转换为正整数后,该正整数对SM2椭圆曲线基点G的阶n取模运算,得到第二密文数据mb;
S3:第一通信方将所述第一密文数据ma与所述第一公钥Pa在SM2椭圆曲线上进行点乘运算,得到第一交换数据Pma,并基于所述第一交换数据Pma计算第一交换密文数据P;
第二通信方将所述第二密文数据mb与所述第二公钥Pb在SM2椭圆曲线上进行点乘运算,得到第二交换密文数据Pmb;
S4:第一通信方将所述第一交换密文数据P与第二通信方的所述第二交换密文数据Pmb进行交换;
第一通信方基于获取的所述第二交换密文数据Pmb与所述第一私钥Da按照Pmb的顺序依次在SM2椭圆曲线上进行点乘运算,并取X坐标点得到第一求交数据Vabx;
第二通信方基于所述第一交换密文数据P获取当前数据的长度,比较当前数据的长度是否与第二数据集中任一元素eb长度相同,若一致则将该数据与所述第二私钥Db在SM2椭圆曲线上进行点乘运算,并取X坐标点得到第二求交数据Vbax,若不一致则丢弃该数据;
S5:第一通信方将第一求交数据Vabx中的元素依次发送至第二通信方,比较第一求交数据Vabx中的每个元素和第二求交数据Vbax中的每个元素是否相同,相同则表示该元素一致,得到密文交集数据。
优选地,基于所述第一交换数据Pma计算第一交换密文数据P具体计算公式为:
P=bl+len(ea) +Pma
其中,b1为一个字节,表示len(ea)数据的字节数,len(ea)为元素ea的字节长度,ea为第一数据集中任一元素。
优选地,所述第一数据集和所述第二数据集中的元素均无重复。
优选地,S1具体包括:
第一通信方和第二通信方均通过SM2算法对应生成各自随机数Da和随机数Db,随机数满足[1,n-1],其中n为椭圆曲线基点G的阶,将随机数Da作为第一私钥,将随机数Db作为第二私钥;
第一通信方将第一私钥与SM2椭圆曲线基点G点乘,得到第一公钥Pa;
第二通信方将第二私钥与SM2椭圆曲线基点G点乘,得到第二公钥Pb。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于国密算法的密文求交方法,通过国密算法实现隐私求交,符合国内密码政策要求,可支持任意长度元素,能够实现密文快速比对。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1附图为本发明提供的一种基于国密算法的密文求交方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种基于国密算法的密文求交方法,如图1所示,包括:
S1:第一通信方和第二通信方均通过SM2算法对应生成各自随机数Da和随机数Db,随机数满足[1,n-1],其中n为椭圆曲线基点G的阶,将随机数Da作为第一私钥,将随机数Db作为第二私钥;
第一通信方将第一私钥与SM2椭圆曲线基点G点乘,得到第一公钥Pa;
第二通信方将第二私钥与SM2椭圆曲线基点G点乘,得到第二公钥Pb;
S2:第一通信方通过SM3算法计算自身第一数据集Ma中所有元素对应的哈希信息,并将其转换为正整数后,该正整数对SM2椭圆曲线基点G的阶n取模运算,得到第一密文数据ma;
第二通信方通过SM3算法计算自身第二数据集Mb中所有元素对应的哈希信息,并将其转换为正整数后,该正整数对SM2椭圆曲线基点G的阶n取模运算,得到第二密文数据mb;
S3:第一通信方将第一密文数据ma与第一公钥Pa在SM2椭圆曲线上进行点乘运算,得到一组坐标点即第一交换数据Pma,并基于第一交换数据Pma计算第一交换密文数据P;
第二通信方将第二密文数据mb与第二公钥Pb在SM2椭圆曲线上进行点乘运算,得到一组坐标点即第二交换密文数据Pmb;
S4:第一通信方将第一交换密文数据P与第二通信方的第二交换密文数据Pmb进行交换;
第一通信方基于获取的第二交换密文数据Pmb与第一私钥Da按照Pmb的顺序依次在SM2椭圆曲线上进行点乘运算,得到一组坐标点Vab,取其X坐标点得到第一求交数据Vabx;
第二通信方基于第一交换密文数据P获取当前数据的长度,比较当前数据的长度是否与第二数据集中所有的任一元素eb长度相同,若存在一致的元素,则将该数据与第二私钥Db在SM2椭圆曲线上进行点乘运算,得到一组坐标点Vba,取其X坐标点得到第二求交数据Vbax,若不一致则丢弃该数据;若整个计算下没有留存元素则说明双方数据无交集,此时即可终止流程;
S5:第一通信方依次将第一求交数据Vabx中的元素依次发送至第二通信方,第二通信方比较第一求交数据Vabx中的元素和第二求交数据Vbax中的每个元素是否相同,相同则表示该元素一致,并根据次序即可由第二通信方获知当前对应的明文信息。
本发明第一通信方和第二通信方通过对自身数据集中任一元素采用SM3算法、对SM2曲线n取模的方式来归一化每个待认证元素;通过SM2椭圆曲线点乘方式,产生交换数据,点乘计算内容包括各自随机数及上文通过SM3、取模等计算后得到的值。通过长度比对方式,缩小对比范围,减少计算量,提升对比效率;通过数据的循序作为原文的索引,迅速判断原文信息。
优选地,基于第一交换数据Pma计算第一交换密文数据P具体计算公式为:
P=bl+len(ea) +Pma
b1为一个字节,表示len(ea)数据的字节数,len(ea)为元素ea的字节长度,ea为第一数据集中任一元素。
优选地,第一数据集和第二数据集中的元素均无重复。
本发明具有以下优点:
(1)通过将任意元素通过SM3方法即可实现归一化。为了其满足SM2椭圆曲线值计算要求,在进行SM3计算得到字节转换大整数后,还需在n上取模。SM3算法本身具备将任意长度数据进行定长输出的能力,从而保障算法上可支持任意长度元素进行密文求交的计算。
(2)将第一交换密文数据P与第二通信方所有元素通过长度先行进行比对。若长度不同,则说明原文肯定不同,可以提前将数据进行剔除,能够减少后续计算量和比对范围。
(3)每次都单独产生随机数参与运算,可以保障过程数据每次都不重复;在数据交换时,仅仅交换的是SM2椭圆曲线上面的点信息,通过SM2算法可知是无法推断出对应的随机数;随机数在整个计算过程中都没有脱离自身,不会产生传输过程的风险。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (3)
1.一种基于国密算法的密文求交方法,其特征在于,包括:
S1:第一通信方通过SM2算法对应生成第一私钥Da和第一公钥Pa;
第二通信方通过SM2算法对应生成第二私钥Db和第二公钥Pb;
S2:第一通信方通过SM3算法计算自身第一数据集中所有元素对应的哈希信息,并将其转换为正整数后,该正整数对SM2椭圆曲线基点G的阶n取模运算,得到第一密文数据ma;
第二通信方通过SM3算法计算自身第二数据集中所有元素对应的哈希信息,并将其转换为正整数后,该正整数对SM2椭圆曲线基点G的阶n取模运算,得到第二密文数据mb;
S3:第一通信方将所述第一密文数据ma与所述第一公钥Pa在SM2椭圆曲线上进行点乘运算,得到第一交换数据Pma,并基于所述第一交换数据Pma计算第一交换密文数据P;基于所述第一交换数据Pma计算第一交换密文数据P具体计算公式为:
P=bl+len(ea)+Pma
其中,bl为一个字节,表示len(ea)数据的字节数,len(ea)为元素ea的字节长度,ea为第一数据集中任一元素;
第二通信方将所述第二密文数据mb与所述第二公钥Pb在SM2椭圆曲线上进行点乘运算,得到第二交换密文数据Pmb;
S4:第一通信方将所述第一交换密文数据P与第二通信方的所述第二交换密文数据Pmb进行交换;
第一通信方基于获取的所述第二交换密文数据Pmb与所述第一私钥Da按照Pmb的顺序依次在SM2椭圆曲线上进行点乘运算,并取X坐标点得到第一求交数据Vabx;
第二通信方基于所述第一交换密文数据P获取第一数据集中任一元素ea的长度,比较第一数据集中任一元素ea的长度是否与第二数据集中任一元素eb长度相同,若一致则将第一交换数据Pma与所述第二私钥Db在SM2椭圆曲线上进行点乘运算,并取X坐标点得到第二求交数据Vbax,若不一致则丢弃该数据;
S5:第一通信方将第一求交数据Vabx中的元素依次发送至第二通信方,比较第一求交数据Vabx中的每个元素和第二求交数据Vbax中的每个元素是否相同,相同则表示该元素一致,得到密文交集数据。
2.根据权利要求1所述的一种基于国密算法的密文求交方法,其特征在于,所述第一数据集和所述第二数据集中的元素均无重复。
3.根据权利要求1所述的一种基于国密算法的密文求交方法,其特征在于,S1具体包括:
第一通信方和第二通信方均通过SM2算法对应生成各自随机数Da和随机数Db,随机数满足[1,n-1],其中n为椭圆曲线基点G的阶,将随机数Da作为第一私钥,将随机数Db作为第二私钥;
第一通信方将第一私钥与SM2椭圆曲线基点G点乘,得到第一公钥Pa;
第二通信方将第二私钥与SM2椭圆曲线基点G点乘,得到第二公钥Pb。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310062366.0A CN115801261B (zh) | 2023-01-15 | 2023-01-15 | 一种基于国密算法的密文求交方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310062366.0A CN115801261B (zh) | 2023-01-15 | 2023-01-15 | 一种基于国密算法的密文求交方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115801261A CN115801261A (zh) | 2023-03-14 |
CN115801261B true CN115801261B (zh) | 2023-04-25 |
Family
ID=85429781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310062366.0A Active CN115801261B (zh) | 2023-01-15 | 2023-01-15 | 一种基于国密算法的密文求交方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115801261B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112910645A (zh) * | 2021-04-13 | 2021-06-04 | 三未信安科技股份有限公司 | 一种基于椭圆曲线的分布式协同解密方法 |
CN113922960A (zh) * | 2020-07-08 | 2022-01-11 | 神州融安科技(北京)有限公司 | 一种基于sm2的psi获取方法、装置及系统 |
CN114640444A (zh) * | 2022-03-18 | 2022-06-17 | 哈尔滨理工大学 | 基于国产密码算法的隐私保护集合交集获取方法及装置 |
CN115242514A (zh) * | 2022-07-25 | 2022-10-25 | 深圳市洞见智慧科技有限公司 | 基于国密的隐私集合求交方法、系统及相关设备 |
CN115599959A (zh) * | 2022-09-30 | 2023-01-13 | 建信金融科技有限责任公司(Cn) | 数据共享方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8380737B2 (en) * | 2010-12-17 | 2013-02-19 | International Business Machines Corporation | Computing intersection of sets of numbers |
-
2023
- 2023-01-15 CN CN202310062366.0A patent/CN115801261B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113922960A (zh) * | 2020-07-08 | 2022-01-11 | 神州融安科技(北京)有限公司 | 一种基于sm2的psi获取方法、装置及系统 |
CN112910645A (zh) * | 2021-04-13 | 2021-06-04 | 三未信安科技股份有限公司 | 一种基于椭圆曲线的分布式协同解密方法 |
CN114640444A (zh) * | 2022-03-18 | 2022-06-17 | 哈尔滨理工大学 | 基于国产密码算法的隐私保护集合交集获取方法及装置 |
CN115242514A (zh) * | 2022-07-25 | 2022-10-25 | 深圳市洞见智慧科技有限公司 | 基于国密的隐私集合求交方法、系统及相关设备 |
CN115599959A (zh) * | 2022-09-30 | 2023-01-13 | 建信金融科技有限责任公司(Cn) | 数据共享方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
周素芳.保密集合相交问题的高效计算.计算机学报.2017,全文. * |
巩林明.基于无匹配差错的PSI计算.计算机学报.2020,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN115801261A (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Efficient ID-based public auditing for the outsourced data in cloud storage | |
CN108418686B (zh) | 一种多分布式的sm9解密方法与介质及密钥生成方法与介质 | |
WO2017202161A1 (zh) | 基于无证书两方认证密钥协商方法、装置和存储介质 | |
Chen et al. | RCDA: Recoverable concealed data aggregation for data integrity in wireless sensor networks | |
CN112199649B (zh) | 基于区块链的移动边缘计算下的匿名身份验证方法 | |
CN104378374B (zh) | 一种基于安全套接层建立通信的方法及系统 | |
JP2020052393A (ja) | 素数モジュロの二重カプセル化に基づく1対多分配鍵管理によるポスト量子非対称鍵暗号化システム | |
WO2018000317A1 (en) | Secure data processing | |
CN105812141A (zh) | 一种面向外包加密数据的可验证交集运算方法及系统 | |
WO2009065356A1 (fr) | Procédé, système et dispositif de réseau pour une authentification mutuelle | |
CN110880977B (zh) | 一种安全高效的sm9环签名生成与验证方法 | |
CN110489982B (zh) | 一种具有前向安全性的智能电网数据聚合和加密方法 | |
WO2021143456A1 (zh) | Sm9数字签名生成方法、装置、计算机设备和存储介质 | |
CN104660415A (zh) | 移动云计算下多域间非对称群组密钥协商协议的方法 | |
CN107911217B (zh) | 基于ecdsa算法协同生成签名的方法、装置和数据处理系统 | |
US20120243680A1 (en) | Incorporating data into an ecdsa signature component | |
Li et al. | Practical identity-based signature for wireless sensor networks | |
Yin et al. | A New Provable Secure Certificateless Aggregate Signcryption Scheme. | |
CN111030821B (zh) | 一种基于双线性映射技术的联盟链的加密方法 | |
CN112564923B (zh) | 一种基于无证书的安全网络连接握手方法 | |
CN112953700B (zh) | 一种提升安全多方计算效率的方法、系统及存储介质 | |
Mi et al. | Oblivious transfer based on NTRUEncrypt | |
CN101820626A (zh) | 基于无线mesh网络身份的无可信pkg的部分盲签名方法 | |
CN115801261B (zh) | 一种基于国密算法的密文求交方法 | |
CN109981276B (zh) | 一种zk-snark底层双线性对的国密替代实现方法 |
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 |