CN113922960B - 一种基于sm2的psi获取方法、装置及系统 - Google Patents
一种基于sm2的psi获取方法、装置及系统 Download PDFInfo
- Publication number
- CN113922960B CN113922960B CN202010653490.0A CN202010653490A CN113922960B CN 113922960 B CN113922960 B CN 113922960B CN 202010653490 A CN202010653490 A CN 202010653490A CN 113922960 B CN113922960 B CN 113922960B
- Authority
- CN
- China
- Prior art keywords
- value
- point
- elliptic curve
- elements
- blinding
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003993 interaction Effects 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
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
Abstract
本发明实施例提供了一种基于SM2的PSI获取方法、装置及系统,涉及加密技术领域,用于提高PSI的获取速度。该方法用于第一设备包括:在获取所述第一设备持有的第一集合和第二设备持有的第二集合的交集时,生成第三集合;获取第四集合、第一目标点的横坐标值以及第一盲化值;在确定所述第一集合中的元素的数量小于所述第二集合中的元素的数量的情况下,向所述第二设备发送第一服务请求;接收所述第二设备发送的第五集合、第六集合以及第二目标点的横坐标值;获取第八集合;根据所述第六集合和所述第八集合的交集确定所述第一集合和所述第二集合的交集。本发明实施例用于基于SM2现实PSI的获取。
Description
技术领域
本发明涉及加密技术领域,尤其涉及一种基于SM2的PSI获取方法、装置及系统。
背景技术
随着通信技术、网络技术等的快速发展以及移动计算机、云计算、分布式计算等广泛应用,虚拟网络和人们的日常生活更加紧密,互联网大数据的各种应用渗透到人们的社交、购物出行等方方面面。这些应用让人们享受到更加便捷的服务,但同时大量有价值的客户信息、个人隐私记录、企业运营数据不断被挖掘,人们的隐私受到越来越强烈的威胁,因此大数据时代的隐私保护成为了普遍关注的焦点。
隐私保护集合交集(Private Set Intersection,PSI)是安全多方计算领域的一个重要方面。PSI协议允许持有各自集合的两方来共同计算两个集合的交集,一方或是双方可以得到正确的交集,而且不会得到交集以外另一方集合中的任何信息。在现实生活中数据都可以用集合来表示,并用集合间的隐私保护来完成一些数据计算问题,因此PSI计算有非常广泛的应用场景。例如:在计算广告的实际效果时,计算方法是计算浏览广告的用户信息(广告发送方占有)和完成相应交易的用户信息(商家占有)的交集。而与此同时双方的用户信息又是私密的,如果使用不安全的协议会导致一方的信息暴露给另一方,从而造成用户和商家或是广告主的隐私泄露。中国的密码应用一般需要按照国家密码管理局颁发的商业密码标准进行实现,SM2是国家密码管理局发布的椭圆曲线公钥密码算法,目前现有技术中已针对SM2开发出了众多软件、硬件和其他资源,且SM2流程公开、安全性已得到了验证,若可以基于SM2获取PSI,则可以在保证安全性的同时直接利用已开发的软件、硬件和其他资源实现PSI的获取,进而减少或避免获取PSI方案研究在安全保障、资源开发、现实加速等方面的投入,为PSI获取的实际应用带来极大的工程便利性。
发明内容
有鉴于此,本发明提供了一种基于SM2的PSI获取方法、装置及系统,用于基于SM2获取PSI。
为了实现上述目的,本发明实施例提供技术方案如下:
第一方面,本发明实施例提供一种基于SM2的PSI获取方法,应用于第一设备,所述方法包括:
在获取所述第一设备持有的第一集合和第二设备持有的第二集合的交集时,生成第三集合,所述第三集合为基于第一随机数对第一点集中的每个点进行倍点运算得到的集合,所述第一点集为将所述第一集合中的每个元素的哈希值转换为预设椭圆曲线密码系统的椭圆曲线上的点得到的点集;
获取第四集合、第一目标点的横坐标值以及第一盲化值;所述第四集合为对所述第三集合中的元素进行随机置换得到的集合,所述第一目标点为基于所述第一随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点;所述第一盲化值为根据公式 以及计算获取的值;其中,tb为所述第一盲化值,rb为第一随机数、xb为所述第一目标点的横轴坐标值,n为所述预设椭圆曲线密码系统的椭圆曲线群的阶数;
在确定所述第一集合中的元素的数量小于所述第二集合中的元素的数量的情况下,向所述第二设备发送第一服务请求;所述第一服务请求用于请求获取所述第一集合和所述第二集合的交集,携带有所述第四集合、所述第一目标点的横坐标值以及第一指示信息,所述第一指示信息用于指示所述第一集合中的元素的数量小于所述第二集合中的元素的数量;
接收所述第二设备发送的第五集合、第六集合以及第二目标点的横坐标值;所述第五集合中的元素与所述第四集合中的元素一一对应,且所述第五集合中的元素为所述第四集合中对应元素的第一倍点值与第二倍点值的和,所述第四集合中任一元素的第一倍点值为基于第二盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第四集合中任一元素的第二倍点值为基于所述对该元素进行倍点运算得到的值;所述第六集合为对第七集合中的元素进行随机置换得到的集合,所述第七集合为基于所述第二盲化值对第二点集中的每个点进行倍点运算得到的集合,所述第二点集为将所述第二集合中的每个元素的哈希值转换为所述椭圆曲线上的点得到的点集;所述第二盲化值为根据公式以及计算获取的值,其中,ta为所述第二盲化值,ra为第二随机数、xa为第二目标点的横轴坐标值,所述第二目标点为基于所述第二随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点;
获取第八集合,所述第八集合为基于目标逆元值对所述第五集合的每个元素的所述第一倍点值进行倍点运算得到的集合,所述目标逆元值为所述预设椭圆曲线密码系统的余因子与所述第一盲化值的乘积的逆元值;
根据所述第六集合和所述第八集合的交集确定所述第一集合和所述第二集合的交集。
作为本发明实施例一种可选的实施方式,在获取所述第一设备持有的第一集合和第二设备持有的第二集合的交集时,生成第三集合,所述第三集合为基于第一随机数对第一点集中的每个点进行倍点运算得到的集合,所述第一点集为将所述第一集合中的每个元素的哈希值转换为预设椭圆曲线密码系统的椭圆曲线上的点得到的点集;
获取第四集合、第一目标点的横坐标值以及第一盲化值;所述第四集合为对所述第三集合中的元素进行随机置换得到的集合,所述第一目标点为基于所述第一随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点;所述第一盲化值为根据公式 以及计算获取的值;其中,tb为所述第一盲化值,rb为第一随机数、xb为所述第一目标点的横轴坐标值,n为所述预设椭圆曲线密码系统的椭圆曲线群的阶数;
在确定所述第一集合中的元素的数量小于所述第二集合中的元素的数量的情况下,向所述第二设备发送第一服务请求;所述第一服务请求用于请求获取所述第一集合和所述第二集合的交集,携带有所述第四集合、所述第一目标点的横坐标值以及第一指示信息,所述第一指示信息用于指示所述第一集合中的元素的数量小于所述第二集合中的元素的数量;
接收所述第二设备发送的第五集合、第六集合以及第二目标点的横坐标值;所述第五集合中的元素与所述第四集合中的元素一一对应,且所述第五集合中的元素为所述第四集合中对应元素的第一倍点值与第二倍点值的和,所述第四集合中任一元素的第一倍点值为基于第二盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第四集合中任一元素的第二倍点值为基于所述对该元素进行倍点运算得到的值;所述第六集合为对第七集合中的元素进行随机置换得到的集合,所述第七集合为基于所述第二盲化值对第二点集中的每个点进行倍点运算得到的集合,所述第二点集为将所述第二集合中的每个元素的哈希值转换为所述椭圆曲线上的点得到的点集;所述第二盲化值为根据公式以及计算获取的值,其中,ta为所述第二盲化值,ra为第二随机数、xa为第二目标点的横轴坐标值,所述第二目标点为基于所述第二随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点;
获取第八集合,所述第八集合为基于目标逆元值对所述第五集合的每个元素的所述第一倍点值进行倍点运算得到的集合,所述目标逆元值为所述预设椭圆曲线密码系统的余因子与所述第一盲化值的乘积的逆元值;
根据所述第六集合和所述第八集合的交集确定所述第一集合和所述第二集合的交集。
作为本发明实施例一种可选的实施方式,所述方法还包括:
接收配置信息,所述配置信息包括:所述预设椭圆曲线密码系统的椭圆曲线、所述预设椭圆曲线密码系统的椭圆曲线群的阶数以及所述预设椭圆曲线密码系统的基点的坐标轴值。
第二方面,本发明实施例提供一种基于SM2的PSI获取方法,应用于第二设备,所述方法包括:
接收第一设备发送的第一服务请求,所述第一服务请求用于请求获取第一设备持有的第一集合和第二设备持有的第二集合的交集,携带有第四集合、第一目标点的横坐标值以及第一指示信息,所述第一指示信息用于指示所述第一集合中的元素的数量小于所述第二集合中的元素的数量;
获取第五集合、第六集合以及第二目标点的横坐标值;所述第五集合中的元素与所述第四集合中的元素一一对应,且所述第五集合中的元素为所述第四集合中对应元素的第一倍点值与第二倍点值的和,所述第四集合中任一元素的第一倍点值为基于第二盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第四集合中任一元素的第二倍点值为基于对该元素进行倍点运算得到的值;所述第六集合为对第七集合中的元素进行随机置换得到的集合,所述第七集合为基于所述第二盲化值对第二点集中的每个点进行倍点运算得到的集合,所述第二点集为将所述第二集合中的每个元素的哈希值转换为所述预设椭圆曲线密码系统的椭圆曲线上的点得到的点集;所述第二盲化值为根据公式以及计算获取的值,其中,ta为所述第二盲化值,ra为第二随机数、xa为第二目标点的横轴坐标值,所述第二目标点为基于所述第二随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点; xb为所述第一目标点的横轴坐标值,n为所述预设椭圆曲线密码系统的椭圆曲线群的阶数;
向所述第一设备发送所述第五集合、所述第六集合以及所述第二目标点的横坐标值。
作为本发明实施例一种可选的实施方式,所述方法还包括:
接收第一设备发送的第二服务请求,所述第二服务请求用于请求获取第一设备持有的第一集合和第二设备持有的第二集合的交集,携带有第四集合、第一目标点的横坐标值以及第二指示信息,所述第二指示信息用于指示所述第一集合中的元素的数量大于或等于所述第二集合中的元素的数量;
获取所述第五集合、第九集合以及第二目标点的横坐标值,所述第九集合为对第十集合中的元素进行随机置换得到的集合,所述第十集合为基于所述第二随机数对所述第二点集中的每个点进行倍点运算得到的集合;
向所述第一设备发送所述第五集合、所述第九集合以及所述第二目标点的横坐标值。
作为本发明实施例一种可选的实施方式,在接收第一设备发送的第一服务请求之前,所述方法还包括:
接收配置信息,所述配置信息包括:所述预设椭圆曲线密码系统的椭圆曲线、所述预设椭圆曲线密码系统的椭圆曲线群的阶数以及所述预设椭圆曲线密码系统的基点的坐标轴值。
第三方面,本发明实施例提供一种第一设备,包括:
生成单元,用于在获取所述第一设备持有的第一集合和第二设备持有的第二集合的交集时,生成第三集合,所述第三集合为基于第一随机数对第一点集中的每个点进行倍点运算得到的集合,所述第一点集为将所述第一集合中的每个元素的哈希值转换为预设椭圆曲线密码系统的椭圆曲线上的点得到的点集;
第一获取单元,用于获取第四集合、第一目标点的横坐标值以及第一盲化值;所述第四集合为对所述第三集合中的元素进行随机置换得到的集合,所述第一目标点为基于所述第一随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点;所述第一盲化值为根据公式 以及计算获取的值;其中,tb为所述第一盲化值,rb为第一随机数、xb为所述第一目标点的横轴坐标值,n为所述预设椭圆曲线密码系统的椭圆曲线群的阶数;
发送单元,用于在确定所述第一集合中的元素的数量小于所述第二集合中的元素的数量的情况下,向所述第二设备发送第一服务请求;所述第一服务请求用于请求获取所述第一集合和所述第二集合的交集,携带有所述第四集合、所述第一目标点的横坐标值以及第一指示信息,所述第一指示信息用于指示所述第一集合中的元素的数量小于所述第二集合中的元素的数量;
接收单元,用于接收所述第二设备发送的第五集合、第六集合以及第二目标点的横坐标值;所述第五集合中的元素与所述第四集合中的元素一一对应,且所述第五集合中的元素为所述第四集合中对应元素的第一倍点值与第二倍点值的和,所述第四集合中任一元素的第一倍点值为基于第二盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第四集合中任一元素的第二倍点值为基于所述对该元素进行倍点运算得到的值;所述第六集合为对第七集合中的元素进行随机置换得到的集合,所述第七集合为基于所述第二盲化值对第二点集中的每个点进行倍点运算得到的集合,所述第二点集为将所述第二集合中的每个元素的哈希值转换为所述椭圆曲线上的点得到的点集;所述第二盲化值为根据公式以及 计算获取的值,其中,ta为所述第二盲化值,ra为第二随机数、xa为第二目标点的横轴坐标值,所述第二目标点为基于所述第二随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点;
第二获取单元,用于获取第八集合,所述第八集合为基于目标逆元值对所述第五集合的每个元素的所述第一倍点值进行倍点运算得到的集合,所述目标逆元值为所述预设椭圆曲线密码系统的余因子与所述第一盲化值的乘积的逆元值;
第三获取单元,用于根据所述第六集合和所述第八集合的交集确定所述第一集合和所述第二集合的交集。
作为本发明实施例一种可选的实施方式,
所述发送单元,还用于在确定所述第一集合中的元素的数量大于或等于所述第二集合中的元素的数量的情况下,向所述第二设备发送第二服务请求,所述第二服务请求用于请求获取第一设备持有的第一集合和第二设备持有的第二集合的交集,携带有所述第四集合、所述第一目标点的横坐标值以及第二指示信息,所述第二指示信息用于指示所述第一集合中的元素的数量大于或等于所述第二集合中的元素的数量;
所述接收单元,还用于接收所述第二设备发送的所述第五集合、第九集合以及所述第二目标点的横坐标值;所述第九集合为对第十集合中的元素进行随机置换得到的集合,所述第十集合为基于所述第二随机数对所述第二点集中的每个点进行倍点运算得到的集合;
所述第二获取单元,还用于获取第十一集合,所述第十一集合中的元素与所述第九集合中的元素一一对应,且所述第十一集合中的元素为所述第九集合中对应元素的第一倍点值与第二倍点值的和,所述第九集合中任一元素的第一倍点值为基于第一盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第九集合中任一元素的第二倍点值为基于所述对该元素进行倍点运算得到的值;
所述第三获取单元,还用于根据所述第五集合和所述第十一集合的交集作确定所述第一集合和所述第二集合的交集。
作为本发明实施例一种可选的实施方式,所述接收单元,还用于接收配置信息,所述配置信息包括:所述预设椭圆曲线密码系统的椭圆曲线、所述预设椭圆曲线密码系统的椭圆曲线群的阶数以及所述预设椭圆曲线密码系统的基点的坐标轴值。
第四方面,本发明实施例提供一种第二设备,包括:
接收单元,用于接收第一设备发送的第一服务请求,所述第一服务请求用于请求获取第一设备持有的第一集合和第二设备持有的第二集合的交集,携带有第四集合、第一目标点的横坐标值以及第一指示信息,所述第一指示信息用于指示所述第一集合中的元素的数量小于所述第二集合中的元素的数量;
获取单元,用于获取第五集合、第六集合以及第二目标点的横坐标值;所述第五集合中的元素与所述第四集合中的元素一一对应,且所述第五集合中的元素为所述第四集合中对应元素的第一倍点值与第二倍点值的和,所述第四集合中任一元素的第一倍点值为基于第二盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第四集合中任一元素的第二倍点值为基于对该元素进行倍点运算得到的值;所述第六集合为对第七集合中的元素进行随机置换得到的集合,所述第七集合为基于所述第二盲化值对第二点集中的每个点进行倍点运算得到的集合,所述第二点集为将所述第二集合中的每个元素的哈希值转换为所述预设椭圆曲线密码系统的椭圆曲线上的点得到的点集;所述第二盲化值为根据公式以及计算获取的值,其中,ta为所述第二盲化值,ra为第二随机数、xa为第二目标点的横轴坐标值,所述第二目标点为基于所述第二随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点; xb为所述第一目标点的横轴坐标值,n为所述预设椭圆曲线密码系统的椭圆曲线群的阶数;
发送单元,用于向所述第一设备发送所述第五集合、所述第六集合以及所述第二目标点的横坐标值。
作为本发明实施例一种可选的实施方式,
所述接收单元还用于接收第一设备发送的第二服务请求,所述第二服务请求用于请求获取第一设备持有的第一集合和第二设备持有的第二集合的交集,携带有第四集合、第一目标点的横坐标值以及第二指示信息,所述第二指示信息用于指示所述第一集合中的元素的数量大于或等于所述第二集合中的元素的数量;
所述获取单元,还用于获取所述第五集合、第九集合以及第二目标点的横坐标值,所述第九集合为对第十集合中的元素进行随机置换得到的集合,所述第十集合为基于所述第二随机数对所述第二点集中的每个点进行倍点运算得到的集合;
所述发送单元,还用于向所述第一设备发送所述第五集合、所述第九集合以及所述第二目标点的横坐标值。
作为本发明实施例一种可选的实施方式,所述接收单元,还用于接收配置信息,所述配置信息包括:所述预设椭圆曲线密码系统的椭圆曲线、所述预设椭圆曲线密码系统的椭圆曲线群的阶数以及所述预设椭圆曲线密码系统的基点的坐标轴值。
第五方面、本发明实施例提供一种基于SM2的PSI获取系统,包括:第三方面或第三方面任一种实施方式所述的第一设备以及第四方面或第四方面任一种实施方式所述的第二设备。
第六方面、本发明实施例提供一种基于SM2的PSI获取装置,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用计算机程序时执行上述第一方面或第一方面任一种可选的实施例方式或第二方面或第二方面任一种可选的实施例方式所述的基于SM2的PSI获取方法。
第七方面,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器实现上述第一方面或第一方面任一种可选的实施例方式或第二方面或第二方面任一种可选的实施例方式所述的基于SM2的PSI获取方法。
本发明实施例提供的基于SM2的PSI获取方法在获取第一设备持有的第一集合和第二设备持有的第二集合的交集时,获取第四集合、第一目标点的横坐标值以及第一盲化值,并向在确定所述第一集合中的元素的数量小于所述第二集合中的元素的数量的情况下,向所述第二设备发送第一服务请求,第二设备接收第一设备发送的第一服务请求后,根据获取第五集合、第六集合以及第二目标点的横坐标值,并向所述第一设备发送所述第五集合、所述第六集合以及所述第二目标点的横坐标值,最后基于第五集合得到第八集合并根据所述第六集合和所述第八集合的交集确定所述第一集合和所述第二集合的交集。由于所述第四集合为对所述第三集合中的元素进行随机置换得到的集合,所述第一目标点为基于所述第一随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点,所述第三集合为基于第一随机数对第一点集中的每个点进行倍点运算得到的集合,所述第一点集为将所述第一集合中的每个元素的哈希值转换为预设椭圆曲线密码系统的椭圆曲线上的点得到的点集,所述第五集合中的元素与所述第四集合中的元素一一对应,且所述第五集合中的元素为所述第四集合中对应元素的第一倍点值与第二倍点值的和,所述第四集合中任一元素的第一倍点值为基于第二盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第四集合中任一元素的第二倍点值为基于对该元素进行倍点运算得到的值;所述第六集合为对第七集合中的元素进行随机置换得到的集合,所述第七集合为基于所述第二盲化值对第二点集中的每个点进行倍点运算得到的集合,所述第二点集为将所述第二集合中的每个元素的哈希值转换为所述预设椭圆曲线密码系统的椭圆曲线上的点得到的点集,因此本发明实施例可以使PSI的获取流程适配于SM2的密钥交换协议的流程,基于SM2的密钥交换协议的流程实现PSI的获取,因此本发明实施例提供了一种可以基于SM2获取PSI的方法。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。
图1为本发明实施例提供的基于SM2的PSI获取方法的交互流程图;
图2为本发明实施例提供的第一设备的示意性结构图;
图3为本发明实施例提供的第二设备的示意性结构图;
图4为本发明实施例提供的基于SM2的PSI获取装置的硬件结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一集合和第二集合等是用于区别不同的集合,而不是用于描述集合的特定顺序。在下述实施例中可能存在先出现“第n集合”后出现“第m集合”,m<n,或者仅出现“第x集合”并未出现“第y集合”,y<x的情况,但由于“第一”和“第二”等是用于区别不同的对象,因此上述情况并不影响本申请实施例提供清楚性。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。此外,在本发明实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
以下首先对本发明实施例中的集合以及集合之间的关系进行说明。
本发明实施例中的集合包括:
第一集合:{sb1,sb2,sb3,…};
第二集合:{sa1,sa2,sa3,…};
第三集合:{rb[×]EP(sb1),rb[×]EP(sb2),rb[×]EP(sb3),…}
第四集合:{rb[×]EP(sb1),rb[×]EP(sb3),rb[×]EP(sb2),…}
第五集合:
第六集合:{ta[×]EP(sa1),ta[×]EP(sa3),ta[×]EP(sa2),…}
第七集合:{ta[×]EP(sa1),ta[×]EP(sa2),ta[×]EP(sa3),…}
第八集合:
第九集合:{ra[×]EP(sa1),ra[×]EP(sa3),ra[×]EP(sa2),…}
第十集合:{ra[×]EP(sa1),ra[×]EP(sa2),ra[×]EP(sa3),…}
第十一集合:
第十二集合:{H(sb1),H(sb2),H(sb3),…};
第十三集合:{H(sa1),H(sa2),H(sa3),…};
第一点集:{EP(sb1),EP(sb2),EP(sb3),…}
第二点集:{EP(sa1),EP(sa2),EP(sa3),…}
基于第一集合的集合之间的关系包括:
1.1、基于预设哈希算法对第一集合中的每个元素进行哈希运算获取第十二集合;
1.2、将所述第十二集合中的每个元素分别转换为所述预设椭圆曲线密码系统的椭圆曲线上的点得到所述第一点集;
1.3、基于所述第一随机数对所述第一点集中的每个点进行倍点运算获取所述第三集合;
1.4、对所述第三集合中的元素进行随机置换得到第四集合;
1.5、基于(h·ta)和分别对第四集合中的每个元素进行倍点运算并求和得到第五集合。
1.6、基于(h·tb)-1对第五集合中的每个元素的第一倍点值进行倍点运算得到第八集合。
基于第二集合的集合之间的关系包括:
2.1、基于预设哈希算法对第二集合中的每个元素进行哈希运算获取第十三集合;
2.2、将所述第十三集合中的每个元素分别转换为所述预设椭圆曲线密码系统的椭圆曲线上的点得到所述第二点集;
2.3、基于所述第二随机数对所述第二点集中的每个点进行倍点运算获取所述第十集合;
2.4、对所述第十集合中的元素进行随机置换得到第九集合;
2.5、基于(h·ta)和分别对第九集合中的每个元素进行倍点运算并求和得到第十一集合;
2.6、基于ta对第二点集中的每个元素进行倍点运算得到第七集合;
2.7、对所述第七集合中的元素进行随机置换得到第六集合。
本发明实施例中各个参数代表含义如下:
rb-第一随机数;
ra-第二随机数
tb-第一盲化值;
ta-第一盲化值;
xb-第一目标点的横坐标值;
yb-第一目标点的纵坐标值;
xa-第二目标点的横坐标值;
ya-第二目标点的纵坐标值;
-第一目标点的横坐标的二进制值;
-第二目标点的横坐标的二进制值;
n-所述预设椭圆曲线密码系统的椭圆曲线群的阶数;
G-所述预设椭圆曲线密码系统的基点;
h-预设椭圆曲线密码系统的余因子。
基于上述内容,本发明实施例提供一种基于SM2的PSI获取方法。参照图1所示,本发明实施例提供的基于SM2的PSI获取方法包括如下步骤:
S101、第一设备在获取所述第一设备持有的第一集合和第二设备持有的第二集合的交集时,生成第三集合。
其中,所述第三集合为基于第一随机数对第一点集中的每个点进行倍点运算得到的集合,所述第一点集为将所述第一集合中的每个元素的哈希值转换为预设椭圆曲线密码系统的椭圆曲线上的点得到的点集。
上述步骤S101中第一设备生成第三集合的实现方式可以包括如下步骤a至步骤c。
步骤a、基于预设哈希算法对第一集合中的每个元素进行哈希运算得到第十二集合。
设:第一集合为{sb1,sb2,sb3,…},则基于预设哈希算法对{sb1,sb2,sb3,…}中的各个元素进行哈希运算,得到的第十二集合为:{H(sb1),H(sb2),H(sb3),…}。
步骤b、将第十二集合中的每个元素分别转换为预设椭圆曲线密码系统的椭圆曲线上的点得到第一点集。
具体的,预设椭圆曲线密码系统E即为满足大素数P定义的y2=x3+ax+b的点组成的系统。将第十二集合中的每个元素分别转换为预设椭圆曲线密码系统的椭圆曲线上的点的实现方式可以为:将第十二集合中的各个哈希值作为一个椭圆曲线点的横轴坐标值带入公式y2=x3+ax+b mod p,计算y2 mod p,判断Xy^2mod p是否具有二次剩余;如果是,则计算出y,并将点(x,y)作为转换得到的点;如果否,则对再次通过预设哈希算法该哈希值进行哈希计算得到新的哈希值,并重复上述步骤,直至第十二集合中所有哈希值全部转换为预设椭圆曲线密码系统的椭圆曲线上的点。
承上示例所述,将第十二集合{H(sb1),H(sb2),H(sb3),…}中的每个元素分别转换为所述预设椭圆曲线密码系统的椭圆曲线上的点,得到的第一点集为:
{EP(sb1),EP(sb2),EP(sb3),…}。
步骤c、基于所述第一随机数对所述第一点集中的每个点进行倍点运算获取所述第三集合。
需要说明的是,在步骤c之前,第一设备还需要生成第一随机数rb。具体的,可以在正整数中随机选取随机数,即第一随机数
承上示例所述,基于所述第一随机数rb对第一点集{EP(sb1),EP(sb2),EP(sb3),…}中的每个点进行倍点运算,得到的第三集合为:{rb[×]EP(sb1),rb[×]EP(sb2),rb[×]EP(sb3),…};其中,rb为第一随机数,[×]表示倍点运算。
S102、第一设备获取第四集合、第一目标点的横坐标值以及第一盲化值。
所述第四集合为对所述第三集合中的元素进行随机置换得到的集合。
承上示例所述,第四集合可以为:{rb[×]EP(sb1),rb[×]EP(sb3),rb[×]EP(sb2),…}。
所述第一目标点为基于所述第一随机数rb对所述预设椭圆曲线密码系统的基点G进行倍点运算得到的点。
设:所述预设椭圆曲线密码系统的基点为G(x0,y0),承上示例所述,第一随机数为rb,则第一目标点的坐标值为:RB=rb[×]G=(xb,yb),第一目标点的横坐标值xb。
所述第一盲化值为根据公式:
计算获取的值。
其中,tb为所述第一盲化值,rb为第一随机数、xb为所述第一目标点的横轴坐标值,n为所述预设椭圆曲线密码系统的椭圆曲线群的阶数。
S103、第一设备确定所述第一集合中的元素的数量是否小于所述第二集合中的元素的数量。
具体的,第一设备可以通过比较第一设备的密码检查器中的数据的数量和第二设备的密码检查器中的数据的数量,确定所述第一集合中的元素的数量是否小于所述第二集合中的元素的数量。
在上述步骤S103中,若第一设备确定所述第一集合中的元素的数量小于所述第二集合中的元素的数量,则执行如下步骤S104至S108。
S104、第一设备向所述第二设备发送第一服务请求。
对应的,所述第二设备接收所述第一设备发送的第一服务请求。
所述第一服务请求用于请求获取所述第一集合和所述第二集合的交集,携带有所述第四集合、所述第一目标点的横坐标值以及第一指示信息,所述第一指示信息用于指示所述第一集合中的元素的数量小于所述第二集合中的元素的数量。
S105、第二设备获取第五集合、第六集合以及第二目标点的横坐标值。
其中,所述第五集合中的元素与所述第四集合中的元素一一对应,且所述第五集合中的元素为所述第四集合中对应元素的第一倍点值与第二倍点值的和,所述第四集合中任一元素的第一倍点值为基于第二盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第四集合中任一元素的第二倍点值为基于对该元素进行倍点运算得到的值;所述第六集合为对第七集合中的元素进行随机置换得到的集合,所述第七集合为基于所述第二盲化值对第二点集中的每个点进行倍点运算得到的集合,所述第二点集为将所述第二集合中的每个元素的哈希值转换为所述预设椭圆曲线密码系统的椭圆曲线上的点得到的点集;所述第二盲化值为根据公式以及计算获取的值,其中,ta为所述第二盲化值,ra为第二随机数、xa为第二目标点的横轴坐标值,所述第二目标点为基于所述第二随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点;xb为所述第一目标点的横轴坐标值,n为所述预设椭圆曲线密码系统的椭圆曲线群的阶数。
上述步骤S105中第二设备获取第五集合、第六集合以及第二目标点的横坐标值的实现方式可以包括如下步骤1至步骤6。
步骤1、根据所述第一目标点的横坐标值、以及计算
其中,其中,n为所述预设椭圆曲线密码系统的椭圆曲线群的阶数,&表示逻辑与运算,表示第一目标点的横轴坐标值的二进制值,其长度为w。
步骤2、获取第二目标点的横轴坐标值。
其中,所述第二目标点为基于所述第二随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点。
需要说明的是,在步骤2之前,第二设备还需要生成第二随机数ra。具体的,可以在正整数中随机选取随机数,即第一随机数
设:所述预设椭圆曲线密码系统的基点为G,第二随机数为ra,则第二目标点的坐标值为:RA=ra[×]G=(xa,ya),第二目标点的横轴坐标值为xa。
步骤3、根据公式以及计算第二盲化值。
其中,ta为所述第二盲化值,ra为第二随机数、xa为第二目标点的横轴坐标值。
步骤4、根据第四集合、第二盲化值、预设椭圆曲线密码系统的余因子、获取第五集合。
由于第五集合中的元素与所述第四集合中的元素一一对应,且所述第五集合中的元素为所述第四集合中对应元素的第一倍点值与第二倍点值的和,所述第四集合中任一元素的第一倍点值为基于第二盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第四集合中任一元素的第二倍点值为基于所述对该元素进行倍点运算得到的值,因此当第四集合中的某一元素为Qi时,该元素的第一倍点值为(h·ta)[×]Qi、该元素的第二倍点值为该元素对应的第五集合中的元素为
承上示例所述,第四集合为:
{rb[×]EP(sb1),rb[×]EP(sb3),rb[×]EP(sb2),…};
因此第五集合为:
步骤5、基于预设哈希算法对第二集合中的每个元素进行哈希运算得到第十三集合。
设:第二集合为{sa1,sa2,sa3,…},则基于预设哈希算法对第二集合中的每个元素进行哈希运算得到第十三集合为:{H(sa1),H(sa2),H(sa3),…}。
需要说明的,第二设备采用的哈希算法与第一设备采用的哈希算法相同。具体的,可以在获取第一设备持有的第一集合和第二设备持有的第二集合的交集之前,向第一设备和第二设备发送配置信息,并通过配置信息为第一设备和第二设备配置相同的哈希算法。
步骤6、将第十三集合中的每个元素分别转换为预设椭圆曲线密码系统的椭圆曲线上的点得到所述第二点集。
将第十三集合中的元素转换为预设椭圆曲线密码系统的椭圆曲线上的点的实现方式可以与上述步骤b中将第十二集合中的元素转换为所述预设椭圆曲线密码系统的椭圆曲线上的点的实现方式相同,在此不再赘述。
承上示例所述,第十三集合为:{H(sa1),H(sa2),H(sa3),…},则将所述第十三集合中的每个元素分别转换为所述预设椭圆曲线密码系统的椭圆曲线上的点得到的第二点集为:{EP(sa1),EP(sa2),EP(sa3),…}
步骤7、基于所述第二盲化值对第二点集中的每个点进行倍点运算得到第七集合。
承上示例所述,第二盲化值为ta、第二点集为:{EP(sa1),EP(sa2),EP(sa3),…},则基于所述第二盲化值对第二点集中的每个点进行倍点运算得到的第七集合为:{ta[×]EP(sa1),ta[×]EP(sa2),ta[×]EP(sa3),…}
步骤8、对第七集合中的元素进行随机置换得到第六集合。
承上示例所述,第七集合为{ta[×]EP(sa1),ta[×]EP(sa2),ta[×]EP(sa3),…},则对第七集合中的元素进行随机置换得到的第六集合为{ta[×]EP(sa1),ta[×]EP(sa3),ta[×]EP(sa2),…}。
S106、第二设备向所述第一设备发送所述第五集合、所述第六集合以及所述第二目标点的横坐标值。
对应的,第一设备接收第二设备发送的所述第五集合、所述第六集合以及所述第二目标点的横坐标值。
S107、第一设备获取第八集合。
其中,所述第八集合为基于目标逆元值对所述第五集合的每个元素的所述第一倍点值进行倍点运算得到的集合,所述目标逆元值为所述预设椭圆曲线密码系统的余因子与所述第一盲化值的乘积的逆元值。
具体的,第一设备获取第八集合的实现方式包括如下步骤Ⅰ和步骤Ⅱ:
步骤Ⅰ、根据预设椭圆曲线密码系统的余因子和第一盲化值计算目标逆元值。
具体的,预设椭圆曲线密码系统的余因子为h,第一盲化值为tb,预设椭圆曲线密码系统的余因子与所述第一盲化值的乘积为h·tb,因此可以基于(h·tb)·(h·tb)-1≡1mod n,确定目标逆元值(h·tb)-1。
步骤Ⅱ、基于目标逆元值对所述第五集合中的每个元素的所述第一倍点值进行倍点运算得到第八集合。
承上示例所述,第五集合为:
第五集合中的每个元素的第一倍点值分别为(h·ta)[×](rb[×]EP(sb1),(h·ta)[×](rb[×]EP(sb3),(h·ta)[×](rb[×]EP(sb2)…,则第八集合为:
S108、第一设备根据所述第六集合和所述第八集合的交集确定所述第一集合和所述第二集合的交集。
具体的,可以将第六集合中的元素逐一与第八集合中的元素进行比较,确定第六集合与第八集合的交集,并将交集对应的第一集合中的元素确定为第一集合和所述第二集合的交集。
承上示例所述,第六集合为:
{ta[×]EP(sa1),ta[×]EP(sa3),ta[×]EP(sa2),…};
第八集合为:
逐一确定第八集合中的元素是否与第六集合中的元素相等,若
则确定sbi=saj,第一集合和所述第二集合的交集包括:sbi。
在上述步骤S103中,若第一设备确定所述第一集合中的元素的数量大于或等于所述第二集合中的元素的数量,则本发明实施例提供的基于SM2的PSI获取方法执行如下步骤S109至S113:
S109、第一设备向所述第二设备发送第二服务请求。
对应的,第二设备接收所述第一设备发送的第二服务请求。
其中,所述第二服务请求用于请求获取第一设备持有的第一集合和第二设备持有的第二集合的交集,携带有所述第四集合、所述第一目标点的横坐标值以及第二指示信息,所述第二指示信息用于指示所述第一集合中的元素的数量大于或等于所述第二集合中的元素的数量。
S110、第二设备获取第五集合、第九集合以及第二目标点的横坐标值。
所述第五集合中的元素与所述第四集合中的元素一一对应,且所述第五集合中的元素为所述第四集合中对应元素的第一倍点值与第二倍点值的和,所述第四集合中任一元素的第一倍点值为基于第二盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第四集合中任一元素的第二倍点值为基于对该元素进行倍点运算得到的值。
所述第九集合为对第十集合中的元素进行随机置换得到的集合,所述第十集合为基于所述第二随机数对所述第二点集中的每个点进行倍点运算得到的集合。
所述第二盲化值为根据公式 以及计算获取的值,其中,ta为所述第二盲化值,ra为第二随机数、xa为第二目标点的横轴坐标值,所述第二目标点为基于所述第二随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点;xb为所述第一目标点的横轴坐标值,n为所述预设椭圆曲线密码系统的椭圆曲线群的阶数。
第二设备获取第五集合和第二目标点的横坐标值的方式与上述步骤1至步骤8中获取第五集合和第二目标点的横坐标值的方式类似,且获取第五集合和第二目标点的横坐标值与上述步骤1至步骤8中获取的第五集合和第二目标点的横坐标值相同,在此不再赘述。
承上示例所述,第二点集为{EP(sa1),EP(sa2),EP(sa3),…},第二随机数为ra,则第十集合为:{ra[×]EP(sa1),ra[×]EP(sa2),ra[×]EP(sa3),…},第九集合为:{ra[×]EP(sa1),ra[×]EP(sa3),ra[×]EP(sa2),…}。
S111、第二设备向所述第一设备发送所述第五集合、所述第九集合以及所述第二目标点的横坐标值。
对应的,第一设备接收第二设备发送的第五集合、所述第九集合以及第二目标点的横坐标值。
S112、第一设备获取第十一集合。
其中,所述第十一集合中的元素与所述第九集合中的元素一一对应,且所述第十一集合中的元素为所述第九集合中对应元素的第一倍点值与第二倍点值的和,所述第九集合中任一元素的第一倍点值为基于第一盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第九集合中任一元素的第二倍点值为基于所述对该元素进行倍点运算得到的值。
承上示例所述,第九集合为:{ra[×]EP(sa1),ra[×]EP(sa3),ra[×]EP(sa1),…},第一盲化值为tb、预设椭圆曲线密码系统的余因子为h,则第十一集合为:
其中,以及xa为第二目标点的横轴坐标值,n为所述预设椭圆曲线密码系统的椭圆曲线群的阶数。
S113、根据所述第五集合和所述第十一集合的交集作确定所述第一集合和所述第二集合的交集。
承上示例所述,
第五集合为:
第十一集合为:
则,逐一确定第五集合中的元素是否与第十一集合中的元素相等,若
则确定sbi=saj,第一集合和所述第二集合的交集包括:sbi。
需要说明的,本发明实施例中不限定各个步骤之间的相互顺序,只需满足在使用某一参数之前接收或计算获取了该参数即可。
此外,在设备间进行数据传输时,在本发明实施例描述为同时将多个数据封装在同一消息中传输,但本发明实施例并不限定与此,在上述实施例的基础上,还可以将消息中的数据分别发送至通信对端。例如:第二设备向所述第一设备发送所述第五集合和所述第九集合,可以为:第二设备将所述第五集合和所述第九集合封装为一个消息发送至第一设备,也可以为第二设备将所述第五集合和所述第九集合分别封装为一个消息,并分别发送至第一设备。
本发明实施例提供的基于SM2的PSI获取方法在获取第一设备持有的第一集合和第二设备持有的第二集合的交集时,获取第四集合、第一目标点的横坐标值以及第一盲化值,并向在确定所述第一集合中的元素的数量小于所述第二集合中的元素的数量的情况下,向所述第二设备发送第一服务请求,第二设备接收第一设备发送的第一服务请求后,根据获取第五集合、第六集合以及第二目标点的横坐标值,并向所述第一设备发送所述第五集合、所述第六集合以及所述第二目标点的横坐标值,最后基于第五集合得到第八集合并根据所述第六集合和所述第八集合的交集确定所述第一集合和所述第二集合的交集。由于所述第四集合为对所述第三集合中的元素进行随机置换得到的集合,所述第一目标点为基于所述第一随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点,所述第三集合为基于第一随机数对第一点集中的每个点进行倍点运算得到的集合,所述第一点集为将所述第一集合中的每个元素的哈希值转换为预设椭圆曲线密码系统的椭圆曲线上的点得到的点集,所述第五集合中的元素与所述第四集合中的元素一一对应,且所述第五集合中的元素为所述第四集合中对应元素的第一倍点值与第二倍点值的和,所述第四集合中任一元素的第一倍点值为基于第二盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第四集合中任一元素的第二倍点值为基于对该元素进行倍点运算得到的值;所述第六集合为对第七集合中的元素进行随机置换得到的集合,所述第七集合为基于所述第二盲化值对第二点集中的每个点进行倍点运算得到的集合,所述第二点集为将所述第二集合中的每个元素的哈希值转换为所述预设椭圆曲线密码系统的椭圆曲线上的点得到的点集,因此本发明实施例可以使PSI的获取流程适配于SM2的密钥交换协议的流程,基于SM2的密钥交换协议的流程实现PSI的获取,因此本发明实施例提供了一种可以基于SM2获取PSI的方法。
可选的,在基于上述实施例提供的基于SM2的PSI获取方法获取第一设备持有的第一集合和第二设备持有的第二集合的交集之前,本发明实施例提供的方法还包括:
第一设备和第二设备接收配置信息。
其中,所述配置信息包括:所述预设椭圆曲线密码系统的椭圆曲线、所述预设椭圆曲线密码系统的椭圆曲线群的阶数以及所述预设椭圆曲线密码系统的基点的坐标轴值。
即,在基于上述实施例提供的基于SM2的PSI获取方法获取第一设备持有的第一集合和第二设备持有的第二集合的交集之前,还需要为第一设备和第二设备配置所述预设椭圆曲线密码系统的椭圆曲线、所述预设椭圆曲线密码系统的椭圆曲线群的阶数以及所述预设椭圆曲线密码系统的基点的坐标轴值,以保证第一设备和第二设备的预设椭圆曲线密码系统的椭圆曲线、所述预设椭圆曲线密码系统的椭圆曲线群的阶数以及所述预设椭圆曲线密码系统的基点的坐标轴值相同。
基于同一发明构思,作为对上述方法的实现,本发明实施例还提供了一种执行上述方法实施例提供的基于SM2的PSI获取方法的基于SM2的PSI获取装置,该实施例与前述方法实施例对应,为便于阅读,本实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的基于SM2的PSI获取装置能够对应实现前述方法实施例中的全部内容。
图2为本发明实施例提供的第一设备的结构示意图,参照图2所示,本发明实施例提供的第一设备200包括:
生成单元21,用于在获取所述第一设备持有的第一集合和第二设备持有的第二集合的交集时,生成第三集合,所述第三集合为基于第一随机数对第一点集中的每个点进行倍点运算得到的集合,所述第一点集为将所述第一集合中的每个元素的哈希值转换为预设椭圆曲线密码系统的椭圆曲线上的点得到的点集;
第一获取单元22,用于获取第四集合、第一目标点的横坐标值以及第一盲化值;所述第四集合为对所述第三集合中的元素进行随机置换得到的集合,所述第一目标点为基于所述第一随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点;所述第一盲化值为根据公式 以及计算获取的值;其中,tb为所述第一盲化值,rb为第一随机数、xb为所述第一目标点的横轴坐标值,n为所述预设椭圆曲线密码系统的椭圆曲线群的阶数;
发送单元23,用于在确定所述第一集合中的元素的数量小于所述第二集合中的元素的数量的情况下,向所述第二设备发送第一服务请求;所述第一服务请求用于请求获取所述第一集合和所述第二集合的交集,携带有所述第四集合、所述第一目标点的横坐标值以及第一指示信息,所述第一指示信息用于指示所述第一集合中的元素的数量小于所述第二集合中的元素的数量;
接收单元24,用于接收所述第二设备发送的第五集合、第六集合以及第二目标点的横坐标值;所述第五集合中的元素与所述第四集合中的元素一一对应,且所述第五集合中的元素为所述第四集合中对应元素的第一倍点值与第二倍点值的和,所述第四集合中任一元素的第一倍点值为基于第二盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第四集合中任一元素的第二倍点值为基于所述对该元素进行倍点运算得到的值;所述第六集合为对第七集合中的元素进行随机置换得到的集合,所述第七集合为基于所述第二盲化值对第二点集中的每个点进行倍点运算得到的集合,所述第二点集为将所述第二集合中的每个元素的哈希值转换为所述椭圆曲线上的点得到的点集;所述第二盲化值为根据公式以及 计算获取的值,其中,ta为所述第二盲化值,ra为第二随机数、xa为第二目标点的横轴坐标值,所述第二目标点为基于所述第二随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点;
第二获取单元25,用于获取第八集合,所述第八集合为基于目标逆元值对所述第五集合的每个元素的所述第一倍点值进行倍点运算得到的集合,所述目标逆元值为所述预设椭圆曲线密码系统的余因子与所述第一盲化值的乘积的逆元值;
第三获取单元26,用于根据所述第六集合和所述第八集合的交集确定所述第一集合和所述第二集合的交集。
作为本发明实施例一种可选的实施方式,
所述发送单元23,还用于在确定所述第一集合中的元素的数量大于或等于所述第二集合中的元素的数量的情况下,向所述第二设备发送第二服务请求,所述第二服务请求用于请求获取第一设备持有的第一集合和第二设备持有的第二集合的交集,携带有所述第四集合、所述第一目标点的横坐标值以及第二指示信息,所述第二指示信息用于指示所述第一集合中的元素的数量大于或等于所述第二集合中的元素的数量;
所述接收单元24,还用于接收所述第二设备发送的所述第五集合、第九集合以及所述第二目标点的横坐标值;所述第九集合为对第十集合中的元素进行随机置换得到的集合,所述第十集合为基于所述第二随机数对所述第二点集中的每个点进行倍点运算得到的集合;
所述第二获取单元25,还用于获取第十一集合,所述第十一集合中的元素与所述第九集合中的元素一一对应,且所述第十一集合中的元素为所述第九集合中对应元素的第一倍点值与第二倍点值的和,所述第九集合中任一元素的第一倍点值为基于第一盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第九集合中任一元素的第二倍点值为基于所述对该元素进行倍点运算得到的值;
所述第三获取单元26,还用于根据所述第五集合和所述第十一集合的交集作确定所述第一集合和所述第二集合的交集。
作为本发明实施例一种可选的实施方式,所述接收单元24,还用于接收配置信息,所述配置信息包括:所述预设椭圆曲线密码系统的椭圆曲线、所述预设椭圆曲线密码系统的椭圆曲线群的阶数以及所述预设椭圆曲线密码系统的基点的坐标轴值。
图3为本发明实施例提供的第二设备的结构示意图,参照图3所示,本发明实施例提供的第二设备300包括:
接收单元31,用于接收第一设备发送的第一服务请求,所述第一服务请求用于请求获取第一设备持有的第一集合和第二设备持有的第二集合的交集,携带有第四集合、第一目标点的横坐标值以及第一指示信息,所述第一指示信息用于指示所述第一集合中的元素的数量小于所述第二集合中的元素的数量;
获取单元32,用于获取第五集合、第六集合以及第二目标点的横坐标值;所述第五集合中的元素与所述第四集合中的元素一一对应,且所述第五集合中的元素为所述第四集合中对应元素的第一倍点值与第二倍点值的和,所述第四集合中任一元素的第一倍点值为基于第二盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第四集合中任一元素的第二倍点值为基于对该元素进行倍点运算得到的值;所述第六集合为对第七集合中的元素进行随机置换得到的集合,所述第七集合为基于所述第二盲化值对第二点集中的每个点进行倍点运算得到的集合,所述第二点集为将所述第二集合中的每个元素的哈希值转换为所述预设椭圆曲线密码系统的椭圆曲线上的点得到的点集;所述第二盲化值为根据公式以及 计算获取的值,其中,ta为所述第二盲化值,ra为第二随机数、xa为第二目标点的横轴坐标值,所述第二目标点为基于所述第二随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点;xb为所述第一目标点的横轴坐标值,n为所述预设椭圆曲线密码系统的椭圆曲线群的阶数;
发送单元33,用于向所述第一设备发送所述第五集合、所述第六集合以及所述第二目标点的横坐标值。
作为本发明实施例一种可选的实施方式,
所述接收单元31,还用于接收第一设备发送的第二服务请求,所述第二服务请求用于请求获取第一设备持有的第一集合和第二设备持有的第二集合的交集,携带有第四集合、第一目标点的横坐标值以及第二指示信息,所述第二指示信息用于指示所述第一集合中的元素的数量大于或等于所述第二集合中的元素的数量;
所述获取单元32,还用于获取所述第五集合、第九集合以及第二目标点的横坐标值,所述第九集合为对第十集合中的元素进行随机置换得到的集合,所述第十集合为基于所述第二随机数对所述第二点集中的每个点进行倍点运算得到的集合;
所述发送单元33,还用于向所述第一设备发送所述第五集合、所述第九集合以及所述第二目标点的横坐标值。
作为本发明实施例一种可选的实施方式,所述接收单元31,还用于接收配置信息,所述配置信息包括:所述预设椭圆曲线密码系统的椭圆曲线、所述预设椭圆曲线密码系统的椭圆曲线群的阶数以及所述预设椭圆曲线密码系统的基点的坐标轴值。
本发明实施例提供的第一设备和第二设备可以执行上述实施例提供的基于SM2的PSI获取方法中的全部内容,因此可达到相同的技术效果,在此不再对第一设备和第二设备所能达到的技术效果进行赘述。
基于同一发明构思,本发明实施例提供一种基于SM2的PSI获取系统,包括:上述实施例提供的第一设备以及上述实施例提供的第二设备。
基于同一发明构思,本发明实施例还提供了一种基于SM2的PSI获取装置。图4为本发明实施例提供的基于SM2的PSI获取装置的结构示意图,如图4所示,本实施例提供的基于SM2的PSI获取装置包括:存储器41和处理器42,存储器41用于存储计算机程序;处理器42用于在调用计算机程序时执行上述基于SM2的PSI获取方法中第一设备或第二设备所执行的步骤。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的基于SM2的PSI获取方法中第一设备或第二设备所执行的步骤。
本领域技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种基于SM2的隐私保护集合交集PSI获取方法,其特征在于,应用于第一设备,所述方法包括:
在获取所述第一设备持有的第一集合和第二设备持有的第二集合的交集时,生成第三集合,所述第三集合为基于第一随机数对第一点集中的每个点进行倍点运算得到的集合,所述第一点集为将所述第一集合中的每个元素的哈希值转换为预设椭圆曲线密码系统的椭圆曲线上的点得到的点集;
获取第四集合、第一目标点的横坐标值以及第一盲化值;所述第四集合为对所述第三集合中的元素进行随机置换得到的集合,所述第一目标点为基于所述第一随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点;所述第一盲化值为根据公式 以及计算获取的值;其中,tb为所述第一盲化值,rb为第一随机数、xb为所述第一目标点的横轴坐标值,n为所述预设椭圆曲线密码系统的椭圆曲线群的阶数,为第一目标点的横轴坐标值的二进制值;
在确定所述第一集合中的元素的数量小于所述第二集合中的元素的数量的情况下,向所述第二设备发送第一服务请求;所述第一服务请求用于请求获取所述第一集合和所述第二集合的交集,携带有所述第四集合、所述第一目标点的横坐标值以及第一指示信息,所述第一指示信息用于指示所述第一集合中的元素的数量小于所述第二集合中的元素的数量;
接收所述第二设备发送的第五集合、第六集合以及第二目标点的横坐标值;所述第五集合中的元素与所述第四集合中的元素一一对应,且所述第五集合中的元素为所述第四集合中对应元素的第一倍点值与第二倍点值的和,所述第四集合中任一元素的第一倍点值为基于第二盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第四集合中任一元素的第二倍点值为基于所述对该元素进行倍点运算得到的值;所述第六集合为对第七集合中的元素进行随机置换得到的集合,所述第七集合为基于所述第二盲化值对第二点集中的每个点进行倍点运算得到的集合,所述第二点集为将所述第二集合中的每个元素的哈希值转换为所述椭圆曲线上的点得到的点集;所述第二盲化值为根据公式以及计算获取的值,其中,ta为所述第二盲化值,ra为第二随机数、xa为第二目标点的横轴坐标值,所述第二目标点为基于所述第二随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点,为第二目标点的横轴坐标值的二进制值;
获取第八集合,所述第八集合为基于目标逆元值对所述第五集合的每个元素的所述第一倍点值进行倍点运算得到的集合,所述目标逆元值为所述预设椭圆曲线密码系统的余因子与所述第一盲化值的乘积的逆元值;
根据所述第六集合和所述第八集合的交集确定所述第一集合和所述第二集合的交集。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定所述第一集合中的元素的数量大于或等于所述第二集合中的元素的数量的情况下,向所述第二设备发送第二服务请求,所述第二服务请求用于请求获取第一设备持有的第一集合和第二设备持有的第二集合的交集,携带有所述第四集合、所述第一目标点的横坐标值以及第二指示信息,所述第二指示信息用于指示所述第一集合中的元素的数量大于或等于所述第二集合中的元素的数量;
接收所述第二设备发送的所述第五集合、第九集合以及所述第二目标点的横坐标值;所述第九集合为对第十集合中的元素进行随机置换得到的集合,所述第十集合为基于所述第二随机数对所述第二点集中的每个点进行倍点运算得到的集合;
获取第十一集合,所述第十一集合中的元素与所述第九集合中的元素一一对应,且所述第十一集合中的元素为所述第九集合中对应元素的第一倍点值与第二倍点值的和,所述第九集合中任一元素的第一倍点值为基于第一盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第九集合中任一元素的第二倍点值为基于所述对该元素进行倍点运算得到的值;
根据所述第五集合和所述第十一集合的交集作确定所述第一集合和所述第二集合的交集。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收配置信息,所述配置信息包括:所述预设椭圆曲线密码系统的椭圆曲线、所述预设椭圆曲线密码系统的椭圆曲线群的阶数以及所述预设椭圆曲线密码系统的基点的坐标轴值。
4.一种基于SM2的隐私保护集合交集PSI获取方法,其特征在于,应用于第二设备,所述方法包括:
接收第一设备发送的第一服务请求,所述第一服务请求用于请求获取第一设备持有的第一集合和第二设备持有的第二集合的交集,携带有第四集合、第一目标点的横坐标值以及第一指示信息,所述第一指示信息用于指示所述第一集合中的元素的数量小于所述第二集合中的元素的数量;
获取第五集合、第六集合以及第二目标点的横坐标值;所述第五集合中的元素与所述第四集合中的元素一一对应,且所述第五集合中的元素为所述第四集合中对应元素的第一倍点值与第二倍点值的和,所述第四集合中任一元素的第一倍点值为基于第二盲化值与预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第四集合中任一元素的第二倍点值为基于对该元素进行倍点运算得到的值;所述第六集合为对第七集合中的元素进行随机置换得到的集合,所述第七集合为基于所述第二盲化值对第二点集中的每个点进行倍点运算得到的集合,所述第二点集为将所述第二集合中的每个元素的哈希值转换为所述预设椭圆曲线密码系统的椭圆曲线上的点得到的点集;所述第二盲化值为根据公式以及计算获取的值,其中,ta为所述第二盲化值,ra为第二随机数、xa为第二目标点的横轴坐标值,所述第二目标点为基于所述第二随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点,为第二目标点的横坐标的二进制值;xb为所述第一目标点的横轴坐标值,n为所述预设椭圆曲线密码系统的椭圆曲线群的阶数,为第一目标点的横轴坐标值的二进制值;
向所述第一设备发送所述第五集合、所述第六集合以及所述第二目标点的横坐标值。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收第一设备发送的第二服务请求,所述第二服务请求用于请求获取第一设备持有的第一集合和第二设备持有的第二集合的交集,携带有第四集合、第一目标点的横坐标值以及第二指示信息,所述第二指示信息用于指示所述第一集合中的元素的数量大于或等于所述第二集合中的元素的数量;
获取所述第五集合、第九集合以及第二目标点的横坐标值,所述第九集合为对第十集合中的元素进行随机置换得到的集合,所述第十集合为基于所述第二随机数对所述第二点集中的每个点进行倍点运算得到的集合;
向所述第一设备发送所述第五集合、所述第九集合以及所述第二目标点的横坐标值。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
接收配置信息,所述配置信息包括:所述预设椭圆曲线密码系统的椭圆曲线、所述预设椭圆曲线密码系统的椭圆曲线群的阶数以及所述预设椭圆曲线密码系统的基点的坐标轴值。
7.一种第一设备,其特征在于,包括:
生成单元,用于在获取所述第一设备持有的第一集合和第二设备持有的第二集合的交集时,生成第三集合,所述第三集合为基于第一随机数对第一点集中的每个点进行倍点运算得到的集合,所述第一点集为将所述第一集合中的每个元素的哈希值转换为预设椭圆曲线密码系统的椭圆曲线上的点得到的点集;
第一获取单元,用于获取第四集合、第一目标点的横坐标值以及第一盲化值;所述第四集合为对所述第三集合中的元素进行随机置换得到的集合,所述第一目标点为基于所述第一随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点;所述第一盲化值为根据公式 以及计算获取的值;其中,tb为所述第一盲化值,rb为第一随机数、xb为所述第一目标点的横轴坐标值,n为所述预设椭圆曲线密码系统的椭圆曲线群的阶数,为第一目标点的横轴坐标值的二进制值;
发送单元,用于在确定所述第一集合中的元素的数量小于所述第二集合中的元素的数量的情况下,向所述第二设备发送第一服务请求;所述第一服务请求用于请求获取所述第一集合和所述第二集合的交集,携带有所述第四集合、所述第一目标点的横坐标值以及第一指示信息,所述第一指示信息用于指示所述第一集合中的元素的数量小于所述第二集合中的元素的数量;
接收单元,用于接收所述第二设备发送的第五集合、第六集合以及第二目标点的横坐标值;所述第五集合中的元素与所述第四集合中的元素一一对应,且所述第五集合中的元素为所述第四集合中对应元素的第一倍点值与第二倍点值的和,所述第四集合中任一元素的第一倍点值为基于第二盲化值与所述预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第四集合中任一元素的第二倍点值为基于所述对该元素进行倍点运算得到的值;所述第六集合为对第七集合中的元素进行随机置换得到的集合,所述第七集合为基于所述第二盲化值对第二点集中的每个点进行倍点运算得到的集合,所述第二点集为将所述第二集合中的每个元素的哈希值转换为所述椭圆曲线上的点得到的点集;所述第二盲化值为根据公式以及 计算获取的值,其中,ta为所述第二盲化值,ra为第二随机数、xa为第二目标点的横轴坐标值,所述第二目标点为基于所述第二随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点,为第二目标点的横坐标的二进制值;
第二获取单元,用于获取第八集合,所述第八集合为基于目标逆元值对所述第五集合的每个元素的所述第一倍点值进行倍点运算得到的集合,所述目标逆元值为所述预设椭圆曲线密码系统的余因子与所述第一盲化值的乘积的逆元值;
第三获取单元,用于根据所述第六集合和所述第八集合的交集确定所述第一集合和所述第二集合的交集。
8.一种第二设备,其特征在于,包括:
接收单元,用于接收第一设备发送的第一服务请求,所述第一服务请求用于请求获取第一设备持有的第一集合和第二设备持有的第二集合的交集,携带有第四集合、第一目标点的横坐标值以及第一指示信息,所述第一指示信息用于指示所述第一集合中的元素的数量小于所述第二集合中的元素的数量;
获取单元,用于获取第五集合、第六集合以及第二目标点的横坐标值;所述第五集合中的元素与所述第四集合中的元素一一对应,且所述第五集合中的元素为所述第四集合中对应元素的第一倍点值与第二倍点值的和,所述第四集合中任一元素的第一倍点值为基于第二盲化值与预设椭圆曲线密码系统的余因子的乘积对该元素进行倍点运算得到的值,所述第四集合中任一元素的第二倍点值为基于对该元素进行倍点运算得到的值;所述第六集合为对第七集合中的元素进行随机置换得到的集合,所述第七集合为基于所述第二盲化值对第二点集中的每个点进行倍点运算得到的集合,所述第二点集为将所述第二集合中的每个元素的哈希值转换为所述预设椭圆曲线密码系统的椭圆曲线上的点得到的点集;所述第二盲化值为根据公式以及 计算获取的值,其中,ta为所述第二盲化值,ra为第二随机数、xa为第二目标点的横轴坐标值,所述第二目标点为基于所述第二随机数对所述预设椭圆曲线密码系统的基点进行倍点运算得到的点,为第二目标点的横轴坐标值的二进制值;xb为所述第一目标点的横轴坐标值,n为所述预设椭圆曲线密码系统的椭圆曲线群的阶数,为第一目标点的横轴坐标值的二进制值;
发送单元,用于将所述第五集合、所述第六集合以及所述第二目标点的横坐标值发送至所述第一设备。
9.一种基于SM2的隐私保护集合交集PSI获取系统,其特征在于,包括:权利要求7所述的第一设备以及权利要求8所述的第二设备。
10.一种基于SM2的隐私保护集合交集PSI获取装置,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用计算机程序时执行权利要求1-6任一项所述的基于SM2的PSI获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010653490.0A CN113922960B (zh) | 2020-07-08 | 2020-07-08 | 一种基于sm2的psi获取方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010653490.0A CN113922960B (zh) | 2020-07-08 | 2020-07-08 | 一种基于sm2的psi获取方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113922960A CN113922960A (zh) | 2022-01-11 |
CN113922960B true CN113922960B (zh) | 2023-10-24 |
Family
ID=79231826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010653490.0A Active CN113922960B (zh) | 2020-07-08 | 2020-07-08 | 一种基于sm2的psi获取方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113922960B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801261B (zh) * | 2023-01-15 | 2023-04-25 | 三未信安科技股份有限公司 | 一种基于国密算法的密文求交方法 |
CN118194332B (zh) * | 2024-05-15 | 2024-08-30 | 北京密码云芯科技有限公司 | 一种隐私求交方法、装置、设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8572405B2 (en) * | 2012-03-15 | 2013-10-29 | Sap Ag | Collusion-resistant outsourcing of private set intersection |
US9158925B2 (en) * | 2013-11-27 | 2015-10-13 | Microsoft Technology Licensing, Llc | Server-aided private set intersection (PSI) with data transfer |
CN106411498A (zh) * | 2016-12-23 | 2017-02-15 | 艾体威尔电子技术(北京)有限公司 | 一种实现国密算法的方法 |
WO2017216801A1 (en) * | 2016-06-16 | 2017-12-21 | Bar-Ilan University | Secure sharing of confidential digital data |
CN108011716A (zh) * | 2016-10-31 | 2018-05-08 | 航天信息股份有限公司 | 一种密码装置及实现方法 |
EP3340152A1 (en) * | 2016-12-22 | 2018-06-27 | Telefonica Digital España, S.L.U. | Method of selecting and delivering content for privacy-protected targeting content systems |
CN110290134A (zh) * | 2019-06-25 | 2019-09-27 | 神州融安科技(北京)有限公司 | 一种身份认证方法、装置、存储介质及处理器 |
CN110955915A (zh) * | 2019-12-14 | 2020-04-03 | 支付宝(杭州)信息技术有限公司 | 一种隐私数据的处理方法及装置 |
CN111259443A (zh) * | 2020-01-16 | 2020-06-09 | 百融云创科技股份有限公司 | 一种基于psi技术保护联邦学习预测阶段隐私的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11308227B2 (en) * | 2012-01-09 | 2022-04-19 | Visa International Service Association | Secure dynamic page content and layouts apparatuses, methods and systems |
US11095625B2 (en) * | 2016-03-18 | 2021-08-17 | Micro Focus Llc | Data objects associated with private set intersection (PSI) |
-
2020
- 2020-07-08 CN CN202010653490.0A patent/CN113922960B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8572405B2 (en) * | 2012-03-15 | 2013-10-29 | Sap Ag | Collusion-resistant outsourcing of private set intersection |
US9158925B2 (en) * | 2013-11-27 | 2015-10-13 | Microsoft Technology Licensing, Llc | Server-aided private set intersection (PSI) with data transfer |
WO2017216801A1 (en) * | 2016-06-16 | 2017-12-21 | Bar-Ilan University | Secure sharing of confidential digital data |
CN108011716A (zh) * | 2016-10-31 | 2018-05-08 | 航天信息股份有限公司 | 一种密码装置及实现方法 |
EP3340152A1 (en) * | 2016-12-22 | 2018-06-27 | Telefonica Digital España, S.L.U. | Method of selecting and delivering content for privacy-protected targeting content systems |
CN106411498A (zh) * | 2016-12-23 | 2017-02-15 | 艾体威尔电子技术(北京)有限公司 | 一种实现国密算法的方法 |
CN110290134A (zh) * | 2019-06-25 | 2019-09-27 | 神州融安科技(北京)有限公司 | 一种身份认证方法、装置、存储介质及处理器 |
CN110955915A (zh) * | 2019-12-14 | 2020-04-03 | 支付宝(杭州)信息技术有限公司 | 一种隐私数据的处理方法及装置 |
CN111259443A (zh) * | 2020-01-16 | 2020-06-09 | 百融云创科技股份有限公司 | 一种基于psi技术保护联邦学习预测阶段隐私的方法 |
Non-Patent Citations (3)
Title |
---|
Privacy-Aware Genome Mining: Server-Assisted Protocols for Private Set Intersection and Pattern Matching;Constantinos Patsakis ect.;《2015 IEEE 28th International Symposium on Computer-Based Medical Systems》;全文 * |
崔泓睿 ; 刘天怡 ; 郁昱.带隐私保护的集合交集计算协议的发展现状综述.《信息安全与通信保密》.2019,全文. * |
适用于社交网络的隐私保护兴趣度匹配方案;罗小双;杨晓元;王绪安;;计算机应用(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113922960A (zh) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2765238C2 (ru) | Устройство и способ совместного использования матрицы для использования в криптографическом протоколе | |
CN110391900B (zh) | 基于sm2算法的私钥处理方法、终端及密钥中心 | |
CN109728906B (zh) | 基于非对称密钥池的抗量子计算非对称加密方法和系统 | |
CN110224976B (zh) | 一种加密通信方法、装置及计算机可读存储介质 | |
CN107425971B (zh) | 无证书的数据加/解密方法和装置、终端 | |
CN113922960B (zh) | 一种基于sm2的psi获取方法、装置及系统 | |
CN111211911B (zh) | 一种协同签名方法、装置、设备及系统 | |
CN108833117B (zh) | 一种私钥存储和读取方法、装置及硬件设备 | |
CN114091045A (zh) | 保护隐私的信息查询方法、装置、系统、设备及存储介质 | |
CN117155615A (zh) | 数据加密传输方法、系统、电子设备及存储介质 | |
US20150023498A1 (en) | Byzantine fault tolerance and threshold coin tossing | |
CN114760052A (zh) | 银行物联网平台密钥生成方法、装置、电子设备及介质 | |
CN114138823A (zh) | 一种加密文件检索方法及系统 | |
CN111798236B (zh) | 交易数据加、解密方法、装置及设备 | |
CN114362912A (zh) | 基于分布式密钥中心的标识密码生成方法、电子设备及介质 | |
CN113206739B (zh) | 组合公钥cpk的密钥生成方法、装置及存储介质 | |
CN114697001B (zh) | 一种基于区块链的信息加密传输方法、设备及介质 | |
CN110572788B (zh) | 基于非对称密钥池和隐式证书的无线传感器通信方法和系统 | |
CN114374518A (zh) | 具有交集计数的psi获取交集信息的方法及装置 | |
CN114357522A (zh) | 一种隐私计算分组查询方法及系统 | |
CN112862488A (zh) | 数据的签名方法、装置、电子设备及计算机可读存储介质 | |
Harjito et al. | Comparative Analysis between Elgamal and NTRU Algorithms and their implementation of Digital Signature for Electronic Certificate | |
CN111861474A (zh) | 基于cpk的转账方法、用户终端及云端服务器 | |
Kumaresan et al. | Choice-Based One-Time Pad Approach Using Hybrid Cellular Automata | |
Fugkeaw et al. | Proxy-assisted digital signing scheme for mobile cloud computing |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220117 Address after: Unit 515, floor 5, building 1, No. a 12, Zhongguancun South Street, Haidian District, Beijing 100081 Applicant after: Shenzhou Rongan digital technology (Beijing) Co.,Ltd. Address before: 100081 Room 408, Huantai building, 12 Zhongguancun South Street, Haidian District, Beijing Applicant before: SHENZHOU RONGAN TECHNOLOGY (BEIJING) CO.,LTD. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |