CN117009996A - 数据处理方法、装置、电子设备和介质 - Google Patents

数据处理方法、装置、电子设备和介质 Download PDF

Info

Publication number
CN117009996A
CN117009996A CN202311013426.6A CN202311013426A CN117009996A CN 117009996 A CN117009996 A CN 117009996A CN 202311013426 A CN202311013426 A CN 202311013426A CN 117009996 A CN117009996 A CN 117009996A
Authority
CN
China
Prior art keywords
data
encrypted data
shared
sub
participants
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.)
Pending
Application number
CN202311013426.6A
Other languages
English (en)
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202311013426.6A priority Critical patent/CN117009996A/zh
Publication of CN117009996A publication Critical patent/CN117009996A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

提供了一种数据处理方法、装置、电子设备和介质,可以应用于大数据技术领域、人工智能技术领域和金融技术领域。所述方法包括:获取来自n个参与方的加密数据;对所述加密数据进行隐私集合求交,以确定需要共享的共享加密数据;使用第一门限秘密分享算法将所述共享加密数据分成n份子共享加密数据,将所述n份子共享加密数据分别分配给所述n个参与方;根据确定出的k个可信参与方,利用k个可信参与方持有的k份子共享加密数据,重建出所述共享加密数据;以及利用所述共享加密数据,生成联合数据表。

Description

