CN114070558A - 一种数据传输方法及装置 - Google Patents

一种数据传输方法及装置 Download PDF

Info

Publication number
CN114070558A
CN114070558A CN202111371043.7A CN202111371043A CN114070558A CN 114070558 A CN114070558 A CN 114070558A CN 202111371043 A CN202111371043 A CN 202111371043A CN 114070558 A CN114070558 A CN 114070558A
Authority
CN
China
Prior art keywords
vector
information
piece
ciphertext
operation result
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
CN202111371043.7A
Other languages
English (en)
Other versions
CN114070558B (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.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202111371043.7A priority Critical patent/CN114070558B/zh
Publication of CN114070558A publication Critical patent/CN114070558A/zh
Application granted granted Critical
Publication of CN114070558B publication Critical patent/CN114070558B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种数据传输方法及装置,涉及计算机技术领域。该方法包括:接收用于请求基于目标信息集合中的信息进行隐私计算请求信息;生成各个信息对应的秘钥;根据秘钥生成各个信息的线性映射向量和随机扰动向量,映射算法具有一级运算同态性,随机扰动向量与第一向量正交;对线性映射向量和随机扰动向量进行一级运算获得各个信息的密文,向第二设备发送各个信息的密文;接收第二设备发送的密文运算结果,密文运算结果为对至少两个信息的密文进行一级运算同态操作得到的结果;根据第一向量解密密文运算结果,获取明文运算结果,返回明文运算结果。本发明实施例提供用于提供一种保障数据不被泄露的情况下实现共同的运算需求。

Description

一种数据传输方法及装置
技术领域
本发明涉及计算机领域,尤其涉及一种数据传输方法及装置。
背景技术
随着信息技术的发展,很多企业、个人都积累了大量的业务数据,在实际业务发展中有基于多方合作时需要基于双方各自所独有的的业务数据参与运算以共同完成业务目标,但是为了保障彼此业务数据不泄露,就需要一种解决方案,既能完成共同的计算目标又不泄露彼此的业务数据。
发明内容
有鉴于此,本发明实施例提供了一种数据传输方法及装置,能够保障业务方数据不被泄露的情况下实现双方共同的运算需求。
为了实现上述目的,本发明实施例提供技术方案如下:
第一方面,本发明实施例提供了一种数据传输方法,包括:
接收第二设备发送的请求信息,所述请求信息用于请求基于目标信息集合中的信息进行隐私计算;
生成所述目标信息集合中各个信息对应的秘钥;
根据各个信息对应的秘钥生成各个信息的线性映射向量和随机扰动向量;生成所述线性映射向量的映射算法具有一级运算同态性,各个信息的随机扰动向量均与第一向量正交;
对各个信息的线性映射向量和随机扰动向量进行一级运算获得各个信息的密文;
向第二设备发送各个信息的密文;
接收所述第二设备发送的密文运算结果,所述密文运算结果为对所述目标信息集合中的至少两个信息的密文进行一级运算同态操作得到的结果;
根据所述第一向量解密所述密文运算结果获得明文运算结果;
向所述第二设备发送所述明文运算结果。
作为本发明实施例一种可选的实施方式,所述生成所述目标信息集合中各个信息对应的秘钥,包括:
随机选取一个非零实数作为所述目标信息集合中各个信息对应的公共随机数;
根据所述第一向量生成第二向量,所述第二向量与所述第一向量的内积为1;
针对所述目标信息集合中的每一个信息,随机选取一个非零实数作为所述信息的私有随机数;
针对所述目标信息集合中的每一个信息,随机从第一向量空间中选取随机数量个向量作为所述信息的随机向量集合;所述第一向量空间中的各个向量均与所述第一向量正交;
根据所述公共随机数、所述第二向量、各个信息的私有随机数以及各个信息的随机向量集合,生成各个信息对应的秘钥。
作为本发明实施例一种可选的实施方式,所述根据所述第一向量生成第二向量,包括:
随机生成一个分量数量为随机数且各个分量均为零的全零向量;
随机选取所述全零向量的一个分量作为所述全零向量的目标分量;
获取目标值,所述目标值为所述第一向量中与所述目标分量对应的分量的值;
将所述全零向量的目标分量的值设置为所述目标值的倒数获得所述第二向量。
作为本发明实施例一种可选的实施方式,在针对所述目标信息集合中的每一个信息,随机从第一向量空间中选取随机数量个向量作为所述信息的随机向量集合之前,所述方法还包括:
随机选取一个大于1的整数作为第一随机数;
根据所述第一随机数和实数集构造第二向量空间;
随机选取所述第二向量空间的一个子集作为所述第一向量空间;
计算所述第一向量空间的正交补空间获得第三向量空间;
从所述第三向量空间中随机选取一个向量作为所述第一向量。
作为本发明实施例一种可选的实施方式,所述根据各个信息对应的秘钥生成各个信息的线性映射向量和随机扰动向量,包括:
计算所述公共随机数、第一信息以及所述第二向量的乘积作为所述第一信息的线性映射向量;
计算所述第一信息的私有随机数与所述第一信息的随机向量集合中的各个向量的乘积的和作为所述第一信息的随机扰动向量。
作为本发明实施例一种可选的实施方式,所述对各个信息的线性映射向量和随机扰动向量进行一级运算获得各个信息的密文,包括:
对各个信息的线性映射向量和随机扰动向量进行求和获得各个信息的密文。
作为本发明实施例一种可选的实施方式,所述根据所述第一向量解密所述密文运算结果获得明文运算结果,包括:
计算所述公共随机数的倒数、所述密文运算结果以及所述第一向量的乘积获得所述明文运算结果。
第二方面,本发明实施例提供了一种数据传输装置,包括:
接收单元,用于接收第二设备发送的请求信息,所述请求信息用于请求基于目标信息集合中的信息进行隐私计算;
生成单元,用于生成所述目标信息集合中各个信息对应的秘钥;
加密单元,用于根据各个信息对应的秘钥生成各个信息的线性映射向量和随机扰动向量,以及对各个信息的线性映射向量和随机扰动向量进行一级运算获得各个信息的密文;生成所述线性映射向量的映射算法具有一级运算同态性,各个信息的随机扰动向量均与第一向量正交;
发送单元,用于向第二设备发送各个信息的密文;
所述接收单元,还用于接收所述第二设备发送的密文运算结果,所述密文运算结果为对所述目标信息集合中的至少两个信息的密文进行一级运算同态操作得到的结果;
解密单元,用于根据所述第一向量解密所述密文运算结果获得明文运算结果;
所述发送单元,还用于向所述第二设备发送所述明文运算结果。
作为本发明实施例一种可选的实施方式,所述生成单元,具体用于随机选取一个非零实数作为所述目标信息集合中各个信息对应的公共随机数;根据所述第一向量生成第二向量,所述第二向量与所述第一向量的内积为1;针对所述目标信息集合中的每一个信息,随机选取一个非零实数作为所述信息的私有随机数;针对所述目标信息集合中的每一个信息,随机从第一向量空间中选取随机数量个向量作为所述信息的随机向量集合;所述第一向量空间中的各个向量均与所述第一向量正交;根据所述公共随机数、所述第二向量、各个信息的私有随机数以及各个信息的随机向量集合,生成各个信息对应的秘钥。
作为本发明实施例一种可选的实施方式,所述生成单元,具体用于随机生成一个分量数量为随机数且各个分量均为零的全零向量;随机选取所述全零向量的一个分量作为所述全零向量的目标分量;获取目标值,所述目标值为所述第一向量中与所述目标分量对应的分量的值;将所述全零向量的目标分量的值设置为所述目标值的倒数获得所述第二向量。
作为本发明实施例一种可选的实施方式,所述生成单元,还用于在针对所述目标信息集合中的每一个信息,随机从第一向量空间中选取随机数量个向量作为所述信息的随机向量集合之前,随机选取一个大于1的整数作为第一随机数;根据所述第一随机数和实数集构造第二向量空间;随机选取所述第二向量空间的一个子集作为所述第一向量空间;计算所述第一向量空间的正交补空间获得第三向量空间;从所述第三向量空间中随机选取一个向量作为所述第一向量。
作为本发明实施例一种可选的实施方式,所述加密单元,具体用于计算所述公共随机数、第一信息以及所述第二向量的乘积作为所述第一信息的线性映射向量;计算所述第一信息的私有随机数与所述第一信息的随机向量集合中的各个向量的乘积的和作为所述第一信息的随机扰动向量。
作为本发明实施例一种可选的实施方式,所述加密单元,具体用于对各个信息的线性映射向量和随机扰动向量进行求和获得各个信息的密文。
作为本发明实施例一种可选的实施方式,所述解密单元,具体用于计算所述公共随机数的倒数、所述密文运算结果以及所述第一向量的乘积获得所述明文运算结果。
第三方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用计算机程序时,使得所述电子设备实现上述任一实施例所述的数据传输方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现上述任一实施例所述的数据传输方法。
第五方面,本发明实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机实现上述任一实施例所述的数据传输方法。
本发明实施例提供的数据传输方法在第一设备接收到第二设备发送的请求信息时,首先生成所述目标信息集合中各个信息对应的秘钥,并根据各个信息对应的秘钥生成各个信息的线性映射向量和随机扰动向量,以及对各个信息的线性映射向量和随机扰动向量进行一级运算获得各个信息的密文,然后向第二设备发送各个信息的密文,再接收第二设备发送的对所述目标信息集合中的至少两个信息的密文进行一级运算操作的得到的密文运算结果,最后对解密所述密文运算结果获得明文运算结果,并向第二设备发送明文运算结果。一方面,由于第一设备对信息进行加密后才会向第二设备发送相应的密文,因此第二设备仅能获得信息的密文,而无法获取信息,因此本发明实施例可以在避免信息泄露的情况下实现隐私计算。另一方面,由于第一设备对第二设备发送的密文运算结果进行解密后,仅仅能获得明文计算结果,而无法知晓明文运算结果是哪些信息的运算结果,因此本发明实施例可以在避免第一设备获取参与隐私计算的信息的情况下实现隐私计算。综上,本发明实施例在保护各方数据隐私不泄漏的前提下实现了共同的运算需求。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的数据传输方法的场景架构图;
图2为本发明实施例提供的数据传输方法的步骤流程图之一;
图3为本发明实施例提供的数据传输方法的步骤流程图之二;
图4为本发明实施例提供的数据传输装置的结构示意图;
图5为本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面将对本发明的方案进行进一步描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但本发明还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本发明的一部分实施例,而不是全部的实施例。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。此外,在本发明实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
本申请的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一向量和第二向量操作等是用于区别不同的向量,而不是用于描述向量的特定顺序。
以下对本发明实施例提供的数据传输方法所应用的场景架构进行说明。参照图1所示,本发明数据传输方法所应用的场景中包括:第一设备11和第二设备12。其中,第一设备11为信息集合的拥有者,第一设备11和第二设备12要基于信息集合中的至少信息两个实现隐私计算,且在隐私计算过程需要避免第一设备11的隐私数据(信息集合)以及第二设备12的隐私数据(参与计算的信息)泄露。
在隐私计算过程中:第二设备12首先向第一设备11发送用于请求基于目标信息集合中的信息进行隐私计算请求信息。第一设备11收到第二设备12发送的请求信息后生成目标信息集合中各个信息对应的秘钥,并基于各个信息对应的秘钥对各个信息进行加密获取各个信息的密文,再将各个信息的密文发送至第二设备12。第二设备12对所述目标信息集合中的至少两个信息的密文进行一级运算同态操作得到密文运算结果,再将密文运算结果发回第一设备11。最后第一设备11对密文运算结果进行解密获取明文运算结果,并将明文运算结果发送至第二设备。至此,第二设备获得了明文运算结果,但第一设备11无法知晓哪些信息参与了明文运算结果的计算,第二设备12也无法知晓参与明文运算结果计算的信息,在保护第一设备和第二设备的数据隐私不泄漏的前提下,完成了共同的计算目标。
基于上述内容,本发明实施例提供了一种数据传输方法,参照图2所示,本发明实施例提供的数据传输方法包括如下步骤:
S21、第二设备向第一设备发送请求信息。
对应的,第一设备接收第二设备发送的请求信息。
其中,所述请求信息用于请求基于目标信息集合中的信息进行隐私计算。
示例性的,目标信息集合可以由第一设备根据第二设备指定的范围确定。例如:第二设备请求基于用户的信用卡额度进行隐私计算,则第一设备可以将所有用户的信用卡额度确定目标信息集合。
示例性的,目标信息集合也可以第二设备指定。例如:第二设备想要计算用户1、用户2的信用卡额度的平均值,则第二设备可以将目标信息集合确定为用户1至用户10的信用卡额度,从而在避免第一设备知晓参与隐私计算的信息的情况下实现隐私计算。
S22、第一设备生成所述目标信息集合中各个信息对应的秘钥。
即,针对第一设备保存的每一个信息均生成对应的秘钥,秘钥与信息一一对应。
S23、第一设备根据各个信息对应的秘钥生成各个信息的线性映射向量和随机扰动向量。
其中,生成所述线性映射向量的映射算法具有一级运算同态性,各个信息的随机扰动向量均与第一向量正交。
本发明实施例中的一级运算是指加法运算和/或减法运算。
本发明实施例中算法具有一级运算同态性是指:算法具有加法同态性和减法同态性。算法具有加法同态性是指:对于任意属于实数的x1和x2,该算法f均可以使得
Figure BDA0003362250460000081
其中,
Figure BDA0003362250460000082
为加法同态运算操作。算法具有减法同态性是指:对于任意属于实数的x1和x2,该算法f均可以使得
Figure BDA0003362250460000083
其中,
Figure BDA0003362250460000084
为减法同态运算操作。
本发明实施例中各个信息的随机扰动向量均与第一向量正交是指:各个信息的随机扰动向量与第一向量的内积(点乘)均为零。
设:生成所述线性映射向量的映射算法为f1,生成所述线性映射向量的映射算法为f2,第一向量为u,则有:f1具有一级运算同态性,f2(xi)u=0。
S24、第一设备对各个信息的线性映射向量和随机扰动向量进行一级运算获得各个信息的密文。
如上所述,一级运算是指加法运算和/或减法运算,因此对各个信息的线性映射向量和随机扰动向量进行一级运算获得各个信息的密文,可以包括:对各个信息的线性映射向量和随机扰动向量求和获取各个信息的密文、对各个信息的线性映射向量和随机扰动向量求差获取各个信息的密文。
S25、第一设备向第二设备发送各个信息的密文。
对应的,第二设备接收各个信息的密文。
示例性的,第一设备发送的各个信息的密文的形式可以如下表1所示:
表1
信息标识 标识1 标识2 …… 标识n
密文 c1 c2 …… cn
即,第一设备向第二设备发送各个信息的密文,以及密文与信息之间的对应关系。
S26、第二设备向第一设备发送密文运算结果。
对应的,第一设备接收第二设备发送的密文运算结果。
其中,所述密文运算结果为对所述目标信息集合中的至少两个信息的密文进行一级运算同态操作得到的结果。
S27、第一设备根据所述第一向量解密所述密文运算结果获得明文运算结果。
S28、第一设备向所述第二设备发送所述明文运算结果。
对应的,第二设备接收第一设备发送的所述明文运算结果。
本发明实施例提供的数据传输方法在第一设备接收到第二设备发送的请求信息时,首先生成所述目标信息集合中各个信息对应的秘钥,并根据各个信息对应的秘钥生成各个信息的线性映射向量和随机扰动向量,以及对各个信息的线性映射向量和随机扰动向量进行一级运算获得各个信息的密文,然后向第二设备发送各个信息的密文,再接收第二设备发送的对所述目标信息集合中的至少两个信息的密文进行一级运算操作的得到的密文运算结果,最后对解密所述密文运算结果获得明文运算结果,并向第二设备发送明文运算结果。一方面,由于第一设备对信息进行加密后才会向第二设备发送相应的密文,因此第二设备仅能获得信息的密文,而无法获取信息,因此本发明实施例可以在避免信息泄露的情况下实现隐私计算。另一方面,由于第一设备对第二设备发送的密文运算结果进行解密后,仅仅能获得明文计算结果,而无法知晓明文运算结果是哪些信息的运算结果,因此本发明实施例可以在避免第一设备获取参与隐私计算的信息的情况下实现隐私计算。综上,本发明实施例在保护各方数据隐私不泄漏的前提下实现了共同的运算需求。
作为对上述实施例的扩展和细化,本发明实施例提供了一种应用与第一设备的数据传输方法,参照图3所示,该数据传输方法包括如下步骤:
S301、接收第二设备发送的请求信息。
其中,所述请求信息用于请求基于目标信息集合中的信息进行隐私计算。
S302、随机选取一个大于1的整数作为第一随机数。
设:第一随机数为d,所有整数组成的整数集为Z,则有:
d∈Z,且d>1
S303、根据所述第一随机数和实数集构造第二向量空间。
设:第二向量空间为C,所有实数组成的实数集为R,则有:
C=Rd
S304、随机选取所述第二向量空间的一个子集作为所述第一向量空间。
设:第一向量空间为V,则有:
Figure BDA0003362250460000111
S305、计算所述第一向量空间的正交补空间获得第三向量空间。
具体的,第一向量空间的正交补空间是指:所有正交于第一向量空间中的所有向量构成的向量空间。
设:第三向量空间为U,则有:
U=V
S306、从所述第三向量空间中随机选取一个向量作为所述第一向量。
即,随机从第三向量空间中选取一个向量作为第一向量。
设:第一向量为u=[u1,u2,…,un]T,则有:
u∈U
此外,由于正交补性质可得:第一向量u与第一向量空间V中的任意向量的内积均为零。即,uTv=0,
Figure BDA0003362250460000112
S307、随机选取一个非零实数作为所述目标信息集合中各个信息对应的公共随机数。
设:选取的所述公共随机数为a,所有实数组成的集合为R,则有:
a∈R,且a≠0
S308、根据所述第一向量生成第二向量。
其中,所述第二向量与所述第一向量的内积为1。
设:第二向量为e=[e1,e2,…,en]T,则有:
uTe=1
具体的,第一向量u与第二向量的内积为u1e1+u2e2+…+unen。因此可以令u1e1+u2e2+…+unen=1,并根据u1,u2,…,un的值计算e1,e2,…,en,从而获取第二向量。
作为本发明实施例一种可选的实施方式,上步骤S37(根据所述第一向量生成第二向量)的一种实现方式包括如下步骤a至步骤d:
步骤a、随机生成一个分量数量为随机数且各个分量均为零的全零向量。
设:全零向量为O,全零向量的分量数量为6,则有:
O=[0,0,0,0,0,0]T
步骤b、随机选取所述全零向量的一个分量作为所述全零向量的目标分量。
即,随机选取一个全零向量的一个分量作为全零向量的目标分量。
步骤c、获取目标值。
其中,所述目标值为所述第一向量中与所述目标分量对应的分量的值。
示例性的,所述全零向量的目标分量为第三个分量,则目标值为u3。
步骤d、将所述全零向量的目标分量的值设置为所述目标值的倒数获得所述第二向量。
示例性的,当第一向量u=[u1,u2,……,un]T时,第二向量e可以为[1/u1,……,0,]T、[0,1/u2,……0]T、……、[0,0,……,1/un]T中的任一个。
承上所述,当全零向量O=[0,0,0,0,0,0]T,目标值为u3,则第二向量e=[0,0,1/u3,0,0,0]T
uTe=u3(1/u3)=1
上述实施例设置第二向量的一个分量为非零值,而将第二向量的其它分量均设置为零,因此上述实施例可以简化后续的加密、机密计算,进而提高隐私计算的效率。
S309、针对所述目标信息集合中的每一个信息,随机选取一个非零实数作为所述信息的私有随机数。
即,对各个信息分别选取一个对应的私有随机数。
S310、针对所述目标信息集合中的每一个信息,随机从第一向量空间中选取随机数量个向量作为所述信息的随机向量集合。
即,从第一向量空间为各个信息选取随机数量个向量,并将为每一个信息选取的随机数量个向量组合为该信息的随机向量集合。
S311、根据所述公共随机数、所述第二向量、各个信息的私有随机数以及各个信息的随机向量集合,生成各个信息对应的秘钥。
设:信息m1对应的秘钥为k1,则有:
Figure BDA0003362250460000131
其中,a为公共随机数,yv1为信息m1的私有随机数,e为第二向量,
Figure BDA0003362250460000132
为信息m1的随机向量集合。
S312、计算所述第一信息的私有随机数与所述第一信息的随机向量集合中的各个向量的乘积的和作为所述第一信息的随机扰动向量。
设:第一信息为m1,第一信息的线性映射向量为A1,则有:
A1=am1e
其中,a为公共随机数,e为第二向量。
S313、计算所述第一信息的私有随机数与所述第一信息的随机向量集合中的各个向量的乘积的和作为所述第一信息的随机扰动向量。
设:第一信息的私有随机数为yv1,第一信息的随机向量集合为
Figure BDA0003362250460000133
第一信息的随机扰动向量为B1,则有:
Figure BDA0003362250460000134
S314、对各个信息的线性映射向量和随机扰动向量进行一级运算获得各个信息的密文。
作为本发明实施例一种可选的实施方式,上述步骤S313(对所述第一信息的线性映射向量和所述第一信息的随机扰动向量进行一级运算获得所述第一信息的密文)包括:
对所述第一信息的线性映射向量和所述第一信息的随机扰动向量进行求和获得所述第一信息的密文。
设:第一信息m1的密文为c1,加密操作为Ek则有:
Figure BDA0003362250460000141
作为本发明实施例一种可选的实施方式,上述步骤S314(对各个信息的线性映射向量和随机扰动向量进行一级运算获得各个信息的密文)包括:
对各个信息的线性映射向量和随机扰动向量进行求和获得各个信息的密文。
设:第一信息m1的密文为c1,加密操作为Ek则有:
Figure BDA0003362250460000142
逐一对目标信息集合中的每一个信息执行上述步骤S312至S314,则可以获取目标信息集合中的每一个信息的密文。
以下结合上述内容对本发明实施例提供的数据传输方法的安全性进行说明。
本发明实施例中任一信息的密文为该信息的线性映射向量与该信息的随机扰动向量的一级运算结果。
首先,由于随机扰动向量包括含了一个私有随机数和一个随机向量集合,因此即使对同一信息m执行n次加密得到密文c1,…,cn,由于随机数、随机向量集合中向量的数量、随机向量集合中的向量均有很大概率不同,因此有极大概率c1≠c2≠…≠cn,进而使信息窃取者无法得知该多个密文为同一信息的密文,进而保证语义的安全性。
其次,由于文明m的密文c1,…,cn中的任意密文之间的差值为一个向量集合,因此信息窃取者无法根据密文的之间的差值获取有效信息。例如:c1与c2的差值Δ的表达式为:
Figure BDA0003362250460000143
c1与c2的差值Δ只是向量集合
Figure BDA0003362250460000151
与向量集合
Figure BDA0003362250460000152
的并集,无法得到信息的明文。
此外,由于线性映射向量中包含公共随机数和第二向量,因此在公共随机数和第二向量不泄露的情况下,即使信息窃取者根据足够多的密文推算出第一向量集合,并构造u使得uTv=0,
Figure BDA0003362250460000153
由于uTEk(m)≠m,因此仍可以避免信息泄露。
S315、向第二设备发送各个信息的密文。
S316、接收所述第二设备发送的密文运算结果。
其中,所述密文运算结果为对所述目标信息集合中的至少两个信息的密文进行一级运算同态操作得到的结果。
S317、计算所述公共随机数的倒数、所述密文运算结果以及所述第一向量的乘积获得所述明文运算结果。
设:密文运算结果为C,解密操作为Dk,明文运算结果为M,则有:
M=Dk(C)=a-1uTC
S318、向所述第二设备发送所述明文运算结果。
进一步的,以下以密文运算结果C为对信息m1的密文Ek(m1)和信息m2的密文Ek(m2)进行求和、明文运算结果为M为例对上实施例的原理进行说明。
Figure BDA0003362250460000154
由于第一向量u与第二向量e的内积为1,因此有:
(a-1a)m1(uTe)=m1
(a-1a)m2(uTe)=m2
由于第一向量u与第一向量空间V中的各个向量均正交,而各个信息的随机向量集合
Figure BDA0003362250460000161
等均为从第一向量空间V中选取的向量组成的集合,因此
Figure BDA0003362250460000162
Figure BDA0003362250460000163
综上可得:M=Dk(Ek(m1)+Ek(m2))=m1+m2
以下结合上述内容对本发明实施例提供的数据传输方法的高效性进行说明。
首先,在对信息进行加密的过程中,全同态加密方案普遍需要使用两次指数运算两次指数运算提供的数据传输方法仅需要仅用一级运算和乘法运算即可完成,一级运算和乘法运算的计算复杂度远远小于指数运算。
其次,在计算密文运算结果的过程中,全同态加密方案普遍需要使用乘法运算,而本发明方案仅使用一级运算即可完成,一级运算的计算复杂度远远小于乘法运算。
最后,在对密文运算结果进行解密的过程中,全同态加密方案需要进行指数运算,而本发明方案仅使用乘法运算即可,乘法运算的计算复杂度远远小于指数运算。
综上,本发明实施例提供的数据传输方法使用计算复杂度更低的一级运算和乘法运算,替代了行业通用方案的乘法运算和指数运算,达到了提升计算效率的目的。
进一步的,以下信息包括客户1、客户2、客户3、客户4以及客户5分别在A银行的信用卡额度10000、3000、5000、6000、80000,B银行具有潜在用户客户1、客户3、客户5,A银行与B银行均想要计算的B银行具有潜在用户在A银行的信用卡额度平均值为例对上述实施例进行举例说明。
首先,A银行获取各个客户的信用卡额度的密文,得到Ek(10000)、Ek(3000)、Ek(5000)、Ek(6000)、Ek(80000)。
其次,A银行将各个客户的信用卡额度的密文发送给B银行。
示例性的,A银行向B银行发送的消息可以如下所述:
客户1:Ek(10000)
客户2:Ek(3000)
客户3、Ek(5000)
客户4、Ek(6000)
客户5、Ek(80000)
然后,B银行将各个潜在用户(客户1、客户3、客户5)的信用卡额度的密文相加,并求平均值,得到
Figure BDA0003362250460000171
Figure BDA0003362250460000172
再后,B银行将
Figure BDA0003362250460000173
发送给A银行。
最后,A银行对
Figure BDA0003362250460000174
进行解密,得到
Figure BDA0003362250460000175
并告知A银行。
至此,在A银行对哪些客户是B银行的潜在用户无感知,B银行对各个潜在用户A银行的信用卡额度无感知的情况下,A银行和B银行均得到了B银行具有潜在用户在A银行的信用卡额度平均值。
基于同一发明构思,作为对上述方法的实现,本发明实施例还提供了一种数据传输装置,该数据传输装置实施例与前述方法实施例对应,为便于阅读,本数据传输装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的数据传输装置能够对应实现前述方法实施例中的全部内容。
本发明实施例提供了一种数据传输装置。图4为该数据传输装置的结构示意图,如图4所示,该数据传输装置400包括:
接收单元41,用于接收第二设备发送的请求信息,所述请求信息用于请求基于目标信息集合中的信息进行隐私计算;
生成单元42,用于生成所述目标信息集合中各个信息对应的秘钥;
加密单元43,用于根据各个信息对应的秘钥生成各个信息的线性映射向量和随机扰动向量,以及对各个信息的线性映射向量和随机扰动向量进行一级运算获得各个信息的密文;生成所述线性映射向量的映射算法具有一级运算同态性,各个信息的随机扰动向量均与第一向量正交;
发送单元44,用于向第二设备发送各个信息的密文;
所述接收单元41,还用于接收所述第二设备发送的密文运算结果,所述密文运算结果为对所述目标信息集合中的至少两个信息的密文进行一级运算同态操作得到的结果;
解密单元45,用于根据所述第一向量解密所述密文运算结果获得明文运算结果;
所述发送单元44,还用于向所述第二设备发送所述明文运算结果。
作为本发明实施例一种可选的实施方式,所述生成单元42,具体用于随机选取一个非零实数作为所述目标信息集合中各个信息对应的公共随机数;根据所述第一向量生成第二向量,所述第二向量与所述第一向量的内积为1;针对所述目标信息集合中的每一个信息,随机选取一个非零实数作为所述信息的私有随机数;针对所述目标信息集合中的每一个信息,随机从第一向量空间中选取随机数量个向量作为所述信息的随机向量集合;所述第一向量空间中的各个向量均与所述第一向量正交;根据所述公共随机数、所述第二向量、各个信息的私有随机数以及各个信息的随机向量集合,生成各个信息对应的秘钥。
作为本发明实施例一种可选的实施方式,所述生成单元42,具体用于随机生成一个分量数量为随机数且各个分量均为零的全零向量;随机选取所述全零向量的一个分量作为所述全零向量的目标分量;获取目标值,所述目标值为所述第一向量中与所述目标分量对应的分量的值;将所述全零向量的目标分量的值设置为所述目标值的倒数获得所述第二向量。
作为本发明实施例一种可选的实施方式,所述生成单元42,还用于在针对所述目标信息集合中的每一个信息,随机从第一向量空间中选取随机数量个向量作为所述信息的随机向量集合之前,随机选取一个大于1的整数作为第一随机数;根据所述第一随机数和实数集构造第二向量空间;随机选取所述第二向量空间的一个子集作为所述第一向量空间;计算所述第一向量空间的正交补空间获得第三向量空间;从所述第三向量空间中随机选取一个向量作为所述第一向量。
作为本发明实施例一种可选的实施方式,所述加密单元43,具体用于计算所述公共随机数、第一信息以及所述第二向量的乘积作为所述第一信息的线性映射向量;计算所述第一信息的私有随机数与所述第一信息的随机向量集合中的各个向量的乘积的和作为所述第一信息的随机扰动向量。
作为本发明实施例一种可选的实施方式,所述加密单元43,具体用于对各个信息的线性映射向量和随机扰动向量进行求和获得各个信息的密文。
作为本发明实施例一种可选的实施方式,所述解密单元45,具体用于计算所述公共随机数的倒数、所述密文运算结果以及所述第一向量的乘积获得所述明文运算结果。
基于同一发明构思,本发明实施例还提供了一种电子设备。图5为本发明实施例提供的电子设备的结构示意图,如图5所示,本实施例提供的电子设备包括:存储器51和处理器52,所述存储器51用于存储计算机程序;所述处理器52用于在调用计算机程序时,使得所述电子设备实现上述实施例提供的数据传输方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现上述实施例提供的数据传输方法。
本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机实现上述实施例提供的数据传输方法。
本领域技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
处理器可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种数据传输方法,其特征在于,应用于第一设备,所述方法包括:
接收第二设备发送的请求信息,所述请求信息用于请求基于目标信息集合中的信息进行隐私计算;
生成所述目标信息集合中各个信息对应的秘钥;
根据各个信息对应的秘钥生成各个信息的线性映射向量和随机扰动向量;生成所述线性映射向量的映射算法具有一级运算同态性,各个信息的随机扰动向量均与第一向量正交;
对各个信息的线性映射向量和随机扰动向量进行一级运算获得各个信息的密文;
向第二设备发送各个信息的密文;
接收所述第二设备发送的密文运算结果,所述密文运算结果为对所述目标信息集合中的至少两个信息的密文进行一级运算同态操作得到的结果;
根据所述第一向量解密所述密文运算结果获得明文运算结果;
向所述第二设备发送所述明文运算结果。
2.根据权利要求1所述的方法,其特征在于,所述生成所述目标信息集合中各个信息对应的秘钥,包括:
随机选取一个非零实数作为所述目标信息集合中各个信息对应的公共随机数;
根据所述第一向量生成第二向量,所述第二向量与所述第一向量的内积为1;
针对所述目标信息集合中的每一个信息,随机选取一个非零实数作为所述信息的私有随机数;
针对所述目标信息集合中的每一个信息,随机从第一向量空间中选取随机数量个向量作为所述信息的随机向量集合;所述第一向量空间中的各个向量均与所述第一向量正交;
根据所述公共随机数、所述第二向量、各个信息的私有随机数以及各个信息的随机向量集合,生成各个信息对应的秘钥。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一向量生成第二向量,包括:
随机生成一个分量数量为随机数且各个分量均为零的全零向量;
随机选取所述全零向量的一个分量作为所述全零向量的目标分量;
获取目标值,所述目标值为所述第一向量中与所述目标分量对应的分量的值;
将所述全零向量的目标分量的值设置为所述目标值的倒数获得所述第二向量。
4.根据权利要求2所述的方法,其特征在于,在针对所述目标信息集合中的每一个信息,随机从第一向量空间中选取随机数量个向量作为所述信息的随机向量集合之前,所述方法还包括:
随机选取一个大于1的整数作为第一随机数;
根据所述第一随机数和实数集构造第二向量空间;
随机选取所述第二向量空间的一个子集作为所述第一向量空间;
计算所述第一向量空间的正交补空间获得第三向量空间;
从所述第三向量空间中随机选取一个向量作为所述第一向量。
5.根据权利要求2所述的方法,其特征在于,所述根据各个信息对应的秘钥生成各个信息的线性映射向量和随机扰动向量,包括:
计算所述公共随机数、第一信息以及所述第二向量的乘积作为所述第一信息的线性映射向量;
计算所述第一信息的私有随机数与所述第一信息的随机向量集合中的各个向量的乘积的和作为所述第一信息的随机扰动向量。
6.根据权利要求1所述的方法,其特征在于,所述对各个信息的线性映射向量和随机扰动向量进行一级运算获得各个信息的密文,包括:
对各个信息的线性映射向量和随机扰动向量进行求和获得各个信息的密文。
7.根据权利要求5所述的方法,其特征在于,所述根据所述第一向量解密所述密文运算结果获得明文运算结果,包括:
计算所述公共随机数的倒数、所述密文运算结果以及所述第一向量的乘积获得所述明文运算结果。
8.一种数据传输装置,其特征在于,包括:
接收单元,用于接收第二设备发送的请求信息,所述请求信息用于请求基于目标信息集合中的信息进行隐私计算;
生成单元,用于生成所述目标信息集合中各个信息对应的秘钥;
加密单元,用于根据各个信息对应的秘钥生成各个信息的线性映射向量和随机扰动向量,以及对各个信息的线性映射向量和随机扰动向量进行一级运算获得各个信息的密文;生成所述线性映射向量的映射算法具有一级运算同态性,各个信息的随机扰动向量均与第一向量正交;
发送单元,用于向第二设备发送各个信息的密文;
所述接收单元,还用于接收所述第二设备发送的密文运算结果,所述密文运算结果为对所述目标信息集合中的至少两个信息的密文进行一级运算同态操作得到的结果;
解密单元,用于根据所述第一向量解密所述密文运算结果获得明文运算结果;
所述发送单元,还用于向所述第二设备发送所述明文运算结果。
9.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用计算机程序时,使得所述电子设备实现权利要求1-7任一项所述的数据传输方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现权利要求1-7任一项所述的数据传输方法。
CN202111371043.7A 2021-11-18 2021-11-18 一种数据传输方法及装置 Active CN114070558B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111371043.7A CN114070558B (zh) 2021-11-18 2021-11-18 一种数据传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111371043.7A CN114070558B (zh) 2021-11-18 2021-11-18 一种数据传输方法及装置

Publications (2)

Publication Number Publication Date
CN114070558A true CN114070558A (zh) 2022-02-18
CN114070558B CN114070558B (zh) 2023-11-24

Family

ID=80278110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111371043.7A Active CN114070558B (zh) 2021-11-18 2021-11-18 一种数据传输方法及装置

Country Status (1)

Country Link
CN (1) CN114070558B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114419719A (zh) * 2022-03-29 2022-04-29 北京爱笔科技有限公司 一种生物特征的处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109787743A (zh) * 2019-01-17 2019-05-21 广西大学 一种基于矩阵运算的可验证的全同态加密方法
CN110519039A (zh) * 2019-07-29 2019-11-29 北京多思安全芯片科技有限公司 一种数据的同态处理方法
CN111510281A (zh) * 2020-06-29 2020-08-07 腾讯科技(深圳)有限公司 一种同态加密方法及装置
CN112989368A (zh) * 2021-02-07 2021-06-18 支付宝(杭州)信息技术有限公司 多方联合进行隐私数据处理的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109787743A (zh) * 2019-01-17 2019-05-21 广西大学 一种基于矩阵运算的可验证的全同态加密方法
CN110519039A (zh) * 2019-07-29 2019-11-29 北京多思安全芯片科技有限公司 一种数据的同态处理方法
CN111510281A (zh) * 2020-06-29 2020-08-07 腾讯科技(深圳)有限公司 一种同态加密方法及装置
CN112989368A (zh) * 2021-02-07 2021-06-18 支付宝(杭州)信息技术有限公司 多方联合进行隐私数据处理的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114419719A (zh) * 2022-03-29 2022-04-29 北京爱笔科技有限公司 一种生物特征的处理方法及装置

Also Published As

Publication number Publication date
CN114070558B (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
TWI762776B (zh) 安全多方計算協定的輸入獲取方法和裝置
WO2021197037A1 (zh) 双方联合进行数据处理的方法及装置
González-Serrano et al. Training support vector machines with privacy-protected data
Liu et al. An efficient privacy-preserving outsourced computation over public data
CN112800479B (zh) 利用可信第三方的多方联合数据处理方法及装置
Chou et al. Multiparty weighted threshold quantum secret sharing based on the Chinese remainder theorem to share quantum information
CN111555880A (zh) 数据碰撞方法、装置、存储介质及电子设备
CN113886887A (zh) 基于多方安全计算的数据查询方法及装置
Aloufi et al. Computing blindfolded on data homomorphically encrypted under multiple keys: An extended survey
CN115865531A (zh) 一种代理重加密数字资产授权方法
CN115099959A (zh) 基于同态加密算法的对客风险控制方法及装置
CN114070558B (zh) 一种数据传输方法及装置
Li et al. Efficient and adaptively secure attribute-based proxy reencryption scheme
Kumar et al. Image encryption using a novel hybrid chaotic map and dynamic permutation− diffusion
US10356056B2 (en) Method and system for privacy-preserving order statistics in a star network
CN117390675A (zh) 数据查询方法、电子设备和可读存储介质
Chen et al. A novel (t, n) secret sharing scheme based upon Euler’s theorem
Song et al. Traceable and privacy-preserving non-interactive data sharing in mobile crowdsensing
Zhang et al. Token-leakage tolerant and vector obfuscated IPE and application in privacy-preserving two-party point/polynomial evaluations
Ren et al. SM9-based traceable and accountable access control for secure multi-user cloud storage
Mishra et al. Efficient collusion resistant multi-secret image sharing
Zhang et al. Strongly average‐case secure obfuscation: achieving input privacy and circuit obscurity
CN113065156B (zh) 一种控制延时的多方联合数据处理方法及装置
CN113872757B (zh) 一种基于sm2公钥加密算法的广播加密方法
CN112989386B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant