CN110233730B - 一种基于k均值聚类的隐私信息保护方法 - Google Patents

一种基于k均值聚类的隐私信息保护方法 Download PDF

Info

Publication number
CN110233730B
CN110233730B CN201910428240.4A CN201910428240A CN110233730B CN 110233730 B CN110233730 B CN 110233730B CN 201910428240 A CN201910428240 A CN 201910428240A CN 110233730 B CN110233730 B CN 110233730B
Authority
CN
China
Prior art keywords
ciphertext
data
clustering
client
csp
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
Application number
CN201910428240.4A
Other languages
English (en)
Other versions
CN110233730A (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.)
Jinan University
Original Assignee
Jinan University
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 Jinan University filed Critical Jinan University
Priority to CN201910428240.4A priority Critical patent/CN110233730B/zh
Publication of CN110233730A publication Critical patent/CN110233730A/zh
Application granted granted Critical
Publication of CN110233730B publication Critical patent/CN110233730B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于K均值聚类的隐私信息保护方法,该方法的步骤包括:多个客户端CUi进行数据加密,得到加密密文上传至云服务端;客户端CUi、云服务端CSP和辅助云服务端ACSP进行数据交互计算,得到重加密密钥;云服务端收到加密密文,进行重加密得到同一公钥的重加密密文,再将重加密密文转换为Paillier加密的密文;云服务端获得Paillier加密的密文后计算聚类;云服务端先将聚类结果的密文转换双向加法同态代理重加密的密文,再转换为客户端公钥下的密文,最后将聚类结果的密文返回给客户端进行解密。本发明实现了对不同公钥的密文进行聚类,将同一公钥下的聚类结果转换为不同公钥下的聚类结果返回给客户端,同时保护了客户端的私人数据和聚类中心的隐私。

Description

一种基于K均值聚类的隐私信息保护方法
技术领域
本发明涉及信息安全技术领域,具体涉及一种基于K均值聚类的隐私信息保护方法。
背景技术
智能移动设备根据人们的不同需求嵌入了各种记录数据的传感器。智能移动设备的广泛使用和无线网络的广泛覆盖推动一种无线传感器网络的应用-参与式感知的发展。社会参与式感知通过利用在线社交网络作为基础设施来解决参与式感知的局限性。在社会参与式感知系统中,多用户使用智能设备收集大量的感知数据,这些感知数据可以通过社交网络共享和分析。通过联合(虚拟)社区所有数据并利用K均值聚类算法分析用户感知数据,参与用户获得分析的结果。在社会参与式感知中K均值聚类方案中,多用户和社区的之间外包计算存在一些安全与隐私问题:(1)如何保护用户的个人隐私;(2)如何在K均值聚类过程不能泄露任何额外信息;(3)如何保证最后分析的结果只有参与用户知道,社区的特征信息(聚类中心)不被参与用户知道。
在社会参与式感知中,用户对收集到私有数据进行分析,可以通过社交网络联合社区的数据进行外包计算聚类,同时不能让社区的云服务提供商知道用户的信息和用户不能知道社区的任何信息。例如,用户通过带手环等智能设备产生了关于身体状况的数据,将数据传入智能手机,通过web服务共享和分析身体状况的数据,这样可以了解自己在这个社区的群体中健康状况是属于哪种类别。一旦用户知道身体状况所属的类别,就可以根据自己的生活习惯做出调整或者制定适合自己的运动目标。一旦用户信息的健康信息被泄露,可能导致用户个人财产的损失甚至危害个人安全。
发明内容
为了克服现有技术存在的缺陷与不足,本发明提供一种基于K均值聚类的隐私信息保护方法,本发明实现了对不同公钥的密文进行聚类,也实现了将同一公钥下的聚类结果转换为不同公钥下的聚类结果返回给客户端,同时保护了客户端的私人数据和聚类中心的隐私。
为了达到上述目的,本发明采用以下技术方案:
本发明提供一种基于K均值聚类的隐私信息保护方法,包括下述步骤:
S1:数据加密:多个客户端CUi采用双向加法同态代理重加密的加密算法进行数据xi加密得到加密密文
Figure BDA0002068165900000021
并将加密密文上传至云服务端;
S2:重加密密钥生成:客户端CUi、云服务端CSP和辅助云服务端ACSP进行数据交互计算,得到重加密密钥
Figure BDA0002068165900000022
S3:密文转换:云服务端CSP收到加密密文
Figure BDA0002068165900000023
采用双向加法同态代理重加密的重加密算法和重加密密钥
Figure BDA0002068165900000024
进行重加密,得到同一公钥的重加密密文
Figure BDA0002068165900000025
再与辅助云服务端ACSP进行数据交互,将重加密密文
Figure BDA0002068165900000026
转换为Paillier加密的密文E(pkp′,xi);
S4:云服务端CSP获得Paillier加密的密文E(pkp′,xi)后计算聚类,具体步骤为:
初始化聚类中心:客户端CUi定义聚类中心的数量,设置每个聚类中心对应一个类别,初始化聚类中心后,根据数据xi对应的聚类中心的索引初始化位图向量Vi的密文发送至云服务端CSP;
数据划分:云服务端CSP将接收到位图向量Vi组成位图矩阵Vn×k,并与辅助云服务端ACSP进行数据密文交互计算距离的密文,根据与聚类中心的距离的密文,将数据划分到最近的聚类中心,更新每个数据对应的位图矩阵Vn×k
更新聚类中心:根据更新后位图矩阵Vn×k的密文和Paillier加密的数据密文E(pkp′,xi)计算新的聚类中心;
判断聚类是否终止:通过比较位图矩阵Vn×k更新前后是否有变化,判断是否终止聚类迭代过程;
S5:返回结果至客户端:云服务端CSP先将聚类结果的密文转换双向加法同态代理重加密的密文,再将双向代理重加密的辅助云服务端ACSP公钥下密文转换为不同客户端公钥下的密文,最后将聚类结果的密文返回给客户端,客户端CUi解密得到聚类结果。
作为优选的技术方案,还包括密钥对生成步骤,具体步骤如下所述:
云服务端CSP调用ElGamal加密算法中的Gengroup函数生成公共参数PP=(p,G1,g),G1是价为素数p的乘法群,其中g是乘法群G1的生成元,同时把生成的公共参数PP发送至客户端CUi和辅助云服务端ACSP;
客户端CUi调用双向加法同态代理重加密的KeyGen(PP)算法,计算公钥
Figure BDA0002068165900000031
对应的私钥是随机选取
Figure BDA0002068165900000032
其中,
Figure BDA0002068165900000033
由集合{1,...,p-1}中与p互素的整数构成,客户端CUi得到密钥对
Figure BDA0002068165900000034
辅助云服务端ACSP调用双向加法同态代理重加密的KeyGen(PP)算法,计算公钥
Figure BDA0002068165900000035
对应的私钥是随机选取
Figure BDA0002068165900000036
Figure BDA0002068165900000037
由集合{1,...,p-1}中与p互素的整数构成,得到辅助云服务端密钥对(skACSP,pkACSP),同时调用Paillier加密系统的KeyGen(κ)算法得到辅助云服务端ACSP输出密钥对(skp′,pkp′),其中,算法输入κ表示安全系数。
作为优选的技术方案,步骤S1所述数据加密的具体步骤为:
客户端CUi数据设为向量xi={xi,1,…,xi,d},客户端CUi调用双向加法同态代理重加密算法得到加密密文:
Figure BDA0002068165900000041
其中
Figure BDA0002068165900000042
g是乘法群G1的生成元,
Figure BDA0002068165900000043
表示客户端私钥,将加密数据集上传到云服务端CSP。
作为优选的技术方案,步骤S2所述重加密密钥生成的具体步骤为:
S21:云服务端CSP选择n个随机数
Figure BDA0002068165900000044
Figure BDA0002068165900000045
由集合{1,...,p-1}中与p互素的整数构成,把随机数分别发送到客户端CUi
S22:客户端CUi收到随机数r′i,计算
Figure BDA0002068165900000046
并将计算结果发送至辅助云服务端ACSP,其中
Figure BDA0002068165900000047
为客户端私钥;
S23:辅助云服务端ACSP根据参与的客户端CUi发送的
Figure BDA0002068165900000048
计算
Figure BDA0002068165900000049
同时将计算结果发送至云服务端CSP,其中skACSP为辅助云服务端私钥;
S24:云服务端CSP得到
Figure BDA00020681659000000410
计算重加密密钥:
Figure BDA00020681659000000411
其中i∈{1,2,…,n}。
作为优选的技术方案,步骤S3所述密文转换的具体步骤为:
S31:云服务端CSP采用双向加法同态代理重加密中重加密算法ReEnc将来自不同客户端的加密密文转换成同一公钥的加密密文,计算公式为:
Figure BDA00020681659000000412
其中,i∈{1,...,n},j∈{1,...,d},g是乘法群G1的生成元,
Figure BDA00020681659000000413
表示客户端密钥对,(skACSP,pkACSP)表示辅助云服务端密钥对,将加密密文
Figure BDA00020681659000000414
转换为重加密密文
Figure BDA0002068165900000051
S32:重加密密文
Figure BDA0002068165900000052
转化为Paillier加密密文,具体过程为:
云服务端CSP先把重加密密文
Figure BDA00020681659000000510
加上噪声得
Figure BDA0002068165900000054
再发送给辅助云服务端ACSP;
辅助云服务端ACSP采用持有的私钥skACSP解密
Figure BDA0002068165900000055
得x′i,计算公式为:
Figure BDA0002068165900000056
Figure BDA0002068165900000057
限据g计算得到x′i,j,其中i∈{1,...,n},j∈{1,...,d},再加密并用Paillier加密系统下的公钥加密pkp′和Paillier加密系统的加密算法得E(pkp′,x′i),计算公式为:
Figure BDA0002068165900000058
Figure BDA0002068165900000059
扫集合{1,...,N-1}中与N互素的整数构成,其中j∈{1,...,d},再把密文E(pkp′,x′i)={E(pk,x′i,1),...,E(pk,x′i,d)}发送到云服务端CSP;
最后云服务端CSP将接收到密文去掉噪声恢复原始数据的密文E(pkp′,xi)={E(pkp′,xi,1),…,E(pkp′,xi,d)}。
作为优选的技术方案,步骤S4所述初始化聚类中心的具体步骤为:
客户端CUi设定聚类中心的数量k的值,定义类别label={λ1,…,λk},选取任意一个聚类中心μj={μj,1,…,μj,d},每个聚类中心对应一个类别λj,采用辅助云服务端ACSP的公钥pkp′和Paillier加密,得到初始化聚类中心的密文多元组E(pkp′,μj):
E(pkp′,μj)=<E(pkp′,μj,1),…,E(pkp′,μj,d),E(pkp′,λj)>;
其中,j∈{1,2,…,k};
客户端CUi计算:vi,j=E(pkp′,0),vi,j表示数据xi是否属于第j个聚类中心,当vi,j=E(pkp′,0)表示数据xi不属于第j个聚类中心,vi,j=E(pkp′,1)表示数据xi属于第j个聚类中心;
初始化位图向量Vi:Vi={vi,1,…,vi,k}={E(pkp′,0),...,E(pkp′,0)},将E(pkp′,μj)发送至云服务端CSP,同时每个客户端CUi发送位图向量Vi到云服务端CSP。
作为优选的技术方案,步骤S4中所述数据划分的具体步骤为:
云服务端CSP根据每个数据向量xi与k个聚类中心计算距离得到的k个距离值,先比较k个距离值的大小,得到最小值对应的聚类中心,再把xi划分到对应的聚类中心,采用密文比较更小值算法进行迭代计算得到最小值元组Ti,min
Figure BDA0002068165900000061
其中
Figure BDA0002068165900000062
是数据向量xi与聚类中心的距离最小值的密文,[λi,min]是数据向量xi划分到最近聚类中心所对应的类别密文;
根据每个向量xi对应距离值最小值元组Ti,min中[λi,min]=E(pkp′,λmin)和密文集合{E(pkp′,λ1),…,E(pkp′,λk)},通过计算得到E(pkp′,t′i,jminj))判断λmin与λj是否相等,更新位图向量中对应位置vi,j,最后更新位图矩阵Vn×k中向量(vi,1,…,vi,k)。
作为优选的技术方案,步骤S4中所述更新聚类中心的具体步骤为:
根据更新后位图矩阵V′n×k={(v′1,1,...,v′1,k),..,(v′n,1,..,v′n,k)}和数据密文集合{E(pkp′,xi),...,E(pkp′,xn)},计算
Figure BDA0002068165900000063
其中云服务端与辅助云服务端运用Paillier的SM算法得到E(pkp′,v′t,j·xt,i),CSP计算:
Figure BDA0002068165900000064
再组成:E(pkp′,sj)={E(pkp′,sj,1),…,E(pkp′,sj,d)};
云服务端CSP根据更新后位图矩阵V′n×k={(v′1,1,...,v′1,k),..,(v′n,1,..,v′n,k)}计算:
Figure BDA0002068165900000071
CSP根据聚类中心E(pkp′,μj)=<E(pkp′,μj,1),…,E(pkp′,μj,d),E(pkp′,λj)〉中的E(pkp′,λj)以及计算得到的E(pkp′,sj)、E(pkp′,hj),组成新的聚类中心E(pkp′,μ′j)=<E(pkp′,sj),E(pkp′,hj),E(pkp′,λj)>;
其中,j∈{1,2,…,k}、sj/hj表示中心值向量明文,E(pkp′,sj)与E(pkp′,hj)表示中心值向量密文形式,E(pkp′,λj)表示中心对应的类别,E(pkp′,hj)代表是属于中心的数据记录条数总和的密文,E(pkp′,sj,i)表示属于λj这个类别的数据中第i个属性值总和的密文。
作为优选的技术方案,步骤S4中所述判断聚类是否终止的具体步骤为:
所述通过比较位图矩阵Vn×k更新前后是否有变化,包括明文比较和密文比较;
所述明文比较:先将更新前的位图矩阵Vn×k和更新后的位图矩阵V′n×k进行一一对应相乘得到新的位图矩阵Ψn×k,再把新的位图矩阵Ψn×k中全部值做加法运算,最后把运算后结果与n值相比较,n值表示客户端的数量;
所述密文比较:先将更新前的位图矩阵Vn×k和更新后的位图矩阵V′n×k进行一一对应相乘得到新的位图矩阵Ψn×k,再把新的位图矩阵Ψn×k中全部值做加法运算,再解密得到运算结果M与n值相比较:
当M=n时,辅助云服务端发送T给云服务端,聚类过程结束;当M≠n时,辅助云服务端发送F给云服务端,继续循环进行数据划分和更新聚类中心步骤,直至更新后的位图矩阵V′n×k没有变化。
作为优选的技术方案,步骤S5所述返回结果至客户端,具体步骤为:
云服务端CSP给每个数据密文E(pkp′,xi)在聚类结束后计算得到的Ti,min中类别密文[λi,min]加噪音得到[λ′i,min],将[λ′i,min]发送到辅助云服务端;
辅助云服务端ACSP接收到[λ′i,min]进行解密,再调双向加法同态代理重加密的加密算法和产生的公钥加密pkACSP加密得到[λ″i,min],再把密文[λ″i,min]发送给云服务端CSP;
云服务端CSP得到[λ″i,min]之后去掉噪声后得到[λ″′i,min];
对[λ″′i,min]采用双向加法同态代理重加密中重加密算法
Figure BDA0002068165900000081
得到
Figure BDA0002068165900000082
Figure BDA0002068165900000083
发送给参与的客户端CUi,客户端CUi解密得到聚类结果。
本发明与现有技术相比,具有如下优点和有益效果:
(1)本发明采用双向加法同态代理重加密算法实现了对不同公钥的密文进行聚类,也实现了将同一公钥下的聚类结果转换为不同公钥下的聚类结果返回给客户端,同时保护了客户端的私人数据和聚类中心的隐私。
(2)本发明采用的双向加法同态代理重加密算法支持加法同态性质,执行密文加法运算是能够减少计算,使得聚类运算效率高。
附图说明
图1为本实施例基于K均值聚类的隐私信息保护方法的流程示意图;
图2为本实施例基于K均值聚类的隐私信息保护方法的明文比较运算示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例
本实施例假设社区的两个云服务端不合谋,同时利用双向加法同态代理重加密算法,实现了不同公钥的密文进行聚类,还有同一公钥下的聚类结果转换成不同公钥下的聚类结果返回给客户端,同时保护了客户端的私人数据和社区信息(聚类中心)的隐私。
如图1所示,本实施例提供一种基于K均值聚类的隐私信息保护方法,具体步骤如下所述:
S0:密钥对生成步骤:
首先云服务端CSP调用ElGamal加密中Gengroup函数生成公共参数PP=(p,G1,g),G1是价为素数p的乘法群,其中g是乘法群G1的生成元,同时把产生的参数发送给其他参与者和辅助云服务端ACSP;
客户端CUi调用双向加法同态代理重加密的KeyGen(PP)算法,计算公钥
Figure BDA0002068165900000091
对应的私钥是随机选取
Figure BDA0002068165900000092
其中,
Figure BDA0002068165900000093
由集合{1,...,p-1}中与p互素的整数构成,客户端CUi得到密钥对
Figure BDA0002068165900000094
辅助云服务端ACSP也调用该算法得到密钥对
Figure BDA0002068165900000095
Figure BDA0002068165900000096
同时ACSP调用了Paillier加密系统的KeyGen(κ)算法,其中,算法的输入κ是一个安全系数,选取两个大素数p和q,同时满足|p|=|q|=κ,计算:
N=p·q;
λ=lcm((p-1),(q-1));
随机选择整数
Figure BDA0002068165900000097
Figure BDA0002068165900000098
由集合{1,...,N-1}中与N互素的整数构成,同时使得gcd(L(gλmod N2),N)=1,定义L(x)=(x-1)/N,计算:
μ=(L(gλmod N2))-1
输出值为辅助云服务端ACSP公钥pkp′=(g,N)和私钥skp′=(λ,μ),辅助云服务端ACSP得到输出密钥对(skp′,pkp′);
S1:数据加密:
参与的客户端CUi拥有的数据用向量xi={xi,1,…,xi,d}(i∈{1,2,…,n})表示,为了保护自己的私人信息需要在上传数据给CSP前加密数据;参与的客户端CUi调用双向加法同态代理重加密的加密算法得:
Figure BDA0002068165900000101
其中
Figure BDA0002068165900000102
将加密后的数据集上传到CSP;
S2:重加密密钥生成:
重加密密钥生成主要通过CSP、参与的客户端CUi和ACSP进行安全交互,其过程如下:
S21:CSP选择n个随机数
Figure BDA0002068165900000103
分别发送到参与的客户端CUi(i=1,2,…,n);
S22:参与的客户端CUi收到随机数r′i,接着计算
Figure BDA0002068165900000104
把这个计算结果发送给辅助云服务端ACSP;
S23:ACSP根据n个参与的客户端CUi发送的
Figure BDA0002068165900000105
计算
Figure BDA0002068165900000106
同时发送给CSP;
S24:CSP得到
Figure BDA0002068165900000107
计算重加密密钥:
Figure BDA0002068165900000108
这个过程需要在安全协议SSL通信,才可以得到保证安全性。
S3:云服务端进行密文转换:
S31:CSP收到加密的数据集
Figure BDA0002068165900000111
首先考虑到这些密文是属于不同公钥下,需要把来自不同参与客户端加密的数据集转换成同一公钥的数据集,其就是将
Figure BDA0002068165900000112
转换到
Figure BDA0002068165900000113
通过调用双向加法同态代理重加密中重加密的ReEnc算法和重加密密钥进行重加密,主要计算
Figure BDA0002068165900000114
其中i∈{1,...,n},j∈{1,...,d}。
S32:为了考虑方便计算聚类,需要把双向加法同态代理重加密的密文转换成Paillier加密的密文,
Figure BDA0002068165900000115
转换过程如下:
(1)CSP先扣
Figure BDA0002068165900000116
密文加上噪声得
Figure BDA0002068165900000117
再发送给ACSP;
(2)ACSP用持有的私钥skACSP解密
Figure BDA0002068165900000118
得x′i,再加密并用Paillier加密系统下的公钥加密pkp′和Paillier加密系统的加密算法得E(pkp′,x′i),再把密文发送给CSP;
(3)最后CSP将接收到密文去掉噪声恢复原来数据的密文E(pkp′,xi);S4:云服务端获得Paillier加密的密文E(pkp′,xi)后计算聚类:
CSP得到了E(pkp′,xi)(i∈{1,2,…,n})密文数据集,CSP与ACSP交互计算聚类过程,包括初始化聚类中心、数据划分、更新聚类中心、判断聚类是否终止步骤。外包过程需要保护聚类中心值和类别,不要泄露额外信息;
S41:初始化聚类中心:
参与的客户端CUs协商确定k的值,定义类别表示为label={λ1,…,λk},随机选取k个中心μj={μj,1,…,μj,d}(j∈{1,2,…,k}),每个中心对应一个类别λj;加密中心则需要用ACSP的Paillier加密下公钥加密,初始化中心的密文形式表示为多元组(pkp′,μj)=<E(pkp′,μj,1),…,E(pkp′,μj,d),E(pkp′,λj)>;
其中,j∈{1,2,…,k};
客户端CUi计算:
vi,j=E(pkp′,0)
其中i∈{1,2,…,n},j∈{1,2,…,k},位图向量Vi={vi,1,…,vi,k}={E(pkp′,0),...,E(pkp′,0)},根据数据xi属于哪个聚类中心的索引初始化的,由于该数据没有划分到最近聚类中心,因此位图向量全是E(pkp′,0)。其中vi,j表示数据xi是否属于第j个聚类中心,vi,j=E(pkp′,0)说明数据xi不属于第j个聚类中心,vi,j=E(pkp′,1)说明数据xi属于第j个聚类中心,将E(pkp′,μj)(j∈{1,2,…,k})不按顺序发送给CSP,同时每个CUi发送Vi给CSP;
S42:数据划分:
CSP将接收到CUi位图向量Vi={vi,1,…,vi,k}组成一个位图矩阵Vn×k={(v1,1,…,v1,k),…,(vn,1,…,vn,k)}。得到初始化中心E(pkp′,μj)(j∈{1,2,…,k})之后,接下来就是对接收到的参与客户端CUi的数据密文E(pkp′,xi)进行计算聚类。数据划分过程分三个步骤,主要内容如下:
S421:计算距离:先计算每个数据对应k个中心的距离值,在这些距离值中找最小值,就归属于这个中心的类别。计算数据和中心之间的距离值过程分两种情况:第一种是中心值为初始化的,第二种是中心值为迭代后的。接下来分别描述两种情况的过程:
第一种情况为中心值为初始化时,直接对于xi与每个中心μj计算平方欧氏距离值,其公式是:
Figure BDA0002068165900000121
其中i∈{1,2,…,n},j∈{1,2,…,k}。计算过程:
①CSP根据E(pkp′,xi,i′)和E(pkp,μj,i′)计算:
E(pkp′,(xi,i′j,i′))=E(pkp′,xi,i′)·E(pkp′,μj,i′)N-1
②CSP与ACSP交互并运用Paillier的SM算法计算得:
E(pkp′,(xi,i′j,i′)2)=SM(E(pkp′,xi,i′j,i′),E(pkp′,xi,i′j,i′))
③CSP再计算:
Figure BDA0002068165900000131
距离值为[Di,j]=E(pkp′,Di,j),类别值为[λi,j]=E(pkp′,λj)
第二种情况为中心值为迭代后时:在每次迭代后计算距离值时,由于更新的中心设为
Figure BDA0002068165900000132
计算:
Figure BDA0002068165900000133
Figure BDA0002068165900000134
其中sj={sj,1,…,Sj,d}。计算距离转变成计算;
Figure BDA0002068165900000135
计算距离过程如下:
①通过CSP和ASCP交互并采用了Paillier加密方案中SM算法计算得:
E(pkp′,xi,i′·hj)=SM(E(pkp′,xi,i′),E(pkp′,hj))
E(pkp′,hj 2)=SM(E(pkp′,hj),E(pkp′,hj))
其中(i′∈{1,…,d});
②CSP根据E(pkp′,xi,i′·hj)和E(pkp′,sj,i′)计算:
E(pkp′,xi,i′·hj-sj,i′)=E(pkp′,xi,i′·hj)·E(pkp′,sj,i′)N-1
其中i′∈{1,…,d},再与ACSP交互并采用Paillier加密方案中SM算法计算得:
E(pkp′,(xi,i′·hj-sj,i′)2)=SM(E(pkp′,xi,i′·hj-sj,i′),E(pkp′,xi,i′·hj-sj,i′));
③最后CSP计算:
Figure BDA0002068165900000141
距离值为
Figure BDA0002068165900000142
类别值为[λi,j]=E(pkp′,λj);
S422:数据根据与聚类中心的距离划分到最近聚类中心:CSP根据每个数据向量xi与k个聚类中心计算距离得到的k个距离值,先比较这k个距离值的大小得到最小值对应的聚类中心,再把xi划分于这个聚类中心,数据向量xi就属于该聚类中心所对应的类别,每个xi有k个距离值{[Di,1],…,[Di,j]}或者
Figure BDA0002068165900000143
集合{[Di,1],…,[Di,j]}中求最小值过程与集合
Figure BDA0002068165900000144
中求最小值过程是类似的;
比较k个距离值
Figure BDA0002068165900000145
过程,首先考虑到
Figure BDA0002068165900000146
Figure BDA0002068165900000147
两个二元组之间进行比较得到更小值,然后考虑到集合
Figure BDA0002068165900000148
中k个二元组计算最小值。
Figure BDA0002068165900000149
Figure BDA00020681659000001410
两个二元组之间比较采用密文比较算法。
本实施例通过计算更大值(PMAX)算法进行改变为计算更小值(PMIN)算法,将PMIN算法作为密文比较算法。
PMIN算法:CSP把密文
Figure BDA0002068165900000151
Figure BDA0002068165900000152
作为该算法的输入,ACSP把私钥skp′作为算法的输入。该算法比较过程是计算距离值密文得哪个比较小就得到新的密文Ti,u
PMINk(<[Di,1],[λi,1]>,…,<[Di,k],[λi,k]>)算法主要是根据迭代和分层设计的。每次迭代过程中,需要执行PMIN算法的输出值作为下一次迭代的输入,因此就会生成一个二进制树自底而上的形式执行,该算法只有CSP知道最后结果的密文形式,而ACSP在比较过程不会得到任何额外的信息。
在PMINk算法中,CSP有k个二元组
Figure BDA0002068165900000153
ACSP有对应的私钥skp。PMINk算法过程如下:
①初始化:设
Figure BDA0002068165900000154
Figure BDA0002068165900000155
初始化集合Sb={Ti,1,…,Ti,k},定义num再赋值为k。
②迭代:需要CSP和ACSP参与,其中第一次迭代时,i′从1到
Figure BDA0002068165900000156
循环,对集合Sb={Ti,1,Ti,2,…,Ti,k}中两两进行PMIN算法得到更小值赋值到Ti,2i′-1,同时Ti,2i′中每个元素都变成0,还有num也变成
Figure BDA0002068165900000157
第二次迭代时,循环
Figure BDA0002068165900000158
次,计算集合Sb中{Ti,1,Ti,3,…,}的两两比较得到较小值,之后将
Figure BDA0002068165900000159
当迭代到
Figure BDA00020681659000001510
次时,根据第二次迭代以此类推计算,到最后计算出最小值的Ti,min
S423:更新每个数据对应的位图向量:当CSP得到了(x1,…,xn)对应的距离值最小值元组(T1,min,…,Tn,min)。每个向量xi对应位图矩阵中Vn×k中(vi,1,…,vi,k),需要根据每个元组
Figure BDA00020681659000001511
中[λi,min]=E(pkp′,2min)密文集合{E(pkp′,λ1),…,E(pkp′,λk)},通过计算得到E(pkp′,t′i,jminj))可以判断λmin与λj是否相等,根据λmin与λj相等,更新位图向量中对应位置v′i,j=E(pkp′,1),否则更新位图向量中对应位置v′i,j=E(pkp′,0),这样更新位图矩阵Vn×k中向量(vi,1,…,vi,k)。更新主要是找到λmin对应属于哪个类别进行更新(vi,1,…,vi,k)。详细过程如下:
①CSP:根据每个向量xi对应Ti,min和密文集合{E(pkp′,λ1),…,E(pkp′,λk)},设j从1到k,对Ti,min中E(pkp′,λmin)进行计算:
Figure BDA0002068165900000161
其中,t′i,j是一个随机数,
Figure BDA0002068165900000162
N=p·q,p和q表示Paillier加密的选取两个大素数,
设Φ={Λ1,…,Λk},同时产生一个随机置换函数π,计算Φ′=π(Φ),随机置换函数π将Φ={Λ1,…,Λk}中每个Λj(j∈{1,…,k})值的位置随机置换得Φ′,把Φ′发送到ASCP。
②ACSP:将Φ′={Λ′1,…,Λ′k}中Λ′j′(j′∈{1,…,k})解密,计算:
ηj′=D(skp′,Λ′j′)=L(Λ′j′mod N2)·μmod N;
其中skp′=(λ,μ),Λ′j′∈{E(pkp′,t′i,1min1)),...,E(pkp′,t′i,kmink))},j′∈{1,…,k},判断解密ηj′的值:
i.当ηj′==0时,计算wj′=E(pkp′,1);
ii.当ηj′≠0时,计算wj′=E(pkp′,0);
将W={w1,…,wk}={E(pkp′,0),...,E(pkp′,1),...,E(pkp′,0)}再发送给CSP,在W中E(pkp′,1)的位置表示这个数据xi归属于最近聚类中心的索引;
假设:
Figure BDA0002068165900000163
数据xi属于最近聚类中心的索引是j′;
③CSP:将接收到的W={w1,…,wk},计算
Γ=π-1(W);
Figure BDA0002068165900000171
其中j′值与j值不同的。
S43:更新聚类中心:
CSP根据更新后位图矩阵V′n×k={(v′1,1,…,v′1,k),…,(v′n,1,…,v′n,k)}的密文和数据密文{E(pkp′,xi),...,E(pkp′,xn)}(i∈{1,2,…,n})计算新的聚类中心值。设三元组E(pkp′,μ′j)=<E(pkp′,sj),E(pkp′,hj),E(pkp′,λj)>代表更新后的中心,其中
E(pkp′,sj)={E(pkp′,sj,1),…,E(pkp′,sj,d)}(j∈{1,2,…,k})
其中,sj/hj代表是中心值向量明文,E(pkp′,sj)与E(pkp′,hj)共同表示中心值向量密文形式,E(pkp′,λj)代表是该中心对应的类别,E(pkp′,hj)代表是属于这个中心的数据记录条数总和的密文,E(pkp′,sj,i)表示属于λj这个类别的数据中第i个属性值总和的密文。
E(pkp′,sj)={E(pkp′,sj,1),…,E(pkp′,sj,d)}和E(pkp′,hj)主要计算过程:
Figure BDA0002068165900000172
Figure BDA0002068165900000173
其中j∈{1,2,…,k};
更新聚类中心过程如下:
根据更新后位图矩阵V′n×k={(v′1,1,…,v′1,k),…,(v′n,1,…,v′n,k)}的密文和E(pkp′,xi)(i∈{1,2,…,n}),计算
Figure BDA0002068165900000174
其中CSP与ACSP运用Paillier的SM算法得到E(pkp′,v′t,j·xt,i),CSP计算:
Figure BDA0002068165900000181
再组成E(pkp′,sj)={E(pkp′,sj,1),…,E(pkp′,sj,d)};
CSP根据更新后位图矩阵V′n×k={(v′1,1,…,v′1,k),…,(v′n,1,…,v′n,k)}计算:
Figure BDA0002068165900000182
CSP根据聚类中心E(pkp′,μj)=<E(pkp′,μj,1),…,E(pkp′,μj,d),E(pkp′,λj)>中E(pkp′,λj)以及计算得E(pkp′,sj)和E(pkp′,hj),组成新的聚类中心E(pkp′,μ′j)=<E(pkp′,sj),E(pkp′,hj),E(pkp′,λj)>,
其中j∈{1,2,…,k},sj/hj表示中心值向量明文,E(pkp′,sj)与E(pkp′,hj)表示中心值向量密文形式,E(pkp′,λj)代表是该中心对应的类别,E(pkp′,hj)代表是属于中心的数据记录条数总和的密文,E(pkp′,Sj,i)表示属于λj这个类别的数据中第i个属性值总和的密文。
S44:判断聚类是否终止:
更新完中心之后,把判断之前的中心位置和更新后的中心位置是否有所变化改为判断数据聚类结果是否有所变化,可以把这个比较简化成比较更新前位图矩阵Vn×k和更新变化后位图矩阵V′n×k是否有所变化,其中矩阵中vi,j∈(0,1),v′i,j∈(0,1),其中i∈{1,2,…,n},j∈{1,2,…,k}。位图矩阵V′n×k中第i行向量中出现一次v′i,j=1的位置,表示第i个数据属于最近聚类中心的索引,同时说明第i个数据是属于λj类别。如果更新前位图矩阵Vn×k和更新变化后位图矩阵V′n×k有变化,说明数据聚类结果有变化,继续聚类迭代过程;如果没有变化,说明说明数据聚类结果没有变化,终止聚类过程。
如图2所示,明文比较两个矩阵是否变化的过程是先将更新前的矩阵Vn×k和更新后的矩阵V′n×k进行一一对应相乘得到新的矩阵Ψn×k,再把新的矩阵Ψn×k中全部值做加法运算;最后把运算之后结果与n相比较。密文比较中先做密文运算操作,再解密运算结果与n值相比较,n值表示客户端的数量。
接下来描述密文比较过程如下:
根据矩阵Vn×k的密文和矩阵V′n×k的密文中一个个对应计算E(pkp,vi,j·v′i,j)(i∈{1,…,n},j∈{1,…,k}),其过程是CSP和ACSP交互并运用到Paillier的SM算法计算得到E(pkp,vi,j·v′i,j)。
CSP再做
Figure BDA0002068165900000191
这个运算式的密文上运算操作,计算:
Figure BDA0002068165900000192
Figure BDA0002068165900000193
其中(i∈{1,…,n});再把
Figure BDA0002068165900000194
发送给ASCP。ASCP解密得到
Figure BDA0002068165900000195
之后判断M是否等于n:
a)当M==n时,ACSP就会发送T给CSP,
b)当M≠n时否则就会发送F给CSP。
当CSP接收到T时,表示更新前的位图矩阵Vn×k和更新后的位图矩阵V′n×k没有变化,聚类过程结束,当收到F时,表示更新前的位图矩阵Vn×k和更新后的位图矩阵V′n×k有变化,继续循环数据划分和更新聚类中心过程,直至更新后的位图矩阵V′n×k没有变化;
S5:返回结果给客户端
CSP得到每个数据密文E(pkp′,xi)在聚类结束后计算得到的Ti,min中类别密文[λi,min]=E(pkp′,λmin),主要把E(pkp′,λmin)转换成
Figure BDA0002068165900000196
再转换成
Figure BDA0002068165900000201
Figure BDA0002068165900000202
过程如下:
CSP:给类别密文[λi,min]=E(pkp′,λmin)(i∈{1,2,…,n})加噪音得到[λ′i,min]=E(pkp′,λ′min)。先随机选取z′i,加密z′i得E(pkp′,z′i)。再计算[λ′i,min]=E(pkp′,λmin+z′i)=E(pkp′,λ′min)(i∈{1,2,…,n}),把[λ′i,min](i∈{1,2,…,n})发送给ACSP;
ACSP:接收到[λ′i,min]=E(pkp′,λ′min)解密,再调双向加法同态代理重加密的加密算法和ACSP产生的公钥加密pkACSP加密得到
Figure BDA0002068165900000203
再把这些密文发送给CSP;
CSP:得到
Figure BDA0002068165900000204
之后就需要去掉噪声计算得:
Figure BDA0002068165900000205
先计算
Figure BDA0002068165900000206
再计算:
Figure BDA0002068165900000207
Figure BDA0002068165900000208
CSP得到了
Figure BDA0002068165900000209
使用双向加法同态代理重加密中重加密算法
Figure BDA00020681659000002010
Figure BDA00020681659000002011
Figure BDA00020681659000002012
发送给参与的客户端CUi,CUi再解密就得到结果。
本实施例分析Rong等人提出的PPCOM方案与本实施例的基于K均值聚类的隐私信息保护方法的计算代价,设Exp、Mul分别表示模的指数运算和乘法运算。PKC-DD加密中加密需要2Exp+1Mul,正常解密算法需要1Exp+1Mul,主私钥解密算法需要2Exp+2Mul,双向代理重加密中加密算法需要3Exp+1Mul,解密算法需要1Exp+1Mul,双向代理重加密中重加密算法需要1Exp,Paillier加密中加密算法需要2Exp+1Mul,解密需要1Exp+2Mul。从密文转换、加法、乘法、两个距离密文比较、聚类的数据划分、更新中心、判断聚类是否终止过程分析计算代价,如下表1所示:
表1计算代价对比表
Figure BDA0002068165900000211
密文转换过程中主要解决了将不同公钥下密文转换到同一公钥下,本实施例提出的方案与PPCOM方案相对比,本实施例在密文转换过程降低计算代价。两个距离密文比较中,本实施例方案的计算代价明显比Rong等人提出的PPCOM方案的少。Rong等人提出的PPCOM方案中采用的加密算法是支持乘法同态性质,本实施例方案采用的加密算法是支持加法同态性质,所以执行密文加法运算减少计算。从整体来说,本实施例基于K均值聚类的隐私信息保护方法的聚类效率比Rong等人提出的PPCOM方案高。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (7)

1.一种基于K均值聚类的隐私信息保护方法,其特征在于,包括下述步骤:
S1:数据加密:多个客户端CUi采用双向加法同态代理重加密的加密算法进行数据xi加密得到加密密文
Figure FDA0003528050610000011
并将加密密文上传至云服务端;
S2:重加密密钥生成:客户端CUi、云服务端CSP和辅助云服务端ACSP进行数据交互计算,得到重加密密钥
Figure FDA0003528050610000012
步骤S2所述重加密密钥生成的具体步骤为:
S21:云服务端CSP选择n个随机数
Figure FDA0003528050610000013
Figure FDA0003528050610000014
由集合{1,...,p-1}中与p互素的整数构成,把随机数分别发送到客户端CUi
S22:客户端CUi收到随机数r′i,计算
Figure FDA0003528050610000015
并将计算结果发送至辅助云服务端ACSP,其中
Figure FDA0003528050610000016
为客户端私钥;
S23:辅助云服务端ACSP根据参与的客户端CUi发送的
Figure FDA0003528050610000017
计算
Figure FDA0003528050610000018
同时将计算结果发送至云服务端CSP,其中skACSP为辅助云服务端私钥;
S24:云服务端CSP得到
Figure FDA0003528050610000019
计算重加密密钥:
Figure FDA00035280506100000110
其中i∈{1,2,…,n};
S3:密文转换:云服务端CSP收到加密密文
Figure FDA00035280506100000111
采用双向加法同态代理重加密的重加密算法和重加密密钥
Figure FDA00035280506100000112
进行重加密,得到同一公钥的重加密密文
Figure FDA00035280506100000113
再与辅助云服务端ACSP进行数据交互,将重加密密文
Figure FDA00035280506100000114
转换为Paillier加密的密文E(pkp′,xi);
步骤S3所述密文转换的具体步骤为:
S31:云服务端CSP采用双向加法同态代理重加密中重加密算法ReEnc将来自不同客户端的加密密文转换成同一公钥的加密密文,计算公式为:
Figure FDA0003528050610000021
其中,i∈{1,...,n},j∈{1,...,d},g是乘法群G1的生成元,
Figure FDA0003528050610000022
表示客户端密钥对,(skACSP,pkACSP)表示辅助云服务端密钥对,将加密密文
Figure FDA0003528050610000023
转换为重加密密文
Figure FDA0003528050610000024
S32:重加密密文
Figure FDA0003528050610000025
转化为Paillier加密密文,具体过程为:
云服务端CSP先把重加密密文
Figure FDA0003528050610000026
加上噪声得
Figure FDA0003528050610000027
再发送给辅助云服务端ACSP;
辅助云服务端ACSP采用持有的私钥skACSP解密
Figure FDA0003528050610000028
得x′i,计算公式为:
Figure FDA0003528050610000029
Figure FDA00035280506100000210
根据g计算得到x′i,j,其中i∈{1,...,n},j∈{1,...,d},再加密并用Paillier加密系统下的公钥加密pkp′和Paillier加密系统的加密算法得E(pkp′,x′i),计算公式为:
Figure FDA00035280506100000211
Figure FDA00035280506100000212
由集合{1,...,N-1}中与N互素的整数构成,其中j∈{1,...,d},再把密文E(pkp′,x′i)={E(pk,x′i,1),...,E(pk,x′i,d)}发送到云服务端CSP;
最后云服务端CSP将接收到密文去掉噪声恢复原始数据的密文E(pkp′,xi)={E(pkp′,xi,1),…,E(pkp′,xi,d)};
S4:云服务端CSP获得Paillier加密的密文E(pkp′,xi)后计算聚类,具体步骤为:
初始化聚类中心:客户端CUi定义聚类中心的数量,设置每个聚类中心对应一个类别,初始化聚类中心后,根据数据xi对应的聚类中心的索引初始化位图向量Vi的密文发送至云服务端CSP;
数据划分:云服务端CSP将接收到位图向量Vi组成位图矩阵Vn×k,并与辅助云服务端ACSP进行数据密文交互计算距离的密文,根据与聚类中心的距离的密文,将数据划分到最近的聚类中心,更新每个数据对应的位图矩阵Vn×k
更新聚类中心:根据更新后位图矩阵Vn×k的密文和Paillier加密的数据密文E(pkp′,xi)计算新的聚类中心;
判断聚类是否终止:通过比较位图矩阵Vn×k更新前后是否有变化,判断是否终止聚类迭代过程;
S5:返回结果至客户端:云服务端CSP先将聚类结果的密文转换双向加法同态代理重加密的密文,再将双向代理重加密的辅助云服务端ACSP公钥下密文转换为不同客户端公钥下的密文,最后将聚类结果的密文返回给客户端,客户端CUi解密得到聚类结果;
步骤S5所述返回结果至客户端,具体步骤为:
云服务端CSP给每个数据密文E(pkp′,xi)在聚类结束后计算得到的Ti,min中类别密文[λi,min]加噪音得到[λ′i,min],将[λ′i,min]发送到辅助云服务端;
辅助云服务端ACSP接收到[λ′i,min]进行解密,再调双向加法同态代理重加密的加密算法和产生的公钥加密pkACSP加密得到[λ″i,min],再把密文[λ″i,min]发送给云服务端CSP;
云服务端CSP得到[λ″i,min]之后去掉噪声后得到[λ″′i,min];
对[λ″′i,min]采用双向加法同态代理重加密中重加密算法
Figure FDA0003528050610000031
得到
Figure FDA0003528050610000032
Figure FDA0003528050610000033
发送给参与的客户端CUi,客户端CUi解密得到聚类结果。
2.根据权利要求1所述的基于K均值聚类的隐私信息保护方法,其特征在于,还包括密钥对生成步骤,具体步骤如下所述:
云服务端CSP调用ElGamal加密算法中的Gengroup函数生成公共参数PP=(p,G1,g),G1是价为素数p的乘法群,其中g是乘法群G1的生成元,同时把生成的公共参数PP发送至客户端CUi和辅助云服务端ACSP;
客户端CUi调用双向加法同态代理重加密的KeyGen(PP)算法,计算公钥
Figure FDA0003528050610000041
对应的私钥是随机选取
Figure FDA0003528050610000042
其中,
Figure FDA0003528050610000043
由集合{1,...,p-1}中与p互素的整数构成,客户端CUi得到密钥对
Figure FDA0003528050610000044
辅助云服务端ACSP调用双向加法同态代理重加密的KeyGen(PP)算法,计算公钥
Figure FDA0003528050610000045
对应的私钥是随机选取
Figure FDA0003528050610000046
Figure FDA0003528050610000047
由集合{1,...,p-1}中与p互素的整数构成,得到辅助云服务端密钥对(skACSP,pkACSP),同时调用Paillier加密系统的KeyGen(κ)算法得到辅助云服务端ACSP输出密钥对(skp′,pkp′),其中,算法输入κ表示安全系数。
3.根据权利要求1所述的基于K均值聚类的隐私信息保护方法,其特征在于,步骤S1所述数据加密的具体步骤为:
客户端CUi数据设为向量xi={xi,1,…,xi,d},客户端CUi调用双向加法同态代理重加密算法得到加密密文:
Figure FDA0003528050610000048
其中
Figure FDA0003528050610000049
g是乘法群G1的生成元,
Figure FDA00035280506100000410
表示客户端私钥,将加密数据集上传到云服务端CSP。
4.根据权利要求1所述的基于K均值聚类的隐私信息保护方法,其特征在于,步骤S4所述初始化聚类中心的具体步骤为:
客户端CUi设定聚类中心的数量k的值,定义类别label={λ1,…,λk},选取任意一个聚类中心μj={μj,1,…,μj,a},每个聚类中心对应一个类别λj,采用辅助云服务端ACSP的公钥pkp′和Paillier加密,得到初始化聚类中心的密文多元组E(pkp′,μj):
E(pkp′,μj)=<E(pkp′,μj,1),…,E(pkp′,μj,a),E(pkp′,λj)>;
其中,j∈{1,2,…,k};
客户端CUi计算:vi,j=E(pkp′,0),vi,j表示数据xi是否属于第j个聚类中心,当vi,j=E(pkp′,0)表示数据xi不属于第j个聚类中心,vi,j=E(pkp′,1)表示数据xi属于第j个聚类中心;
初始化位图向量Vi:Vi={vi,1,…,vi,k}={E(pkp′,0),...,E(pkp′,0)},将E(pkp′,μj)发送至云服务端CSP,同时每个客户端CUi发送位图向量Vi到云服务端CSP。
5.根据权利要求1所述的基于K均值聚类的隐私信息保护方法,其特征在于,步骤S4中所述数据划分的具体步骤为:
云服务端CSP根据每个数据向量xi与k个聚类中心计算距离得到的k个距离值,先比较k个距离值的大小,得到最小值对应的聚类中心,再把xi划分到对应的聚类中心,采用密文比较更小值算法进行迭代计算得到最小值元组Ti,min
Figure FDA0003528050610000051
其中
Figure FDA0003528050610000052
是数据向量xi与聚类中心的距离最小值的密文,[λi,min]是数据向量xi划分到最近聚类中心所对应的类别密文;
根据每个向量xi对应距离值最小值元组Ti,min中[λi,min]=E(pkp′,λmin)和密文集合{E(pkp′,λ1),…,E(pkp′,λk)},通过计算得到E(pkp′,t′i,jminj))判断λmin与λj是否相等,更新位图向量中对应位置vi,j,最后更新位图矩阵Vn×k中向量(vi,1,…,vi,k)。
6.根据权利要求1所述的基于K均值聚类的隐私信息保护方法,其特征在于,步骤S4中所述更新聚类中心的具体步骤为:
根据更新后位图矩阵V′n×k={(v′1,1,...,v′1,k),..,(v′n,1,..,v′n,k)}和数据密文集合{E(pkp′,xi),...,E(pkp′,xn)},计算
Figure FDA0003528050610000061
其中云服务端与辅助云服务端运用Paillier的SM算法得到E(pkp′,v′t,j·xt,i),CSP计算:
Figure FDA0003528050610000062
再组成:E(pkp′,sj)={E(pkp′,sj,1),…,E(pkp′,sj,d)};
云服务端CSP根据更新后位图矩阵V′n×k={(v′1,1,...,v′1,k),..,(v′n,1,..,v′n,k)}计算:
Figure FDA0003528050610000063
CSP根据聚类中心E(pkp′,μj)=<E(pkp′,μJ,1),…,E(pkp′,μj,d),E(pkp′,λj)>中的E(pkp′,λj)以及计算得到的E(pkp′,sj)、E(pkp′,hj),组成新的聚类中心E(pkp′,μ′j)=<E(pkp′,sj),E(pkp′,hj),E(pkp′,λj)>;
其中,j∈{1,2,…,k}、sj/hj表示中心值向量明文,E(pkp′,sj)与E(pkp′,hj)表示中心值向量密文形式,E(pkp′,λj)表示中心对应的类别,E(pkp′,hj)代表是属于中心的数据记录条数总和的密文,E(pkp′,sj,i)表示属于λj这个类别的数据中第i个属性值总和的密文。
7.根据权利要求1所述的基于K均值聚类的隐私信息保护方法,其特征在于,步骤S4中所述判断聚类是否终止的具体步骤为:
所述通过比较位图矩阵Vn×k更新前后是否有变化,包括明文比较和密文比较;
所述明文比较:先将更新前的位图矩阵Vn×k和更新后的位图矩阵V′n×k进行一一对应相乘得到新的位图矩阵Ψn×k,再把新的位图矩阵Ψn×k中全部值做加法运算,最后把运算后结果与n值相比较,n值表示客户端的数量;
所述密文比较:先将更新前的位图矩阵Vn×k和更新后的位图矩阵V′n×k进行一一对应相乘得到新的位图矩阵Ψn×k,再把新的位图矩阵Ψn×k中全部值做加法运算,再解密得到运算结果M与n值相比较:
当M=n时,辅助云服务端发送T给云服务端,聚类过程结束;当M≠n时,辅助云服务端发送F给云服务端,继续循环进行数据划分和更新聚类中心步骤,直至更新后的位图矩阵V′n×k没有变化。
CN201910428240.4A 2019-05-22 2019-05-22 一种基于k均值聚类的隐私信息保护方法 Active CN110233730B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910428240.4A CN110233730B (zh) 2019-05-22 2019-05-22 一种基于k均值聚类的隐私信息保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910428240.4A CN110233730B (zh) 2019-05-22 2019-05-22 一种基于k均值聚类的隐私信息保护方法