数据处理方法、装置、电子设备和介质
技术领域
本发明涉及大数据技术领域、人工智能技术领域和金融技术领域,更具体地涉及一种数据处理方法、装置、电子设备和介质。
背景技术
联合报表生成通常涉及多个组织或个人之间的数据共享,以提供更全面和完整的信息,通常情况下,联合报表使用同态加密技术,可以在不暴露数据的情况下实现联合报表。具体来说,每个数据所有者将其数据加密,然后将加密后的数据共享给其他参与者。参与者使用同态加密技术对加密后的数据进行计算,得到计算结果的密文,然后将密文发送给数据所有者。数据所有者使用他们拥有的密钥对密文进行解密,得到计算结果。
使用同态加密的联合报表可以确保数据隐私,在整个过程中,数据所有者不需要共享其未加密的数据,只需共享加密后的数据。此外,同态加密技术也可以保证计算结果的正确性,在计算过程中,数据直接在密态下进行计算,所有者不需要与其他参与者共享他们的私钥,没有人能够篡改计算结果。
同态加密算法可以进行任意次数的加法同态运算,其构造相对于全同态算法来讲较为简单和易于理解,但是只能进行加法运算且无法抵抗量子攻击,同样地,加密的数据类型同样只能是整数,但联合报表不一定都为整数,也会有小数的情况,同态加密算法不完全适用于联合报表的加密与计算。
发明内容
鉴于上述问题,根据本发明的第一方面,本发明的实施例提供了一种数据处理方法,所述方法包括:
获取来自n个参与方的加密数据,其中,所述加密数据为n个参与方利用数据加密算法对各自的数据进行加密处理后得到的,n为大于等于2的正整数;
对所述加密数据进行隐私集合求交,以确定需要共享的共享加密数据,其中,所述共享加密数据为所述加密数据的至少一部分;
使用第一门限秘密分享算法将所述共享加密数据分成n份子共享加密数据,将所述n份子共享加密数据分别分配给所述n个参与方,其中,所述门限秘密分享算法的门限值为k,k为小于n的正整数;
根据确定出的k个可信参与方,利用k个可信参与方持有的k份子共享加密数据,重建出所述共享加密数据;以及
利用所述共享加密数据,生成联合数据表。
根据一些示例性的实施例,所述对所述加密数据进行隐私集合求交包括:对所述加密数据进行哈希运算,以获得哈希值;根据所述哈希值,对所述加密数据进行数据对齐;以及对数据对齐后的加密数据进行隐私集合求交。
根据一些示例性的实施例,所述对所述加密数据进行哈希运算包括:利用布谷鸟哈希算法,对所述加密数据进行哈希运算。
根据一些示例性的实施例,所述使用第一门限秘密分享算法将所述共享加密数据分成n份子共享加密数据包括:确定多项式函数f(x),f(x)的次数为k-1,且f(0)的计算结果为所述共享加密数据,其中,x为自变量;以及对所述多项式函数f(x)在n个不同的点上求值,以得到n个计算结果,将所述n个计算结果作为所述n份子共享加密数据。
根据一些示例性的实施例,所述利用k个可信参与方持有的k份子共享加密数据,重建出所述共享加密数据,包括:利用k个可信参与方持有的k份子共享加密数据,通过多项式插值的方法,计算出其他的n-k份子共享加密数据;以及利用所述k份子共享加密数据以及计算出的n-k份子共享加密数据,重建出所述共享加密数据。
根据一些示例性的实施例,所述利用所述共享加密数据,生成联合数据表,包括:获取与所述数据加密算法对应的私钥;利用所述私钥解密所述共享加密数据,以获得共享原始数据;以及利用所述共享原始数据,生成联合数据表。
根据一些示例性的实施例,所述方法还包括:使用第二门限秘密分享算法将所述私钥分成n份子私钥,将所述n份子私钥分别分配给所述n个参与方;以及根据确定出的k个可信参与方,利用k个可信参与方持有的k份子私钥,重建出所述私钥。
根据一些示例性的实施例,所述方法还包括:定期改变所述第二门限秘密分享算法,以定期更新所述n份子私钥。
根据本发明的第二方面,还提供一种数据处理装置,所述装置包括:
数据获取装置,用于获取来自n个参与方的加密数据,其中,所述加密数据为n个参与方利用数据加密算法对各自的数据进行加密处理后得到的,n为大于等于2的正整数;
数据求交装置,用于对所述加密数据进行隐私集合求交,以确定需要共享的共享加密数据,其中,所述共享加密数据为所述加密数据的至少一部分;
数据分割装置,用于使用第一门限秘密分享算法将所述共享加密数据分成n份子共享加密数据,将所述n份子共享加密数据分别分配给所述n个参与方,其中,所述门限秘密分享算法的门限值为k,k为小于n的正整数;
数据重建装置,用于根据确定出的k个可信参与方,利用k个可信参与方持有的k份子共享加密数据,重建出所述共享加密数据;以及
联合数据表生成装置,用于利用所述共享加密数据,生成联合数据表。
根据本发明的第三方面,提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的方法。
根据本发明的第四方面,提供一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如上所述的方法。
根据本发明的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。
上述一个或多个实施例具有如下优点或有益效果:通过获取来自n个参与方的加密数据,对所述加密数据进行隐私集合求交,确定需要共享的共享加密数据;对共享加密数据进行数据分割,分割成n份,分配给n个参与方,当参与方的加密数据达到门限值是进行数据重建,重建出共享加密数据,生成联合报表,基于此方法在加密数据上执行门限加密操作,然后进行数据传输,提高了隐私数据保护的可靠性和安全性。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本发明实施例的数据处理方法、装置、设备、介质的应用场景图。
图2示意性示出了根据本发明实施例的数据处理方法的流程图。
图3示意性示出了对加密数据进行隐私集合求交的流程图。
图4示意性示出了利用布谷鸟哈希算法对加密数据进行哈希运算的流程图。
图5示意性示出了根据本发明实施例的数据处理装置的结构框图。
图6示意性示出了根据本发明实施例的适于实现数据处理方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本发明的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本发明实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本发明。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在本发明的技术方案中,所涉及的用户信息(包括但不限于用户个人信息、用户图像信息、用户设备信息,例如位置信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、存储、使用、加工、传输、提供、公开和应用等处理,均遵守相关国家和地区的相关法律法规和标准,采取了必要保密措施,不违背公序良俗,并提供有相应的操作入口,供用户选择授权或者拒绝。
首先,对本文中记载的技术术语作如下解释和说明。
门限秘密分享(Threshold Secret Sharing):是一种加密技术,用于将秘密数据分割成多个部分,例如:原始的秘密数据可以表示为一个多项式函数,例如f(x)=a+bx+cx^2+...+zx^n。将多项式函数的系数分配给多个分享者,每个分享者都持有一个系数,但没有任何一个分享者持有完整的多项式函数。当满足特定的门限时,可以通过多项式函数重构算法还原出原始的秘密数据。
门限值:门限值决定了重建秘密所需的最少份额数量,假设存在一个秘密S,把秘密S进行加密分割,得到n个碎片,交给W个人保管,当至少T个人同时拿出自己所拥有的秘密碎片Sn时,即可还原最初的秘密S,T即为门限值,门限值根据所需的安全级别和方案中参与者的数量来选择。
发明人经研究发现,联合报表生成通常涉及多个组织或个人之间的数据共享,以提供更全面和完整的信息,例如私人银行报表是一个私人银行为其客户编制的财务报表。私人银行提供个性化的财务服务,为客户提供财富管理、投资组合管理和资产保护等服务。私人银行报表通常包含客户的资产负债表、投资组合持仓情况、收益报告、现金流量报告等财务信息,以及其他有关个人财务状况和投资目标的附注和信息。由于私人银行服务通常针对高净值个人和家族,因此需要保证报表数据一致性以及数据的隐私安全。门限秘密分享技术可以保护联合报表生成的安全,确保数据的隐私性和完整性。同时,参与方可以通过设置门限值来控制数据的访问权限,以保护数据的安全。
通常情况下,联合报表使用同态加密技术,可以在不暴露数据的情况下实现联合报表。具体来说,每个数据所有者将其数据加密,然后将加密后的数据共享给其他参与者。参与者使用同态加密技术对加密后的数据进行计算,得到计算结果的密文,然后将密文发送给数据所有者。数据所有者使用他们拥有的密钥对密文进行解密,得到计算结果。
使用同态加密的联合报表可以确保数据隐私,因为在整个过程中,数据所有者不需要共享其未加密的数据,只需共享加密后的数据。此外,同态加密技术也可以保证计算结果的正确性,因为在计算过程中,数据直接在密态下进行计算,所有者不需要与其他参与者共享他们的私钥,所以没有人能够篡改计算结果。
同态加密算法虽然可以进行任意次数的加法同态运算,但是其构造相对于全同态算法来讲较为简单和易于理解,只能进行加法运算且无法抵抗量子攻击,同样地,加密的数据类型同样只能是整数,但联合报表不一定都为整数,也会有小数的情况,同态加密算法不完全适用于联合报表的加密与计算。
基于此,本发明的实施例提供一种数据处理方法,所述方法包括:获取来自n个参与方的加密数据,其中,所述加密数据为n个参与方利用数据加密算法对各自的数据进行加密处理后得到的,n为大于等于2的正整数;对所述加密数据进行隐私集合求交,以确定需要共享的共享加密数据,其中,所述共享加密数据为所述加密数据的至少一部分;使用第一门限秘密分享算法将所述共享加密数据分成n份子共享加密数据,将所述n份子共享加密数据分别分配给所述n个参与方,其中,所述门限秘密分享算法的门限值为k,k为小于n的正整数;根据确定出的k个可信参与方,利用k个可信参与方持有的k份子共享加密数据,重建出所述共享加密数据;以及利用所述共享加密数据,生成联合数据表。
在根据本发明实施例的方法中,通过获取来自n个参与方的加密数据,对所述加密数据进行隐私集合求交,确定需要共享的共享加密数据;对共享加密数据进行数据分割,分割成n份,分配给n个参与方,当参与方的加密数据达到门限值是进行数据重建,重建出共享加密数据,生成联合报表,基于此方法在加密数据上执行门限加密操作,然后进行数据传输,提高了隐私数据保护的可靠性和安全性。
需要说明的是,本发明实施例提供的数据处理方法和装置可用于大数据技术领域、人工智能技术领域和金融领域。
图1示意性示出了根据本发明实施例的数据处理方法、装置、设备、介质的应用场景图。
如图1所示,根据该实施例的应用场景100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本发明实施例所提供的数据处理方法一般可以由服务器105执行。相应地,本发明实施例所提供的数据处理装置一般可以设置于服务器105中。本发明实施例所提供的方法也可数据处理以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本发明实施例所提供的数据处理装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1描述的场景,通过图2~图5对本发明的实施例提供的数据处理方法进行详细描述。
图2示意性示出了根据本发明实施例的数据处理方法的流程图。
如图2所示,该实施例的数据处理方法200可以包括操作S210~操作S250。
在操作S210,获取来自n个参与方的加密数据,其中,所述加密数据为n个参与方利用数据加密算法对各自的数据进行加密处理后得到的,n为大于等于2的正整数。
在本发明的实施例中,获取n个参与方提供的数据,其中n大于等于2,例如,n个参与方可以包括银行、基金公司、证券公司、保险公司、征信机构等。
在一些示例性的实施例中,私人银行提供个性化的财务服务,为客户提供财富管理、投资组合管理和资产保护等服务。私人银行报表通常包含客户的资产负债表、投资组合持仓情况、收益报告、现金流量报告等财务信息,以及其他有关个人财务状况和投资目标的附注和信息。由于私人银行服务通常针对高净值个人和家族,因此需要保证报表数据一致性以及数据的隐私安全。即不能让除了客户以外的任何一个第三方知道己方的客户数据,让具备一定运算能力的数据处理方来整合和计算客户数据,既可以有效解决客户数据传输安全问题为金融机构提供对客户的评估依据,例如利用客户的贷款金额、贷款次数、逾期行为等信用信息,对客户进行整体的信用风险评估,同时,又能够有效解决客户数据安全问题。
在一些示例性的实施例中,各参与方可采用任何合适的加密算法和加密工具对己方的秘密数据进行加密,此处以RSA加密算法使用python进行加密为例,各参与方使用RSA加密算法对本地数据进行加密,使用python实现RSA公钥加密:首先使用PyCryptodome库生成一个2048位的RSA密钥对,并获取公钥和私钥。然后,定义一个明文,并使用公钥对其进行加密。最后,输出密文和私钥。
发送方加密完自己的本地数据后,将其加密后的数据以及公钥算法发送给其他参与方,其他参与方可以进行对本地数据加密,并接收发送方的加密数据进行解密后联合计算,计算后的结果用公钥进行加密。为了确保发送方的加密数据和公钥是真实的、完整的,并且没有被篡改过。为此,可以使用数字签名、证书等机制来验证公钥的真实性和完整性,以确保数据在传输过程中的隐私安全。
在本发明的一些实施例中,步骤S210获取到来自各个参与方的加密数据,相应地,在操作S220,对所述加密数据进行隐私集合求交,以确定需要共享的共享加密数据,其中,所述共享加密数据为所述加密数据的至少一部分。
隐私集合求交(英文表述为Private Set Intersection,缩写为PSI)是指:参与双方在不泄露任何额外信息的情况下,得到双方持有数据的交集。在这里,额外的信息指的是除了双方的数据交集以外的任何信息。
在一些示例性的实施例中,可以采用朴素哈希的方法来进行隐私集合求交。对参与双方A、B,使用同一个哈希函数H,计算A、B的哈希值,再将使用过哈希函数的数据分别发送给对方,就能求得交集。
在一些示例性的实施例中,也可以通过使用布谷鸟哈希进行隐私集合求交。首先,A、B双方共同选择三个哈希函数h1,h2,h3。然后,B将其持有的n个元素Y,使用布谷鸟哈希,放入1.2n个桶与一个储藏桶中,储藏桶的大小为s。对B来说,现在每个桶中最多只有一个元素,并且储藏桶的中,最多有s个元素。现在B可以构造假数据,将这些桶和储藏桶都填满,使每个桶中都有一个元素,且储藏同中正好有s个元素。然后,A可以生成1.2n+s个随机种子ki,i∈(1,2,...,1.2n+s),用作1.2n+s个不经意伪随机函数的随机种子。B作为接收方,为其桶中的每一个元素y,计算不经意伪随机函数。如果y被放在i号桶中,则计算F(ki,y),如果y被放在了储藏桶中的第j个位置,则计算F(k1.2n+j,y)。
另一边,A作为发送方,可以任意地计算伪随机函数F(ki,x),那么,A可以为其输入x计算以下两个集合:
H=(F(khi(x),x)|x∈X,i=1,2,3)
S=(F(k1.2n+j,x)|x∈X,j=1,2,3)
A将集合H和集合S中的元素打乱,并将这两个集合发送给B。对于B来说,如果一个元素y被放到储藏桶中,则B可以在集合S中查找y对应的不经意伪随机函数输出;否则,就在集合H中查找。通过查找,就可以得到X与Y的交集。通过计算,可以发现,集合H的大小为3n,集合S的大小为ns,s是一个常数,因此A需要传输的数据量为n(3+s),是O(n)的。通过结合布谷鸟哈希,减少了协议所需要传输的数据量,加快了协议的执行速度。
由于不经意伪随机函数的特性,发送方A无法得知接收方B的输入。同时,对于集合X-Y中的元素,其经过伪随机函数的输出,与一个随机的二进制串无法区分,因此B也无法从伪随机函数的输出中反推出输入。在B是诚实的条件下(不能无限次地执行不经意伪随机函数来进行碰撞),这个协议是安全的。
图3是根据本发明的实施例构建的对加密数据进行隐私集合求交的流程图。在本发明的实施例中,对加密数据进行隐私集合求交可以具体包括操作S310~S330。
在操作S310,对所述加密数据进行哈希运算,以获得哈希值。
在操作S320,根据所述哈希值,对所述加密数据进行数据对齐。
在操作S330,对数据对齐后的加密数据进行隐私集合求交。
在一些示例性的实施例中,联合报表首先需要对双方的数据进行主键求交,在常见的纵向切分数据的场景下,两个参与方拥有不同类型的特征,但是两个参与方用户ID等主键不一致,需要使用主键求交来求得两方数据的交集,使用两方交集的特征进行模型训练。在模型求交之前,需要两方各自使用对应算法进行数据对齐,可以降低求交的计算量。
在一些示例性的实施例中,可以采用联邦学习的方法进行数据对齐。联邦学习分为横向联邦学习与纵向联邦学习,本实施例针对纵向联邦学习的场景进行分析。纵向联邦,即样本大多相同,特征不同。
在一些示例性的实施例中,T和Z联合起来训练一个模型,预测一个用户是否对科技类产品感兴趣。T有用户A、B、C三个人的购买历史数据,而Z有B、C、D三个人的文章浏览数据。使用纵向联邦学习,在T和Z都不泄露各自的用户数据前提下,可以整合B、C两个人的T和Z数据特征,共同训练一个预测模型,由于使用到了两类数据进行训练,得到的结果比T或者Z各自训练出的模型更准确。由于模型训练需要同时使用T和Z的数据,用户A仅仅有T的数据,没有Z的数据,因此用户A无法做为训练样本使用。同样的,Z的用户D也无法参与训练。因此在纵向联邦学习之前,双方需要计算出共有的样本(数据对齐),即B、C两人,后续计算都围绕B、C两人进行。而隐私集合求交就是双方通过加密计算,得到B、C两人这个集合,同时不暴露各自的原始集合的方法。
具体地,相对于传统的机器学习算法训练,纵向联邦学习的样本分属于不同的组织,各个组织的样本的覆盖范围各有差异,所以在进行联邦模型训练的第一步就是要进行跨域的样本对齐,找出交集,交集的方式一般是通过Join键,ID可以是手机号、身份证号这种非常敏感的信息,这些敏感信息不适合直接进行交集的计算,需要进行签名处理,并且要保障不被破解。
由于许多加密算法会存在哈希冲突的情况,本方法采用布谷鸟哈希算法解决此问题,对数据进行加密并存入哈希表中,这种方案主要解决普通哈希算法产生的哈希冲突,具体地,所述对所述加密数据进行哈希运算包括:利用布谷鸟哈希算法,对所述加密数据进行哈希运算。
图4示意性示出了利用布谷鸟哈希算法对加密数据进行哈希运算的流程图。
在操作S410,设计两个哈希函数h1(x)和h2(x)。
具体地,所设计的两个哈希函数h1(x)和h2(x)可以是任意的哈希函数,但需要满足以下条件:(1)哈希函数的输出范围应该是哈希表的大小,即h1(x)和h2(x)的输出应该是[0,m-1]的整数,其中m是哈希表的大小。(2)哈希函数应该是独立的,即对于不同的元素x和y,有很小的概率h1(x)=hl(y)且h2(x)=h2(y)。
在操作S420,创建哈希表。
具体地,创建一个大小为m的哈希表,将所有位置初始化为空。
在操作S430,插入元素。
具体地,插入元素x时,先使用h1(x)计算出元素应该插入的位置p1,如果p1位置为空,则将元素插入该位置,否则使用h2(x)计算出另一个位置p2,如果p2位置为空,则将元素插入该位置。如果p2位置不为空,则将p2位置的元素移动到p1位置,再将元素x插入p2位置。如果p1位置还是不为空,则重复上述过程。
在该实施例中,使用两个哈希函数对键进行哈希函数运算,然后尝试在两个表中插入键值对。如果某个位置已经被占用,则需要尝试替换该位置上的键值对,将被替换的键值对放入另一个表中。如果经过多次替换仍然无法插入,则说明哈希表已经满了。该哈希表支持插入、查找和删除操作,其中插入操作会先在表1中尝试插入,如果表1已经被占用,则会尝试在表2中插入;查找操作会先在表1中查找,如果没有找到则会在表2中查找;删除操作会先在表1中删除,如果没有找到则会在表2中删除。
在以上实施例中,先利用哈希值进行数据对齐,然后求交,可以有效降低求交的计算量。利用布谷鸟哈希算法对加密数据进行哈希运算,解决了普通哈希算法产生的哈希冲突问题。在完成获取n个参与方加密后的数据,对加密数据进行隐私集合求交之后,就可以使用门限秘密分享算法将需要共享的共享加密数据进行共享。
返回参照图2,在操作S230,使用第一门限秘密分享算法将所述共享加密数据分成n份子共享加密数据,将所述n份子共享加密数据分别分配给所述n个参与方,其中,所述门限秘密分享算法的门限值为k,k为小于n的正整数。
门限秘密分享方案通过将私钥拆分成多个秘密分片,只有当不少于门限值的秘密分片持有者共同协作,才可以生成有效的签名。即便部分秘密分片丢失,只要剩余秘密分片不少于门限值,依旧可以生成有效的签名。例如在联合报表生成过程中联合生成的签名,并没有透露具体哪些持有者参与了签名过程,相比传统数字签名方案,整个签名过程消除了由单一主体保管密钥带来的系统性单点故障风险,以及跨机构信任问题。另外,由于子密钥的产生和分配都是由参与者本身合作完成的,不存在可信中心,因此,相比有可信中心的密钥共享方案,无可信中心的密钥共享安全性更高,实用性更强。
在一些示例性的实施例中,所述使用第一门限秘密分享算法将所述共享加密数据分成n份子共享加密数据包括:
确定多项式函数f(x),f(x)的次数为k-1,且f(0)的计算结果为所述共享加密数据,其中,x为自变量;以及对所述多项式函数f(x)在n个不同的点上求值,以得到n个计算结果,将所述n个计算结果作为所述n份子共享加密数据。
在一些示例性的实施例中,将需要共享的加密数据分成若干份,然后使用门限秘密分享算法将若干份加密数据部分分别分配给参与方,通过利用多项式函数进行数据分割,有利于减小数据分割的计算量。具体步骤如下:
选择一个门限值k和n个参与者,将秘密值设为s,其中,s为完整的加密数据。选择一个高次多项式f(x),满足f(0)=s,且f(x)的次数为k-1。其中k个参数是多项式的系数。将多项式f(x)在n个不同的点上求值,得到n个值f(1),f(2),...,f(n),并将这些值分配给n个参与者。
在操作S240,根据确定出的k个可信参与方,利用k个可信参与方持有的k份子共享加密数据,重建出所述共享加密数据。
在上述实施例中,任意k个参与者可以组合他们所持有的份额,通过多项式插值的方法重构出原始的秘密值s。在这种情况下,如果少于k个参与者参与,则无法重构出秘密值。具体地,所述利用k个可信参与方持有的k份子共享加密数据,重建出所述共享加密数据,包括:利用k个可信参与方持有的k份子共享加密数据,通过多项式插值的方法,计算出其他的n-k份子共享加密数据;以及利用所述k份子共享加密数据以及计算出的n-k份子共享加密数据,重建出所述共享加密数据。
在一些示例性的实施例中,当参与方的加密数据部分达到门限值k时,他们可以使用自己所持有的数据部分重建出原始数据。这样做可以确保数据的完整性和准确性,具体步骤如下:任意k个参与者组合他们所持有的份额,构成一个k个点的集合。对于这k个点,使用拉格朗日插值法可以还原出多项式f(x)的系数,从而得到原始秘密值s=f(0),其中s为完整的加密数据,参与方拥有私钥,利用该私钥将完整加密数据解密,得到原始数据。如果不足k个参与者参与,则无法组合成一个k个点的集合,无法重构出原始秘密值。
在操作S250,利用所述共享加密数据,生成联合数据表。
在上述实施例中,参与方可以使用共享的数据生成联合报表,但是想要看到最终联合报表结果,需要由k个参与方拿出手里的秘密份额,才可以查看到最终的联合报表结果,通过此方法可以实现完整的数据加密共享流程,并确保不被第三方窃取信息。
具体地,所述利用所述共享加密数据,生成联合数据表,包括:
获取与所述数据加密算法对应的私钥;利用所述私钥解密所述共享加密数据,以获得共享原始数据;以及利用所述共享原始数据,生成联合数据表。
在一些示例性的实施例中,利用多项式插值进行数据重建,有利于减小数据重建的计算量。k个可信方利用私钥进行数据解密,在保证数据安全的情况下,有利于最大程度发挥数据的效用。
在一些示例性的实施例中,k个可信方可以利用私钥进行解密,当获取到k份共享加密数据以及k个可信方中任意一方的秘钥也可以进行解密,因此,简单地存放私钥也存在秘密泄漏的风险,同样地,私钥也可以利用门限秘密分享算法进行分割,有利于进一步提高数据的安全性。
具体地,使用第二门限秘密分享算法将所述私钥分成n份子私钥,将所述n份子私钥分别分配给所述n个参与方;以及根据确定出的k个可信参与方,利用k个可信参与方持有的k份子私钥,重建出所述私钥。
由于私钥用于解密特定的秘密共享方案,因此私钥不能轻易的更改,而通过一定时间的积累,依旧可以获取到私钥的内容。对于周期上的安全性,可以通过不断更换秘密的办法得到解决,但是更换秘密并不总是可行的。动态秘密共享方案通过在不改变秘密的情况下解决了秘密共享方案在周期上的安全性问题。动态秘密共享方案在保证秘密不变的情况下周期性地更换子秘密,从而使得每次更换子秘密时攻击者在前一个周期内所获得的信息完全失效。
具体地,还可以包括:定期改变所述第二门限秘密分享算法,以定期更新所述n份子私钥。
在一些示意性的门限秘密分享方案中,子密钥的产生和分配都是由参与者本身合作完成的,不存在可信中心。相比有可信中心的密钥共享方案,无可信中心的密钥共享安全性更高,实用性更强。
图5示意性示出了根据本发明实施例的数据处理装置的结构框图。
如图5所示,根据该实施例的数据处理装置500包括数据获取装置510、数据求交装置520、数据分割装置530、数据重建装置540和联合数据生成装置550。
数据获取装置510,用于获取来自n个参与方的加密数据,其中,所述加密数据为n个参与方利用数据加密算法对各自的数据进行加密处理后得到的,n为大于等于2的正整数。在一实施例中,数据获取装置510可以用于执行前文描述的操作S210,在此不再赘述。
数据求交装置520,用于对所述加密数据进行隐私集合求交,以确定需要共享的共享加密数据,其中,所述共享加密数据为所述加密数据的至少一部分。在一实施例中,数据求交装置520可以用于执行前文描述的操作S220,在此不再赘述。
数据分割装置530,用于使用第一门限秘密分享算法将所述共享加密数据分成n份子共享加密数据,将所述n份子共享加密数据分别分配给所述n个参与方,其中,所述门限秘密分享算法的门限值为k,k为小于n的正整数。在一实施例中,数据分各装置530可以用于执行前文描述的操作S230,在此不再赘述。
数据重建装置540,用于根据确定出的k个可信参与方,利用k个可信参与方持有的k份子共享加密数据,重建出所述共享加密数据。在一实施例中,数据重建装置540可以用于执行前文描述的操作S240,在此不再赘述。
联合数据表生成装置550,用于利用所述共享加密数据,生成联合数据表。在一实施例中,联合数据表生成装置550可以用于执行前文描述的操作S250,在此不再赘述。
在一些示例性的实施例中,数据求交装置520具体用于:对所述加密数据进行哈希运算,以获得哈希值,根据所述哈希值,对所述加密数据进行数据对齐,以及对数据对齐后的加密数据进行隐私集合求交。
在该实施例中,数据求交装置520具体还可以用于:所述对所述加密数据进行哈希运算包括,利用布谷鸟哈希算法,对所述加密数据进行哈希运算。
在一些示例性的实施例中,数据分割装置530具体用于:所述利用k个可信参与方持有的k份子共享加密数据,重建出所述共享加密数据,包括,确定多项式函数f(x),f(x)的次数为k-1,且f(0)的计算结果为所述共享加密数据,其中x为自变量,以及对所述多项式函数f(x)在n个不同的点上求值,以得到n个计算结果,将所述n个计算结果作为所述n份子共享加密数据。
在一些示例性的实施例中,数据重建装置540具体用于:所述利用k个可信参与方持有的k份子共享加密数据,重建出所述共享加密数据,具体包括,利用k个可信参与方持有的k份子共享加密数据,通过多项式插值的方法,计算出其他的n-k份子共享加密数据;以及利用所述k份子共享加密数据以及计算出的n-k份子共享加密数据,重建出所述共享加密数据。
在一些示例性的实施例中,联合数据生成装置550具体用于:所述利用所述共享加密数据,生成联合数据表,包括,获取与所述数据加密算法对应的私钥,利用所述私钥解密所述共享加密数据,以获得共享原始数据,以及利用所述共享原始数据,生成联合数据表。
在一些示例性的实施例中,数据处理装置500具体地也可用于私钥存放。具体地,使用第二门限秘密分享算法将所述私钥分成n份子私钥,将所述n份子私钥分别分配给所述n个参与方;以及根据确定出的k个可信参与方,利用k个可信参与方持有的k份子私钥,重建出所述私钥。
在上述实施例中,由于私钥存放存在周期上的安全问题,数据处理装置500具体还可以用于:定期改变所述第二门限秘密分享算法,以定期更新所述n份子私钥。
图6示意性示出了根据本发明实施例的适于实现数据处理方法的电子设备的方框图。
如图6所示,根据本发明实施例的电子设备600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本发明实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 603中,存储有电子设备600操作所需的各种程序和数据。处理器601、ROM602以及RAM 603通过总线604彼此相连。处理器601通过执行ROM 602和/或RAM 603中的程序来执行根据本发明实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 602和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本发明实施例的方法流程的各种操作。
根据本发明的实施例,电子设备600还可以包括输入/输出(I/O)接口605,输入/输出(I/O)接口605也连接至总线604。电子设备600还可以包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本发明实施例的方法。
根据本发明的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本发明的实施例,计算机可读存储介质可以包括上文描述的ROM 602和/或RAM 603和/或ROM 602和RAM 603以外的一个或多个存储器。
本发明的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本发明实施例所提供的方法。
在该计算机程序被处理器601执行时执行本发明实施例的系统/装置中限定的上述功能。根据本发明的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分609被下载和安装,和/或从可拆卸介质611被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本发明实施例的系统中限定的上述功能。根据本发明的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本发明的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上对本发明的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本发明的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。不脱离本发明的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本发明的范围之内。

Claims (12)

1.一种数据处理方法,其特征在于,所述方法包括:
获取来自n个参与方的加密数据,其中,所述加密数据为n个参与方利用数据加密算法对各自的数据进行加密处理后得到的,n为大于等于2的正整数;
对所述加密数据进行隐私集合求交,以确定需要共享的共享加密数据,其中,所述共享加密数据为所述加密数据的至少一部分;
使用第一门限秘密分享算法将所述共享加密数据分成n份子共享加密数据,将所述n份子共享加密数据分别分配给所述n个参与方,其中,所述门限秘密分享算法的门限值为k,k为小于n的正整数;
根据确定出的k个可信参与方,利用k个可信参与方持有的k份子共享加密数据,重建出所述共享加密数据;以及
利用所述共享加密数据,生成联合数据表。
2.根据权利要求1所述的方法,其特征在于,所述对所述加密数据进行隐私集合求交包括:
对所述加密数据进行哈希运算,以获得哈希值;
根据所述哈希值,对所述加密数据进行数据对齐;以及
对数据对齐后的加密数据进行隐私集合求交。
3.根据权利要求2所述的方法,其特征在于,所述对所述加密数据进行哈希运算包括:利用布谷鸟哈希算法,对所述加密数据进行哈希运算。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述使用第一门限秘密分享算法将所述共享加密数据分成n份子共享加密数据包括:
确定多项式函数f(x),f(x)的次数为k-1,且f(0)的计算结果为所述共享加密数据,其中,x为自变量;以及
对所述多项式函数f(x)在n个不同的点上求值,以得到n个计算结果,将所述n个计算结果作为所述n份子共享加密数据。
5.根据权利要求4所述的方法,其特征在于,所述利用k个可信参与方持有的k份子共享加密数据,重建出所述共享加密数据,包括:
利用k个可信参与方持有的k份子共享加密数据,通过多项式插值的方法,计算出其他的n-k份子共享加密数据;以及
利用所述k份子共享加密数据以及计算出的n-k份子共享加密数据,重建出所述共享加密数据。
6.根据权利要求1-3和5中任一项所述的方法,其特征在于,所述利用所述共享加密数据,生成联合数据表,包括:
获取与所述数据加密算法对应的私钥;
利用所述私钥解密所述共享加密数据,以获得共享原始数据;以及
利用所述共享原始数据,生成联合数据表。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
使用第二门限秘密分享算法将所述私钥分成n份子私钥,将所述n份子私钥分别分配给所述n个参与方;以及
根据确定出的k个可信参与方,利用k个可信参与方持有的k份子私钥,重建出所述私钥。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
定期改变所述第二门限秘密分享算法,以定期更新所述n份子私钥。
9.一种数据处理装置,其特征在于,所述装置包括:
数据获取装置,用于获取来自n个参与方的加密数据,其中,所述加密数据为n个参与方利用数据加密算法对各自的数据进行加密处理后得到的,n为大于等于2的正整数;
数据求交装置,用于对所述加密数据进行隐私集合求交,以确定需要共享的共享加密数据,其中,所述共享加密数据为所述加密数据的至少一部分;
数据分割装置,用于使用第一门限秘密分享算法将所述共享加密数据分成n份子共享加密数据,将所述n份子共享加密数据分别分配给所述n个参与方,其中,所述门限秘密分享算法的门限值为k,k为小于n的正整数;
数据重建装置,用于根据确定出的k个可信参与方,利用k个可信参与方持有的k份子共享加密数据,重建出所述共享加密数据;以及
联合数据表生成装置,用于利用所述共享加密数据,生成联合数据表。
10.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~8中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~8中任一项所述的方法。
12.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~8中任一项所述的方法。
CN202311013426.6A 2023-08-11 2023-08-11 数据处理方法、装置、电子设备和介质 Pending CN117009996A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311013426.6A CN117009996A (zh) 2023-08-11 2023-08-11 数据处理方法、装置、电子设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311013426.6A CN117009996A (zh) 2023-08-11 2023-08-11 数据处理方法、装置、电子设备和介质

Publications (1)

Publication Number Publication Date
CN117009996A true CN117009996A (zh) 2023-11-07

Family

ID=88575949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311013426.6A Pending CN117009996A (zh) 2023-08-11 2023-08-11 数据处理方法、装置、电子设备和介质

Country Status (1)

Country Link
CN (1) CN117009996A (zh)

Similar Documents

Publication Publication Date Title
US11153072B2 (en) Processing blockchain data based on smart contract operations executed in a trusted execution environment
CN110245510B (zh) 用于预测信息的方法和装置
US12093939B2 (en) System and methods for validating and performing operations on homomorphically encrypted data
Garrido et al. Revealing the landscape of privacy-enhancing technologies in the context of data markets for the IoT: A systematic literature review
CN112131316B (zh) 应用于区块链系统的数据处理方法及装置
US10984115B2 (en) System for triple format preserving encryption
WO2022156594A1 (zh) 联邦模型训练方法、装置、电子设备、计算机程序产品及计算机可读存储介质
CN114981793A (zh) 模式的安全匹配和识别
CN114223175B (zh) 在防止获取或操控时间数据的同时生成网络数据的序列
CN114971841A (zh) 风险管理方法、风险模型训练方法、装置、设备和介质
CN112199697A (zh) 基于共享根密钥的信息处理方法、装置、设备及介质
CN111949998B (zh) 对象检测及请求方法、数据处理系统、装置及存储介质
WO2024210846A1 (en) Protecting membership for secure computation and communication
CN117390675A (zh) 数据查询方法、电子设备和可读存储介质
CN110914826A (zh) 用于分布式数据映射的系统和方法
CN114514550A (zh) 将请求分区成区块链的交易
CN115599959A (zh) 数据共享方法、装置、设备及存储介质
CN113746621B (zh) 一种基于区块链技术的多链架构信息共享系统
CN111507707B (zh) 一种数字资产隔离分管系统和方法
CN117009996A (zh) 数据处理方法、装置、电子设备和介质
CN117454434B (zh) 基于秘密共享的数据库属性统计方法、系统及电子设备
US11809588B1 (en) Protecting membership in multi-identification secure computation and communication
US11829512B1 (en) Protecting membership in a secure multi-party computation and/or communication
CN114978620B (zh) 身份标识号的加密方法和解密方法
Mishra et al. Management Information Systems

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