CN114640444A - 基于国产密码算法的隐私保护集合交集获取方法及装置 - Google Patents
基于国产密码算法的隐私保护集合交集获取方法及装置 Download PDFInfo
- Publication number
- CN114640444A CN114640444A CN202210271926.9A CN202210271926A CN114640444A CN 114640444 A CN114640444 A CN 114640444A CN 202210271926 A CN202210271926 A CN 202210271926A CN 114640444 A CN114640444 A CN 114640444A
- Authority
- CN
- China
- Prior art keywords
- initiator
- participant
- point
- elliptic curve
- value
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 239000003999 initiator Substances 0.000 claims abstract description 190
- 238000013507 mapping Methods 0.000 claims abstract description 81
- 238000012545 processing Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000012549 training Methods 0.000 abstract description 2
- 230000003993 interaction Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 102200044943 rs121913400 Human genes 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/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
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- 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
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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
- H04L9/3073—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 involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/72—Signcrypting, i.e. digital signing and encrypting simultaneously
Abstract
本发明提出一种基于国产密码算法的隐私保护集合交集获取方法及装置,发起方将选择的椭圆曲线参数及公钥发给参与方,参与方将己方的相关数据经过加密、加盲扰动等,构建出映射表发送给发起方;发起方对己方数据进行公钥加密和私钥加密,并构建映射表发送给参与方,将参与方映射表进行私钥加密,构建映射表返还给参与方;参与方对己方映射表进行去盲后,与发起方映射表集合进行交集运算,率先得到双方的交集结果,将交集结果发送给发起方;发起方也得到交集运算结果。本方案解决了在联合训练模型时发起方与参与方数据隐私保护的问题。
Description
技术领域
本申请涉及安全多方计算领域,尤其涉及一种基于国产密码算法的隐私保护集合交集获取方法及装置。
背景技术
隐私保护集合交集计算属于安全多方计算领域的特定应用问题,不仅具有重要的理论意义也具有很强的应用价值。随着用户数据的隐私保护越来越受到重视,这一方向的研究更是符合人们日益强烈的在享受各类依赖个人信息的业务的便利性的同时最大程度保护个人信息私密性的需要。目前隐私保护集合交集协议研究的发展非常迅速,而且对于数据隐私性保护的需求也日益强烈,但是在目前很多应用场景下,高效而不安全的协议还是主流选择。因此使用隐私保护集合交集协议的最新成果以及它们合适的应用场景将会对使用隐私保护集合交集协议替换现有非安全协议起到非常大的帮助。
基于国产密码算法的隐私保护集合交集协议是基于我国自研国产密码SM2及SM3的一种协议。SM2、SM3等国产密码,目前被我国广泛地应用在数据科学领域,国产密码成功的重要因素是它可以弥补国际密码安全漏洞问题。SM2算法基于安全先进的椭圆曲线密码机制具有抗攻击性强、CPU占用少、内容使用少、网络消耗低、加密速度快等特点,SM2算法密钥生成速度较国际通用密码RSA快百倍以上。同时在数字签名和验证、消息认证码的生成与验证以及随机数的生成等方面,使用国家密码管理局批准的SM3密码杂凑算法和随机数生成器。SM3杂凑算法是我国自主设计的密码杂凑算法,安全性要高于MD5算法(128位)和SHA-1算法(160位),SM3算法的压缩函数与SHA-256具有相似结构,但设计更加复杂。
发明内容
有鉴于此,本申请提出一种基于国产密码算法的隐私保护集合交集获取方法及装置,以解决在联合训练模型时发起方、参与方数据隐私保护的问题。
本申请的技术方案实现方法包括:
S1发起方选择椭圆曲线参数、生成私钥、使用椭圆曲线参数将私钥与椭圆曲线上所选点G做标量乘法生成公钥(椭圆曲线上点),并将所述椭圆曲线参数及公钥发给参与方;
S2参与方将参与方的用户数据id值(UA1,UA2,……,UAi),使用SM3进行加密,并生成用来加盲扰动的随机数,使用发起方选择的椭圆曲线参数将公钥与加密后的参与方用户数据id值、随机数做标量乘法进行加密生成椭圆曲线上点YAi,构建出参与方映射表一(UAi——YAi),将点YAi发送给发起方;所述参与方的用户数据id值为表示参与方用户唯一身份标识的值,如可以选参与方用户数据中的手机号、身份证号等可作为用户唯一身份标识,以便最后与发起方取得共有的用户的集合;
S3发起方对发起方的用户数据id值(UB1,UB2,……,UBj),使用SM3进行加密,使用发起方选择的椭圆曲线参数将公钥与加密的发起方的用户数据id值、私钥做标量乘法进行加密生成椭圆曲线上点,并且再次使用SM3对加密后点进行加密生成加密点DBj,构建发起方映射表(UBj——DBj),将点DBj发送给参与方;所述发起方的用户数据id值为表示发起方用户唯一身份标识的值,如可以选发起方用户数据中的手机号、身份证号等可作为用户唯一身份标识,以便最后与参与方取得共有的用户的集合;
将参与方加密点YAi与私钥做标量乘法加密生成新的椭圆曲线点点ZAi,构建新的参与方映射表二(YAi——ZAi),将点ZAi返回给参与方;
S4参与方对新的椭圆曲线点ZAi进行去盲处理生成新的椭圆曲线点WAi,去盲处理具体为消去随机数,构建参与方映射表三(ZAi——WAi),并再次使用SM3对点WAi进行加密生成新的点DAi,构建参与方映射表四(WAi——DAi)。根据参与方映射表之间关系,可知UAi与DAi为一一对应的关系;将参与方加密点DAi的集合与发起方加密点DBj的集合进行求交集运算,得到参与方与发起方共有点的交集结果下标值Key;因为UAi与DAi为一一对应的关系,继而根据交集结果中的Key值,查找到对应的明文UAi集合,将发起方的交集结果下标值Key值发送给发起方;
S5发起方获取发起方的交集结果下标值Key值,并查找所述交集结果的明文UBj集合。
进一步地,步骤S1所述的生成公钥的方法是采用的标量乘法,具体步骤如下:
S11发起方在有限域上选择椭圆曲线的参数,包括:选择有限域Fp的规模p(有限域Fp含p个元素);选择椭圆曲线E(Fp)方程的两个元素a,b∈Fp;选择E(Fp)上的基点G=(XG,YG)(G≠O),其中XG和YG是Fp中的2个元素;生成G的阶n;
S12发起方生成随机数私钥dB∈[2……n-1];
S13发起方使用椭圆曲线参数将私钥与椭圆曲线上所选点G做标量乘法生成公钥PB=[dB]G,将PB、G至参与方端。
进一步地,步骤S2所述的参与方将参与方的用户数据中id值(UA1,UA2,……,UAi),id值可以选用户数据中的手机号、身份证号等可作为用户唯一身份标识以便最后与发起方取得共有的用户的集合,先使用SM3对id值进行加密,并生成用来加盲扰动的随机数,使用发起方选择的椭圆曲线参数将公钥与加密的id值、随机数做标量乘法进行加密,具体步骤如下:
S21参与方对参与方的每一条用户数据中id值(UA1,UA2,……,UAi)都生成一个随机数ri∈[2,……,n-1];
S22使用密码杂凑算法SM3对参与方的用户数据中id值进行加密,记为H256(UAi);
S23参与方使用椭圆曲线参数将随机数ri和公钥PB对H256(UAi)做标量乘法进一步加密生成椭圆曲线上点YAi,计算公式为:
YAi=((ri*H256(UAi))mod n)*PB
S24 UAi和YAi一一对应,构建出参与方映射表(UAi——YAi),将所述参与方所生成的椭圆曲线点YAi集合发送给发起方。
进一步地,步骤S3所述的发起方对发起方的用户数据中id值(UB1,UB2,……,UBj)进行加密,id值可以选用户数据中的手机号、身份证号等可作为用户唯一身份标识以便最后与参与方取得共有的用户的集合,先使用SM3对id值进行加密,使用发起方选择的椭圆曲线参数将公钥与加密的id值、私钥做标量乘法进行加密生成椭圆曲线上点,并且再次使用SM3对加密后点进行加密,具体为:
S31发起方对发起方的用户数据中id值(UB1,UB2,……,UBj)选用密码杂凑算法SM3进行加密,记为H256(UBi);
S32发起方使用椭圆曲线参数将H256(UBi)、私钥dB与公钥PB进行标量乘法运算,生成椭圆曲线上点,再用SM3进行加密生成椭圆曲线上点DBj,计算公式如下:
DBj=H256(((H256(UBj))*dB)mod n*PB)
UBj和DBj一一对应,构建出发起方映射表(DBj——UBj),将所述发起方生成点DBj集合发送给参与方;
S33发起方对参与方发送来的YAi与私钥做标量乘法生成椭圆曲线上点ZAi,计算公式如下:
ZAi=((ri*H256(UAi))mod n)*PB*dB
构建新的参与方映射表(YAi——ZAi),发起方将所述点ZAi集合返回给参与方。
进一步地,步骤S4所述的参与方对新的参与方映射表进行去盲处理,具体为:
S41参与方对ZAi中用来加盲扰动的随机数ri使用模逆运算进行去盲操作生成椭圆曲线上点WAi,计算公式如下:
ZAi和WAi一一对应,构建出映射表(ZAi——WAi);
S42参与方使用SM3算法对WAi进行加密生成DAi,计算公式如下:
DAi=H256((H256(UAi)*dB)mod n*PB)
WAi和DAi一一对应,构建出映射表(WAi——DAi);
S43将参与方加密点DAi的集合与发起方加密点DBj的集合进行求交集运算,结果记为I;,计算公式如下:
I=DAi∩DBj
得到I为参与方与发起方共有点的交集结果下标值Key的集合。根据参与方所构建映射表之间的关系,可知UAi与DAi为一一对应的关系,可得参与方映射关系表(DAi——UAi),交集结果I中的Key值对应参与方映射关系表中Key值,参与方根据下标值Key在本地数据中查找到对应的明文UAi集合,从而参与方得到双方共有用户的信息。参与方将发起方的交集结果下标值Key值发送给发起方;
进一步地,步骤S5所述的发起方获取到发起方的交集结果下标值Key值,并查找所述交集结果的明文UBj集合,具体为:
S51根据发起方映射表之间关系,可知UBj与DBj为一一对应的关系可得参与方映射关系表(DBj——UBj)。发起方获取到发起方的交集结果下标值Key值,集合I中的元素是映射表(DBj——UBj)的Key值,参与方利用该映射关系,查找出本地对应的明文UBj集合,从而发起方得到双方共有用户的信息。
另一方面,本发明还提出了一种基于国产密码算法的隐私保护集合交集获取装置,包括:
参数生成模块,用于发起方选择椭圆曲线参数、生成私钥、使用椭圆曲线参数将私钥与椭圆曲线参数中所选点G做标量乘法生成公钥,并将所述椭圆曲线参数及公钥发给参与方;
第一处理模块,用于参与方将参与方的用户数据id值,使用SM3进行加密,并生成用来加盲扰动的随机数,使用发起方选择的椭圆曲线参数将公钥与加密后的参与方的用户数据id值、随机数做标量乘法加密生成椭圆曲线上点YAi,构建出参与方映射表一(UAi——YAi),将点YAi发送给发起方;所述参与方的用户数据id值为表示参与方用户唯一身份标识的值;
第二处理模块,用于发起方对发起方的用户数据id值,使用SM3进行加密,使用发起方选择的椭圆曲线参数将公钥与加密的发起方的用户数据id值、私钥做标量乘法进行加密生成椭圆曲线上点,并且再次使用SM3对加密后点进行加密生成加密点DBj,构建发起方映射表(UBj——DBj),将点DBj发送给参与方;所述发起方的用户数据id值为表示发起方用户唯一身份标识的值;发起方使用椭圆曲线参数将加密点YAi与私钥做标量乘法加密生成新的椭圆曲线点ZAi,构建参与方映射表二(YAi——ZAi),将点ZAi返回给参与方;
第三处理模块,用于参与方对新的椭圆曲线点ZAi进行去盲处理生成新的椭圆曲线点WAi,构建参与方映射表三(ZAi——WAi),并再次使用SM3对点WAi进行加密生成新的点DAi,构建参与方映射表四(WAi——DAi);将参与方加密点DAi的集合与发起方加密点DBj的集合进行求交集运算,得到参与方与发起方共有点的交集结果下标值Key;根据交集结果中的Key值,查找到对应的明文UAi集合,将发起方的交集结果下标值Key值发送给发起方;
发起方获取模块,用于发起方获取发起方的交集结果下标值Key值,并查找所述交集结果的明文UBj集合。
另一方面,本发明还提出了一种基于国产密码算法的隐私保护集合交集获取设备,包括:处理器及存储器;
所述处理器用于调用存储器存储的程序,用于实现所述的基于国产密码算法的隐私保护集合交集获取方法。
再一方面,本发明还提出了一种存储介质,用于至少存储一组指令集;
所述指令集用于被调用并至少执行所述的基于国产密码算法的隐私保护集合交集获取方法。
通过本发明提出的一种基于国产密码算法的隐私保护集合交集获取方法及装置,允许持有各自集合的发起方与参与方来共同计算两个集合的交集运算,在协议交互的最后,一方或是两方得到正确的交集,并且不会得到另一方交集以外的任何信息,使得发起方与参与方即能够获取到共同的交集数据,又保证了各方数据的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种基于国产密码算法的隐私保护集合交集获取方法实施例流程图;
图2为本发明一种基于国产密码算法的隐私保护集合交集获取装置结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的一实施例提出了一种基于国产密码算法的隐私保护集合交集获取方法,如图1所示,具体过程如下:
S1,发起方选择椭圆曲线参数、生成私钥、使用椭圆曲线参数将私钥与椭圆曲线参数中所选点G做标量乘法生成公钥,并将所述椭圆曲线参数及公钥发给参与方;
具体地,发起方在有限域上选择椭圆曲线的参数,包括:选择有限域Fp的规模p(有限域Fp含p个元素);选择椭圆曲线E(Fp)方程的两个元素a,b∈Fp;选择E(Fp)上的基点G=(XG,YG)(G≠O),其中XG和YG是Fp中的2个元素;生成G的阶n;发起方生成随机数私钥dB∈[2……n-1];发起方使用椭圆曲线参数将私钥与椭圆曲线上所选点G做标量乘法生成公钥PB=[dB]G,将PB、G至参与方。
S2,参与方将参与方的用户数据id值(UA1,UA2,……,UAi),使用SM3进行加密,并生成用来加盲扰动的随机数,使用发起方选择的椭圆曲线参数将公钥与加密后的参与方的用户数据id值、随机数做标量乘法加密生成椭圆曲线上点YAi,构建出参与方映射表一(UAi——YAi),将点YAi发送给发起方;所述参与方的用户数据id值为表示参与方用户唯一身份标识的值;
具体地,参与方对参与方的每一条用户数据id(UA1,UA2,……,UAi)值都生成一个随机数ri∈[2,……,n-1];使用密码杂凑算法SM3对参与方的用户数据id值进行加密,记为H256(UAi);参与方使用发起方选择的椭圆曲线参数将随机数ri和公钥PB对H256(UAi)做标量乘法进一步加密生成椭圆曲线上点YAi,UAi和YAi一一对应,构建出参与方映射表一(UAi——YAi),将所述参与方所生成的椭圆曲线点YAi集合发送给发起方;
S3,发起方对发起方的用户数据id值,使用SM3进行加密,使用发起方选择的椭圆曲线参数将公钥与加密的发起方的用户数据id值、私钥做标量乘法进行加密生成椭圆曲线上点,并且再次使用SM3对加密后点进行加密生成加密点DBj,构建发起方映射表(UBj——DBj),将点DBj发送给参与方;所述发起方的用户数据id值为表示发起方用户唯一身份标识的值;
发起方使用椭圆曲线参数将加密点YAi与私钥做标量乘法加密生成新的椭圆曲线点ZAi,构建参与方映射表二(YAi——ZAi),将点ZAi返回给参与方;
具体地,发起方对发起方的用户数据中id值选用密码杂凑算法SM3进行加密,记为H256(UBi);发起方使用椭圆曲线参数将H256(UBi)、私钥dB与公钥PB进行标量乘法运算,生成椭圆曲线上点,再用SM3对加密后点进行加密生成加密点DBj;UBj和DBj一一对应,构建出发起方映射表(DBj——UBj),将所述发起方生成点DBj集合发送给参与方;发起方使用椭圆曲线参数将参与方发送来的YAi与私钥做标量乘法生成新的椭圆曲线点ZAi;构建参与方映射表二(YAi——ZAi),发起方将所述点ZAi集合返回给参与方。
S4,参与方对新的椭圆曲线点ZAi进行去盲处理生成新的椭圆曲线点WAi,构建参与方映射表三(ZAi——WAi),并再次使用SM3对点WAi进行加密生成新的点DAi,构建参与方映射表四(WAi——DAi);将参与方加密点DAi的集合与发起方加密点DBj的集合进行求交集运算,得到参与方与发起方共有点的交集结果下标值Key;根据交集结果中的Key值,查找到对应的明文UAi集合,将发起方的交集结果下标值Key值发送给发起方;
具体地,参与方对新的椭圆曲线点ZAi中用来加盲扰动的随机数ri使用模逆运算进行去盲操作生成新的椭圆曲线上点WAi,ZAi和WAi一一对应,构建出映射表三(ZAi——WAi);参与方使用SM3算法对WAi进行加密生成DAi,WAi和DAi一一对应,构建出映射表四(WAi——DAi);将参与方加密点DAi的集合与发起方加密点DBj的集合进行求交集运算,结果记为I;得到I为参与方与发起方共有点的交集结果下标值Key的集合;根据参与方所构建映射表之间的关系,可知UAi与DAi为一一对应的关系,可得参与方映射关系表(DAi——UAi),交集结果I中的Key值对应参与方映射关系表中Key值,参与方根据下标值Key在本地数据中查找到对应的明文UAi集合,参与方得到双方共有用户的信息;参与方将发起方的交集结果下标值Key值发送给发起方。
S5,发起方获取发起方的交集结果下标值Key值,并查找所述交集结果的明文UBj集合;
具体地,根据发起方映射表之间关系,可知UBj与DBj为一一对应的关系可得参与方映射关系表(DBj——UBj);发起方获取到发起方的交集结果下标值Key值,集合I中的元素是映射表(DBj——UBj)的Key值,参与方利用映射关系,查找出本地对应的明文UBj集合,发起方得到双方共有用户的信息。
本申请以构建某互联网公司客户和某出租车公司客户出险概率模型为例,阐述本申请的应用场景举例。当两家公司提供不同的服务一家,但在客户群体上有着非常大的交集时,它们可以为得到一个更好的机器学习模型,在各自的不同数据特征空间上协作。在保险公司中我们要根据出租公司和互联网公司内数据预测客户的出险概率,进行个性化保险定价,但通常出租车公司内部只有历史订单中客户出险的概率、订单信息、车辆信息等,而互联网机构有用户的人口属性、资产数据、兴趣爱好等,这部分特征信息能很好体现用户的消费水平,如果能将这部分特征补充到我们的推荐建模中,无疑将极大提升模型预测的能力。这时,联邦学习提供了一个可行的方案,互联网公司和出租车公司之间客户群体的重合度比较高,但是它们的特征数据不一致,因此适合使用纵向联邦来构建模型,而在纵向联邦过程中样本对齐阶段,需要在不泄露双方数据的前提下,求出双方用户的交集。另外在出租车公司构建模型时,需要购买其他参与方互联网公司的样本数据,在联合建模时由于是发起方购买了参与方的样本数据,所以为了保护双方数据,允许持有各自集合的发起方与参与方来共同计算两个集合的交集运算,在协议交互的最后,一方或是两方得到正确的交集,并且不会得到交集以外另一方集合中的任何信息。综上所述,提供了一种基于国产密码算法的隐私保护集合交集获取方法。
出租车公司有每一个客户的订单信息、车辆信息和业务表现等,我们把这些特征数据记为X1,同时出租车公司还有历史订单中客户的出险概率,记为Y。此外,在互联网公司的产品中,用户注册时会带有客户的画像属性,包括人口属性、兴趣爱好、教育信息和财务状况等,我们将这部分特征数据记为x2,这样,可以将问题构建为纵向联邦学习模型。互联网公司和出租车公司两家公司分别持有数据X1=(ID,x1,x2),X2=(ID,x3),(X1,Y)和X2分别分布于不同的公司和机构之间。两个机构的特征数据X1和X2是不重叠的,满足 其中ID为样本标识。构建某互联网公司客户和某出租车公司客户重叠模型,两家公司所含有的用户ID集合不同,即用户群体可能完全重叠,因此本质上是根据客户的特征信息在数据不共享的前提下求取相交的用户ID集合。
另一方面,本发明还提出了一种基于国产密码算法的隐私保护集合交集获取装置,如图2所示,包括:
参数生成模块201,用于发起方选择椭圆曲线参数、生成私钥、使用椭圆曲线参数将私钥与椭圆曲线参数中所选点G做标量乘法生成公钥,并将所述椭圆曲线参数及公钥发给参与方;
第一处理模块202,用于参与方将参与方的用户数据id值,使用SM3进行加密,并生成用来加盲扰动的随机数,使用发起方选择的椭圆曲线参数将公钥与加密后的参与方的用户数据id值、随机数做标量乘法加密生成椭圆曲线上点YAi,构建出参与方映射表一(UAi——YAi),将点YAi发送给发起方;所述参与方的用户数据id值为表示参与方用户唯一身份标识的值;
第二处理模块203,用于发起方对发起方的用户数据id值,使用SM3进行加密,使用发起方选择的椭圆曲线参数将公钥与加密的发起方的用户数据id值、私钥做标量乘法进行加密生成椭圆曲线上点,并且再次使用SM3对加密后点进行加密生成加密点DBj,构建发起方映射表(UBj——DBj),将点DBj发送给参与方;所述发起方的用户数据id值为表示发起方用户唯一身份标识的值;发起方使用椭圆曲线参数将加密点YAi与私钥做标量乘法加密生成新的椭圆曲线点ZAi,构建参与方映射表二(YAi——ZAi),将点ZAi返回给参与方;
第三处理模块204,用于参与方对新的椭圆曲线点ZAi进行去盲处理生成新的椭圆曲线点WAi,构建参与方映射表三(ZAi——WAi),并再次使用SM3对点WAi进行加密生成新的点DAi,构建参与方映射表四(WAi——DAi);将参与方加密点DAi的集合与发起方加密点DBj的集合进行求交集运算,得到参与方与发起方共有点的交集结果下标值Key;根据交集结果中的Key值,查找到对应的明文UAi集合,将发起方的交集结果下标值Key值发送给发起方;
发起方获取模块205,用于发起方获取发起方的交集结果下标值Key值,并查找所述交集结果的明文UBj集合。
另一方面,本发明还提出了一种基于国产密码算法的隐私保护集合交集获取设备,包括:处理器及存储器;
所述处理器用于调用存储器存储的程序,用于实现所述的基于国产密码算法的隐私保护集合交集获取方法。
再一方面,本发明还提出了一种存储介质,用于至少存储一组指令集;
所述指令集用于被调用并至少执行所述的基于国产密码算法的隐私保护集合交集获取方法。
本发明提出了一种允许持有各自集合的发起方与参与方来共同计算两个集合的交集运算,在协议交互的最后,双方得到正确的交集,并且不会得到交集以外另一方集合中的任何信息,保证了各方数据的安全性。
以上所述的实例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的实施例而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。
Claims (9)
1.一种基于国产密码算法的隐私保护集合交集获取方法,包括以下步骤:
S1发起方选择椭圆曲线参数、生成私钥、使用椭圆曲线参数将私钥与椭圆曲线参数中所选点G做标量乘法生成公钥,并将所述椭圆曲线参数及公钥发给参与方;
S2参与方将参与方的用户数据id值,使用SM3进行加密,并生成用来加盲扰动的随机数,使用发起方选择的椭圆曲线参数将公钥与加密后的参与方的用户数据id值、随机数做标量乘法加密生成椭圆曲线上点YAi,构建出参与方映射表一(UAi——YAi),将点YAi发送给发起方;所述参与方的用户数据id值为表示参与方用户唯一身份标识的值;
S3发起方对发起方的用户数据id值,使用SM3进行加密,使用发起方选择的椭圆曲线参数将公钥与加密的发起方的用户数据id值、私钥做标量乘法进行加密生成椭圆曲线上点,并且再次使用SM3对加密后点进行加密生成加密点DBj,构建发起方映射表(UBj——DBj),将点DBj发送给参与方;所述发起方的用户数据id值为表示发起方用户唯一身份标识的值;
发起方使用椭圆曲线参数将加密点YAi与私钥做标量乘法加密生成新的椭圆曲线点ZAi,构建参与方映射表二(YAi——ZAi),将点ZAi返回给参与方;
S4参与方对新的椭圆曲线点ZAi进行去盲处理生成新的椭圆曲线点WAi,构建参与方映射表三(ZAi——WAi),并再次使用SM3对点WAi进行加密生成新的点DAi,构建参与方映射表四(WAi——DAi);将参与方加密点DAi的集合与发起方加密点DBj的集合进行求交集运算,得到参与方与发起方共有点的交集结果下标值Key;根据交集结果中的Key值,查找到对应的明文UAi集合,将发起方的交集结果下标值Key值发送给发起方;
S5发起方获取发起方的交集结果下标值Key值,并查找所述交集结果的明文UBj集合。
2.根据权利要求1所述的方法,其特征在于,所述发起方选择椭圆曲线参数、生成私钥、使用椭圆曲线参数将私钥与椭圆曲线参数中所选点G做标量乘法生成公钥,具体为:
S11发起方在有限域上选择椭圆曲线的参数,包括:选择有限域Fp的规模p;选择椭圆曲线E(Fp)方程的两个元素a,b∈Fp;选择E(Fp)上的基点G=(XG,YG)(G≠O),其中XG和YG是Fp中的2个元素;生成G的阶n;
S12发起方生成随机数私钥dB∈[2……n-1];
S13发起方使用椭圆曲线参数将私钥与椭圆曲线上所选点G做标量乘法生成公钥PB=[dB]G,将PB、G至参与方。
3.根据权利要求2所述的方法,其特征在于,所述参与方将参与方的用户数据id值,使用SM3进行加密,并生成用来加盲扰动的随机数,使用发起方选择的椭圆曲线参数将公钥与加密后的参与方的用户数据id值、随机数做标量乘法加密生成椭圆曲线上点YAi,构建出参与方映射表一(UAi——YAi),将点YAi发送给发起方,具体步骤如下:
S21参与方对参与方的每一条用户数据id值都生成一个随机数ri∈[2,……,n-1];
S22使用密码杂凑算法SM3对参与方的用户数据id值进行加密,记为H256(UAi);
S23参与方使用发起方选择的椭圆曲线参数将随机数ri和公钥PB对H256(UAi)做标量乘法进一步加密生成椭圆曲线上点YAi,计算公式为:
YAi=((ri*H256(UAi))mod n)*PB
S24 UAi和YAi一一对应,构建出参与方映射表一(UAi——YAi),将所述参与方所生成的椭圆曲线点YAi集合发送给发起方。
4.根据权利要求3所述的方法,其特征在于,所述发起方对发起方的用户数据id值,使用SM3进行加密,使用发起方选择的椭圆曲线参数将公钥与加密的发起方的用户数据id值、私钥做标量乘法进行加密生成椭圆曲线上点,并且再次使用SM3对加密后点进行加密生成加密点DBj,构建发起方映射表,(UBj——DBj),将点DBj发送给参与方,具体为:
S31发起方对发起方的用户数据中id值选用密码杂凑算法SM3进行加密,记为H256(UBi);
S32发起方使用椭圆曲线参数将H256(UBi)、私钥dB与公钥PB进行标量乘法运算,生成椭圆曲线上点,再用SM3对加密后点进行加密生成加密点DBj,计算公式如下:
DBj=H256(((H256(UBj))*dB)mod n*PB)
UBj和DBj一一对应,构建出发起方映射表(DBj——UBj),将所述发起方生成点DBj集合发送给参与方;
S33发起方使用椭圆曲线参数将参与方发送来的YAi与私钥做标量乘法生成新的椭圆曲线点ZAi,计算公式如下:
ZAi=((ri*H256(UAi))mod n)*PB*dB
构建参与方映射表二(YAi——ZAi),发起方将所述点ZAi集合返回给参与方。
5.根据权利要求4所述的方法,其特征在于,所述参与方对新的椭圆曲线点ZAi进行去盲处理生成新的椭圆曲线点WAi,构建参与方映射表三(ZAi——WAi),并再次使用SM3对加密后点WAi进行加密生成新的点DAi,构建参与方映射表四(WAi——DAi);将参与方加密点DAi的集合与发起方加密点DBj的集合进行求交集运算,得到参与方与发起方共有点的交集结果下标值Key;根据交集结果中的Key值,查找到对应的明文UAi集合,将发起方的交集结果下标值Key值发送给发起方,具体为:
S41参与方对新的椭圆曲线点ZAi中用来加盲扰动的随机数ri使用模逆运算进行去盲操作生成新的椭圆曲线上点WAi,计算公式如下:
ZAi和WAi一一对应,构建出映射表三(ZAi——WAi);
S42参与方使用SM3算法对WAi进行加密生成DAi,计算公式如下:
DAi=H256((H256(UAi)*dB)mod n*PB)
WAi和DAi一一对应,构建出映射表四(WAi——DAi);
S43将参与方加密点DAi的集合与发起方加密点DBj的集合进行求交集运算,结果记为I;,计算公式如下:
I=DAi∩DBj
得到I为参与方与发起方共有点的交集结果下标值Key的集合;根据参与方所构建映射表之间的关系,可知UAi与DAi为一一对应的关系,可得参与方映射关系表(DAi——UAi),交集结果I中的Key值对应参与方映射关系表中Key值,参与方根据下标值Key在本地数据中查找到对应的明文UAi集合,参与方得到双方共有用户的信息;参与方将发起方的交集结果下标值Key值发送给发起方。
6.根据权利要求5所述的方法,其特征在于,所述发起方获取发起方的交集结果下标值Key值,并查找所述交集结果的明文UBj集合,具体为:
S51根据发起方映射表之间关系,可知UBj与DBj为一一对应的关系可得参与方映射关系表(DBj——UBj);发起方获取到发起方的交集结果下标值Key值,集合I中的元素是映射表(DBj——UBj)的Key值,参与方利用映射关系,查找出本地对应的明文UBj集合,发起方得到双方共有用户的信息。
7.一种基于国产密码算法的隐私保护集合交集获取装置,其特征在于,包括:
参数生成模块,用于发起方选择椭圆曲线参数、生成私钥、使用椭圆曲线参数将私钥与椭圆曲线参数中所选点G做标量乘法生成公钥,并将所述椭圆曲线参数及公钥发给参与方;
第一处理模块,用于参与方将参与方的用户数据id值,使用SM3进行加密,并生成用来加盲扰动的随机数,使用发起方选择的椭圆曲线参数将公钥与加密后的参与方的用户数据id值、随机数做标量乘法加密生成椭圆曲线上点YAi,构建出参与方映射表一(UAi——YAi),将点YAi发送给发起方;所述参与方的用户数据id值为表示参与方用户唯一身份标识的值;
第二处理模块,用于发起方对发起方的用户数据id值,使用SM3进行加密,使用发起方选择的椭圆曲线参数将公钥与加密的发起方的用户数据id值、私钥做标量乘法进行加密生成椭圆曲线上点,并且再次使用SM3对加密后点进行加密生成加密点DBj,构建发起方映射表(UBj——DBj),将点DBj发送给参与方;所述发起方的用户数据id值为表示发起方用户唯一身份标识的值;发起方使用椭圆曲线参数将加密点YAi与私钥做标量乘法加密生成新的椭圆曲线点ZAi,构建参与方映射表二(YAi——ZAi),将点ZAi返回给参与方;
第三处理模块,用于参与方对新的椭圆曲线点ZAi进行去盲处理生成新的椭圆曲线点WAi,构建参与方映射表三(ZAi——WAi),并再次使用SM3对点WAi进行加密生成新的点DAi,构建参与方映射表四(WAi——DAi);将参与方加密点DAi的集合与发起方加密点DBj的集合进行求交集运算,得到参与方与发起方共有点的交集结果下标值Key;根据交集结果中的Key值,查找到对应的明文UAi集合,将发起方的交集结果下标值Key值发送给发起方;
发起方获取模块,用于发起方获取发起方的交集结果下标值Key值,并查找所述交集结果的明文UBj集合。
8.一种基于国产密码算法的隐私保护集合交集获取设备,其特征在于,包括:处理器及存储器;
所述处理器用于调用存储器存储的程序,用于实现如权利要求1-6任一项所述的基于国产密码算法的隐私保护集合交集获取方法。
9.一种存储介质,其特征在于,用于至少存储一组指令集;
所述指令集用于被调用并至少执行如权利要求1-6任一项所述的基于国产密码算法的隐私保护集合交集获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210271926.9A CN114640444B (zh) | 2022-03-18 | 2022-03-18 | 基于国产密码算法的隐私保护集合交集获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210271926.9A CN114640444B (zh) | 2022-03-18 | 2022-03-18 | 基于国产密码算法的隐私保护集合交集获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114640444A true CN114640444A (zh) | 2022-06-17 |
CN114640444B CN114640444B (zh) | 2023-10-24 |
Family
ID=81948795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210271926.9A Active CN114640444B (zh) | 2022-03-18 | 2022-03-18 | 基于国产密码算法的隐私保护集合交集获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114640444B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242514A (zh) * | 2022-07-25 | 2022-10-25 | 深圳市洞见智慧科技有限公司 | 基于国密的隐私集合求交方法、系统及相关设备 |
CN115801261A (zh) * | 2023-01-15 | 2023-03-14 | 三未信安科技股份有限公司 | 一种基于国密算法的密文求交方法 |
CN116089991A (zh) * | 2023-04-13 | 2023-05-09 | 北京百度网讯科技有限公司 | 数据对齐方法、装置、设备及存储介质 |
CN116318684A (zh) * | 2023-05-16 | 2023-06-23 | 蓝象智联(杭州)科技有限公司 | 基于ecdh协议的多方psi实现系统及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2485430A2 (en) * | 2011-02-04 | 2012-08-08 | Palo Alto Research Center Incorporated | Privacy-preserving aggregation of time-series data |
CN108989053A (zh) * | 2018-08-29 | 2018-12-11 | 武汉珈港科技有限公司 | 一种基于椭圆曲线的无证书公钥密码体制实现方法 |
CN111931207A (zh) * | 2020-08-07 | 2020-11-13 | 北京百度网讯科技有限公司 | 获得隐私集合交集的方法、装置、设备及存储介质 |
CN112003695A (zh) * | 2020-08-11 | 2020-11-27 | 天翼电子商务有限公司 | 隐私集合求交方法、系统、介质及装置 |
CN112055021A (zh) * | 2020-09-08 | 2020-12-08 | 苏州同济区块链研究院有限公司 | 一种基于椭圆曲线的茫然传输方法及装置 |
CN112597524A (zh) * | 2021-03-03 | 2021-04-02 | 支付宝(杭州)信息技术有限公司 | 隐私求交的方法及装置 |
CN112699386A (zh) * | 2020-12-22 | 2021-04-23 | 杭州趣链科技有限公司 | 隐私数据交集的获取方法、设备、电子装置和存储介质 |
CN112800478A (zh) * | 2021-04-07 | 2021-05-14 | 支付宝(杭州)信息技术有限公司 | 保护隐私数据的共有数据确定方法、装置和系统 |
-
2022
- 2022-03-18 CN CN202210271926.9A patent/CN114640444B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2485430A2 (en) * | 2011-02-04 | 2012-08-08 | Palo Alto Research Center Incorporated | Privacy-preserving aggregation of time-series data |
CN108989053A (zh) * | 2018-08-29 | 2018-12-11 | 武汉珈港科技有限公司 | 一种基于椭圆曲线的无证书公钥密码体制实现方法 |
CN111931207A (zh) * | 2020-08-07 | 2020-11-13 | 北京百度网讯科技有限公司 | 获得隐私集合交集的方法、装置、设备及存储介质 |
CN112003695A (zh) * | 2020-08-11 | 2020-11-27 | 天翼电子商务有限公司 | 隐私集合求交方法、系统、介质及装置 |
CN112055021A (zh) * | 2020-09-08 | 2020-12-08 | 苏州同济区块链研究院有限公司 | 一种基于椭圆曲线的茫然传输方法及装置 |
CN112699386A (zh) * | 2020-12-22 | 2021-04-23 | 杭州趣链科技有限公司 | 隐私数据交集的获取方法、设备、电子装置和存储介质 |
CN112597524A (zh) * | 2021-03-03 | 2021-04-02 | 支付宝(杭州)信息技术有限公司 | 隐私求交的方法及装置 |
CN112800478A (zh) * | 2021-04-07 | 2021-05-14 | 支付宝(杭州)信息技术有限公司 | 保护隐私数据的共有数据确定方法、装置和系统 |
Non-Patent Citations (1)
Title |
---|
陈振华;李顺东;王道顺;黄琼;张卫国;: "集合成员关系的安全多方计算及其应用", 电子学报, no. 05 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242514A (zh) * | 2022-07-25 | 2022-10-25 | 深圳市洞见智慧科技有限公司 | 基于国密的隐私集合求交方法、系统及相关设备 |
CN115242514B (zh) * | 2022-07-25 | 2023-03-07 | 深圳市洞见智慧科技有限公司 | 基于国密的隐私集合求交方法、系统、电子设备及存储介质 |
CN115801261A (zh) * | 2023-01-15 | 2023-03-14 | 三未信安科技股份有限公司 | 一种基于国密算法的密文求交方法 |
CN115801261B (zh) * | 2023-01-15 | 2023-04-25 | 三未信安科技股份有限公司 | 一种基于国密算法的密文求交方法 |
CN116089991A (zh) * | 2023-04-13 | 2023-05-09 | 北京百度网讯科技有限公司 | 数据对齐方法、装置、设备及存储介质 |
CN116089991B (zh) * | 2023-04-13 | 2024-02-20 | 北京百度网讯科技有限公司 | 数据对齐方法、装置、设备及存储介质 |
CN116318684A (zh) * | 2023-05-16 | 2023-06-23 | 蓝象智联(杭州)科技有限公司 | 基于ecdh协议的多方psi实现系统及方法 |
CN116318684B (zh) * | 2023-05-16 | 2023-10-20 | 蓝象智联(杭州)科技有限公司 | 基于ecdh协议的多方psi实现系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114640444B (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Privacy-preserving-outsourced association rule mining on vertically partitioned databases | |
CN106961336B (zh) | 一种基于sm2算法的密钥分量托管方法和系统 | |
Wu et al. | A novel and provably secure authentication and key agreement scheme with user anonymity for global mobility networks | |
Ren et al. | Mutual verifiable provable data auditing in public cloud storage | |
CN114640444A (zh) | 基于国产密码算法的隐私保护集合交集获取方法及装置 | |
CN107196926B (zh) | 一种云外包隐私集合比较方法与装置 | |
US10635824B1 (en) | Methods and apparatus for private set membership using aggregation for reduced communications | |
CN1413320B (zh) | 鉴别匿名用户同时减少潜在“中间人”舞弊的方法 | |
CN107124268A (zh) | 一种可抵抗恶意攻击的隐私集合交集计算方法 | |
CN102509030A (zh) | 一种利用单散函数隐性保存数据关系和识别账户的方法 | |
Yi et al. | Efficient integrity verification of replicated data in cloud computing system | |
CN114329527A (zh) | 交集数据获取方法、设备和系统 | |
CN115336223A (zh) | 经优化私人生物特征匹配 | |
Liu et al. | EMK-ABSE: Efficient multikeyword attribute-based searchable encryption scheme through cloud-edge coordination | |
CN114338025A (zh) | 一种云环境下密文等值测试方法 | |
Wang et al. | PeGraph: A system for privacy-preserving and efficient search over encrypted social graphs | |
CN115473703A (zh) | 认证的基于身份的密文等值测试方法、装置、系统及介质 | |
Cai et al. | Implementation of an E-payment security evaluation system based on quantum blind computing | |
Gowda et al. | BPCPR-FC: blockchain-based privacy preservation with confidentiality using proxy reencryption and ring signature in fog computing environments | |
US20120066497A1 (en) | Method and device for enabling portable user reputation | |
EdalatNejad et al. | {DatashareNetwork}: A Decentralized {Privacy-Preserving} Search Engine for Investigative Journalists | |
CN111447058A (zh) | 基于中国剩余定理的图书资源访问控制方法 | |
CN108920968B (zh) | 一种基于连接关键词的文件可搜索加密方法 | |
CN116681141A (zh) | 隐私保护的联邦学习方法、终端及存储介质 | |
Zhang et al. | Privacy‐friendly weighted‐reputation aggregation protocols against malicious adversaries in cloud services |
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 |