Publications (2)

Publication Number Publication Date
CN110233730A CN110233730A (zh) 2019-09-13
CN110233730B true CN110233730B (zh) 2022-05-03

Family

ID=67860897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910428240.4A Active CN110233730B (zh) 2019-05-22 2019-05-22 一种基于k均值聚类的隐私信息保护方法

Country Status (1)

Country Link
CN (1) CN110233730B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143865B (zh) * 2019-12-26 2022-12-30 国网湖北省电力有限公司 一种密文数据上标签自动生成的用户行为分析系统及方法
CN111064558B (zh) * 2020-01-09 2023-04-07 浙江理工大学 一种基于云计算的同态加密矩阵连乘安全外包方法
CN111310817B (zh) * 2020-02-10 2022-02-11 深圳大学 谱聚类方法、装置、系统、计算机设备和存储介质
CN111526148B (zh) * 2020-04-26 2022-02-25 中山大学 一种云计算环境下加密音频的安全去噪系统及方法
CN111444545B (zh) * 2020-06-12 2020-09-04 支付宝(杭州)信息技术有限公司 针对多方的隐私数据进行聚类的方法和装置
CN112152779B (zh) * 2020-09-29 2022-05-06 黑龙江大学 一种抗强合谋攻击的格基同态代理重加密方法
CN112287375A (zh) * 2020-11-21 2021-01-29 上海同态信息科技有限责任公司 一种密态欧式距离的计算方法
CN112508203B (zh) * 2021-02-08 2021-06-15 同盾控股有限公司 基于联邦学习的数据聚类处理方法、装置、设备及介质
CN113114454B (zh) * 2021-03-01 2022-11-29 暨南大学 一种高效隐私的外包k均值聚类方法
CN113468553B (zh) * 2021-06-02 2022-07-19 湖北工业大学 一种面向工业大数据的隐私保护分析系统及方法
CN115114980A (zh) * 2022-06-28 2022-09-27 支付宝(杭州)信息技术有限公司 联合训练用户聚类模型的、用户聚类方法及装置
CN115499117B (zh) * 2022-11-17 2023-03-24 深圳市迪博企业风险管理技术有限公司 区块链交易网络的密钥对生成方法及数据传输方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145792A (zh) * 2017-04-07 2017-09-08 哈尔滨工业大学深圳研究生院 基于密文数据的多用户隐私保护数据聚类方法及系统
CN107241182A (zh) * 2017-06-29 2017-10-10 电子科技大学 一种基于向量同态加密的隐私保护层次聚类方法
EP3244567A1 (en) * 2016-05-13 2017-11-15 ABB Schweiz AG Encryption for low-end devices through random number generation offloading
CN109615021A (zh) * 2018-12-20 2019-04-12 暨南大学 一种基于k均值聚类的隐私信息保护方法
CN109688143A (zh) * 2018-12-28 2019-04-26 西安电子科技大学 一种面向云环境中隐私保护的聚类数据挖掘方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3203679A1 (en) * 2016-02-04 2017-08-09 ABB Schweiz AG Machine learning based on homomorphic encryption

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3244567A1 (en) * 2016-05-13 2017-11-15 ABB Schweiz AG Encryption for low-end devices through random number generation offloading
CN107145792A (zh) * 2017-04-07 2017-09-08 哈尔滨工业大学深圳研究生院 基于密文数据的多用户隐私保护数据聚类方法及系统
CN107241182A (zh) * 2017-06-29 2017-10-10 电子科技大学 一种基于向量同态加密的隐私保护层次聚类方法
CN109615021A (zh) * 2018-12-20 2019-04-12 暨南大学 一种基于k均值聚类的隐私信息保护方法
CN109688143A (zh) * 2018-12-28 2019-04-26 西安电子科技大学 一种面向云环境中隐私保护的聚类数据挖掘方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Mutual Privacy Preserving k-Means Clustering in Social Participatory Sensing;Kai Xing等;《IEEE Transactions on Industrial Informatics》;20170418;全文 *
同态加密的分布式K均值聚类算法研究;姚禹丞;《计算机技术与发展》;20170110;全文 *

