[发明专利]一种可验证的分布式隐私数据比较与排序方法及装置有效
申请号: | 201210505923.3 | 申请日: | 2012-11-30 |
公开(公告)号: | CN102984156A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | 张兰;李向阳;刘云浩 | 申请(专利权)人: | 无锡赛思汇智科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 杨小双 |
地址: | 214135 江苏省无锡市新区太*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 验证 分布式 隐私 数据 比较 排序 方法 装置 | ||
1.一种可验证的分布式隐私数据比较与排序方法,其特征在于,包括:
A、分布式的客户端初始化:
定义存储有隐私数据的n个客户端,每个客户端Pi的隐私数据为vi;定义提供服务的可信第三方为PT,PT拥有一对数字签名算法公钥和私钥PkT和SkT;定义Ei(vi,ri)表示使用快速Pailliier加密算法用Pi的公钥Pki对vi进行加密,ri是作为加密算法输入的随机数;
客户端Pi向PT发送初始化请求、隐私数据为vi验证请求、一系列随机数{δk};PT为客户端Pi分配一个唯一标示IDi,采用快速Pail1ier加密系统为Pi生成唯一的公钥和私钥Pki和Ski,在验证隐私数据为vi为合法数据后,使用一系列随机数{δk}分别乘以vi得到集合{δkvi},使用客户端Pi的公钥Pki加密{δk}和{δkvi},分别对这两个集合中的值进行哈希,对哈希值用PT的私钥SkT进行签名得到{Sig(Ei(δk,ri))}、{Sig(Ei(δkvi,ri′))},形成该隐私数据vi的一系列证书的集合{C(Pi,δkvi)}={<Sig(IDi),Ei(vi,ri),Ei(δk,ri),Ei(δkvi,ri′),Sig(Ei(δk,ri)),Sig(Ei(δkvi,ri′)),Pki,PkT>},
将该一系列证书的集合发送到客户端Pi;
B、数据的查询者始化:
查询者Pa向PT发送初始化请求;Pt为查询者Pa分配一个唯一标示,采用快速Paillier加密系统为Pa生成唯一的公钥和私钥Pka和Ska;
C、查询者Pa使用归并排序算法对n个客户端的隐私数据进行排序;
C1、查询者Pa使用归并排序算法将n个客户端两两归并,分成两个一组;
C2、令同一组的两个客户端分别为P1和P2,他们的隐私数据分别为v1和v2;向n个客户端广播分组结果和Pa的公钥Pka;
C3、P1随机地从v1的证书集合{C(P1,δkv1)}中选出一个证书为C(P1,δ1v1)=<Sig(ID1),E1(v1,r1),E1(δ1,r1),E2(δ1v1,r1′),Sig(E1(δ1,r1)),Sig(E1(δ1v1,r2′)),Pk1,PkT>计算m11=E1(Ea(δ1v1,r1a),r12)和m12=E2(Ea(r′1,r1));
P1将C(P1,δ1v1),m11,m12发送给P2;
C4、P2随机地从v2的证书集合{C(P2,δkv2)}选出一个证书为C(P2,δ2v2)=<Sig(ID2),E2(v2,r2),E2(δ2,r2),E2(δ2v2,r2′),Sig(E2(δ2,r2)),Sig(E1(δ2v2,r2′)),Pk2,PkT>计算m21=E1(Ea(δ2v2,r2a),r21)和m22=E1(Ea(r′2,r2));
P2将C(P2,δ2v2),m21,m22发送给P1;
C5、P1利用可信第三方PT的公钥PkT验证证书C(P2,δ2v2)的值,对P2的输入值进行验证,如验证通过则表明P2的输入值正确,否则表明P2对输入值作假;P1解密m21和m22,并使用证书C(P2,δ2v2)中的值计算得到以下值:
e11=Ea(δ1δ2v2,δ1r2a),e12=Ea(E2(δ1δ2v1,δ1v1r2)),e13=Ea(E2(δ1δ2v2,δ1r2′)),e14=Ea(δ1r2′,δ1r2),e15=Ea(δ2v2r1,r1r2′);
P1将Pk1,e11,e12,e13,e14,e15发送给数据查询者Pa;C6、P2利用可信第三方PT的公钥PkT验证证书C(P1,δ1v1)的值,对P1的输入值进行验证,如验证通过则表明P1的输入值正确,否则表明P1对输入值作假;P2解密m11和m12,并使用证书C(P1,δ1v1)中的值计算得到以下值:
e21=Ea(δ1δ2v1,δ2r1a),e22=Ea(E1(δ1δ2v2,δ2v2r1)),e23=Ea(E1(δ1δ2v1,δ2r1′)),e24=Ea(δ2r1′δ2r1),e25=Ea(δ1v1r2,r1′r2)。
P2将Pk2,e21,e22,e23,e24,e25发送给数据查询者Pa;
C7、定义Di(e)表示使用快速Paillier解密算法,用Pi的私钥Ski对e进行解密;查询者解密d1=Da(e11)和d2=Da(e21),比较d1和d2的大小得到v1、v2的大小比较结果,若d1>d2则v1<v2;若d1=d2则v1=v2;若d1<d2则v1>v2;
Pa解密e14,e15,e24,e25,得到δ1r2′,δ2v2r1,δ2r1′,δ1v1r2,并计算以下四个等式:
E2(d1,δ1r2′)=Da(e13),E1(d1,δ2v2r1)=Da(e22),
E1(d2,δ2r1′)=Da(e23),E2(d2,δ1v1r2)=Da(e12);
如果四个等式均成立,则说明Pa得到正确的比较结果,否则说明比较结果无效;
C8、查询者Pa使用归并排序算法对n个客户端重新分组,循环步骤C2-C8,直到将所有客户端的比较结果合并为排序结果为止。
2.一种可验证的分布式隐私数据比较与排序装置,其特征在于,包括:
客户端初始化单元,用于分布式的客户端初始化:
定义存储有隐私数据的n个客户端,每个客户端Pi的隐私数据为vi;定义提供服务的可信第三方为PT,PT拥有一对数字签名算法公钥和私钥Pkr和SkT;定义Ei(vi,ri)表示使用快速Paillier加密算法用Pi的公钥Pki对vi进行加密,ri是作为加密算法输入的随机数;
客户端Pi向PT发送初始化请求、隐私数据为vi验证请求、一系列随机数{δk};PT为客户端Pi分配一个唯一标示IDi,采用快速Paillier加密系统为Pi生成唯一的公钥和私钥Pki和Ski,在验证隐私数据为vi为合法数据后,使用一系列随机数{δk}分别乘以vi得到集合{δkvi},使用客户端Pi的公钥Pki加密{δk}和{δkvi},分别对这两个集合中的值进行哈希,对哈希值用PT的私钥SkT进行签名得到{Sig(Ei(δk,ri))}、{Sig(Ei(δkvi,ri′))},形成该隐私数据vi的一系列证书的集合{C(Pi,δkvi)}={<Sig(IDi),Ei(vi,ri),Ei(δk,ri),Ei(δkvi,ri′),Sig(Ei(δk,ri)),Sig(Ei(δkvi,ri′)),Pki,PkT>},
将该一系列证书的集合发送到客户端Pi;
查询者初始化单元,用于数据的查询者始化:
查询者Pa向PT发送初始化请求;PT为查询者Pa分配一个唯一标示,采用快速Paillier加密系统为Pa生成唯一的公钥和私钥Pka和Ska;
比较排序单元,用于查询者Pa使用归并排序算法对n个客户端的隐私数据进行排序;
C1、查询者Pa使用归并排序算法将n个客户端两两归并,分成两个一组;
C2、令同一组的两个客户端分别为P1和P2,他们的隐私数据分别为v1和v2;向n个客户端广播分组结果和Pa的公钥Pka;
C3、P1随机地从v1的证书集合{C(P1,δk,v1)}中选出一个证书为C(P1,δ1v1)=<Sig(ID1),E1(v1,r2),E1(δ1,r1),E2(δ1v1,r2′),Sig(E1(δ1,r1)),Sig(E1(δ1v1,r1′)),Pk1,PkT>计算m11=E2(Ea(δ1v1,r1a),r12)和m12=E2(Ea(r′1,r1));
P1将C(P1,δ1v1),m11,m12发送给P2;
C4、P2随机地从v2的证书集合{C(P2,δkv2)}选出一个证书为C(P2,δ2v2)=<Sig(ID2),E2(v2,r2),E2(δ2,r2),E2(δ2v2,r2′),Sig(E2(δ2,r2)),Sig(E1(δ2v2,r2′)),Pk2,PkT>计算m21=E1(Ea(δ2v2,r2a),r21)和m22=E1(Ea(r′2,r2));
P2将C(P2,δ2v2),m21,m22发送给P1;
C5、P1利用可信第三方PT的公钥PkT验证证书C(P2,δ2v2)的值,对P2的输入值进行验证,如验证通过则表明P2的输入值正确,否则表明P2对输入值作假;P1解密m21和m22,并使用证书C(P2,δ2v2)中的值计算得到以下值:
e11=Ea(δ1δ2v2,δ1r2a),e12=Ea(E2(δ1δ2v1,δ1v1r2)),e13=Ea(E2(δ1δ2v2,δ1r2′)),e14=Ea(δ1r2′,δ1r2),e15=Ea(δ2v2r1,r1r2′);
P1将Pk1,e11,e12,e13,e14,e15发送给数据查询者Pa;
C6、P2利用可信第三方PT的公钥PkT验证证书C(P1,δ1v1)的值,对P1的输入值进行验证,如验证通过则表明P1的输入值正确,否则表明P1对输入值作假;P2解密m11和m12,并使用证书C(P1,δ1v1)中的值计算得到以下值:
e21=Ea(δ1δ2v1,δ2r1a),e22=Ea(E1(δ1δ2v2,δ2v2r1)),e23=Ea(E1(δ1δ2v2,δ2r1′)),e24=Ea(δ2r1′δ2r1),e25=Ea(δ1v1r2,r1′r2)。
P2将Pk2,e21,e22,e23,e24,e25发送给数据查询者Pa;
C7、定义Di(e)表示使用快速Paillier解密算法,用Pi的私钥Ski对e进行解密;查询者解密d1=Da(e11)和d2=Da(e21),比较d1和d2的大小得到v1、v2的大小比较结果,若d1>d2则v1<v2;若d1=d2则v1=v2;若d1<d2则v1>v2;
Pa解密e14,e15,e24,e25,得到δ1r2′,δ2v2r1,δ2r1′,δ1v1r2,并计算以下四个等式:
E2(d1,δ1r2′)=Da(e13),E1(d2,δ2v2r1)=Da(e22),
E1(d2,δ2r1′)=Da(e23),E2(d2,δ1v1r2)=Da(e12);
如果四个等式均成立,则说明Pa得到正确的比较结果,否则说明比较结果无效;
C8、查询者Pa使用归并排序算法对n个客户端重新分组,循环步骤C2-C8,直到将所有客户端的比较结果合并为排序结果为止。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡赛思汇智科技有限公司,未经无锡赛思汇智科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210505923.3/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置