CN114448702B - 一种基于隐私集合求交的数据加密方法及装置 - Google Patents
一种基于隐私集合求交的数据加密方法及装置 Download PDFInfo
- Publication number
- CN114448702B CN114448702B CN202210110335.3A CN202210110335A CN114448702B CN 114448702 B CN114448702 B CN 114448702B CN 202210110335 A CN202210110335 A CN 202210110335A CN 114448702 B CN114448702 B CN 114448702B
- Authority
- CN
- China
- Prior art keywords
- identification data
- plaintext
- custom function
- data column
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000004364 calculation method Methods 0.000 claims abstract description 68
- 230000006870 function Effects 0.000 claims description 112
- 238000004422 calculation algorithm Methods 0.000 claims description 65
- 238000004590 computer program Methods 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 8
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000009826 distribution Methods 0.000 claims description 4
- 230000008676 import Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 240000000594 Heliconia bihai Species 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种基于隐私集合求交的数据加密方法及装置,涉及数据加密技术领域,可用于金融领域或其他技术领域。所述方法包括:根据各数据要素持有者统一都具备的标识数据字段,确定与各数据要素持有者分别对应的标识数据列明文;调用预先构建的自定义函数对各标识数据列明文进行加密处理,得到与各标识数据列明文一一对应的标识数据列密文;对各标识数据列密文进行隐私集合求交计算,得到隐私集合求交计算结果,并分配所述隐私集合求交计算结果,以及与各标识数据列明文对应的标识数据列密文至各数据要素持有者。所述装置执行上述方法。本发明实施例提供的方法及装置,能够提高PSI的数据安全性,以及提高PSI的数据的可应用性。
Description
技术领域
本发明涉及数据加密技术领域,具体涉及一种基于隐私集合求交的数据加密方法及装置。
背景技术
在数字信息技术日新月异的发展趋势下,数据已成为数字经济发展的核心生产要素。另外,随着数据价值的愈加凸显,对数据安全的管理要求以及技术措施等也与日俱增。
隐私集合求交(Private Set Intersection,PSI)是纵向联邦学习中的关键前置步骤,用于在多个数据持有者进行联合计算前,找到共有的交集数据样本,并且不暴露各数据持有者独有的数据,因此,如何提高PSI的数据安全性,以及提高PSI的数据的可应用性,成为亟需解决的技术问题。
发明内容
针对现有技术中的问题,本发明实施例提供一种基于隐私集合求交的数据加密方法及装置,能够至少部分地解决现有技术中存在的问题。
一方面,本发明提出一种基于隐私集合求交的数据加密方法,包括:
根据各数据要素持有者统一都具备的标识数据字段,确定与各数据要素持有者分别对应的标识数据列明文;
调用预先构建的自定义函数对各标识数据列明文进行加密处理,得到与各标识数据列明文一一对应的标识数据列密文;其中,所述自定义函数是基于自定义函数实现的加密算法方法;
对各标识数据列密文进行隐私集合求交计算,得到隐私集合求交计算结果,并分配所述隐私集合求交计算结果,以及与各标识数据列明文对应的标识数据列密文至各数据要素持有者。
其中,所述加密算法为商密算法;相应的,所述自定义函数是基于自定义函数实现的商密算法方法。
其中,所述调用预先构建的自定义函数对各标识数据列明文进行加密处理,包括:
通过数据仓库工具查询语句调用所述自定义函数对各标识数据列明文进行加密处理;其中,所述数据仓库工具查询语句为与各数据要素持有者对应的标识数据列明文的查询语句。
其中,构建基于自定义函数实现的商密算法方法,包括:
继承自定义函数类;所述继承自定义函数类包括新建Java类,导入继承自定义函数类;
基于Java类实现商密算法;
将实现的商密算法打包为Java类文件格式,并在数据仓库工具环境下完成注册;
根据已完成注册的Java类文件格式,创建所述可实现商密算法的自定义函数。
其中,所述在数据仓库工具环境下完成注册,包括:
在所述数据仓库工具环境下将所述Java类文件格式的文件上传存储在指定目录,执行添加Java类文件格式的文件,完成Java类文件格式的文件注册。
其中,所述根据已完成注册的Java类文件格式,创建所述可实现商密算法的自定义函数,包括:
根据已完成注册的Java类文件格式,通过创建函数命令创建可实现商密算法的自定义函数。
一方面,本发明提出一种基于隐私集合求交的数据加密装置,包括:
确定单元,用于根据各数据要素持有者统一都具备的标识数据字段,确定与各数据要素持有者分别对应的标识数据列明文;
调用单元,用于调用预先构建的自定义函数对各标识数据列明文进行加密处理,得到与各标识数据列明文一一对应的标识数据列密文;其中,所述自定义函数是基于自定义函数实现的加密算法方法;
分配单元,用于对各标识数据列密文进行隐私集合求交计算,得到隐私集合求交计算结果,并分配所述隐私集合求交计算结果,以及与各标识数据列明文对应的标识数据列密文至各数据要素持有者。
其中,所述加密算法为商密算法;相应的,所述自定义函数是基于自定义函数实现的商密算法方法。
再一方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:
根据各数据要素持有者统一都具备的标识数据字段,确定与各数据要素持有者分别对应的标识数据列明文;
调用预先构建的自定义函数对各标识数据列明文进行加密处理,得到与各标识数据列明文一一对应的标识数据列密文;其中,所述自定义函数是基于自定义函数实现的加密算法方法;
对各标识数据列密文进行隐私集合求交计算,得到隐私集合求交计算结果,并分配所述隐私集合求交计算结果,以及与各标识数据列明文对应的标识数据列密文至各数据要素持有者。
本发明实施例提供一种非暂态计算机可读存储介质,包括:
所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如下方法:
根据各数据要素持有者统一都具备的标识数据字段,确定与各数据要素持有者分别对应的标识数据列明文;
调用预先构建的自定义函数对各标识数据列明文进行加密处理,得到与各标识数据列明文一一对应的标识数据列密文;其中,所述自定义函数是基于自定义函数实现的加密算法方法;
对各标识数据列密文进行隐私集合求交计算,得到隐私集合求交计算结果,并分配所述隐私集合求交计算结果,以及与各标识数据列明文对应的标识数据列密文至各数据要素持有者。
本发明实施例提供的基于隐私集合求交的数据加密方法及装置,根据各数据要素持有者统一都具备的标识数据字段,确定与各数据要素持有者分别对应的标识数据列明文;调用预先构建的自定义函数对各标识数据列明文进行加密处理,得到与各标识数据列明文一一对应的标识数据列密文;对各标识数据列密文进行隐私集合求交计算,得到隐私集合求交计算结果,并分配所述隐私集合求交计算结果,以及与各标识数据列明文对应的标识数据列密文至各数据要素持有者。通过对各标识数据列明文进行加密处理能够提高PSI的数据安全性,以及通过得到与各标识数据列明文一一对应的标识数据列密文和上述对应关系,能够提高PSI的数据的可应用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例提供的基于隐私集合求交的数据加密方法的流程示意图。
图2是本发明另一实施例提供的基于隐私集合求交的数据加密方法的流程示意图。
图3是本发明实施例提供的构建UDF.SM3方法的流程示意图。
图4是本发明一实施例提供的基于隐私集合求交的数据加密装置的结构示意图。
图5为本发明实施例提供的电子设备实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1是本发明一实施例提供的基于隐私集合求交的数据加密方法的流程示意图,如图1所示,本发明实施例提供的基于隐私集合求交的数据加密方法,包括:
步骤S1:根据各数据要素持有者统一都具备的标识数据字段,确定与各数据要素持有者分别对应的标识数据列明文。
步骤S2:调用预先构建的自定义函数对各标识数据列明文进行加密处理,得到与各标识数据列明文一一对应的标识数据列密文;其中,所述自定义函数是基于自定义函数实现的加密算法方法。
步骤S3:对各标识数据列密文进行隐私集合求交计算,得到隐私集合求交计算结果,并分配所述隐私集合求交计算结果,以及与各标识数据列明文对应的标识数据列密文至各数据要素持有者。
在上述步骤S1中,装置根据各数据要素持有者统一都具备的标识数据字段,确定与各数据要素持有者分别对应的标识数据列明文。装置可以是执行该方法的计算机设备。如图2所示,以三个数据要素持有者为例,分别记为数据要素持有者A、数据要素持有者B和数据要素持有者C。根据三方统一都具备的标识数据字段作为标识数据列,使用该标识数据列进行PSI计算。针对个人用户,一般可选用ID、身份证号和手机号等作为标识数据字段;针对企业机构,一般可选用统一社会信用代码等作为标识数据字段。那么以标识数据字段ID为例,A、B、C三方的标识数据列明文分别记作ID_A、ID_B、ID_C。
在上述步骤S2中,装置调用预先构建的自定义函数对各标识数据列明文进行加密处理,得到与各标识数据列明文一一对应的标识数据列密文;其中,所述自定义函数是基于自定义函数实现的加密算法方法。以数据要素持有者A为例,得到与ID_A对应的标识数据列密文[ID_A];对于数据要素持有者B和数据要素持有者C不再赘述。
所述自定义函数是基于自定义函数实现的加密算法方法,进一步是基于Hive自定义函数UDF实现的加密算法方法。
Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。
Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。Hive十分适合对数据仓库进行统计分析。
UDF(User-Defined Function)(用户定义函数)。
此概念出现在MySQL、Interbase、Firebird、Fluent中,根据用户实际应用的需要而自行开发的函数。
基本用户定义函数是一类代码,对MYSQL服务器功能进行扩充,通过添加新函数,性质就像使用本地MYSQL函数abs(),或concat()。
UDF是用C(或C++)编写的。还可以用BASIC,C#或其它语言进行编写。
进一步地,所述加密算法为商密算法;相应的,所述自定义函数是基于自定义函数实现的商密算法方法。商密算法可选为国产哈希算法SM3。
SM3是商用密码杂凑算法标准,其输出的杂凑值长度为256比特,即32字节。SM3的设计安全性为128比特。SM3作为一种密码散列函数标准,具备散列函数的主要特性:
①对于任何一个给定的消息,它都很容易就能运算出散列数值。
②难以由一个已知的散列数值,去推算出原始的消息。
③在不更动散列数值的前提下,修改消息内容是不可行的。
④对于两个不同的消息,它不能给与相同的散列数值。
进一步地,所述调用预先构建的自定义函数对各标识数据列明文进行加密处理,包括:
通过数据仓库工具查询语句调用所述自定义函数对各标识数据列明文进行加密处理;其中,所述数据仓库工具查询语句为与各数据要素持有者对应的标识数据列明文的查询语句;进一步地,通过HiveQL语句调用所述自定义函数;其中,所述HiveQL语句为SELECT UDF.SM3(‘ID_A’)。
所述UDF.SM3为基于Hive自定义函数UDF实现的商密算法方法、所述ID_A为与其中一个数据要素持有者对应的标识数据列明文。
HiveQL是一种类似SQL的语言,它与大部分的SQL语法兼容,但是并不完全支持SQL标准,如HiveQL不支持更新操作,也不支持索引和事务,它的子查询和join操作也很局限,这是因其底层依赖于Hadoop云平台这一特性决定的,但其有些特点是SQL所无法企及的。例如多表查询、支持create table as select和集成MapReduce脚本等。
通过HiveQL调用UDF.SM3()方法对各自的明文数据集进行加密计算,输出与明文ID一一对应的密文ID。
进一步地,构建基于自定义函数实现的商密算法方法,包括:
继承自定义函数类;所述继承自定义函数类包括新建Java类,导入继承自定义函数类;进一步地,包括:继承UDF类;所述继承UDF类包括新建Java类,import继承UDF类。如图3所示,自定义函数UDF是Hive内置的一个函数方法,允许用户编写自己定义的特殊计算逻辑,来在HiveQL语句中调用。具体操作是在maven工程项目的pom.xml文件中添加Hadoop和Hive的依赖包及版本信息。新建Java类,import继承UDF类。
基于Java类实现商密算法;基于Java完成商密算法计算逻辑的编程实现。
将实现的商密算法打包为Java类文件格式,并在数据仓库工具环境下完成注册;进一步地,将实现的SM3杂凑算法打包为Jar文件,并在Hive环境下完成注册;将实现的SM3算法Java类方法编译打包为Jar文件,并在Hive环境下将Jar文件上传存储在指定目录,执行add jar完成Jar文件的注册。通过执行Jar文件的注册可以实现完成自定义SM3方法的注册。
根据已完成注册的Jar文件,创建所述UDF.SM3。将自定义方法命名为SM3,使用上一步已完成注册的Jar文件,通过create function完成UDF.SM3()的创建。
进一步地,所述在数据仓库工具环境下完成注册,包括:
在所述数据仓库工具环境下将所述Java类文件格式的文件上传存储在指定目录,执行添加Java类文件格式的文件,完成Java类文件格式的文件注册。进一步地,在所述Hive环境下将所述Jar文件上传存储在指定目录,执行add jar完成Jar文件注册,可参照上述实施例说明,不再赘述。
进一步地,所述根据已完成注册的Java类文件格式,创建所述可实现商密算法的自定义函数,包括:
根据已完成注册的Java类文件格式,通过创建函数命令创建可实现商密算法的自定义函数;进一步地,根据已完成注册的Jar文件,通过create function创建所述UDF.SM3。可参照上述实施例说明,不再赘述。
在上述步骤S3中,装置对各标识数据列密文进行隐私集合求交计算,得到隐私集合求交计算结果,并分配所述隐私集合求交计算结果,以及与各标识数据列明文对应的标识数据列密文至各数据要素持有者。将标识数据列密文[ID_A]、[ID_B]和[ID_C]作为这一步骤的输入,进行隐私集合求交计算,得到隐私集合求交计算结果[ID_A∩B∩C],并输出该隐私集合求交计算结果。
数据元素持有者A获取的数据有明文ID_A、密文[ID_A]和[ID_A∩B∩C],其余数据元素持有者的数据均不可见。数据元素持有者B和数据元素持有者C不再赘述。这一过程通过使用SM3加密算法在保障安全的同时,完成了隐私集合求交的计算。另外,在实际应用中,数据元素持有者的数量可根据实际情况自主设置。
数据元素持有者终端根据隐私集合求交计算结果和对应关系,确定与所述隐私集合求交计算结果对应的明文结果;即通过标识数据列明文与标识数据列密文的对应关系和[ID_A∩B∩C],确定明文结果ID_A∩B∩C。
根据业务类型确定目标业务数据;所述目标业务数据包括所述明文结果,或者各自具有的目标标识数据列明文;以数据元素持有者A为例,该终端根据ID_A和ID_A∩B∩C,确定各自具有的目标标识数据列明文为ID_A-ID_A∩B∩C。可以通过目标业务数据,以进行多方安全查询统计、联邦学习建模等计算任务,计算结果为业务提供决策依据,推动业务价值创造。
本发明实施例基于隐私集合求交的数据加密方法的优点在于:
1、通过使用商密算法对原始明文的唯一标识数据进行加密,同时满足数据的安全性和可应用性要求。其中,可应用性体现在各数据元素持有者能够获取到与标识数据列明文一一对应的标识数据列密文,该映射关系对于扩展可应用性具有明显的辅助作用。
2、通过使用Hive自定义函数UDF,将商密算法构建为HiveQL能够直接调用的方法,提供简便的数据加密操作。
3、将商密算法加密后的结果作为唯一标识数据,从数据源的输入进一步加强隐私集合求交PSI计算的全流程安全。
本发明实施例提供的基于隐私集合求交的数据加密方法,根据各数据要素持有者统一都具备的标识数据字段,确定与各数据要素持有者分别对应的标识数据列明文;调用预先构建的自定义函数对各标识数据列明文进行加密处理,得到与各标识数据列明文一一对应的标识数据列密文;对各标识数据列密文进行隐私集合求交计算,得到隐私集合求交计算结果,并分配所述隐私集合求交计算结果,以及与各标识数据列明文对应的标识数据列密文至各数据要素持有者。通过对各标识数据列明文进行加密处理能够提高PSI的数据安全性,以及通过得到与各标识数据列明文一一对应的标识数据列密文和上述对应关系,能够提高PSI的数据的可应用性。
需要说明的是,本发明实施例提供的基于隐私集合求交的数据加密方法可用于金融领域,也可用于除金融领域之外的任意技术领域,本发明实施例对基于隐私集合求交的数据加密方法的应用领域不做限定。
图4是本发明一实施例提供的基于隐私集合求交的数据加密装置的结构示意图,如图4所示,本发明实施例提供的基于隐私集合求交的数据加密装置,包括确定单元401、调用单元402和分配单元403,其中:
确定单元401用于根据各数据要素持有者统一都具备的标识数据字段,确定与各数据要素持有者分别对应的标识数据列明文;调用单元402用于调用预先构建的自定义函数对各标识数据列明文进行加密处理,得到与各标识数据列明文一一对应的标识数据列密文;其中,所述自定义函数是基于自定义函数实现的加密算法方法;分配单元403用于对各标识数据列密文进行隐私集合求交计算,得到隐私集合求交计算结果,并分配所述隐私集合求交计算结果,以及与各标识数据列明文对应的标识数据列密文至各数据要素持有者。
具体的,装置中的确定单元401用于根据各数据要素持有者统一都具备的标识数据字段,确定与各数据要素持有者分别对应的标识数据列明文;调用单元402用于调用预先构建的自定义函数对各标识数据列明文进行加密处理,得到与各标识数据列明文一一对应的标识数据列密文;其中,所述自定义函数是基于自定义函数实现的加密算法方法;分配单元403用于对各标识数据列密文进行隐私集合求交计算,得到隐私集合求交计算结果,并分配所述隐私集合求交计算结果,以及与各标识数据列明文对应的标识数据列密文至各数据要素持有者。
本发明实施例提供的基于隐私集合求交的数据加密装置,根据各数据要素持有者统一都具备的标识数据字段,确定与各数据要素持有者分别对应的标识数据列明文;调用预先构建的自定义函数对各标识数据列明文进行加密处理,得到与各标识数据列明文一一对应的标识数据列密文;对各标识数据列密文进行隐私集合求交计算,得到隐私集合求交计算结果,并分配所述隐私集合求交计算结果,以及与各标识数据列明文对应的标识数据列密文至各数据要素持有者。通过对各标识数据列明文进行加密处理能够提高PSI的数据安全性,以及通过得到与各标识数据列明文一一对应的标识数据列密文和上述对应关系,能够提高PSI的数据的可应用性。
具体的,装置中的所述加密算法为商密算法;相应的,所述自定义函数是基于自定义函数实现的商密算法方法。
本发明实施例提供基于隐私集合求交的数据加密装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
图5为本发明实施例提供的电子设备实体结构示意图,如图5所示,所述电子设备包括:处理器(processor)501、存储器(memory)502和总线503;
其中,所述处理器501、存储器502通过总线503完成相互间的通信;
所述处理器501用于调用所述存储器502中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:
根据各数据要素持有者统一都具备的标识数据字段,确定与各数据要素持有者分别对应的标识数据列明文;调用预先构建的自定义函数对各标识数据列明文进行加密处理,得到与各标识数据列明文一一对应的标识数据列密文;其中,所述自定义函数是基于自定义函数实现的加密算法方法;对各标识数据列密文进行隐私集合求交计算,得到隐私集合求交计算结果,并分配所述隐私集合求交计算结果,以及与各标识数据列明文对应的标识数据列密文至各数据要素持有者。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
根据各数据要素持有者统一都具备的标识数据字段,确定与各数据要素持有者分别对应的标识数据列明文;调用预先构建的自定义函数对各标识数据列明文进行加密处理,得到与各标识数据列明文一一对应的标识数据列密文;其中,所述自定义函数是基于自定义函数实现的加密算法方法;对各标识数据列密文进行隐私集合求交计算,得到隐私集合求交计算结果,并分配所述隐私集合求交计算结果,以及与各标识数据列明文对应的标识数据列密文至各数据要素持有者。
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:
根据各数据要素持有者统一都具备的标识数据字段,确定与各数据要素持有者分别对应的标识数据列明文;调用预先构建的自定义函数对各标识数据列明文进行加密处理,得到与各标识数据列明文一一对应的标识数据列密文;其中,所述自定义函数是基于自定义函数实现的加密算法方法;对各标识数据列密文进行隐私集合求交计算,得到隐私集合求交计算结果,并分配所述隐私集合求交计算结果,以及与各标识数据列明文对应的标识数据列密文至各数据要素持有者。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于隐私集合求交的数据加密方法,其特征在于,包括:
根据各数据要素持有者统一都具备的标识数据字段,确定与各数据要素持有者分别对应的标识数据列明文;
调用预先构建的自定义函数对各标识数据列明文进行加密处理,得到与各标识数据列明文一一对应的标识数据列密文;其中,所述自定义函数是基于自定义函数实现的加密算法方法;
对各标识数据列密文进行隐私集合求交计算,得到隐私集合求交计算结果,并分配所述隐私集合求交计算结果,以及与各标识数据列明文对应的标识数据列密文至各数据要素持有者;以使数据元素持有者终端根据隐私集合求交计算结果和对应关系,确定与所述隐私集合求交计算结果对应的明文结果,并根据业务类型确定目标业务数据;所述目标业务数据包括所述明文结果,或者各自具有的目标标识数据列明文;
所述加密算法为商密算法;相应的,所述自定义函数是基于自定义函数实现的商密算法方法;
所述调用预先构建的自定义函数对各标识数据列明文进行加密处理,包括:
通过数据仓库工具查询语句调用所述自定义函数对各标识数据列明文进行加密处理;其中,所述数据仓库工具查询语句为与各数据要素持有者对应的标识数据列明文的查询语句;
构建基于自定义函数实现的商密算法方法,包括:
继承自定义函数类;所述继承自定义函数类包括新建Java类,导入继承自定义函数类;包括继承UDF类;所述继承UDF类包括新建Java类,import继承UDF类;具体操作是在maven工程项目的pom.xml文件中添加Hadoop和Hive的依赖包及版本信息,新建Java类,import继承UDF类;
基于Java类实现商密算法;
将实现的商密算法打包为Java类文件格式,并在数据仓库工具环境下完成注册;
根据已完成注册的Java类文件格式,创建可实现商密算法的自定义函数;
所述在数据仓库工具环境下完成注册,包括:
在所述数据仓库工具环境下将所述Java类文件格式的文件上传存储在指定目录,执行添加Java类文件格式的文件,完成Java类文件格式的文件注册。
2.根据权利要求1所述的基于隐私集合求交的数据加密方法,其特征在于,所述根据已完成注册的Java类文件格式,创建所述可实现商密算法的自定义函数,包括:
根据已完成注册的Java类文件格式,通过创建函数命令创建可实现商密算法的自定义函数。
3.一种基于隐私集合求交的数据加密装置,其特征在于,包括:
确定单元,用于根据各数据要素持有者统一都具备的标识数据字段,确定与各数据要素持有者分别对应的标识数据列明文;
调用单元,用于调用预先构建的自定义函数对各标识数据列明文进行加密处理,得到与各标识数据列明文一一对应的标识数据列密文;其中,所述自定义函数是基于自定义函数实现的加密算法方法;
分配单元,用于对各标识数据列密文进行隐私集合求交计算,得到隐私集合求交计算结果,并分配所述隐私集合求交计算结果,以及与各标识数据列明文对应的标识数据列密文至各数据要素持有者;以使数据元素持有者终端根据隐私集合求交计算结果和对应关系,确定与所述隐私集合求交计算结果对应的明文结果,并根据业务类型确定目标业务数据;所述目标业务数据包括所述明文结果,或者各自具有的目标标识数据列明文;
所述加密算法为商密算法;相应的,所述自定义函数是基于自定义函数实现的商密算法方法;
所述调用单元具体用于:
通过数据仓库工具查询语句调用所述自定义函数对各标识数据列明文进行加密处理;其中,所述数据仓库工具查询语句为与各数据要素持有者对应的标识数据列明文的查询语句;
构建基于自定义函数实现的商密算法方法,包括:
继承自定义函数类;所述继承自定义函数类包括新建Java类,导入继承自定义函数类;包括继承UDF类;所述继承UDF类包括新建Java类,import继承UDF类;具体操作是在maven工程项目的pom.xml文件中添加Hadoop和Hive的依赖包及版本信息,新建Java类,import继承UDF类;
基于Java类实现商密算法;
将实现的商密算法打包为Java类文件格式,并在数据仓库工具环境下完成注册;
根据已完成注册的Java类文件格式,创建可实现商密算法的自定义函数;
所述在数据仓库工具环境下完成注册,包括:
在所述数据仓库工具环境下将所述Java类文件格式的文件上传存储在指定目录,执行添加Java类文件格式的文件,完成Java类文件格式的文件注册。
4.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1或2所述方法的步骤。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1或2所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210110335.3A CN114448702B (zh) | 2022-01-29 | 2022-01-29 | 一种基于隐私集合求交的数据加密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210110335.3A CN114448702B (zh) | 2022-01-29 | 2022-01-29 | 一种基于隐私集合求交的数据加密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114448702A CN114448702A (zh) | 2022-05-06 |
CN114448702B true CN114448702B (zh) | 2024-02-27 |
Family
ID=81372115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210110335.3A Active CN114448702B (zh) | 2022-01-29 | 2022-01-29 | 一种基于隐私集合求交的数据加密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114448702B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118133352A (zh) * | 2024-05-08 | 2024-06-04 | 北京国际大数据交易有限公司 | 一种数据交集的确定方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108520183A (zh) * | 2018-04-13 | 2018-09-11 | 杭州橙鹰数据技术有限公司 | 一种数据存储方法及装置 |
CN110990848A (zh) * | 2019-11-18 | 2020-04-10 | 上海易点时空网络有限公司 | 基于hive数据仓库的敏感字加密方法及装置、存储介质 |
CN111259443A (zh) * | 2020-01-16 | 2020-06-09 | 百融云创科技股份有限公司 | 一种基于psi技术保护联邦学习预测阶段隐私的方法 |
CN111931207A (zh) * | 2020-08-07 | 2020-11-13 | 北京百度网讯科技有限公司 | 获得隐私集合交集的方法、装置、设备及存储介质 |
CN113127916A (zh) * | 2021-05-18 | 2021-07-16 | 腾讯科技(深圳)有限公司 | 数据集合处理方法、数据处理方法、装置及存储介质 |
CN113179150A (zh) * | 2021-04-26 | 2021-07-27 | 杭州宇链科技有限公司 | 一种基于保序函数的同态隐私集合求交方法 |
CN113569267A (zh) * | 2021-09-23 | 2021-10-29 | 上海钐昆网络科技有限公司 | 隐私安全的数据集合求交方法、装置、设备及存储介质 |
CN113886418A (zh) * | 2021-09-28 | 2022-01-04 | 支付宝(杭州)信息技术有限公司 | 一种数据处理方法、装置、电子设备及机器可读存储介质 |
-
2022
- 2022-01-29 CN CN202210110335.3A patent/CN114448702B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108520183A (zh) * | 2018-04-13 | 2018-09-11 | 杭州橙鹰数据技术有限公司 | 一种数据存储方法及装置 |
CN110990848A (zh) * | 2019-11-18 | 2020-04-10 | 上海易点时空网络有限公司 | 基于hive数据仓库的敏感字加密方法及装置、存储介质 |
CN111259443A (zh) * | 2020-01-16 | 2020-06-09 | 百融云创科技股份有限公司 | 一种基于psi技术保护联邦学习预测阶段隐私的方法 |
CN111931207A (zh) * | 2020-08-07 | 2020-11-13 | 北京百度网讯科技有限公司 | 获得隐私集合交集的方法、装置、设备及存储介质 |
CN113179150A (zh) * | 2021-04-26 | 2021-07-27 | 杭州宇链科技有限公司 | 一种基于保序函数的同态隐私集合求交方法 |
CN113127916A (zh) * | 2021-05-18 | 2021-07-16 | 腾讯科技(深圳)有限公司 | 数据集合处理方法、数据处理方法、装置及存储介质 |
CN113569267A (zh) * | 2021-09-23 | 2021-10-29 | 上海钐昆网络科技有限公司 | 隐私安全的数据集合求交方法、装置、设备及存储介质 |
CN113886418A (zh) * | 2021-09-28 | 2022-01-04 | 支付宝(杭州)信息技术有限公司 | 一种数据处理方法、装置、电子设备及机器可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114448702A (zh) | 2022-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106681739B (zh) | 一种智能合约的自动化生成方法 | |
CN107562775B (zh) | 一种基于区块链的数据处理方法及设备 | |
US11157560B2 (en) | System and method for managing graph data | |
WO2018201895A1 (zh) | 接口代码生成方法、装置、终端设备及介质 | |
CN106778351B (zh) | 数据脱敏方法及装置 | |
CN110032599B (zh) | 数据结构的读取及更新方法、装置、电子设备 | |
US11210181B2 (en) | System and method for implementing data manipulation language (DML) on Hadoop | |
CN106033439A (zh) | 一种分布式事务处理方法及系统 | |
CN110032568B (zh) | 数据结构的读取及更新方法、装置、电子设备 | |
CN103914290A (zh) | 一种操作命令处理方法及装置 | |
CN107025253A (zh) | 一种创建数据库接口的方法、数据库操作方法及装置 | |
CN112463149B (zh) | 一种面向软件定义卫星的可复用代码库构建方法与装置 | |
CN111443901B (zh) | 一种基于Java反射的业务扩展方法及装置 | |
CN110019754A (zh) | 一种知识库的建立方法、装置及设备 | |
US20100131565A1 (en) | Method for creating a self-configuring database system using a reusable custom-defined nestable compound data type | |
CN111738737A (zh) | 数字物权凭证的生成方法、装置及设备 | |
CN114448702B (zh) | 一种基于隐私集合求交的数据加密方法及装置 | |
US20220156240A1 (en) | Hierarchical script database and database applications | |
CN111125090B (zh) | 数据存取方法及装置 | |
CN111125216B (zh) | 数据导入Phoenix的方法及装置 | |
CN115221559A (zh) | 数据账户的访问授权方法及装置 | |
CN110222105B (zh) | 数据汇总处理方法及装置 | |
US9886435B2 (en) | Pseudo internal numbering mechanism | |
US8250090B2 (en) | Method for performing message-based distributed computing, involves executing expression of matched message response on members identified by set instance definition using dimension values derived from message | |
Mishra et al. | Titan graph databases with cassandra |
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 |