CN112487481A - 一种具有隐私保护的可验证多方k-means联邦学习方法 - Google Patents

一种具有隐私保护的可验证多方k-means联邦学习方法 Download PDF

Info

Publication number
CN112487481A
CN112487481A CN202011453852.8A CN202011453852A CN112487481A CN 112487481 A CN112487481 A CN 112487481A CN 202011453852 A CN202011453852 A CN 202011453852A CN 112487481 A CN112487481 A CN 112487481A
Authority
CN
China
Prior art keywords
user
cloud server
sample
calculates
dis
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
Application number
CN202011453852.8A
Other languages
English (en)
Other versions
CN112487481B (zh
Inventor
唐飞
侯瑞琦
梁世凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yami Technology Guangzhou Co ltd
Original Assignee
Chongqing University of Post and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN202011453852.8A priority Critical patent/CN112487481B/zh
Publication of CN112487481A publication Critical patent/CN112487481A/zh
Application granted granted Critical
Publication of CN112487481B publication Critical patent/CN112487481B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioethics (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种具有隐私保护的可验证多方k‑means联邦学习方法,属于数据挖掘技术领域。数据水平分布在多用户上,每个用户将各自的数据加密上传至云服务器;云服务器随机挑选初始聚心,利用安全乘法协议和安全距离计算协议计算数据和初始聚心的欧几里得距离的平方;云服务器利用安全位分解协议和安全比较协议进行距离比较,并对数据进行划分;各用户利用秘密共享协议更新聚类中心,加密后上传至云服务器;云服务器计算新聚类中心和原聚类中心的距离,如果小于阈值,则结束聚类操作,否则更新聚类中心进行下一次迭代。

Description

一种具有隐私保护的可验证多方k-means联邦学习方法
技术领域
本发明属于数据挖掘技术领域,涉及一种具有隐私保护的可验证多方k-means联邦学习方法。
背景技术
随着互联网技术快速发展,数据剧增,大数据分析和机器学习算法被广泛运用到各个领域。其中k-means聚类是数据挖掘中经常使用的方法,通过计算样本和聚类中心的距离,把每个对象分配给距离它最近的聚类中,使得一个聚类中的样本相似度很高。但是在现实的数据挖掘中,往往会涉及到多个领域的数据,数据源之间存在着难以打破的壁垒。在大多数行业中,数据以孤岛形式存在,因此如何在满足数据隐私、安全和监管要求的前提下进行数据分析,具有很大的发展前景,也就是联邦学习。
当代行业中往往包括多个数据拥有者,例如:企业、银行、机构等,各个数据拥有者拥有一部分数据,并且数据拥有者数据集的用户特征重叠较多,而用户重叠较少,将数据集按照横向(也就是用户维度)划分,并取出用户特征相同而用户不完全相同的那部分数据进行训练(横向联邦学习),最终各个数据拥有者都得到k-means聚类结果。并且,在数据分析过程中,数据拥有者不希望泄露自己的原始数据。
以往的k-means隐私保护方案,大多存在以下问题:
①大多数方案是两方的k-means聚类算法,没有考虑数据分布在多方的情况;
②在现有的多方k-means联邦学习中,部分数据拥有者不想再继续共享自己的数据,或者新的数据拥有者希望以共享自身数据为代价加入原有的联邦学习中;
③没有考虑数据拥有者增加或者减少自身数据;
④没有考虑数据拥有者不希望和自身敌对的数据拥有者共同得到数据分析结果,甚至共享错误信息。
发明内容
有鉴于此,本发明的目的在于提供一种具有隐私保护的可验证多方k-means联邦学习方法,本发明利用同态加密和秘密共享保证各方隐私安全,并且支持联邦学习环境下的k-means聚类。除此之外,本发明对基础的秘密共享方案进行改进,改进后的方案支持数据拥有者的动态变化(增加或减少,但是都要保证大于两方),也支持数据拥有者本身的数据动态变化(增加或减少),并且添加验证机制,利用区块链的不可篡改机制,保证辅助验证信息的数据完整性(数据完整性名词是否需要修改),各个数据拥有者可对信息进行验证。
为达到上述目的,本发明提供如下技术方案:
一种具有隐私保护的可验证多方k-means联邦学习方法,包括以下步骤:
S1:每个用户分别加密各自的样本数据,并上传至云服务器;
S2:云服务器随机选取k个聚类中心;
S3:云服务器利用安全乘法协议和安全距离计算协议计算用户各个样本与聚类中心的欧几里得距离的平方;
S4:云服务器对距离密文进行安全位分解;
S5:云服务器利用安全距离比较协议对每个用户的各个样本进行划分;
S6:用户计算每个聚类中自己所拥有样本之和和样本数;
S7:用户计算每个样本的秘密值和辅助验证值,并利用秘密共享协议计算出新的聚类中心,上传至云服务器;
S8:云服务器计算新的聚类中心和原聚类中心的距离,如果小于阈值,则结束聚类操作,否则,更新聚类中心并进行下一轮迭代;
S9:用户及用户样本动态变化。
进一步,所述步骤S1中具体包括以下步骤:
S11:每个用户生成公钥pkp,skp,其中1≤p≤part,part是用户的个数;
S12:每个用户随机选取r,计算密文c=gxrn mod n2,其中
Figure BDA0002825993670000021
x是样本明文。
进一步,步骤S11具体包括:
S111:每个用户选取两个大素数p,q,并保证gcd(pq,(p-q)(q-1))=1;
S112:每个用户计算n=pq,λ=(p-1,q-1);
S113:每个用户随机选取g,并且存在μ=(L(gx mod n2))-1mod n,其中
Figure BDA0002825993670000022
L(μ)=(μ-1)/n;
S114:每个用户的公钥是pk=(n,g),公钥是sk=(λ,μ)。
进一步,步骤S12具体包括:
S121:每个用户计算
Figure BDA0002825993670000023
其中
Figure BDA0002825993670000024
其中p表示用户,dp表示第p个用户的样本个数,l表示每个样本的维度数,
Figure BDA0002825993670000025
表示第p个用户的第i个样本的第j个分量;
S122:每个用户将加密后的Cp上传至云服务器。
进一步,所述步骤S2具体包括以下步骤:
S21:云服务器随机挑选出k个聚类中心φ={μc|1≤c≤k},其中μc={μc,j|1≤j≤l};
S22:云服务器分别用各个用户的公钥对聚类中心进行加密,并分别保存为
Figure BDA0002825993670000031
其中
Figure BDA0002825993670000032
其中
Figure BDA0002825993670000033
进一步,所述步骤S3包括以下步骤:
S31:云服务器计算用户p的Cp和聚类中心
Figure BDA0002825993670000034
的欧几里得距离的平方,其中1≤p≤part;
S32:云服务器计算
Figure BDA0002825993670000035
其中1≤i≤dp,1≤c≤k,1≤j≤l;
S33:云服务器利用
Figure BDA0002825993670000036
计算
Figure BDA0002825993670000037
S34:云服务器计算
Figure BDA0002825993670000038
其中1≤i≤dp,1≤c≤k。
进一步,步骤S33中SM(E(x),E(y))=E(xy)的计算包括:
S331:云服务器挑选两个不一样的随机数rx,ry∈Zn
S332:云服务器计算x′=E(x)E(y),y′=E(rx)E(ry);
S333:云服务器将x′,y′发送给用户p;
S334:用户p计算hx=D(x′),hy=D(y′),h=hxhy mod n,h′=E(h);
S335:用户p将h′发送给云服务器;
S336:云服务器计算
Figure BDA0002825993670000039
S337:云服务器计算E(xy)=s′E(rxrx)N-1
进一步,所述步骤S4包括以下步骤:
S41:云服务器将距离E(dis)分解成dis明文情况下按位加密的结果SBD(E(dis))=<E(dis0),…,E(disw-1)>,其中0≤dis≤2w-1;
S42:云服务器计算γ=SVR(E(dis),<E(dis0),…,E(disw-1)>);
S43:云服务器收到用户发送的γ,如果γ=1,则返回<E(dis0),…,E(disw-1)>,否则回到S411。
进一步,步骤S41具体包括:
S411:云服务器计算l=2-1mod N,T=E(dis);
S412:云服务器计算E(disi)=Encrypted_LSB(T,i),其中i=0,1,…,w-1;
S413:云服务器计算Z=T*E(disi)N-1mod N2
S414:云服务器计算T=Zlmod N2
进一步,步骤S412具体包括:
S4121:云服务器计算Y=T*E(r)mod N2,其中r是随机数,且r∈ZN
S4122:云服务将Y发送给用户;
S4123:用户计算y=D(Y),如果y是偶数,则α=E(0),否则α=E(1);
S4124:用户将α发送给云服务器;
S4125:云服务器计算E(disi),其中如果r是偶数,则E(disi)=α,否则E(disi)=E(1)*αN-1mod N2
S4126:云服务器返回E(disi)。
进一步,步骤S42具体包括:
S421:云服务器计算
Figure BDA0002825993670000041
S422:云服务器计算V=U*E(dis)N-1mod N2
S423:云服务器计算W=Vr′mod N2,其中r′随机数,且r′∈Zn
S424:云服务器将W发送给用户;
S425:用户计算D(W),如果D(W)=0,则γ=1,否则γ=0;
S426:用户将γ发送给云服务器。
进一步,所述步骤S5包括以下步骤:
S51:云服务器分别计算出
Figure BDA0002825993670000042
中的最小值,其中1≤p≤part,1≤i≤dp,0≤dis≤2w-1;
S52:云服务器定义
Figure BDA0002825993670000043
其中c=1,2,…,k;
S53:云服务器定义num=k;
S54:云服务器定义u=1;
S55:云服务器定义v=1;
S56:云服务器判断,如果u=1,则
Figure BDA0002825993670000044
否则
Figure BDA0002825993670000045
S57:云服务器计算j=j+1,如果
Figure BDA0002825993670000051
则返回S56,否则跳转到S58;
S58:云服务器计算i=i+1,如果
Figure BDA0002825993670000052
则计算
Figure BDA0002825993670000053
并返回S55,否则跳转到S59;
S59:云服务器判断每个样本距离哪个聚类中心最近,并把该样本归到这个类中。
进一步,步骤S56中SMIN(E(x),E(y))的计算包括:
S561:云服务器随机选取一个函数F,其中函数F随机使得x>y或者x>y;
S562:云服务器计算Wi,Γi,Gi,Hi,Φi,其中1≤i≤w;
S563:用户计算Mj=D(L′j),并且,如果存在Mj=1,则α=1,否则α=0,其中1≤j≤w;
S564:用户计算M′j=Γ′j,其中1≤j≤w;
S565:用户将M′,E(α)发送给云服务器;
S566:云服务器计算
Figure BDA0002825993670000054
S567:云服务器计算
Figure BDA0002825993670000055
如果F:x>y,则E(min(x,y)j)=E(xj)*λj,否则E(min(x,y)j)=E(yj)*λj,其中1≤j≤w。
进一步,步骤S562具体包括:
S5621:调用S33步骤计算E(xiyi)=SM(E(xi),E(yi))随机选取一个函数F,其中函数F随机使得x>y或者x>y;
S5622:云服务器进行判断,如果F:x>y,则计算Wi=E(xi)*E(xi*yi)N-1
Figure BDA0002825993670000056
Figure BDA0002825993670000057
否则Wi=E(yi)*E(xi*yi)N-1
Figure BDA0002825993670000058
其中
Figure BDA0002825993670000059
是随机数,且
Figure BDA00028259936700000510
S5623:云服务器计算
Figure BDA00028259936700000511
S5624:云服务器计算
Figure BDA00028259936700000512
其中H0=E(0),ri是随机数,且ri∈ZN
S5625:云服务器计算Φi=E(-1)*Hi
S5626:云服务器计算
Figure BDA00028259936700000513
其中r′i是随机数,且r′i∈ZN
S5627:云服务器计算Γ′=π1(Γ),L′=π2(L)其中π12是一个置换函数;
S5628:云服务器将Γ′,L′发送给用户。
进一步,所述步骤S6包括如下步骤:
S61:云服务器把聚类结果发送给各个用户;
S62:各个用户计算每个簇中自己所拥有的样本之和ai以及样本数bi,其中i=1,…,k;
S63:各个用户计算
Figure BDA0002825993670000061
其中Cτ表示第τ个簇;
S64:各个用户计算bτ=|Cτ|,其中Cτ表示第τ个簇;
S65:各个用户定义Vτs∈(aτ,bτ)。
进一步,所述步骤S7包括以下步骤:
S71:随机选取part个随机数{x1,…,xpart}公开;
S72:每个用户计算每个样本的秘密值和辅助验证值;
S73:用户利用秘密共享协议计算出新的聚类中心,并上传至云服务器。
进一步,步骤S72具体包括:
S721:用户p,随机选取dp个part-1阶多项式:
Figure BDA0002825993670000062
其中p=1,2,…,part,j=1,2,…,dp,保存记录多项式的系数;
S722:用户p计算每个样本对应其他用户的秘密值:
Figure BDA0002825993670000063
其中p=1,2,…,part,i=1,2,…,part,且i≠p,j=1,2,…,dp
Figure BDA0002825993670000064
Figure BDA0002825993670000065
表示第p个用户的第j个样本;
S723:用户p计算
Figure BDA0002825993670000066
其中k=0,…,part-1,j=1,2,…,dp,并将
Figure BDA0002825993670000067
上链。
进一步,步骤S73具体包括:
S731:用户p将位于Cτ中的样本秘密值
Figure BDA0002825993670000068
发送给用户i,其中p=1,2,…,part,τ=1,2,…,k,i=1,2,…,part,且i≠p,j=1,2,…,dp
S732:用户p接收其他用户发送的
Figure BDA0002825993670000069
秘密值,并验证
Figure BDA00028259936700000610
如果通过验证则计算
Figure BDA00028259936700000611
并发送给云平台;
S733:云平台利用拉格朗日插值法恢复出aτ,bτ,并计算新的聚类中心μ′τ,其中τ=1,2,…,k。
进一步,所述步骤S8包括以下步骤:
S81:云服务器计算新聚类中心和原聚类中心的差值ε=|μ′ττ|,其中τ=1,2,…,k;
S82:如果ε≤θ,则结束聚类操作,否则用μ′τ代替μτ,并返回S3,其中τ=1,2,…,k;
进一步,所述步骤S9包括以下步骤:
S91:用户动态增加;
S92:用户动态减少;
S93:用户样本动态增加;
S94:用户p减少样本v。
进一步,步骤S91具体包括:
S911:增加用户生成一个随机数xpart+1并添加增加标识符广播给其他用户;
S912:用户part+1随机选择dpart+1个多项式:
Figure BDA0002825993670000071
其中j=1,2,…,dpart+1,并且保存多项式的系数;
S913:用户part+1计算每个样本对应其他用户的秘密值:
Figure BDA0002825993670000072
其中p=1,2,…,part+1,i=1,2,…,part,且i≠p,j=1,2,…,dp
Figure BDA0002825993670000073
Figure BDA0002825993670000074
Figure BDA0002825993670000075
表示第part+1个用户的第j个样本;
S914:用户part+1计算
Figure BDA0002825993670000076
其中k=0,…,part,j=1,2,…,dpart+1,并将
Figure BDA0002825993670000077
上链;
S915:添加用户与原始用户开始新的k-means聚类算法。
进一步,步骤S92具体包括:
S921:减少用户p广播之前生成的随机数xp并添加减少标识符广播给其他用户;
S922:其他用户删除自身每个样本对应用户p的秘密值
Figure BDA0002825993670000078
其中j=1,2,…,di,i=1,2,…,part,且i≠p;
S923:剩下的用户开始新的k-means聚类算法。
进一步,步骤S93具体包括:
S931:用户p增加新样本
Figure BDA0002825993670000079
S932:用户p生成一个新的随机part-1阶多项式:
Figure BDA00028259936700000710
Figure BDA00028259936700000711
其中
Figure BDA00028259936700000712
需要保存记录多项式的系数;
S932:用户p计算新样本对应其他用户的秘密值
Figure BDA00028259936700000713
Figure BDA00028259936700000714
其中i=1,2,…,part;
S933:用户p计算新样本的辅助验证值
Figure BDA00028259936700000715
其中k=0,…,part-1,j=1,2,…,dp,并将
Figure BDA00028259936700000716
上链;
S934:用户添加样本后与其他用户开始新的k-means聚类算法。
进一步,步骤S94具体包括:
S941:用户删除样本v对应的多项式及秘密值;
S942:用户添加样本后与其他用户开始新的k-means聚类算法。
本发明的有益效果在于:
本发明提出了一种在无可信任第三方并且样本数据水平分布在多用户的环境下,用户在与其他用户完全无联系的情况下共享自身样本数据,保证自身数据隐私安全的情况下实现k-means聚类算法,得到自身数据的聚类划分结果,实现k-means的横向联邦学习。
本发明中用户扩展为多方,也就是用户不少于三方的情况下进行k-means聚类算法;算法操作中的距离计算和比较不需要用户密钥直接解密出明文,而是在密文状态下进行操作,保证了用户自身的数据隐私安全;利用改进的秘密共享方案实现聚类中心的更新操作,并且增加了验证机制,保证了k-means聚类算法的结果是真实的;提供了用户动态增加减少和用户样本增加减少情况下继续进行k-means聚类算法的功能,使得方案更加具有普适性,能够得到更好的应用。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为本发明系统模型图;
图2为本发明方法流程图;
图3为用户加密并上传数据流程图;
图4为随机挑选初始聚类中心流程图;
图5为安全乘法协议;
图6为安全距离计算协议;
图7为安全位分解协议;
图8为安全距离比较协议;
图9为判断新聚类中心和原聚类中心是否足够相近流程图;
图10为用户动态变化流程图;
图11为样本动态变化流程图;
图12为本发明所述验证机制流程图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
针对现有数据挖掘中存在的数据隐私安全问题,本发明对现有具有隐私保护的数据挖掘算法进行研究,最终提出一种样本数据水平划分情况下的具有隐私保护的多方动态可验证k-means聚类算法,本发明支持样本数据水平分布在不少于三方情况下的,基于云平台的区块链的存储计算外包和安全认证。用户将自身数据加密后上传至云平台,通过云平台、用户、区块链的相互协同,实现在多方联合数据集上的横向联邦学习。
如图1所示,将多用户横向联邦学习系统用户划分为三个层次。其中层次1是云服务器,与传统使用的云服务器不同的是,该方案中的云服务器出了需要存储用户加密后的样本数据,还要在k-means聚类算法操作过程中与用户进行交互,实现距离计算和比较的功能,减轻用户的存储和计算压力;层次2是拥有样本数据的用户,其中样本数据以水平分布的形式存在于不少于三方的用户上,用户需要对自身样本数据进行加密并上传至云服务器,并在k-means聚类算法操作过程中与云服务器交互实现距离计算和比较的功能,除此之外,还要和除自身之外的其他所有用户交互,利用秘密共享协议进行聚类中心更新;层次3是区块链服务器,用户会生成辅助验证值并上链,利用区块链的不可篡改特性,用于其他用户对收到的信息进行验证。
本方法中采用了paillier加密,其中paillier加密支持密文加法操作,即具有加同态,它是一个四元组的概率性加密,表示为Encpa={KenGen,Encrypt,Decrypt,Evaluate}。其中paillier加密方法具有如下性质:
E(x)E(y)=E(x+y),E(x)y=E(xy)。
本发明提出的具有隐私保护的可验证多方k-means联邦学习方法,如图2所示,包括以下步骤:
S1:每个用户分别加密各自的样本数据,并上传至云服务器;
可选地,参见图3,所述步骤S1包括如下步骤:
S11:每个用户生成公钥pkp,skp,其中1≤p≤part,part是用户的个数,包括:
S111:每个用户选取两个大素数p,q,并保证gcd(pq,(p-q)(q-1))=1;
S112:每个用户计算n=pq,λ=(p-1,q-1);
S113:每个用户随机选取g,并且存在μ=(L(gx mod n2))-1mod n,其中
Figure BDA0002825993670000101
L(μ)=(μ-1)/n;
S114:每个用户的公钥是pk=(n,g),公钥是sk=(λ,μ);
S12:每个用户随机选取r,计算密文c=gxrn mod n2,其中
Figure BDA0002825993670000102
x是样本明文;
S121:每个用户计算
Figure BDA0002825993670000103
其中
Figure BDA0002825993670000104
其中p表示用户,dp表示第p个用户的样本个数,l表示每个样本的维度数,
Figure BDA0002825993670000105
表示第p个用户的第i个样本的第j个分量;
S122:每个用户将加密后的Cp上传至云服务器;
S2:云服务器随机选取k个聚类中心;
可选地,参见图4,所述步骤S2包括如下步骤:
S21:云服务器随机挑选出k个聚类中心φ={μc|1≤c≤k},其中μc={μc,j|1≤j≤l};
S22:云服务器分别用各个用户的公钥对聚类中心进行加密,并别保存为
Figure BDA0002825993670000106
其中
Figure BDA0002825993670000107
Figure BDA0002825993670000108
其中
Figure BDA0002825993670000109
S3:云服务器利用安全乘法协议和安全距离计算协议计算用户各个样本与聚类中心的欧几里得距离的平方;
可选地,参见图5、图6,所述步骤S3包括如下步骤:
S31:云服务器计算用户p的Cp和聚类中心
Figure BDA00028259936700001010
的欧几里得距离的平方,其中1≤p≤part;
S32:云服务器计算
Figure BDA0002825993670000111
其中1≤i≤dp,1≤c≤k,1≤j≤l;
S33:云服务器利用
Figure BDA0002825993670000112
计算
Figure BDA0002825993670000113
其中SM(E(x),E(y))=E(xy)的计算包括:
S331:云服务器挑选两个不一样的随机数rx,ry∈Zn
S332:云服务器计算x′=E(x)E(y),y′=E(rx)E(ry);
S333:云服务器将x′,y′发送给用户p;
S334:用户p计算hx=D(x′),hy=D(y′),h=hxhy mod n,h′=E(h);
S335:用户p将h′发送给云服务器;
S336:云服务器计算
Figure BDA0002825993670000114
S337:云服务器计算E(xy)=s′E(rxrx)N-1
S34:云服务器计算
Figure BDA0002825993670000115
其中1≤i≤dp,1≤c≤k;
S4:云服务器对距离密文进行安全位分解;
可选地,参见图7,所述步骤S4包括如下步骤:
S41:云服务器将距离E(dis)分解成dis明文情况下按位加密的结果SBD(E(dis))=<E(dis0),…,E(disw-1)>,其中0≤dis≤2w-1,包括:
S411:云服务器计算l=2-1mod N,T=E(dis);
S412:云服务器计算E(disi)=Encrypted_LSB(T,i),其中i=0,1,…,w-1,包括:
S4121:云服务器计算Y=T*E(r)mod N2,其中r是随机数,且r∈ZN
S4122:云服务将Y发送给用户;
S4123:用户计算y=D(Y),如果y是偶数,则α=E(0),否则α=E(1);
S4124:用户将α发送给云服务器;
S4125:云服务器计算E(disi),其中如果r是偶数,则E(disi)=α,否则E(disi)=E(1)*αN-1mod N2
S4126:云服务器返回E(disi);
S413:云服务器计算Z=T*E(disi)N-1mod N2
S414:云服务器计算T=Zl mod N2
S42:云服务器计算γ=SVR(E(dis),<E(dis0),…,E(disw-1)>),包括:
S421:云服务器计算
Figure BDA0002825993670000116
S422:云服务器计算V=U*E(dis)N-1mod N2
S423:云服务器计算W=Vr′mod N2,其中r′随机数,且r′∈Zn
S424:云服务器将W发送给用户;
S425:用户计算D(W),如果D(W)=0,则γ=1,否则γ=0;
S426:用户将γ发送给云服务器;
S43:云服务器收到用户发送的γ,如果γ=1,则返回<E(dis0),…,E(disw-1)>,否则回到S411;
S5:云服务器利用安全距离比较协议对每个用户的各个样本进行划分;
可选地,参见图8,所述步骤S5包括如下步骤:
S51:云服务器分别计算出
Figure BDA0002825993670000121
中的最小值,其中1≤p≤part,1≤i≤dp,0≤dis≤2w-1;
S52:云服务器定义
Figure BDA0002825993670000122
其中c=1,2,…,k;
S53:云服务器定义num=k;
S54:云服务器定义u=1;
S55:云服务器定义v=1;
S56:云服务器判断,如果u=1,则
Figure BDA0002825993670000123
Figure BDA0002825993670000124
否则
Figure BDA0002825993670000125
Figure BDA0002825993670000126
其中SMIN(E(x),E(y))的计算包括:
S561:云服务器随机选取一个函数F,其中函数F随机使得x>y或者x>y;
S562:云服务器计算Wi,Γi,Gi,Hi,Φi,其中1≤i≤w,包括:
S5621:调用S33步骤计算E(xiyi)=SM(E(xi),E(yi))随机选取一个函数F,其中函数F随机使得x>y或者x>y;
S5622:云服务器进行判断,如果F:x>y,则计算Wi=E(xi)*E(xi*yi)N-1
Figure BDA0002825993670000127
Figure BDA0002825993670000128
否则Wi=E(yi)*E(xi*yi)N-1
Figure BDA0002825993670000129
其中
Figure BDA00028259936700001210
是随机数,且
Figure BDA00028259936700001211
S5623:云服务器计算
Figure BDA00028259936700001212
S5624:云服务器计算
Figure BDA00028259936700001213
其中H0=E(0),ri是随机数,且ri∈ZN
S5625:云服务器计算Φi=E(-1)*Hi
S5626:云服务器计算
Figure BDA00028259936700001214
其中r′i是随机数,且r′i∈ZN
S5627:云服务器计算Γ′=π1(Γ),L′=π2(L)其中π12是一个置换函数;
S5628:云服务器将Γ′,L′发送给用户;
S563:用户计算Mj=D(L′j),并且,如果存在Mj=1,则α=1,否则α=0,其中1≤j≤w;
S564:用户计算M′j=Γ′j,其中1≤j≤w;
S565:用户将M′,E(α)发送给云服务器;
S566:云服务器计算
Figure BDA0002825993670000131
S567:云服务器计算
Figure BDA0002825993670000132
如果F:x>y,则E(min(x,y)j)=E(xj)*λj,否则E(min(x,y)j)=E(yj)*λj,其中1≤j≤w;
S57:云服务器计算j=j+1,如果
Figure BDA0002825993670000133
则返回S56,否则跳转到S58;
S58:云服务器计算i=i+1,如果
Figure BDA0002825993670000134
则计算
Figure BDA0002825993670000135
并返回S55,否则跳转到S59;
S59:云服务器判断每个样本距离哪个聚类中心最近,并把该样本归到这个类中。
S6:用户计算每个聚类中自己所拥有样本之和和样本数;
可选地,所述步骤S6包括如下步骤:
S61:云服务器把聚类结果发送给各个用户;
S62:各个用户计算每个簇中自己所拥有的样本之和ai以及样本数bi,其中i=1,…,k;
S63:各个用户计算
Figure BDA0002825993670000136
其中Cτ表示第τ个簇;
S64:各个用户计算bτ=|Cτ|,其中Cτ表示第τ个簇;
S65:各个用户定义Vτs∈(aτ,bτ);
S7:用户计算每个样本的秘密值和辅助验证值,并利用秘密共享协议计算出新的聚类中心,上传至云服务器;
可选地,如图12所示,所述步骤S7包括如下步骤:
S71:随机选取part个随机数{x1,…,xpart}公开;
S72:每个用户计算每个样本的秘密值和辅助验证值,包括:
S721:用户p,随机选取dp个part-1阶多项式:
Figure BDA0002825993670000137
Figure BDA0002825993670000138
其中p=1,2,…,part,j=1,2,…,dp,需要保存记录多项式的系数;
S722:用户p计算每个样本对应其他用户的秘密值:
Figure BDA0002825993670000139
Figure BDA00028259936700001310
其中p=1,2,…,part,i=1,2,…,part,且i≠p,j=1,2,…,dp
Figure BDA00028259936700001311
Figure BDA00028259936700001312
表示第p个用户的第j个样本;
S723:用户p计算
Figure BDA0002825993670000141
其中k=0,…,part-1,j=1,2,…,dp,并将
Figure BDA0002825993670000142
上链;
S73:用户利用秘密共享协议计算出新的聚类中心,并上传至云服务器,包括:
S731:用户p将位于Cτ中的样本秘密值
Figure BDA0002825993670000143
发送给用户i,其中p=1,2,…,part,τ=1,2,…,k,i=1,2,…,part,且i≠p,j=1,2,…,dp
S732:用户p接收其他用户发送的
Figure BDA0002825993670000144
秘密值,并验证
Figure BDA0002825993670000145
如果通过验证则计算
Figure BDA0002825993670000146
并发送给云平台;
S733:云平台利用拉格朗日插值法恢复出aτ,bτ,并计算新的聚类中心μ′τ,其中τ=1,2,…,k;
S8:云服务器计算新的聚类中心和原聚类中心的距离,如果小于阈值,则结束聚类操作,否则,更新聚类中心并进行下一轮迭代;
可选地,参见图9,所述步骤S8包括如下步骤:
S81:云服务器计算新聚类中心和原聚类中心的差值ε=|μ′ττ|,其中τ=1,2,…,k;
S82:如果ε≤θ,则结束聚类操作,否则用μ′τ代替μτ,并返回S3,其中τ=1,2,…,k;
S9:用户及用户样本动态变化;
可选地,参见图10-11,所述步骤S9包括如下步骤:
S91:用户动态增加,包括:
S911:增加用户生成一个随机数xpart+1并添加增加标识符广播给其他用户;
S912:用户part+1随机选择dpart+1个多项式:
Figure BDA0002825993670000147
Figure BDA0002825993670000148
其中j=1,2,…,dpart+1,并且保存多项式的系数;
S913:用户part+1计算每个样本对应其他用户的秘密值:
Figure BDA0002825993670000149
Figure BDA00028259936700001410
其中p=1,2,…,part+1,i=1,2,…,part,且i≠p,j=1,2,…,dp
Figure BDA00028259936700001411
Figure BDA00028259936700001412
表示第part+1个用户的第j个样本;
S914:用户part+1计算
Figure BDA00028259936700001413
其中k=0,…,part,j=1,2,…,dpart+1,并将
Figure BDA00028259936700001414
上链;
S915:添加用户与原始用户开始新的k-means聚类算法;
S92:用户动态减少,包括:
S921:减少用户p广播之前生成的随机数xp并添加减少标识符广播给其他用户;
S922:其他用户删除自身每个样本对应用户p的秘密值
Figure BDA00028259936700001415
其中j=1,2,…,di,i=1,2,…,part,且i≠p;
S923:剩下的用户开始新的k-means聚类算法;
S93:用户样本动态增加,包括:
S931:用户p增加新样本
Figure BDA0002825993670000151
S932:用户p生成一个新的随机part-1阶多项式:
Figure BDA0002825993670000152
Figure BDA0002825993670000153
其中
Figure BDA0002825993670000154
需要保存记录多项式的系数;
S932:用户p计算新样本对应其他用户的秘密值
Figure BDA0002825993670000155
Figure BDA0002825993670000156
其中i=1,2,…,part;
S933:用户p计算新样本的辅助验证值
Figure BDA0002825993670000157
其中k=0,…,part-1,j=1,2,…,dp,并将
Figure BDA0002825993670000158
上链;
S934:用户添加样本后与其他用户开始新的k-means聚类算法;
S94:用户p减少样本v,包括:
S941:用户删除样本v对应的多项式及秘密值;
S942:用户添加样本后与其他用户开始新的k-means聚类算法
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (10)

1.一种具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:包括以下步骤:
S1:每个用户分别加密各自的样本数据,并上传至云服务器;
S2:云服务器随机选取k个聚类中心;
S3:云服务器利用安全乘法协议和安全距离计算协议计算用户各个样本与聚类中心的欧几里得距离的平方;
S4:云服务器对距离密文进行安全位分解;
S5:云服务器利用安全距离比较协议对每个用户的各个样本进行划分;
S6:用户计算每个聚类中自己所拥有样本之和和样本数;
S7:用户计算每个样本的秘密值和辅助验证值,并利用秘密共享协议计算出新的聚类中心,上传至云服务器;
S8:云服务器计算新的聚类中心和原聚类中心的距离,如果小于阈值,则结束聚类操作,否则,更新聚类中心并进行下一轮迭代;
S9:用户及用户样本动态变化。
2.根据权利要求1所述的具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:所述步骤S1中具体包括以下步骤:
S11:每个用户生成公钥pkp,skp,其中1≤p≤part,part是用户的个数;具体包括:
S111:每个用户选取两个大素数p,q,并保证gcd(pq,(p-q)(q-1))=1;
S112:每个用户计算n=pq,λ=(p-1,q-1);
S113:每个用户随机选取g,并且存在μ=(L(gx mod n2))-1mod n,其中
Figure FDA0002825993660000014
L(μ)=(μ-1)/n;
S114:每个用户的公钥是pk=(n,g),公钥是sk=(λ,μ);
S12:每个用户随机选取r,计算密文c=gxrn mod n2,其中
Figure FDA0002825993660000015
x是样本明文;
具体包括:
S121:每个用户计算
Figure FDA0002825993660000011
其中
Figure FDA0002825993660000012
其中p表示用户,dp表示第p个用户的样本个数,l表示每个样本的维度数,
Figure FDA0002825993660000013
表示第p个用户的第i个样本的第j个分量;
S122:每个用户将加密后的Cp上传至云服务器。
3.根据权利要求1所述的具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:所述步骤S2具体包括以下步骤:
S21:云服务器随机挑选出k个聚类中心φ={μc|1≤c≤k},其中μc={μc,j|1≤j≤l};
S22:云服务器分别用各个用户的公钥对聚类中心进行加密,并分别保存为
Figure FDA0002825993660000021
其中
Figure FDA0002825993660000022
其中
Figure FDA0002825993660000023
4.根据权利要求1所述的具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:所述步骤S3包括以下步骤:
S31:云服务器计算用户p的Cp和聚类中心
Figure FDA0002825993660000024
的欧几里得距离的平方,其中1≤p≤part;
S32:云服务器计算
Figure FDA0002825993660000025
其中1≤i≤dp,1≤c≤k,1≤j≤l;
S33:云服务器利用
Figure FDA0002825993660000026
计算
Figure FDA0002825993660000027
其中SM(E(x),E(y))=E(xy)的计算包括:
S331:云服务器挑选两个不一样的随机数rx,ry∈Zn
S332:云服务器计算x′=E(x)E(y),y′=E(rx)E(ry);
S333:云服务器将x′,y′发送给用户p;
S334:用户p计算hx=D(x′),hy=D(y′),h=hxhy mod n,h′=E(h);
S335:用户p将h′发送给云服务器;
S336:云服务器计算
Figure FDA0002825993660000028
S337:云服务器计算E(xy)=s′E(rxrx)N-1
S34:云服务器计算
Figure FDA0002825993660000029
其中1≤i≤dp,1≤c≤k。
5.根据权利要求1所述的具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:所述步骤S4包括以下步骤:
S41:云服务器将距离E(dis)分解成dis明文情况下按位加密的结果SBD(E(dis))=<(E(dis0),…,E(disw-1)>,其中0≤dis≤2w-1,具体包括:
S411:云服务器计算l=2-1mod N,T=E(dis);
S412:云服务器计算E(disi)=Encrypted_LSB(T,i),其中i=0,1,…,w-1,具体包括:
S4121:云服务器计算Y=T*E(r)mod N2,其中r是随机数,且r∈ZN
S4122:云服务将Y发送给用户;
S4123:用户计算y=D(Y),如果y是偶数,则α=E(0),否则α=E(1);
S4124:用户将α发送给云服务器;
S4125:云服务器计算E(disi),其中如果r是偶数,则E(disi)=α,否则E(disi)=E(1)*αN-1mod N2
S4126:云服务器返回E(disi);
S413:云服务器计算Z=T*E(disi)N-1mod N2
S414:云服务器计算T=Zlmod N2
S42:云服务器计算γ=SVR(E(dis),<E(dis0),…,E(disw-1)>),具体包括:
S421:云服务器计算
Figure FDA0002825993660000031
S422:云服务器计算V=U*E(dis)N-1mod N2
S423:云服务器计算W=Vr′mod N2,其中r′随机数,且r′∈Zn
S424:云服务器将W发送给用户;
S425:用户计算D(W),如果D(W)=0,则γ=1,否则γ=0;
S426:用户将γ发送给云服务器;
S43:云服务器收到用户发送的γ,如果γ=1,则返回<E(dis0),…,E(disw-1)>,否则回到S411。
6.根据权利要求1所述的具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:所述步骤S5包括以下步骤:
S51:云服务器分别计算出
Figure FDA0002825993660000032
中的最小值,其中1≤p≤part,1≤i≤dp,0≤dis≤2w-1;
S52:云服务器定义
Figure FDA0002825993660000033
其中c=1,2,…,k;
S53:云服务器定义num=k;
S54:云服务器定义u=1;
S55:云服务器定义v=1;
S56:云服务器判断,如果u=1,则
Figure FDA0002825993660000034
否则
Figure FDA0002825993660000035
其中SMIN(E(x),E(y))的计算包括:
S561:云服务器随机选取一个函数F,其中函数F随机使得x>y或者x>y;
S562:云服务器计算Wi,Γi,Gi,Hi,Φi,其中1≤i≤w,具体包括:
S5621:调用S33步骤计算E(xiyi)=SM(E(xi),E(yi))随机选取一个函数F,其中函数F随机使得x>y或者x>y;
S5622:云服务器进行判断,如果F:x>y,则计算Wi=E(xi)*E(xi*yi)N-1
Figure FDA0002825993660000041
Figure FDA0002825993660000042
否则Wi=E(yi)*E(xi*yi)N-1
Figure FDA0002825993660000043
其中
Figure FDA0002825993660000044
是随机数,且
Figure FDA0002825993660000045
S5623:云服务器计算
Figure FDA0002825993660000046
S5624:云服务器计算
Figure FDA0002825993660000047
其中H0=E(0),ri是随机数,且ri∈ZN
S5625:云服务器计算Φi=E(-1)*Hi
S5626:云服务器计算
Figure FDA0002825993660000048
其中r′i是随机数,且r′i∈ZN
S5627:云服务器计算Γ′=π1(Γ),L′=π2(L)其中π1,π2是一个置换函数;
S5628:云服务器将Γ′,L′发送给用户;
S563:用户计算Mj=D(L′j),并且,如果存在Mj=1,则α=1,否则α=0,其中1≤j≤w;
S564:用户计算M′j=Γ′j,其中1≤j≤w;
S565:用户将M′,E(α)发送给云服务器;
S566:云服务器计算
Figure FDA0002825993660000049
S567:云服务器计算
Figure FDA00028259936600000410
如果F:x>y,则E(min(x,y)j)=E(xj)*λj,否则E(min(x,y)j)=E(yj)*λj,其中1≤j≤w;
S57:云服务器计算j=j+1,如果
Figure FDA00028259936600000411
则返回S56,否则跳转到S58;
S58:云服务器计算i=i+1,如果
Figure FDA00028259936600000412
则计算
Figure FDA00028259936600000413
并返回S55,否则跳转到S59;
S59:云服务器判断每个样本距离哪个聚类中心最近,并把该样本归到这个类中。
7.根据权利要求1所述的具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:所述步骤S6包括如下步骤:
S61:云服务器把聚类结果发送给各个用户;
S62:各个用户计算每个簇中自己所拥有的样本之和ai以及样本数bi,其中i=1,…,k;
S63:各个用户计算
Figure FDA0002825993660000051
其中Cτ表示第τ个簇;
S64:各个用户计算bτ=|Cτ|,其中Cτ表示第τ个簇;
S65:各个用户定义Vτs∈(aτ,bτ)。
8.根据权利要求1所述的具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:所述步骤S7包括以下步骤:
S71:随机选取part个随机数{x1,…,xpart}公开;
S72:每个用户计算每个样本的秘密值和辅助验证值,具体包括:
S721:用户p,随机选取dp个part-1阶多项式:
Figure FDA0002825993660000052
其中p=1,2,…,part,j=1,2,…,dp,保存记录多项式的系数;
S722:用户p计算每个样本对应其他用户的秘密值:
Figure FDA0002825993660000053
其中p=1,2,…,part,i=1,2,…,part,且i≠p,j=1,2,…,dp
Figure FDA0002825993660000054
Figure FDA0002825993660000055
表示第p个用户的第j个样本;
S723:用户p计算
Figure FDA0002825993660000056
其中k=0,…,part-1,j=1,2,…,dp,并将
Figure FDA0002825993660000057
上链;
S73:用户利用秘密共享协议计算出新的聚类中心,并上传至云服务器,具体包括:
S731:用户p将位于Cτ中的样本秘密值
Figure FDA0002825993660000058
发送给用户i,其中p=1,2,…,part,τ=1,2,…,k,i=1,2,…,part,且i≠p,j=1,2,…,dp
S732:用户p接收其他用户发送的
Figure FDA0002825993660000059
秘密值,并验证
Figure FDA00028259936600000510
如果通过验证则计算
Figure FDA00028259936600000511
并发送给云平台;
S733:云平台利用拉格朗日插值法恢复出aτ,bτ,并计算新的聚类中心μ′τ,其中τ=1,2,…,k。
9.根据权利要求1所述的具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:所述步骤S8包括以下步骤:
S81:云服务器计算新聚类中心和原聚类中心的差值ε=|μ′ττ|,其中τ=1,2,…,k;
S82:如果ε≤θ,则结束聚类操作,否则用μ′τ代替μτ,并返回S3,其中τ=1,2,…,k。
10.根据权利要求1所述的具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:所述步骤S9包括以下步骤:
S91:用户动态增加,具体包括:
S911:增加用户生成一个随机数xpart+1并添加增加标识符广播给其他用户;
S912:用户part+1随机选择dpart+1个多项式:
Figure FDA0002825993660000061
其中j=1,2,…,dpart+1,并且保存多项式的系数;
S913:用户part+1计算每个样本对应其他用户的秘密值:
Figure FDA0002825993660000062
其中p=1,2,…,part+1,i=1,2,…,part,且i≠p,j=1,2,…,dp
Figure FDA0002825993660000063
Figure FDA0002825993660000064
Figure FDA0002825993660000065
表示第part+1个用户的第j个样本;
S914:用户part+1计算
Figure FDA0002825993660000066
其中k=0,…,part,j=1,2,…,dpart+1,并将
Figure FDA0002825993660000067
上链;
S915:添加用户与原始用户开始新的k-means聚类算法;
S92:用户动态减少,具体包括:
S921:减少用户p广播之前生成的随机数xp并添加减少标识符广播给其他用户;
S922:其他用户删除自身每个样本对应用户p的秘密值fi j(xp),其中j=1,2,…,di,i=1,2,…,part,且i≠p;
S923:剩下的用户开始新的k-means聚类算法;
S93:用户样本动态增加,具体包括:
S931:用户p增加新样本
Figure FDA0002825993660000068
S932:用户p生成一个新的随机part-1阶多项式:
Figure FDA0002825993660000069
Figure FDA00028259936600000610
其中
Figure FDA00028259936600000611
需要保存记录多项式的系数;
S932:用户p计算新样本对应其他用户的秘密值
Figure FDA00028259936600000612
Figure FDA00028259936600000613
其中i=1,2,…,part;
S933:用户p计算新样本的辅助验证值
Figure FDA00028259936600000614
其中k=0,…,part-1,j=1,2,…,dp,并将
Figure FDA00028259936600000615
上链;
S934:用户添加样本后与其他用户开始新的k-means聚类算法;
S94:用户p减少样本v,具体包括:
S941:用户删除样本v对应的多项式及秘密值;
S942:用户添加样本后与其他用户开始新的k-means聚类算法。
CN202011453852.8A 2020-12-09 2020-12-09 一种具有隐私保护的可验证多方k-means联邦学习方法 Active CN112487481B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011453852.8A CN112487481B (zh) 2020-12-09 2020-12-09 一种具有隐私保护的可验证多方k-means联邦学习方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011453852.8A CN112487481B (zh) 2020-12-09 2020-12-09 一种具有隐私保护的可验证多方k-means联邦学习方法

Publications (2)

Publication Number Publication Date
CN112487481A true CN112487481A (zh) 2021-03-12
CN112487481B CN112487481B (zh) 2022-06-10

Family

ID=74916704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011453852.8A Active CN112487481B (zh) 2020-12-09 2020-12-09 一种具有隐私保护的可验证多方k-means联邦学习方法

Country Status (1)

Country Link
CN (1) CN112487481B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113239393A (zh) * 2021-04-29 2021-08-10 重庆邮电大学 纵向联邦k-Means隐私保护方法、装置及电子设备
CN113468553A (zh) * 2021-06-02 2021-10-01 湖北工业大学 一种面向工业大数据的隐私保护分析系统及方法
CN113657525A (zh) * 2021-08-23 2021-11-16 同盾科技有限公司 基于KMeans的跨特征联邦聚类方法及相关设备
CN115114980A (zh) * 2022-06-28 2022-09-27 支付宝(杭州)信息技术有限公司 联合训练用户聚类模型的、用户聚类方法及装置
WO2022226903A1 (zh) * 2021-04-29 2022-11-03 浙江大学 一种面向k-means聚类算法的联邦学习方法
WO2023134070A1 (zh) * 2022-01-12 2023-07-20 平安科技(深圳)有限公司 去中心的联邦聚类方法、装置、电子设备及存储介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145792A (zh) * 2017-04-07 2017-09-08 哈尔滨工业大学深圳研究生院 基于密文数据的多用户隐私保护数据聚类方法及系统
CN107145791A (zh) * 2017-04-07 2017-09-08 哈尔滨工业大学深圳研究生院 一种具有隐私保护的K‑means聚类方法及系统
WO2018034079A1 (ja) * 2016-08-18 2018-02-22 日本電気株式会社 秘密計算システム、秘密計算方法、秘密計算装置、分散情報生成装置およびそれらの方法とプログラム
CN108154185A (zh) * 2017-12-27 2018-06-12 武汉理工大学 一种隐私保护的k-means聚类方法
CN108712260A (zh) * 2018-05-09 2018-10-26 曲阜师范大学 云环境下保护隐私的多方深度学习计算代理方法
CN109688143A (zh) * 2018-12-28 2019-04-26 西安电子科技大学 一种面向云环境中隐私保护的聚类数据挖掘方法
CN110163292A (zh) * 2019-05-28 2019-08-23 电子科技大学 基于向量同态加密的隐私保护k-means聚类方法
CN110443063A (zh) * 2019-06-26 2019-11-12 电子科技大学 自适性保护隐私的联邦深度学习的方法
US20190347278A1 (en) * 2018-05-09 2019-11-14 Sogang University Research Foundation K-means clustering based data mining system and method using the same
CN110609831A (zh) * 2019-08-27 2019-12-24 浙江工商大学 基于隐私保护和安全多方计算的数据链接方法
CN111079180A (zh) * 2019-12-17 2020-04-28 重庆邮电大学 一种基于条件隐私保护的健康记录系统的安全认证方法
CN111260081A (zh) * 2020-02-14 2020-06-09 广州大学 一种非交互式隐私保护多方机器学习方法
EP3703309A1 (en) * 2019-02-28 2020-09-02 Sap Se Efficient cloud-based secure computation of the median using homomorphic encryption

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018034079A1 (ja) * 2016-08-18 2018-02-22 日本電気株式会社 秘密計算システム、秘密計算方法、秘密計算装置、分散情報生成装置およびそれらの方法とプログラム
CN107145791A (zh) * 2017-04-07 2017-09-08 哈尔滨工业大学深圳研究生院 一种具有隐私保护的K‑means聚类方法及系统
CN107145792A (zh) * 2017-04-07 2017-09-08 哈尔滨工业大学深圳研究生院 基于密文数据的多用户隐私保护数据聚类方法及系统
CN108154185A (zh) * 2017-12-27 2018-06-12 武汉理工大学 一种隐私保护的k-means聚类方法
US20190347278A1 (en) * 2018-05-09 2019-11-14 Sogang University Research Foundation K-means clustering based data mining system and method using the same
CN108712260A (zh) * 2018-05-09 2018-10-26 曲阜师范大学 云环境下保护隐私的多方深度学习计算代理方法
CN109688143A (zh) * 2018-12-28 2019-04-26 西安电子科技大学 一种面向云环境中隐私保护的聚类数据挖掘方法
EP3703309A1 (en) * 2019-02-28 2020-09-02 Sap Se Efficient cloud-based secure computation of the median using homomorphic encryption
CN110163292A (zh) * 2019-05-28 2019-08-23 电子科技大学 基于向量同态加密的隐私保护k-means聚类方法
CN110443063A (zh) * 2019-06-26 2019-11-12 电子科技大学 自适性保护隐私的联邦深度学习的方法
CN110609831A (zh) * 2019-08-27 2019-12-24 浙江工商大学 基于隐私保护和安全多方计算的数据链接方法
CN111079180A (zh) * 2019-12-17 2020-04-28 重庆邮电大学 一种基于条件隐私保护的健康记录系统的安全认证方法
CN111260081A (zh) * 2020-02-14 2020-06-09 广州大学 一种非交互式隐私保护多方机器学习方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BHARATH K. K. SAMANTHULA等: "An efficient and probabilistic secure bit-decomposition", 《 PROCEEDINGS OF THE 8TH ACM SIGSAC SYMPOSIUM ON INFORMATION, COMPUTER AND COMMUNICATIONS SECURITY》 *
TENG-KAI YU 等: "Multi-party k-Means Clustering with Privacy Consideration", 《INTERNATIONAL SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING WITH APPLICATIONS》 *
吴春英: "高效的可验证秘密共享方案", 《计算机工程》 *
靳亚宾: "云环境下具有隐私保护的K-means聚类算法研究与设计", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113239393A (zh) * 2021-04-29 2021-08-10 重庆邮电大学 纵向联邦k-Means隐私保护方法、装置及电子设备
CN113239393B (zh) * 2021-04-29 2022-03-22 重庆邮电大学 纵向联邦k-Means隐私保护方法、装置及电子设备
WO2022226903A1 (zh) * 2021-04-29 2022-11-03 浙江大学 一种面向k-means聚类算法的联邦学习方法
CN113468553A (zh) * 2021-06-02 2021-10-01 湖北工业大学 一种面向工业大数据的隐私保护分析系统及方法
CN113468553B (zh) * 2021-06-02 2022-07-19 湖北工业大学 一种面向工业大数据的隐私保护分析系统及方法
CN113657525A (zh) * 2021-08-23 2021-11-16 同盾科技有限公司 基于KMeans的跨特征联邦聚类方法及相关设备
CN113657525B (zh) * 2021-08-23 2024-04-26 同盾科技有限公司 基于KMeans的跨特征联邦聚类方法及相关设备
WO2023134070A1 (zh) * 2022-01-12 2023-07-20 平安科技(深圳)有限公司 去中心的联邦聚类方法、装置、电子设备及存储介质
CN115114980A (zh) * 2022-06-28 2022-09-27 支付宝(杭州)信息技术有限公司 联合训练用户聚类模型的、用户聚类方法及装置

Also Published As

Publication number Publication date
CN112487481B (zh) 2022-06-10

Similar Documents

Publication Publication Date Title
CN112487481B (zh) 一种具有隐私保护的可验证多方k-means联邦学习方法
CN110008717B (zh) 支持隐私保护的决策树分类服务系统及方法
Liu et al. An efficient privacy-preserving outsourced calculation toolkit with multiple keys
US7533270B2 (en) Signature schemes using bilinear mappings
CN108111294B (zh) 一种基于ML-kNN的保护隐私的多标记分类方法
CN113364576B (zh) 一种基于区块链的数据加密存证与共享方法
CN107196926B (zh) 一种云外包隐私集合比较方法与装置
WO2019014425A1 (en) SAFE PARTY WITH SEVERAL PARTIES KNOWING NO VOICE IMPRESSIONS
JP4981072B2 (ja) 復号可能かつ検索可能な暗号化のための方法およびシステム
US20160119119A1 (en) Compact fuzzy private matching using a fully-homomorphic encryption scheme
CN106487506B (zh) 一种支持预加密和外包解密的多机构kp-abe方法
JP2014002365A (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
CN110674941B (zh) 基于神经网络的数据加密传输方法及系统
CN110933044A (zh) 一种分布式存储系统中可公开审计的数据持有性证明方法
Zhang et al. A privacy protection scheme for IoT big data based on time and frequency limitation
CN115062323A (zh) 增强隐私保护的多中心联邦学习方法及计算机设备
CN111147508A (zh) 一种抗关键词猜测攻击的可搜索属性基加密方法
CN115021993B (zh) 一种可验证的公钥可搜索加密系统及方法
CN110176995A (zh) 后量子安全的格上无证书签密方法
CN115242369A (zh) 基于多密钥同态加密的联邦学习隐私保护方法及其装置
CN113794561A (zh) 一种公钥可搜索加密方法及系统
Gaffar et al. The multi layer auto encoder neural network (ML-AENN) for encryption and decryption of text message
Rodinko et al. Improvement of the high nonlinear S-boxes generation method
CN112398637A (zh) 一种基于无证书签密的等式测试方法
CN110784300A (zh) 一种基于乘法同态加密的密钥合成方法

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
TR01 Transfer of patent right

Effective date of registration: 20230810

Address after: Room 801, 85 Kefeng Road, Huangpu District, Guangzhou City, Guangdong Province

Patentee after: Yami Technology (Guangzhou) Co.,Ltd.

Address before: 400065 Chongqing Nan'an District huangjuezhen pass Chongwen Road No. 2

Patentee before: CHONGQING University OF POSTS AND TELECOMMUNICATIONS

TR01 Transfer of patent right