CN113242123B - 一种共同用户数据获取方法和装置及服务器 - Google Patents
一种共同用户数据获取方法和装置及服务器 Download PDFInfo
- Publication number
- CN113242123B CN113242123B CN202110475425.8A CN202110475425A CN113242123B CN 113242123 B CN113242123 B CN 113242123B CN 202110475425 A CN202110475425 A CN 202110475425A CN 113242123 B CN113242123 B CN 113242123B
- Authority
- CN
- China
- Prior art keywords
- matrix
- sender
- random
- column
- function 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.)
- Active
Links
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/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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种共同用户数据获取方法和装置及服务器,属于数据安全技术,通过计算接收者每个元素的哈希值和对应的随机数得到两个矩阵;将两个矩阵发送给发送者以使发送者得到第三矩阵,同时将第一预设随机字符串发送给发送者;最后分别计算接收者和发送者每个元素的随机函数值;根据第一伪随机函数值和第二伪随机函数值得到接收者与发送者的共同用户数据。本申请方案计算简单,无需耗费大量计算资源,节约了成本,同时无需使用第三方平台就能保证双方数据的安全,通过矩阵和随机数的使用,还可以大大加快传输速率。
Description
技术领域
本发明涉及数据安全技术,特别地,涉及一种共同用户数据获取方法和装置及服务器。
背景技术
对于为消费者服务的企业,例如商家、银行和广告推广商,客户或用户对于自身经营的发展具有重要意义。但是现有情况下,一个企业只能知道自己拥有的客户或用户,对于这些客户或用户是否还是同行业的其他企业的客户或用户就不太清楚。如果想要了解到两个企业的共同用户且保证自身其他用户数据不被泄露,就需要用到多方安全计算。
多方安全计算的问题和解决方案首先由姚期智博士于1980年代提出,其所提出的解决方案-混淆电路-仍然是目前两方安全计算的主流解决方案之一。Goldreich,Micali和Wigderson在1987年发布了GMW算法,该算法实现了多方之间在不泄露隐私的情况下参与计算并得到共同的结果。但是这两种流行的算法的设计目的都是针对通用的多方安全计算框架,对于特定的应用场景很难进行优化,使得运行效率慢、计算资源消耗严重。另一种解决思路是依赖于可信的第三方,但是寻找第三方并且架设应用会增加成本。基于特殊多方安全计算的方法还有一种思路:基于公钥加密技术。但是基于公钥加密技术实现的方案要求参与双方进行大量的公钥加密计算,这种加密技术需要消耗大量的计算资源。因此,现有多方安全计算的方法消耗计算资源大,运行效率慢。
发明内容
为了克服现有技术的不足,本发明提供一种共同用户数据获取方法和装置挤服务器,已解决现有多方安全计算的方法消耗计算资源大,运行效率慢的问题。
本发明解决其技术问题所采用的技术方案是:
第一方面,
一种共同用户数据获取方法,包括以下步骤:
计算接收者每个元素的哈希值,所述接收者每个元素为接收者每个用户的数据;
采用第一预设随机字符串处理所述哈希值得到每个哈希值对应的随机数;
根据所述随机数得到第一矩阵和第二矩阵;
将所述第一矩阵和第二矩阵的每一列通过不经意传输技术发送给发送者,以便发送者得到第三矩阵;
将所述第一预设随机字符串发送给所述发送者,以便所述发送者根据所述第一预设随机字符串、所述第三矩阵以及发送者拥有的数据得到发送者每个元素的第一伪随机函数值并将所述第一伪随机函数值发送给接收者;
获取所述接收者每个元素的第二伪随机函数值;
根据所述第一伪随机函数值和第二伪随机函数值得到接收者与发送者的共同用户数据。
进一步地,所述根据所述随机数得到第一矩阵和第二矩阵包括:
获取预设的二进制第四矩阵,所述第四矩阵内所有元素都为1;
根据所述随机数将所述第四矩阵每列中的一个元素改为0,每列中被改变的元素在每列中的排序值等于所述随机数集合内排序值等于列数的随机数的值;
随机构造一个与所述第四矩阵行数和列数都相同的二进制第一矩阵;
将所述第一矩阵与修改后的第四矩阵做异或运算得到第二矩阵。
进一步地,所述发送者得到第三矩阵包括:
发送者预先构造一个二维随机字符串,所述随机字符串中元素个数与所述第一矩阵的列数相同;
当接收者发送第一矩阵和第二矩阵的一列时,根据所述随机字符串中列数对应的元素选择接收第一矩阵的一列或第二矩阵的一列,所述列数为所述接收者发送的一列在第一矩阵或第二矩阵中的排序值。
进一步地,所述根据所述随机字符串中列数对应的元素选择接收第一矩阵的一列或第二矩阵的一列包括:
当所述随机字符串中列数对应的元素为0时,接收第一矩阵的一列;
当所述随机字符串中列数对应的元素为1时,接收第二矩阵的一列。
进一步地,所述发送者根据所述第一预设随机字符串、所述第三矩阵以及发送者拥有的数据得到发送者每个元素的第一伪随机函数值包括:
计算发送者每个元素的哈希值;
发送者根据所述第一预设随机字符串计算所述哈希值对应的随机数;
根据所述第三矩阵和所述随机数的得到每个元素的第一伪随机函数值。
进一步地,所述得到每个元素的第一伪随机函数值包括:
根据所述第三矩阵中每一列以及每一列对应的随机数进行不经意伪随机函数计算得到每个元素的第一伪随机函数值,所述伪随机函数的密钥为所述第一预设随机字符串。
进一步地,所述获取所述接收者每个元素的第二伪随机函数值包括:
根据所述第一矩阵中每一列以及每一列对应的随机数进行不经意伪随机函数计算得到每个元素的第二伪随机函数值,所述伪随机函数的密钥为所述第一预设随机字符串。
进一步地,所述根据所述第一伪随机函数值和第二伪随机函数值得到接收者与发送者的共同用户数据包括:
比较发送者任一元素对应的第一伪随机函数值与接收者任一元素对应的第二伪随机函数值;
若存在相同的,则相同的元素为共同用户数据。
第二方面,一种共同用户数据获取装置,包括:
哈希值计算模块,用于计算接收者每个元素的哈希值,所述接收者每个元素为接收者每个用户的数据;
随机数计算模块,用于采用第一预设随机字符串处理所述哈希值得到每个哈希值对应的随机数;
矩阵获取模块,用于根据所述随机数得到第一矩阵和第二矩阵;
矩阵发送模块,用于将所述第一矩阵和第二矩阵的每一列通过不经意传输技术发送给发送者,以便发送者得到第三矩阵;
字符串发送模块,用于将所述第一预设随机字符串发送给所述发送者,以便所述发送者根据所述第一预设随机字符串、所述第三矩阵以及发送者拥有的数据得到发送者每个元素的第一伪随机函数值并将所述第一伪随机函数值发送给接收者;
随机函数值获取模块,用于获取所述接收者每个元素的第二伪随机函数值;
共同用户数据获取模块,用于根据所述第一伪随机函数值和第二伪随机函数值得到接收者与发送者的共同用户数据。
第三方面,
一种服务器,包括:
处理器;以及,
用于存储所述处理器可执行指令的存储器;
所述处理器被配置为:
计算接收者每个元素的哈希值,所述接收者每个元素为接收者每个用户的数据;
采用第一预设随机字符串处理所述哈希值得到每个哈希值对应的随机数;
根据所述随机数得到第一矩阵和第二矩阵;
将所述第一矩阵和第二矩阵的每一列通过不经意传输技术发送给发送者,以便发送者得到第三矩阵;
将所述第一预设随机字符串发送给所述发送者,以便所述发送者根据所述第一预设随机字符串、所述第三矩阵以及发送者拥有的数据得到发送者每个元素的第一伪随机函数值并将所述第一伪随机函数值发送给接收者;
获取所述接收者每个元素的第二伪随机函数值;
根据所述第一伪随机函数值和第二伪随机函数值得到接收者与发送者的共同用户数据。
本申请采用以上技术方案,至少具备以下有益效果:
本申请技术方案提供一种共同用户数据获取方法和装置及服务器,通过计算接收者每个元素的哈希值和对应的随机数得到两个矩阵;将两个矩阵发送给发送者以使发送者得到第三矩阵,同时将第一预设随机字符串发送给发送者;最后分别计算接收者和发送者每个元素的随机函数值;根据第一伪随机函数值和第二伪随机函数值得到接收者与发送者的共同用户数据。本申请方案计算简单,无需耗费大量计算资源,节约了成本,同时无需使用第三方平台就能保证双方数据的安全,通过矩阵和随机数的使用,还可以大大加快传输速率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种共同用户数据获取方法流程图;
图2是本发明实施例提供的一种共同用户数据获取的具体方法示意图;
图3是本发明实施例提供的一种共同用户数据获取装置结构图;
图4是本发明实施例提供的一种服务器结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明的技术方案进行详细的描述说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
参照图1,本发明实施例提供一种共同用户数据获取方法,包括以下步骤:
计算接收者每个元素的哈希值,接收者每个元素为接收者每个用户的数据;
采用第一预设随机字符串处理哈希值得到每个哈希值对应的随机数;
根据随机数得到第一矩阵和第二矩阵;
将第一矩阵和第二矩阵的每一列通过不经意传输技术发送给发送者,以便发送者得到第三矩阵;
将第一预设随机字符串发送给发送者,以便发送者根据第一预设随机字符串、第三矩阵以及发送者拥有的数据得到发送者每个元素的第一伪随机函数值并将第一伪随机函数值发送给接收者;
获取接收者每个元素的第二伪随机函数值;
根据第一伪随机函数值和第二伪随机函数值得到接收者与发送者的共同用户数据。
需要说明的是,每个哈希值都对应唯一一个随机数。
本发明实施例提供的一种共同用户数据获取方法,通过计算接收者每个元素的哈希值和对应的随机数得到两个矩阵;将两个矩阵发送给发送者以使发送者得到第三矩阵,同时将第一预设随机字符串发送给发送者;最后分别计算接收者和发送者每个元素的随机函数值;根据第一伪随机函数值和第二伪随机函数值得到接收者与发送者的共同用户数据。本发明实施例提供的方法计算简单,无需耗费大量计算资源,节约了成本,同时无需使用第三方平台就能保证双方数据的安全,通过矩阵和随机数的使用,还可以大大加快传输速率。
作为对上述实施例的一种补充说明,根据随机数得到第一矩阵和第二矩阵包括:
获取预设的二进制第四矩阵(即第四矩阵中的元素值只能为0或1),现在设定第四矩阵内所有元素都为1;
根据随机数将第四矩阵每列中的一个元素改为0,每列中被改变的元素在每列中的排序值等于随机数集合内排序值等于列数的随机数的值;示例性的,将得到的随机数按元素顺序组成一个集合,假设集合排序值为1(即集合中第一个)的随机数的值为a,排序值为5(即集合中第五个)的随机数的值为b,那么第四矩阵第一列中第a行的元素由1变为0,第五列中第b行的元素由1变为0。
随机构造一个与第四矩阵行数和列数都相同的二进制第一矩阵;需要说明的是,行数和列数可以根据实际情况设置,同时第一矩阵内的元素可以任意设置。
将第一矩阵与修改后的第四矩阵做异或运算得到第二矩阵。
作为本发明实施例的一种可选实施例,发送者得到第三矩阵包括:
发送者预先构造一个二维随机字符串,随机字符串中元素个数与第一矩阵的列数相同;
当接收者发送第一矩阵和第二矩阵的一列时,根据随机字符串中列数对应的元素选择接收第一矩阵的一列或第二矩阵的一列,列数为接收者发送的一列在第一矩阵或第二矩阵中的排序值。
进一步地,当随机字符串中列数对应的元素为0时,接收第一矩阵的一列;
当随机字符串中列数对应的元素为1时,接收第二矩阵的一列。
示例性的,接收者同时发送第一矩阵和第二矩阵的第一列,假设此时发送者随机字符串中第一个元素为0,则接收第一矩阵的第一列,不接受第二矩阵的第一列;当接收者同时发送第一矩阵和第二矩阵的第4列时,假设发送者随机字符串发送者随机字符串中第4个元素为1,此时接收第二矩阵的第4列,不接受第一矩阵的第4列。
一些可选实施例中,发送者根据第一预设随机字符串、第三矩阵以及发送者拥有的数据得到发送者每个元素的第一伪随机函数值包括:
计算发送者每个元素的哈希值;
发送者根据第一预设随机字符串计算哈希值对应的随机数;
根据第三矩阵和随机数的得到每个元素的第一伪随机函数值。具体地根据第三矩阵中每一列以及每一列对应的随机数进行不经意伪随机函数计算得到每个元素的第一伪随机函数值,伪随机函数的密钥为第一预设随机字符串。
同理,获取接收者每个元素的第二伪随机函数值包括:
根据第一矩阵中每一列以及每一列对应的随机数进行不经意伪随机函数计算得到每个元素的第二伪随机函数值,伪随机函数的密钥为第一预设随机字符串。
在实际使用过程中,根据第一伪随机函数值和第二伪随机函数值得到接收者与发送者的共同用户数据包括:
比较发送者任一元素对应的第一伪随机函数值与接收者任一元素对应的第二伪随机函数值;
若存在相同的,则相同的元素为共同用户数据。
为了更清楚地说明本发明实施例的实现方式,如图2所示,本发明实施例提供具体地共同用户数据获取方法,发送者构造有w个位元的随机字符串s。接收者构造高度为h、宽度为w的二进制矩阵D,构造有k个位元的随机字符串key作为伪随机函数的密钥。首先将矩阵D的所有元素都设为1,其次对于接收者拥有的每一个元素y,计算哈希值H1(y)和对应的随机数v=F(H1(y),key)。对于矩阵D的每一列D[i],将D[i][v[i]]的值设为0。接收者随后构造高度为h、宽度为w的随机矩阵A。计算出矩阵(异或运算)。
随后发送者和接收者之间进行通讯,两者之间进行不经意传输。接收者扮演不经意传输的发送者,发送者扮演接收者。接收者通过OT将矩阵A和B的每一列(A[i],B[i])发送给发送者。发送者的选择为s[i]。如果s[i]=0,接收者得到A[i];如果s[i]=1,接收者得到B[i]。最终,发送者得到w个长度为h的字符串。发送者将这些字符串作为矩阵C的每一列。
最后各自进行不经意伪随机函数的计算。接收者将伪随机函数的密钥key传递给发送者。对于发送者拥有的每一个元素x,计算哈希值H1(x)和对应的随机数v=F(H1(x),key)。伪随机函数值为H2(C[1][v[1]]||C[2][v[2]]||...||C[w][v[w]])。将所有伪随机函数值发送给接收者。对于接收者拥有的每一个元素y,计算哈希值H1(y)和对应的随机数v=F(H1(y),key)。伪随机函数值为H2(A[1][v[1]]||A[2][v[2]]||...||A[w][v[w]])。与发送者发送的伪随机函数值进行比对,如果相同则对应的元素y属于交集。
一个实施例中,本发明实施例提供一种共同用户数据获取装置,如图3所示,包括:
哈希值计算模块31,用于计算接收者每个元素的哈希值,接收者每个元素为接收者每个用户的数据;
随机数计算模块32,用于采用第一预设随机字符串处理哈希值得到每个哈希值对应的随机数;
矩阵获取模块33,用于根据随机数得到第一矩阵和第二矩阵;具体地,矩阵获取模块获取预设的二进制第四矩阵,第四矩阵内所有元素都为1;根据随机数将第四矩阵每列中的一个元素改为0,每列中被改变的元素在每列中的排序值等于随机数集合内排序值等于列数的随机数的值;随机构造一个与第四矩阵行数和列数都相同的二进制第一矩阵;将第一矩阵与修改后的第四矩阵做异或运算得到第二矩阵。
矩阵发送模块34,用于将第一矩阵和第二矩阵的每一列通过不经意传输技术发送给发送者,以便发送者得到第三矩阵;其中,发送者预先构造一个二维随机字符串,随机字符串中元素个数与第一矩阵的列数相同;当接收者发送第一矩阵和第二矩阵的一列时,根据随机字符串中列数对应的元素选择接收第一矩阵的一列或第二矩阵的一列,列数为接收者发送的一列在第一矩阵或第二矩阵中的排序值。当随机字符串中列数对应的元素为0时,接收第一矩阵的一列;当随机字符串中列数对应的元素为1时,接收第二矩阵的一列。
字符串发送模块35,用于将第一预设随机字符串发送给发送者,以便发送者根据第一预设随机字符串、第三矩阵以及发送者拥有的数据得到发送者每个元素的第一伪随机函数值并将第一伪随机函数值发送给接收者;发送者根据第一预设随机字符串、第三矩阵以及发送者拥有的数据得到发送者每个元素的第一伪随机函数值包括:计算发送者每个元素的哈希值;发送者根据第一预设随机字符串计算哈希值对应的随机数;根据第三矩阵和随机数的得到每个元素的第一伪随机函数值。进一步地,根据第三矩阵中每一列以及每一列对应的随机数进行不经意伪随机函数计算得到每个元素的第一伪随机函数值,伪随机函数的密钥为第一预设随机字符串。
随机函数值获取模块36,用于获取接收者每个元素的第二伪随机函数值;具体地,随机函数值获取模块根据第一矩阵中每一列以及每一列对应的随机数进行不经意伪随机函数计算得到每个元素的第二伪随机函数值,伪随机函数的密钥为第一预设随机字符串。
共同用户数据获取模块37,用于根据第一伪随机函数值和第二伪随机函数值得到接收者与发送者的共同用户数据。具体地,共同用户数据获取模块比较发送者任一元素对应的第一伪随机函数值与接收者任一元素对应的第二伪随机函数值;若存在相同的,则相同的元素为共同用户数据。
本发明实施例提供的一种共同用户数据获取装置,哈希值计算模块计算接收者每个元素的哈希值;随机数计算模块采用第一预设随机字符串处理哈希值得到每个哈希值对应的随机数;矩阵获取模块根据随机数得到第一矩阵和第二矩阵;矩阵发送模块将第一矩阵和第二矩阵的每一列通过不经意传输技术发送给发送者,以便发送者得到第三矩阵;字符串发送模块将第一预设随机字符串发送给发送者,以便发送者根据第一预设随机字符串、第三矩阵以及发送者拥有的数据得到发送者每个元素的第一伪随机函数值并将第一伪随机函数值发送给接收者;随机函数值获取模块获取接收者每个元素的第二伪随机函数值;共同用户数据获取模块根据第一伪随机函数值和第二伪随机函数值得到接收者与发送者的共同用户数据。本发明实施例提供的获取装置,构造简单,能保护双方隐私安全的同时,节约成本以及提高数据传输效率。
一个实施例中,本发明还提供了一种服务器,如图4所示,包括:
处理器41;以及,
用于存储处理器可执行指令的存储器42;
处理器被配置为:
计算接收者每个元素的哈希值,接收者每个元素为接收者每个用户的数据;
采用第一预设随机字符串处理哈希值得到每个哈希值对应的随机数;
根据随机数得到第一矩阵和第二矩阵;具体地,获取预设的二进制第四矩阵,第四矩阵内所有元素都为1;根据随机数将第四矩阵每列中的一个元素改为0,每列中被改变的元素在每列中的排序值等于随机数集合内排序值等于列数的随机数的值;随机构造一个与第四矩阵行数和列数都相同的二进制第一矩阵;将第一矩阵与修改后的第四矩阵做异或运算得到第二矩阵。
将第一矩阵和第二矩阵的每一列通过不经意传输技术发送给发送者,以便发送者得到第三矩阵;发送者得到第三矩阵包括:发送者预先构造一个二维随机字符串,随机字符串中元素个数与第一矩阵的列数相同;当接收者发送第一矩阵和第二矩阵的一列时,根据随机字符串中列数对应的元素选择接收第一矩阵的一列或第二矩阵的一列,列数为接收者发送的一列在第一矩阵或第二矩阵中的排序值。
将第一预设随机字符串发送给发送者,以便发送者根据第一预设随机字符串、第三矩阵以及发送者拥有的数据得到发送者每个元素的第一伪随机函数值并将第一伪随机函数值发送给接收者;发送者根据第一预设随机字符串、第三矩阵以及发送者拥有的数据得到发送者每个元素的第一伪随机函数值包括:计算发送者每个元素的哈希值;发送者根据第一预设随机字符串计算哈希值对应的随机数;根据第三矩阵和随机数的得到每个元素的第一伪随机函数值。根据第三矩阵中每一列以及每一列对应的随机数进行不经意伪随机函数计算得到每个元素的第一伪随机函数值,伪随机函数的密钥为第一预设随机字符串。
获取接收者每个元素的第二伪随机函数值;根据第一矩阵中每一列以及每一列对应的随机数进行不经意伪随机函数计算得到每个元素的第二伪随机函数值,伪随机函数的密钥为第一预设随机字符串。
根据第一伪随机函数值和第二伪随机函数值得到接收者与发送者的共同用户数据。比较发送者任一元素对应的第一伪随机函数值与接收者任一元素对应的第二伪随机函数值;若存在相同的,则相同的元素为共同用户数据。
本发明实施例提供的服务器,包括存储器和处理器,存储器存储处理器的可执行指令,处理器完成共同用户数据的获取,该服务器架设简单,不需要依赖于第三方,成本低,而且传输速率快。可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (6)
1.一种共同用户数据获取方法,其特征在于,包括以下步骤:
计算接收者每个元素的哈希值,所述接收者每个元素为接收者每个用户的数据;
采用第一预设随机字符串处理所述哈希值得到每个哈希值对应的随机数;
根据所述随机数得到第一矩阵和第二矩阵;
将所述第一矩阵和第二矩阵的每一列通过不经意传输技术发送给发送者,以便发送者得到第三矩阵;
将所述第一预设随机字符串发送给所述发送者,以便所述发送者根据所述第一预设随机字符串、所述第三矩阵以及发送者拥有的数据得到发送者每个元素的第一伪随机函数值并将所述第一伪随机函数值发送给接收者;
获取所述接收者每个元素的第二伪随机函数值;
根据所述第一伪随机函数值和第二伪随机函数值得到接收者与发送者的共同用户数据;
所述根据所述随机数得到第一矩阵和第二矩阵包括:
获取预设的二进制第四矩阵,所述第四矩阵内所有元素都为1;
根据所述随机数将所述第四矩阵每列中的一个元素改为0,每列中被改变的元素在每列中的排序值等于所述随机数集合内排序值等于列数的随机数的值;
随机构造一个与所述第四矩阵行数和列数都相同的二进制第一矩阵;
将所述第一矩阵与修改后的第四矩阵做异或运算得到第二矩阵;
所述发送者根据所述第一预设随机字符串、所述第三矩阵以及发送者拥有的数据得到发送者每个元素的第一伪随机函数值包括:
计算发送者每个元素的哈希值;
发送者根据所述第一预设随机字符串计算所述哈希值对应的随机数;
根据所述第三矩阵和所述随机数得到每个元素的第一伪随机函数值;
所述得到每个元素的第一伪随机函数值包括:
根据所述第三矩阵中每一列以及每一列对应的随机数进行不经意伪随机函数计算得到每个元素的第一伪随机函数值,所述伪随机函数的密钥为所述第一预设随机字符串;
所述获取所述接收者每个元素的第二伪随机函数值包括:
根据所述第一矩阵中每一列以及每一列对应的随机数进行不经意伪随机函数计算得到每个元素的第二伪随机函数值,所述伪随机函数的密钥为所述第一预设随机字符串。
2.根据权利要求1所述的方法,其特征在于:所述发送者得到第三矩阵包括:
发送者预先构造一个二维随机字符串,所述随机字符串中元素个数与所述第一矩阵的列数相同;
当接收者发送第一矩阵和第二矩阵的一列时,根据所述随机字符串中列数对应的元素选择接收第一矩阵的一列或第二矩阵的一列,所述列数为所述接收者发送的一列在第一矩阵或第二矩阵中的排序值。
3.根据权利要求2所述的方法,其特征在于:所述根据所述随机字符串中列数对应的元素选择接收第一矩阵的一列或第二矩阵的一列包括:
当所述随机字符串中列数对应的元素为0时,接收第一矩阵的一列;
当所述随机字符串中列数对应的元素为1时,接收第二矩阵的一列。
4.根据权利要求1所述的方法,其特征在于:所述根据所述第一伪随机函数值和第二伪随机函数值得到接收者与发送者的共同用户数据包括:
比较发送者任一元素对应的第一伪随机函数值与接收者任一元素对应的第二伪随机函数值;
若存在相同的,则相同的元素为共同用户数据。
5.一种共同用户数据获取装置,其特征在于,包括:
哈希值计算模块,用于计算接收者每个元素的哈希值,所述接收者每个元素为接收者每个用户的数据;
随机数计算模块,用于采用第一预设随机字符串处理所述哈希值得到每个哈希值对应的随机数;
矩阵获取模块,用于根据所述随机数得到第一矩阵和第二矩阵;所述根据所述随机数得到第一矩阵和第二矩阵包括:获取预设的二进制第四矩阵,所述第四矩阵内所有元素都为1;根据所述随机数将所述第四矩阵每列中的一个元素改为0,每列中被改变的元素在每列中的排序值等于所述随机数集合内排序值等于列数的随机数的值;随机构造一个与所述第四矩阵行数和列数都相同的二进制第一矩阵;将所述第一矩阵与修改后的第四矩阵做异或运算得到第二矩阵;
矩阵发送模块,用于将所述第一矩阵和第二矩阵的每一列通过不经意传输技术发送给发送者,以便发送者得到第三矩阵;
字符串发送模块,用于将所述第一预设随机字符串发送给所述发送者,以便所述发送者根据所述第一预设随机字符串、所述第三矩阵以及发送者拥有的数据得到发送者每个元素的第一伪随机函数值并将所述第一伪随机函数值发送给接收者;所述发送者根据所述第一预设随机字符串、所述第三矩阵以及发送者拥有的数据得到发送者每个元素的第一伪随机函数值包括:计算发送者每个元素的哈希值;发送者根据所述第一预设随机字符串计算所述哈希值对应的随机数;根据所述第三矩阵和所述随机数得到每个元素的第一伪随机函数值;所述得到每个元素的第一伪随机函数值包括:根据所述第三矩阵中每一列以及每一列对应的随机数进行不经意伪随机函数计算得到每个元素的第一伪随机函数值,所述伪随机函数的密钥为所述第一预设随机字符串;
随机函数值获取模块,用于获取所述接收者每个元素的第二伪随机函数值;所述获取所述接收者每个元素的第二伪随机函数值包括:根据所述第一矩阵中每一列以及每一列对应的随机数进行不经意伪随机函数计算得到每个元素的第二伪随机函数值,所述伪随机函数的密钥为所述第一预设随机字符串;
共同用户数据获取模块,用于根据所述第一伪随机函数值和第二伪随机函数值得到接收者与发送者的共同用户数据。
6.一种服务器,其特征在于,包括:
处理器;以及,
用于存储所述处理器可执行指令的存储器;
所述处理器被配置为:
计算接收者每个元素的哈希值,所述接收者每个元素为接收者每个用户的数据;
采用第一预设随机字符串处理所述哈希值得到每个哈希值对应的随机数;
根据所述随机数得到第一矩阵和第二矩阵;
将所述第一矩阵和第二矩阵的每一列通过不经意传输技术发送给发送者,以便发送者得到第三矩阵;
将所述第一预设随机字符串发送给所述发送者,以便所述发送者根据所述第一预设随机字符串、所述第三矩阵以及发送者拥有的数据得到发送者每个元素的第一伪随机函数值并将所述第一伪随机函数值发送给接收者;
获取所述接收者每个元素的第二伪随机函数值;
根据所述第一伪随机函数值和第二伪随机函数值得到接收者与发送者的共同用户数据;
所述根据所述随机数得到第一矩阵和第二矩阵包括:
获取预设的二进制第四矩阵,所述第四矩阵内所有元素都为1;
根据所述随机数将所述第四矩阵每列中的一个元素改为0,每列中被改变的元素在每列中的排序值等于所述随机数集合内排序值等于列数的随机数的值;
随机构造一个与所述第四矩阵行数和列数都相同的二进制第一矩阵;
将所述第一矩阵与修改后的第四矩阵做异或运算得到第二矩阵;
所述发送者根据所述第一预设随机字符串、所述第三矩阵以及发送者拥有的数据得到发送者每个元素的第一伪随机函数值包括:
计算发送者每个元素的哈希值;
发送者根据所述第一预设随机字符串计算所述哈希值对应的随机数;
根据所述第三矩阵和所述随机数得到每个元素的第一伪随机函数值;
所述得到每个元素的第一伪随机函数值包括:
根据所述第三矩阵中每一列以及每一列对应的随机数进行不经意伪随机函数计算得到每个元素的第一伪随机函数值,所述伪随机函数的密钥为所述第一预设随机字符串;
所述获取所述接收者每个元素的第二伪随机函数值包括:
根据所述第一矩阵中每一列以及每一列对应的随机数进行不经意伪随机函数计算得到每个元素的第二伪随机函数值,所述伪随机函数的密钥为所述第一预设随机字符串。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110475425.8A CN113242123B (zh) | 2021-04-29 | 2021-04-29 | 一种共同用户数据获取方法和装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110475425.8A CN113242123B (zh) | 2021-04-29 | 2021-04-29 | 一种共同用户数据获取方法和装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113242123A CN113242123A (zh) | 2021-08-10 |
CN113242123B true CN113242123B (zh) | 2023-03-17 |
Family
ID=77131521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110475425.8A Active CN113242123B (zh) | 2021-04-29 | 2021-04-29 | 一种共同用户数据获取方法和装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113242123B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016135726A1 (en) * | 2015-02-25 | 2016-09-01 | Secret Double Octopus Ltd. | Method and system for authenticating and preserving the integrity of communication, secured by secret sharing |
EP3602365B1 (en) * | 2017-03-24 | 2024-02-14 | Visa International Service Association | Authentication system using secure multi-party computation |
WO2019121271A1 (en) * | 2017-12-22 | 2019-06-27 | Koninklijke Philips N.V. | A computer-implemented method of applying a first function to each data element in a data set, and a worker node for implementing the same |
CA3128348C (en) * | 2019-01-30 | 2024-02-20 | Badge Inc. | Biometric public key system providing revocable credentials |
US11190496B2 (en) * | 2019-02-12 | 2021-11-30 | Visa International Service Association | Fast oblivious transfers |
CN112272088A (zh) * | 2020-10-26 | 2021-01-26 | 郑州师范学院 | 一种基于安全多方的可审计签名方法及相关组件 |
CN112257112B (zh) * | 2020-11-16 | 2022-10-14 | 国网河南省电力公司信息通信公司 | 一种基于区块链的数据访问控制方法 |
-
2021
- 2021-04-29 CN CN202110475425.8A patent/CN113242123B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113242123A (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | An image encryption scheme based on the MLNCML system using DNA sequences | |
Huang et al. | An image encryption algorithm based on hyper-chaos and DNA sequence | |
CN108388808B (zh) | 基于希尔加密与动态dna编码的图像加密方法 | |
CN110971413B (zh) | 一种随机数的生成方法、生成装置及存储介质 | |
US20100217986A1 (en) | Authenticated secret sharing | |
US11848917B2 (en) | Blockchain-based anonymous transfers zero-knowledge proofs | |
US20210328762A1 (en) | Verifiable secret shuffle protocol for encrypted data based on homomorphic encryption and secret sharing | |
Kaur et al. | Parallel non-dominated sorting genetic algorithm-II-based image encryption technique | |
EP3703304A1 (en) | Cloud-based secure computation of the median | |
US11368296B2 (en) | Communication-efficient secret shuffle protocol for encrypted data based on homomorphic encryption and oblivious transfer | |
CN109905229B (zh) | 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和系统 | |
US20210336764A1 (en) | Efficient distributed secret shuffle protocol for encrypted database entries using dependent shufflers | |
Grigoriev et al. | RSA and redactable blockchains | |
Wang et al. | Verifiable threshold scheme in multi-secret sharing distributions upon extensions of ECC | |
Chen et al. | A novel image encryption scheme based on PWLCM and standard map | |
US10887092B2 (en) | Anonymous allocation and majority voting in a compromised environment | |
Jammula et al. | Hybrid lightweight cryptography with attribute-based encryption standard for secure and scalable IoT system | |
CN111917533A (zh) | 具有减少泄漏的区间统计量的隐私保护基准分析 | |
CN113242123B (zh) | 一种共同用户数据获取方法和装置及服务器 | |
CN115801253B (zh) | 一种用于安全多方计算的多方秘密分享方法及电子设备 | |
CN116707784A (zh) | 一种基于秘密分享的多方安全计算方法和系统 | |
Kanso et al. | A trapdoor one-way function for verifiable secret sharing | |
Zhang et al. | Outsourcing hierarchical threshold secret sharing scheme based on reputation | |
CN112527898B (zh) | 安全计算方法、装置、计算机及存储介质 | |
Zhao et al. | Privacy preserving search services against online attack |
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 |