Also Published As

Publication number Publication date
CN110233730A (zh) 2019-09-13

Similar Documents

Publication Publication Date Title
CN110233730B (zh) 一种基于k均值聚类的隐私信息保护方法
Liu et al. An efficient privacy-preserving outsourced calculation toolkit with multiple keys
CN110008717B (zh) 支持隐私保护的决策树分类服务系统及方法
Wenxiu et al. Privacy-preserving data processing with flexible access control
CN107145791B (zh) 一种具有隐私保护的K-means聚类方法及系统
Liu et al. Achieving reliable and secure services in cloud computing environments
Paulet et al. Privacy-preserving and content-protecting location based queries
US9736128B2 (en) System and method for a practical, secure and verifiable cloud computing for mobile systems
US7590236B1 (en) Identity-based-encryption system
KR102116877B1 (ko) 오류를 갖는 페어링을 이용한 새로운 암호 시스템들
CN105122721B (zh) 用于管理针对加密数据的托管安全计算的方法和系统
CN101807991B (zh) 密文政策属性基加密系统和方法
Hassan et al. An efficient outsourced privacy preserving machine learning scheme with public verifiability
CN106788985A (zh) 一种第三方可监管的隐身地址实现方法
CN110147681A (zh) 一种支持灵活访问控制的隐私保护大数据处理方法及系统
CN111526002B (zh) 一种基于格的多身份的全同态加密方法
CN113518092A (zh) 实现多方隐私的集合交集方法
Peng Danger of using fully homomorphic encryption: A look at Microsoft SEAL
CN110445797B (zh) 一种具有隐私保护的两方多维数据比较方法和系统
CN104158880A (zh) 一种用户端云数据共享解决方法
CN111639345B (zh) 基于同态加密的安全的多方云计算的方法和系统
CN104135473A (zh) 一种由密文策略的属性基加密实现身份基广播加密的方法
CN113162751B (zh) 具备加同态性的加密方法、系统及可读存储介质
Li et al. Efficient privacy-preserving access control of mobile multimedia data in cloud computing
CN115664629A (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