CN109615021B - 一种基于k均值聚类的隐私信息保护方法 - Google Patents
一种基于k均值聚类的隐私信息保护方法 Download PDFInfo
- Publication number
- CN109615021B CN109615021B CN201811590868.6A CN201811590868A CN109615021B CN 109615021 B CN109615021 B CN 109615021B CN 201811590868 A CN201811590868 A CN 201811590868A CN 109615021 B CN109615021 B CN 109615021B
- Authority
- CN
- China
- Prior art keywords
- data
- ciphertext
- clustering
- cloud server
- enc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于机器学习领域,涉及一种基于k均值聚类的隐私信息保护方法,采用线性同态加密算法LHE结合加法同态加密算法Paillier对数据进行加密,得到密文数据,利用云服务端提供的计算服务实现对密文数据进行k均值聚类,得到密文聚类结果,客户端对密文聚类结果进行解密,得到明文聚类结果。本发明云服务端不获取用户的任何隐私信息,在实现聚类算法的同时保证用户的隐私信息安全,数据分析过程中数据信息不泄露,不仅有效地提高了用户数据的安全性,还大幅度地降低了客户端与云服务端之间的通信量,降低了通信成本,提高了机器学习效率,更适合应用到实际场景中去。
Description
技术领域
本发明属于机器学习领域,涉及一种基于k均值聚类的隐私信息保护方法。
背景技术
随着互联网技术的快速发展,AI技术的再次兴起让机器学习在信息行业得到了广泛的应用,例如医学诊断、搜索引擎、计算机视觉、检测信用卡欺诈、证券市场分析等。机器学习的基本思想是模拟人类的学习行为,通过对大量数据的分析和学习,来获取新的知识或技能,用以改善已有组织结构的性能。更精确的机器学习结果需要更大的数据库作为学习的对象,然而大量的数据包含了用户的隐私信息,这给机器学习的发展带来了新的挑战和机遇。因此在机器学习领域实现数据的安全计算,是当前信息行业急需解决的重要问题,具有重要的理论意义和应用价值。
最近几年,基于大数据的机器学习是目前信息行业最热门的领域之一。数据的爆炸性增长转变了传统机器学习的窘境,大量的数据存储丰富了机器学习的学习资源,给机器学习带来了巨大的发展机遇。在这种数据规模下进行机器学习,可以利用数据的特性更好地帮助各行各业进行发展规划。例如,在医疗方面,根据病人的病例数据学习得到疾病诊断模型;在人脸识别方面,用含有人脸的图像或视频流,通过对图像的检测和跟踪进行身份识别;在商业方面,根据消费者的消费特征,确定商场的主消费人群等。
k均值聚类算法是机器学习中“无监督学习”的一种,通过对无标记数据进行分析学习,发现数据之间存在的某种关系,从而实现对数据的划分或分组处理。在该算法中,训练样本的标记信息是未知的,目标是通过对无标记的信息数据的学习,发现数据中的内在规律,进而对数据进行划分、归类。由于其简单、有效的特性,k均值聚类算法在聚类算法中是比较常用的一种算法,可以用于新闻聚类、用户购买模式、图像与基因技术等领域。
大数据与机器学习的结合发展是信息技术行业的一大优势,但同时也是未来发展的一大挑战。因为大数据的产生源于我们的生活,包含了大量的隐私数据,对于用户的隐私保护已经是社会发展的焦点。为了解决大数据下的计算问题,云计算服务得到许多大、小企业的青睐,由于云服务器的不可信特性,使得用户的隐私安全问题更加严峻。因此,如何在保证数据安全的前提下进行机器学习,已经是当前机器学习发展的重要问题,研究具有隐私保护的机器学习方法是信息行业的发展趋势,具有重要的理论意义和应用价值。
通常情况下,为了防止隐私信息的泄露,用户在上传数据之前会先进行加密,然后把密文上传到云服务器用于机器学习,然而加密数据的方法虽解决了隐私安全的问题,但对密文进行机器学习的运算带来了一定的难度。全同态的加密算法支持密文运算,但是由于全同态的效率很低,导致该加密方法在实际场景中并不实用。
在很多实际的应用场景中,为了保证数据的安全性,数据提供者仅提供训练数据样本的密文形式,云服务器只能在密文上进行机器学习的训练算法,要求在机器学习的过程中,云服务器不能学习到用户隐私信息,数据提供者承担尽可能少的计算工作量。另外,为了保证机器学习的效率,在解决方案中,降低通信成本也是一个要求。
发明内容
针对现有技术的不足,本发明提供一种基于k均值聚类的隐私信息保护方法,采用线性同态加密算法LHE结合加法同态加密算法Paillier对数据进行加密,得到密文数据,利用云服务端提供的计算服务实现对密文数据进行k均值聚类,得到密文聚类结果,客户端对密文聚类结果进行解密,得到明文聚类结果。本发明云服务端不获取用户的任何隐私信息,在实现聚类算法的同时保证用户的隐私信息安全,数据分析过程中数据信息不泄露,不仅有效地提高了用户数据的安全性,还大幅度地降低了客户端与云服务端之间的通信量,降低了通信成本,提高了机器学习效率,更适合应用到实际场景中去。
本发明采用如下技术方案:
一种基于k均值聚类的隐私信息保护方法,包括以下步骤:
S1、客户端采用线性同态加密算法LHE结合加法同态加密算法Paillier对数据进行加密,得到密文数据,并将密文数据上传至云服务端。
S2、云服务端对密文数据进行k均值聚类,得到密文聚类结果。
S3、云服务端将密文聚类结果返回客户端,客户端对密文聚类结果进行解密,得到明文聚类结果。
进一步地,假设客户端拥有一个包含n特征数据的数据集,用矩阵A表示:
其中,A中每行的向量ai(1≤i≤n)表示一个特征向量(又称“数据项”),每一个特征向量包含d个特征值。
聚类算法将数据集A划分为k个聚类簇,每个聚类簇的聚类中心用uρ表示,每一个聚类中心uρ包含d个数据元素,聚类中心集用矩阵U表示:
其中,1≤ρ≤k;
步骤S1中客户端对数据进行加密的过程包括:
S11、选择两个素数p和q,其中p、q的值不相等但是长度相等,计算N=pq,λ=lcm(p-1,q-1),其中lcm表示最小公倍数。
S12、随机选择一个整数g满足gcd(L(gλmod N2),N)=1,其中gcd表示最大公约数,L(x)=(x-1)/N。
S13、利用Paillier中的函数生成公钥pk={N,g},私钥sk={λ}。把公钥发送给云服务端,保留自己的私钥。
S14、对数据集A进行加密,对每一个特征值aij,选择一个随机数bij,则特征值aij的密文形式为Enc(aij)=(aij-bij,[bij]),1≤i≤n,1≤j≤d,rij是一个随机数,[bij]是用Paillier加密bij的密文形式,得到加密之后的矩阵Enc(A)。
S15、对聚类中心集U进行加密,初始化k个聚类中心uρ,1≤ρ≤k,对聚类中心的每一个数据元素uρj,选择一个随机数hρj,则聚类中心数据元素的密文形式为Enc(uρj)= (uρj-hρj,[hρj]),1≤ρ≤k,1≤j≤d,rρj是一个随机数, [hρj]是用Paillier加密hρj的密文形式,得到加密之后的矩阵Enc(U)。
S16、把加密之后的矩阵Enc(A)和Enc(U)上传至云服务端,其中Enc(A)和Enc(U)是数据集A和聚类中心集U使用LHE加密后的密文形式。
进一步地,步骤S2包括:
S21、分配数据对象;
假设Diρ表示第i个特征向量(又称“数据项”)ai到第ρ个聚类中心uρ的距离;
hρ=(hρ1,…,hρd),其中hρj(1≤j≤d)是加密uρj时所选的随机数;bi=(bi1,…,bid),其中 bij(1≤j≤d)是加密aij时所选的随机数;D′iρ表示加噪音的Diρ;[D′iρ]表示使用Paillier加密的密文形式。根据Enc(aij)=(aij-bij,[bij]),和Enc(uρj)=(uρj-hρj,[hρj]),1≤j≤d, [D′iρ]计算步骤包括:
①根据LHE加法同态的性质计算两个向量的差,得:
Enc(ai)-Enc(uρ)=((ai-bi)-(uρ-hρ),[bi-hρ]) (1)
②根据LHE乘法同态的性质计算D′iρ的密文,包括:
a.计算:
用Paillier加密方案加密计算结果得:
b.根据步骤a计算得:
c.根据步骤a和步骤b计算得:
式[D′iρ]中[bi-hρ]是密文中的噪音项,(bi-hρ)T(bi-hρ)为密文中的噪音,为了后续的计算,需要客户端计算出(bi-hρ)T(bi-hρ),服务器再根据客户端计算出的(bi-hρ)T(bi- hρ去掉密文中的噪音。
云服务端比较[Diρ]和[Diρ′]的大小,其中Diρ′表示第i个特征向量ai到第ρ′个聚类中心uρ′的距离,如果[Diρ]>[Diρ′],则将[Diρ′]与特征向量ai到其他聚类中心的距离进行比较,直到找到距离特征向量ai最近的聚类中心,则把特征向量ai划分为该聚类。具体比较过程如下:(为简洁易懂,令x=Diρ,y=Diρ′):
①云服务端计算
[x1]=[x]2·[1]=[2x+1]
[y1]=[y]2=[2y]
②云服务端利用抛硬币的方法设置s的值,然后随机选取一个正整数r。如果s=1,则云服务端计算:
[L]=([x1]·[y1]N-1)r=[r(x1-y1)]
否则,云服务端计算:
[L]=([y1]·[x1]N-1)r=[r(y1-x1)]
③云服务端把计算好的密文[L]发送给客户端。
④客户端解密[L]得到明文L。
如果|L|>|N|/2,则标记f=1,否则,标记f=0。其中,|L|表示L的位长,|N|表示N的位长。
客户端使用公钥pk={N,g}加密f,然后把密文[f]返回给云服务端。
⑤云服务端在收到[f]之后,开始做如下步骤的计算:
如果s=1,则[f′]=[f];
否则[f′]=[1]·[f]N-1=[1-f]
因此,如果f′=0,则表明x≥y,如果f′=1,则表明x<y。
S22、更新聚类中心
在所有特征向量被分配到最近的聚类中心之后,云服务端根据当前的分配情况对聚类中心点进行更新操作。假设聚类结果所产生的聚类数据集Uρ中有nρ个数据项,则nρ(1≤ρ≤k) 满足n1+…+nk=n。由于云服务端只知道各聚类中心的数据对象的个数,并不能获取聚类中心点和数据对象的任何信息。本发明中,云服务端根据现有的密文信息计算新的聚类中心点的密文。对于聚类数据集Uρ的聚类中心uρ的更新过程如下:
其中ai=(ai1,…,aid)(1≤i≤nρ)表示一个d维特征的特征向量;bi=(bi1,…,bid)(1≤ i≤nρ),bij(1≤j≤d)表示加密aij时所选的随机数。
步骤S21和S22的两个过程将不断重复直到满足聚类算法终止条件。
进一步地,客户端对密文聚类结果进行解密包括:
假设聚类结果为k个聚类数据集Uρ,1≤ρ≤k,每个聚类数据集包含nρ个数据项, n1+…+nk=n,以解密第ρ个聚类中的某个特征向量的特征值Enc(aij)=(aij-bij,[bij]),1≤i≤n,1≤j≤d为例,解密过程如下:
(1)根据Paillier加密方案中的私钥sk={λ},解密[bij]得到bij;
(2)根据aij-bij和步骤(1)解密得到的bij,计算得到aij。
本发明具有以下优点与有益效果:
(1)在计算复杂度和通信复杂度有较大优化。
(2)具有CPA安全性,有效地保护了用户数据的隐私。
(3)用户和分析者之间以及用户与用户之间交互次数降低,降低了通信复杂度,大大提升了机器学习的效率。
附图说明
图1为本发明隐私信息保护方法流程图之一;
图2 为本发明隐私信息保护方法流程图之二。
具体实施方式
下面通过具体实施方式对本发明作进一步详细的描述,但本发明的实施方式并不限于此。
本实施例中,基于k均值聚类的隐私信息保护方法,如图1-2所示,包括以下步骤:
S1、客户端采用线性同态加密算法LHE结合加法同态加密算法Paillier对数据进行加密,得到密文数据,并将密文数据上传至云服务端。
客户端在上传数据之前,为了保证隐私安全,需要加密,上传密文数据给云服务端。
假设客户端拥有一个包含n特征数据的数据集,用矩阵A表示:
其中,A中每行的向量ai(1≤i≤n)表示一个特征向量(又称“数据项”),每一个特征向量包含d个特征值。
聚类算法将数据集A划分为k个聚类簇,每个聚类簇的聚类中心用uρ表示,每一个聚类中心uρ包含d个数据元素,聚类中心集用矩阵U表示:
其中,1≤ρ≤k。
本发明采用Catalano等提出的一种线性同态加密算法(LHE)(详见文献2:Catalano D, Fiore D.Using Linearly-Homomorphic Encryption to Evaluate Degree-2 Functions on Encrypted Data[C].ACM Sigsac Conference on Computer andCommunications Security.ACM, 2015:1518-1529),该加密机制不仅拥有加法同态的性质,还可以在密文上实现一次乘法同态操作。同时,结合加法同态加密算法Paillier对数据进行加密。本实施例中,客户端数据处理过程包括:
S11、选择两个大的素数p和q,其中p、q的值不相等但是长度相等,计算N=pq,λ=lcm(p-1,q-1),其中lcm表示最小公倍数。
S12、随机选择一个整数g满足gcd(L(gλmod N2),N)=1,其中gcd表示最大公约数,L(x)=(x-1)/N。
S13、利用Paillier中的函数生成公钥pk={N,g},私钥sk={λ}。把公钥发送给云服务端,保留自己的私钥。
S14、对数据集A进行加密,对每一个特征值aij,选择一个随机数bij,则特征值aij的密文形式为Enc(aij)=(aij-bij,[bij]),1≤i≤n,1≤j≤d,rij是一个随机数,[bij]是用Paillier加密bij的密文形式,得到加密之后的矩阵Enc(A):
S15、对聚类中心集U进行加密,初始化k个聚类中心uρ,1≤ρ≤k,对聚类中心的每一个数据元素uρj,选择一个随机数hρj,则聚类中心数据元素的密文形式为Enc(uρj)= (uρj-hρj,[hρj]),1≤ρ≤k,1≤j≤d,rρj是一个随机数, [hρj]是用Paillier加密hρj的密文形式,得到加密之后的矩阵Enc(U):
S16、把加密之后的矩阵Enc(A)和Enc(U)上传至云服务端,其中Enc(A)和Enc(U)是数据集A和聚类中心集U使用LHE加密后的密文形式。
S2、云服务端对密文数据进行k均值聚类,得到密文聚类结果。
本实施例中,云服务端对加密后的密文数据Enc(A)和Enc(U)进行k均值聚类,得到密文聚类结果。
k均值聚类算法是机器学习聚类算法中的一种原型聚类算法,它的主要思想是:先确定k 个聚类中心点,然后计算数据集中每个数据项到各个中心点的距离,把数据项分配到距离它最近的聚类中心,每一个聚类中心代表一个聚类,如果所有数据项都被归类,则每个聚类的中心点会根据当前聚类中的数据项进行更新。这个过程将被重复迭代执行,直到满足一定的终止条件。该终止条件可以是聚类中心不再发生变化或者变化很小,也可以是迭代次数已经超过规定的次数。
根据k均值聚类的过程,把聚类算法分为两个阶段:第一阶段:计算最近距离,分配数据对象;第二阶段:根据当前分配结果更新聚类中心。本实施例中,k均值聚类具体过程为:
S21、分配数据对象;
假设Diρ表示第i个特征向量(又称“数据项”)ai到第ρ个聚类中心uρ的距离;
hρ=(hρ1,…,hρd),其中hρj(1≤j≤d)是加密uρj时所选的随机数;,bi=(bi1,…,bid),其中bij(1≤j≤d)是加密aij时所选的随机数;D′iρ表示加噪音的Diρ;[D′iρ]表示使用Paillier 加密的密文形式。根据Enc(aij)=(aij-bij,[bij]),和 Enc(uρj)=(uρj-hρj,[hρj]),1≤j≤d, [D′iρ]计算步骤包括:
①根据LHE加法同态的性质计算两个向量的差,得:
Enc(ai)-Enc(uρ)=((ai-bi)-(uρ-hρ),[bi-hρ])
②根据LHE乘法同态的性质计算D′iρ的密文,包括:
a.计算:
用Paillier加密方案加密计算结果得:
b.根据步骤a计算得:
c.根据步骤a和步骤b计算得:
上式[D′iρ]中[bi-hρ]是密文中的噪音项,(bi-hρ)T(bi-hρ)为密文中的噪音,为了后续的计算,需要客户端计算出(bi-hρ)T(bi-hρ),服务器再根据客户端计算出的(bi-hρ)T(bi-hρ去掉密文中的噪音。具体为:
云服务端发送k×n个密文[bi-hρ]给客户端,客户端使用自己的私钥sk={λ}进行解密,得到明文bi-hρ。为了除去云服务端的噪音数据,客户端计算出(bi-hρ)T(bi-hρ),并使用公钥pk={N,g}进行Paillier加密,发送密文[(bi-hρ)T(bi-hρ)]给云服务端。云服务端利用 Paillier的加法同态的性质除去原密文中的噪音:
云服务端比较[Diρ]和[Diρ′]的大小,其中Diρ′表示第i条特征向量ai到第ρ′个聚类中心uρ′的距离,如果[Diρ]>[Diρ′],则将[Diρ′]与特征向量ai到其他聚类中心的距离进行比较,直到找到距离特征向量ai最近的聚类中心,则把特征向量ai划分为该聚类。具体比较过程如下:(为简洁易懂,令x=Diρ,y=Diρ′):
①云服务端计算
[x1]=[x]2·[1]=[2x+1]
[y1]=[y]2=[2y]
②云服务端利用抛硬币的方法设置s的值,然后随机选取一个正整数r。如果s=1,则云服务端计算:
[L]=([x1]·[y1]N-1)r=[r(x1-y1)]
否则,云服务端计算:
[L]=([y1]·[x1]N-1)r=[r(y1-x1)]
③云服务端把计算好的密文[L]发送给客户端。
④客户端解密[L]得到明文L。
如果|L|>|N|/2,则标记f=1,否则,标记f=0。其中,|L|表示L的位长,|N|表示N的位长。
客户端使用公钥pk={N,g}加密f,然后把密文[f]返回给云服务端。
⑤云服务端在收到[f]之后,开始做如下步骤的计算:
如果s=1,则[f′]=[f];
否则[f′]=[1]·[f]N-1=[1-f]
因此,如果f′=0,则表明x≥y,如果f′=1,则表明x<y。
S22、更新聚类中心
在所有特征向量被分配到最近的聚类中心之后,云服务端需要根据当前的分配情况对聚类中心点进行更新操作。假设聚类结果所产生的聚类数据集Uρ中有nρ个数据项,则nρ(1≤ρ≤k)满足n1+…+nk=n。由于云服务端只知道各聚类中心的数据对象的个数,并不能获取聚类中心点和数据对象的任何信息。本发明中,云服务端根据现有的密文信息计算新的聚类中心点的密文。对于聚类数据集Uρ的聚类中心uρ的更新过程如下:
其中ai=(ai1,...,aid)(1≤i≤nρ)表示一个d维特征向量;bi=(bi1,...,bid)(1≤i≤nρ),bij(1≤j≤d)表示加密aij时所选的随机数。
步骤S21和S22的两个过程将不断重复直到满足聚类算法终止条件,该终止条件可以分为两种,第一种:在更新过程中,没有聚类中心再发生变化,或者聚类中心的变化很小;第二种是更新迭代过程超过了规定的迭代次数,则算法终止。
S3、云服务端将密文聚类结果返回客户端,客户端对密文聚类结果进行解密,得到明文聚类结果。
假设聚类结果为k个数据集Uρ(1≤ρ≤k),每个数据集包含nρ(n1+…+nk=n)个特征向量。以解密第ρ个聚类中的某个特征向量的特征值Enc(aij)=(aij-bij,[bij]), 1≤i≤n,1≤j≤d为例。解密过程如下:
(1)根据Paillier加密方案中的私钥sk={λ},解密[bij]得到bij:
其中:
(2)根据aij-bij和步骤(1)解密得到的bij,计算aij:
aij=aij-bij+bij
假设客户端数据有n条记录(特征向量),每个特征向量包含d个特征数据,k表示聚类结果共有k个类别。将本发明的隐私信息保护方法进行计算复杂度和通信复杂的分析,其结果如表1所示。根据文献2的安全性分析,可以证明本发明是CPA安全,有效地保护了用户数据的隐私。
表1本发明方法效率和安全性分析
本发明可以用于优质客户分析,例如电信行业运营商可以根据用户的消费情况对用户进行分类,从而针对不同的用户设计不同的套餐类型。为了保证用户数据(例如:消费金额、消费类型、套餐使用情况、缴费情况等)的安全性,某运营商公司在上传数据给云服务端之前会先进行加密操作。云服务端在客户端的协助下进行k均值聚类,然后把加密的聚类结果返回给该公司。该电商公司在拿到加密的结果之后,解密得到聚类结果,然后可以根据聚类结果,有针对性的进行套餐设计,提升客户满意度。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (4)
1.一种基于k均值聚类的隐私信息保护方法,其特征在于,包括以下步骤:
S1、客户端采用线性同态加密算法LHE结合加法同态加密算法Paillier对数据进行加密,得到密文数据,并将密文数据上传至云服务端;
S2、云服务端对密文数据进行k均值聚类,得到密文聚类结果;
S3、云服务端将密文聚类结果返回客户端,客户端对密文聚类结果进行解密,得到明文聚类结果;
设定客户端拥有一个包含n特征数据的数据集,用矩阵A表示,A中每行的向量ai表示一个特征向量,每一个特征向量包含d个特征值,1≤i≤n;聚类算法将数据集A划分为k个聚类簇,每个聚类簇的聚类中心用uρ表示,每一个聚类中心uρ包含d个数据元素,聚类中心集用矩阵U表示,1≤ρ≤k;步骤S1中客户端对数据进行加密的过程包括:
S11、选择两个素数p和q,其中p、q的值不相等但是长度相等,计算N=pq,λ=lcm(p-1,q-1),其中lcm表示最小公倍数;
S12、随机选择一个整数g满足gcd(L(gλmod N2),N)=1,其中gcd表示最大公约数,L(x)=(x-1)/N;
S13、利用Paillier中的函数生成公钥pk={N,g},私钥sk={λ},把公钥发送给云服务端,保留自己的私钥;
S14、对数据集A进行加密,对每一个特征值aij,选择一个随机数bij,则特征值aij的密文形式为Enc(aij)=(aij-bij,[bij]),rij是一个随机数,[bij]是用Paillier加密bij的密文形式,得到加密之后的矩阵Enc(A);
S15、对聚类中心集U进行加密,初始化k个聚类中心uρ,1≤ρ≤k,对聚类中心的每一个数据元素uρj,选择一个随机数hρj,则聚类中心数据元素的密文形式为Enc(uρj)=(uρj-hρj,[hρj]),rρj是一个随机数,[hρj]是用Paillier加密hρj的密文形式,得到加密之后的矩阵Enc(U);
S16、把加密之后的矩阵Enc(A)和Enc(U)上传至云服务端,其中Enc(A)和Enc(U)是数据集A和聚类中心集U使用LHE加密后的密文形式;
步骤S2包括:
S21、分配数据对象;
S22、更新聚类中心;
步骤S21和S22的两个过程不断重复直到满足聚类算法终止条件;
分配数据对象包括:
设定Diρ表示第i个特征向量ai到第ρ个聚类中心uρ的距离;hρ=(hρ1,…,hρd),其中hρj是加密uρj时所选的随机数,bi=(bi1,…,bid),其中bij是加密aij时所选的随机数,1≤j≤d;D′iρ表示加噪音的Diρ;[D′iρ]表示使用Paillier加密的密文形式;根据Enc(aij)=(aij-bij,[bij]),和Enc(uρj)=(uρj-hρj,[hρj]), [D′iρ]计算步骤包括:
①根据LHE加法同态的性质计算两个向量的差,得:
Enc(ai)-Enc(uρ)=((ai-bi)-(uρ-hρ),[bi-hρ]),
②根据LHE乘法同态的性质计算D′iρ的密文,包括:
a.计算:
用Paillier加密方案加密计算结果得:
b.根据步骤a计算得:
c.根据步骤a和步骤b计算得:
式[D′iρ]中[bi-hρ]是密文中的噪音项,(bi-hρ)T(bi-hρ)为密文中的噪音,客户端计算出(bi-hρ)T(bi-hρ),云服务端再根据客户端计算出的(bi-hρ)T(bi-hρ)去掉密文中的噪音;
云服务端比较[Diρ]和[Diρ′]的大小,其中Diρ′表示第i个特征向量ai到第ρ′个聚类中心uρ′的距离,如果[Diρ]>[Diρ′],则将[Diρ′]与特征向量ai到其他聚类中心的距离进行比较,直到找到距离特征向量ai最近的聚类中心,则把特征向量ai划分为该聚类。
2.根据权利要求1所述的隐私信息保护方法,其特征在于,令x=Diρ,y=Diρ′,比较[Diρ]和[Diρ′]的大小过程包括:
①云服务端计算:
[x1]=[x]2·[1]=[2x+1];
[y1]=[y]2=[2y];
②云服务端利用抛硬币的方法设置s的值,然后随机选取一个正整数r;如果s=1,则云服务端计算:
[L]=([x1]·[y1]N-1)r=[r(x1-y1)];
否则,云服务端计算:
[L]=([y1]·[x1]N-1)r=[r(y1-x1)];
③云服务端把计算好的密文[L]发送给客户端;
④客户端解密[L]得到明文L;
如果|L|>|N|/2,则标记f=1,否则,标记f=0;其中,|L|表示L的位长,|N|表示N的位长;
客户端使用公钥pk={N,g}加密f,然后把密文[f]返回给云服务端;
⑤云服务端在收到[f]之后,开始做如下步骤的计算:
如果s=1,则[f′]=[f];
否则[f′]=[1]·[f]N-1=[1-f];
因此,如果f′=0,则表明x≥y,如果f′=1,则表明x<y。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811590868.6A CN109615021B (zh) | 2018-12-20 | 2018-12-20 | 一种基于k均值聚类的隐私信息保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811590868.6A CN109615021B (zh) | 2018-12-20 | 2018-12-20 | 一种基于k均值聚类的隐私信息保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109615021A CN109615021A (zh) | 2019-04-12 |
CN109615021B true CN109615021B (zh) | 2022-09-27 |
Family
ID=66011315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811590868.6A Active CN109615021B (zh) | 2018-12-20 | 2018-12-20 | 一种基于k均值聚类的隐私信息保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109615021B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233730B (zh) * | 2019-05-22 | 2022-05-03 | 暨南大学 | 一种基于k均值聚类的隐私信息保护方法 |
CN110176983B (zh) * | 2019-05-22 | 2021-09-03 | 西安电子科技大学 | 基于全同态加密的隐私保护关联规则挖掘方法 |
CN110190945B (zh) * | 2019-05-28 | 2022-07-19 | 暨南大学 | 基于多加密的线性回归隐私保护方法及系统 |
CN110163292A (zh) * | 2019-05-28 | 2019-08-23 | 电子科技大学 | 基于向量同态加密的隐私保护k-means聚类方法 |
CN110609831B (zh) * | 2019-08-27 | 2020-07-03 | 浙江工商大学 | 基于隐私保护和安全多方计算的数据链接方法 |
CN110852374B (zh) * | 2019-11-08 | 2023-05-02 | 腾讯云计算(北京)有限责任公司 | 数据检测方法、装置、电子设备以及存储介质 |
CN111291406B (zh) * | 2020-01-19 | 2022-07-26 | 山东师范大学 | 一种基于加密位置数据的设施选址方法及系统 |
CN117633881B (zh) * | 2023-11-27 | 2024-06-25 | 国能神皖合肥发电有限责任公司 | 一种电力数据优化处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145791A (zh) * | 2017-04-07 | 2017-09-08 | 哈尔滨工业大学深圳研究生院 | 一种具有隐私保护的K‑means聚类方法及系统 |
CN107145792A (zh) * | 2017-04-07 | 2017-09-08 | 哈尔滨工业大学深圳研究生院 | 基于密文数据的多用户隐私保护数据聚类方法及系统 |
CN107241182A (zh) * | 2017-06-29 | 2017-10-10 | 电子科技大学 | 一种基于向量同态加密的隐私保护层次聚类方法 |
CN108280491A (zh) * | 2018-04-18 | 2018-07-13 | 南京邮电大学 | 一种面向差分隐私保护的k均值聚类方法 |
WO2018174873A1 (en) * | 2017-03-22 | 2018-09-27 | Visa International Service Association | Privacy-preserving machine learning |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8925075B2 (en) * | 2011-11-07 | 2014-12-30 | Parallels IP Holdings GmbH | Method for protecting data used in cloud computing with homomorphic encryption |
-
2018
- 2018-12-20 CN CN201811590868.6A patent/CN109615021B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018174873A1 (en) * | 2017-03-22 | 2018-09-27 | Visa International Service Association | Privacy-preserving machine learning |
CN107145791A (zh) * | 2017-04-07 | 2017-09-08 | 哈尔滨工业大学深圳研究生院 | 一种具有隐私保护的K‑means聚类方法及系统 |
CN107145792A (zh) * | 2017-04-07 | 2017-09-08 | 哈尔滨工业大学深圳研究生院 | 基于密文数据的多用户隐私保护数据聚类方法及系统 |
CN107241182A (zh) * | 2017-06-29 | 2017-10-10 | 电子科技大学 | 一种基于向量同态加密的隐私保护层次聚类方法 |
CN108280491A (zh) * | 2018-04-18 | 2018-07-13 | 南京邮电大学 | 一种面向差分隐私保护的k均值聚类方法 |
Non-Patent Citations (2)
Title |
---|
同态加密在加密机器学习中的应用研究综述;崔建京等;《计算机科学》;20180415;全文 * |
同态加密的分布式K均值聚类算法研究;姚禹丞等;《计算机技术与发展》;20170110;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109615021A (zh) | 2019-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109615021B (zh) | 一种基于k均值聚类的隐私信息保护方法 | |
Qin et al. | Towards efficient privacy-preserving image feature extraction in cloud computing | |
Jiang et al. | Flashe: Additively symmetric homomorphic encryption for cross-silo federated learning | |
Vaidya et al. | Privacy-preserving SVM classification | |
US20180330179A1 (en) | System and method for biometric identification | |
WO2018184407A1 (zh) | 一种具有隐私保护的K-means聚类方法及系统 | |
WO2020216875A1 (en) | Methods and systems for privacy preserving evaluation of machine learning models | |
Liu et al. | Intelligent and secure content-based image retrieval for mobile users | |
WO2022015948A1 (en) | Privacy-preserving fuzzy query system and method | |
CN111143865B (zh) | 一种密文数据上标签自动生成的用户行为分析系统及方法 | |
CN113114454B (zh) | 一种高效隐私的外包k均值聚类方法 | |
Qin et al. | Privacy-preserving outsourcing of image global feature detection | |
CN112199706B (zh) | 基于多方安全计算的树模型的训练方法和业务预测方法 | |
WO2022237175A1 (zh) | 图数据的处理方法、装置、设备、存储介质及程序产品 | |
CN115022089A (zh) | 一种数据加密传输的电子商务交易系统 | |
CN113434898A (zh) | 一种非交互式的隐私保护逻辑回归联邦训练方法及系统 | |
CN116502254A (zh) | 可查得统计的匿踪查询方法及装置 | |
CN115481415A (zh) | 基于纵向联邦学习的通信成本优化方法、系统、设备及介质 | |
CN115664629A (zh) | 一种基于同态加密的智慧物联平台数据隐私保护方法 | |
Bentafat et al. | Towards real-time privacy-preserving video surveillance | |
Erkin et al. | Privacy-preserving user clustering in a social network | |
CN111159727A (zh) | 一种面向多方协同的贝叶斯分类器安全生成系统及方法 | |
Wang et al. | Face detection for privacy protected images | |
Jin et al. | Efficient blind face recognition in the cloud | |
CN109409111B (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 |