CN111125788B - 一种加密计算方法、计算机设备及存储介质 - Google Patents
一种加密计算方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111125788B CN111125788B CN201911370379.4A CN201911370379A CN111125788B CN 111125788 B CN111125788 B CN 111125788B CN 201911370379 A CN201911370379 A CN 201911370379A CN 111125788 B CN111125788 B CN 111125788B
- Authority
- CN
- China
- Prior art keywords
- chip
- calculation
- data
- function
- decryption
- 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
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例公开了一种加密计算方法、计算机设备及存储介质。该方法包括:获取当前待计算的芯片内数据以及标准计算函数,标准计算函数包括与芯片内数据匹配的第一变量以及与芯片外数据匹配的第二变量;使用预设的加密秘钥对芯片内数据进行加密运算,得到安全计算数据;生成与标准计算函数匹配的安全计算函数,安全计算函数根据加密秘钥以及预设的解密秘钥生成;将安全计算数据和安全计算函数发送至芯片外计算单元,以指示芯片外计算单元将当前待计算的芯片外数据和安全计算数据输入至安全计算函数中,得到安全计算结果。该方法可以利用芯片外计算单元进行计算,可以减少数据的传输量,提高可信计算的计算效率。
Description
技术领域
本发明实施例涉及信息安全技术领域,尤其涉及一种加密计算方法、计算机设备及存储介质。
背景技术
可信计算作为信息安全领域的一个重要方向,备受研究者重视,可信计算的标准最早由可信计算组织提出。可信计算主要以可信计算芯片为基础,实现方式是通过在主板上引入安全芯片,一般为可信计算芯片,逐级建立信任链,保证信任链安全,在计算机硬件系统上建立一个用户可以预期的安全计算环境,并对安全计算环境中运行的程序进行度量,保证可信计算的软硬件资源不会被恶意篡改。
出于安全考虑,可信计算是基于加密、解密构建的,部分秘钥在出厂时随机生成,存储在可信计算芯片中,并且不会外泄、不能改变;同时可信计算中的加密、解密以及度量过程均需要在可信计算芯片中完成,以避免信息外泄。因此,可信计算芯片几乎承担了所有的可信计算任务。
可信计算芯片是一种专用的集成电路芯片(System-on-a-Chip,SOC),相较于传统的CPU,其成本、价格较低,但存在以下问题:1、计算能力较低,难以进行大型运算;2、存储容量较小,当对大块数据进行可信计算时,需要进行特殊处理;3、数据传输限制计算效率,可信计算的数据需要经由数据总线传输到可信计算芯片中进行计算,当任务较多时,需要等待数据传输,造成可信计算芯片计算效率低;4、部分可信计算结果需要保存在可信计算芯片外部,需要再进行一次数据传输。上述问题均造成可信计算芯片的计算效率低。
发明内容
本发明实施例提供了一种加密计算方法、计算机设备及存储介质,可以减少数据的传输量,提高可信计算的计算效率。
第一方面,本发明实施例提供了一种加密计算方法,该方法包括:
获取当前待计算的芯片内数据以及标准计算函数,标准计算函数包括与芯片内数据匹配的第一变量以及与芯片外数据匹配的第二变量;
使用预设的加密秘钥对芯片内数据进行加密运算,得到安全计算数据;
生成与标准计算函数匹配的安全计算函数,安全计算函数根据加密秘钥以及预设的解密秘钥生成;
将安全计算数据和安全计算函数发送至芯片外计算单元,以指示芯片外计算单元将当前待计算的芯片外数据和安全计算数据输入至安全计算函数中,得到安全计算结果。
第二方面,本发明实施例还提供了一种计算机设备,包括处理器和存储器,存储器用于存储指令,当指令执行时使得处理器执行以下操作:
获取当前待计算的芯片内数据以及标准计算函数,标准计算函数包括与芯片内数据匹配的第一变量以及与芯片外数据匹配的第二变量;
使用预设的加密秘钥对芯片内数据进行加密运算,得到安全计算数据;
生成与标准计算函数匹配的安全计算函数,安全计算函数根据加密秘钥以及预设的解密秘钥生成;
将安全计算数据和安全计算函数发送至芯片外计算单元,以指示芯片外计算单元将当前待计算的芯片外数据和安全计算数据输入至安全计算函数中,得到安全计算结果。
第三方面,本发明实施例还提供了一种存储介质,存储介质用于存储指令,指令用于执行:
获取当前待计算的芯片内数据以及标准计算函数,标准计算函数包括与芯片内数据匹配的第一变量以及与芯片外数据匹配的第二变量;
使用预设的加密秘钥对芯片内数据进行加密运算,得到安全计算数据;
生成与标准计算函数匹配的安全计算函数,安全计算函数根据加密秘钥以及预设的解密秘钥生成;
将安全计算数据和安全计算函数发送至芯片外计算单元,以指示芯片外计算单元将当前待计算的芯片外数据和安全计算数据输入至安全计算函数中,得到安全计算结果。
本发明通过获取当前待计算的芯片内数据以及标准计算函数,标准计算函数包括与芯片内数据匹配的第一变量以及与芯片外数据匹配的第二变量;使用预设的加密秘钥对芯片内数据进行加密运算,得到安全计算数据;生成与标准计算函数匹配的安全计算函数,安全计算函数根据加密秘钥以及预设的解密秘钥生成;将安全计算数据和安全计算函数发送至芯片外计算单元,以指示芯片外计算单元将当前待计算的芯片外数据和安全计算数据输入至安全计算函数中,得到安全计算结果,解决了可信计算芯片计算能力不足的问题,实现了保证芯片内秘密数据不暴露的情况下,可以利用芯片外计算单元进行计算,减少数据的传输量,提高可信计算的计算效率的效果。
附图说明
图1是本发明实施例一提供一种加密计算方法的流程图;
图2为本发明实施例二提供的一种加密计算方法的流程图;
图3是本发明实施例的一个执行过程流程图;
图4是现有技术中可信计算芯片进行绑定(binding)操作的流程图;
图5是本发明实施提供的可信计算芯片进行绑定的流程图;
图6是本发明实施例三提供的一种加密计算装置的结构示意图;
图7是本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本文使用的术语“可信计算”是信息安全领域的一个重要方向,引起了很多相关研究单位和厂家的重视。可信计算体系主要以可信计算芯片为基础,建立一个用户可以预期的安全计算环境,并对安全计算环境中运行的程序进行度量,保证计算软硬件资源不会被恶意篡改。可信计算领域的标准最早是由可信计算组织(Trusted Computing Group,TCG)提出的。目前可信计算规范已经到了TPM2.0版本,规范中规定了可信计算芯片的硬件组成结构、芯片内部功能、芯片指令接口、芯片硬件接口、芯片的使用方式等相关内容。
本文使用的术语“可信计算芯片”是一种专用的SOC芯片,相较于传统的CPU,其成本与价格较低。
本文使用的术语“安全多方计算”是密码学的一个子领域,其允许多个数据所有者在互不信任的情况下进行协同计算,输出计算结果,并保证任何一方均无法得到除应得的计算结果之外的其他任何信息。换句话说,安全多方计算可以获取数据使用价值,却不泄露原始数据内容。安全多方计算可以通过混淆电路、秘密共享、同态加密或者不经意传输等多种密码学技术实现。
本文使用的术语“混淆电路”是实现安全多方计算的一种密码学技术,混淆电路的主要思想是将一个计算过程表示为一个电路(可以由与门、或门等基础的逻辑门组成)。相较于原始的计算,混淆电路的输入为原始计算的输入数据加密后的加密数据,输出需要通过特殊的秘钥进行解密,才能得到最终的计算结果。
实施例一
图1是本发明实施例一提供一种加密计算方法的流程图,本实施例可适用于可信计算中保证可信计算芯片内的秘密数据不暴露,利用芯片外计算单元进行加密计算的情况,该方法可以由加密计算装置来执行,该装置可以通过软件,和/或硬件的方式实现,所述装置可以集成在计算机设备中,如图1所示,该方法具体包括:
步骤110、获取当前待计算的芯片内数据以及标准计算函数,标准计算函数包括与芯片内数据匹配的第一变量以及与芯片外数据匹配的第二变量。
其中,可信计算芯片内数据与芯片外数据需要通过标准计算函数F(a,b)进行计算,标准计算函数函数F(a,b)可以包括第一变量a和第二变量b,可以将芯片内需要进行计算的数据与标准计算函数函数F(a,b)的第一变量a匹配,将芯片外需要进行计算的数据与函数F(a,b)的第二变量b匹配。
步骤120、使用预设的加密秘钥对芯片内数据进行加密运算,得到安全计算数据。
其中,为了确保安全,可信计算芯片内数据不能够直接传输至芯片外部,可信计算芯片可以预先生成加密秘钥KeyA,作为预设的加密秘钥对芯片内需要进行计算的数据进行加密运算,得到安全计算数据Encrypt(a)。将安全计算数据Encrypt(a)作为第一变量a的输入数据。
步骤130、生成与标准计算函数匹配的安全计算函数,安全计算函数根据加密秘钥以及预设的解密秘钥生成。
其中,可信计算芯片可以预先生成解密秘钥Key0,解密秘钥Key0用于对安全计算函数得到的安全计算结果Encrypt(F(a,b))进行解密。其中,安全计算函数可以是通过一定数学以及密钥学的规则,根据KeyA、Key0、以及标准计算函数生成。
在本发明实施例的一个实施方式中,可选的,生成与标准计算函数匹配的安全计算函数,包括:根据安全多方计算规则,使用加密秘钥以及解密秘钥,生成与标准计算函数匹配的安全计算函数。
其中,安全多方计算规则可以是混淆电路、秘密共享、同态加密或者不经意传输等多种密码学技术的规则。本发明实施例可以根据安全多方计算规则生成与标准计算函数匹配的安全计算函数。
在本发明实施例的一个实施方式中,可选的,根据安全多方计算规则,使用加密秘钥以及解密秘钥,生成与标准计算函数匹配的安全计算函数,包括:根据加密秘钥、解密秘钥以及标准计算函数,生成混淆电路,将混淆电路的混淆真值表作为安全计算函数。
其中,现有技术中,可计算问题都可以转换为一个电路,如加法电路、比较电路或者乘法电路等;其中,一个电路是由各个逻辑门组成的,比如与门、非门、或门、与非门等,而混淆电路是通过加密和扰乱电路的值来掩盖信息的。
示例性的,以与门为例,当用户A与用户B计划计算一个与门时,用户A会对与门的两个输入线以及输出线分别指定两个秘钥,如用户A的输入线对应秘钥为k0x(A的输入线输入为0时的秘钥)和k1x(A的输入线输入为1时的秘钥),用户B的输入线对应秘钥为k0y(B的输入线输入为0时的秘钥)和k1y(B的输入线输入为1时的秘钥),输出线对应的秘钥为k0z(输出线输入为0时的秘钥)和k1z(输出线输入为1时的秘钥)。用户A用这些秘钥得到混淆真值表,比如,得到Ek0x(Ek0y(k0z))、Ek0x(Ek1y(k0z))、Ek1x(Ek0y(k0z))、Ek1x(Ek1y(k1z)),其中,以Ek0x(Ek0y(k0z))为例,表示用k0y对k0z加密后再用k0x加密;并将混淆真值表打乱后发送给用户B。
其中,用户A如果想获取真实的结果,用户A可以将自己的输入对应的秘钥,以及用户B的秘钥发送给用户B,用户B根据秘钥只能解密成功混淆真值表中的一个值,可以是k0z或者k1z,用户B可以将解密得到的值发送给用户A,用户A根据k0z或者k1z得到真实的计算结果。
步骤140、将安全计算数据和安全计算函数发送至芯片外计算单元,以指示芯片外计算单元将当前待计算的芯片外数据和安全计算数据输入至安全计算函数中,得到安全计算结果。
示例性的,在本发明实施例的一个具体例子中,安全多方计算规则为混淆电路规则,可信计算芯片可以生成加密秘钥KeyA对芯片内需要进行计算的数据进行加密得到安全计算数据Encrypt(a);可信计算芯片可以生成解密秘钥Key0,用于对安全计算结果进行解密;根据加密秘钥KeyA、解密秘钥Key0和标准计算函数F(a,b),可信计算芯片可以生成混淆电路,可信计算芯片可以将混淆电路的混淆真值表作为安全计算函数,发送至芯片外计算单元,其中,混淆真值表可以是基于对第一变量使用加密秘钥KeyA加密,对第二变量不加密,对结果使用解密秘钥Key0加密生成的。具体的,可信计算芯片可以将安全计算数据Encrypt(a)和混淆真值表发送至芯片外计算单元,指示芯片外计算单元将当前待计算的芯片外数据和安全计算数据输入至混淆真值表中,根据混淆真值表,得到对应的安全计算结果。
其中,现有技术中,云场景下的同态加密过程可以是用户对需要进行计算的数据进行加密,将加密后的数据发送给云;用户向云提交数据的计算方法;云在计算方法下对数据进行处理,并且将处理后的结果发送给用户;用户对结果进行解密,得到真实的结果。其中,用户可以运行秘钥生成函数,产生数据加密所需的秘钥;用户运行加密函数,用秘钥对数据进行加密;云运行评估函数,在用户给定的计算方法下,对加密数据进行操作,使得结果相当于用户用秘钥对真实的结果进行加密;用户运行解密函数,对云处理的结果进行解密得到真实的结果。
示例性的,在本发明实施例的另一个具体例子中,安全多方计算规则为同态加密规则,可信计算芯片可以运行秘钥生成函数,产生数据加密所需的加密秘钥KeyA;可信计算芯片可以运行加密函数,用加密秘钥KeyA对芯片内需要进行计算的数据进行加密,得到安全计算数据Encrypt(a);可信计算芯片可以为芯片外计算单元提供标准计算函数F(a,b);芯片外计算单元根据标准计算函数F(a,b)对安全计算数据Encrypt(a)以及芯片外数据进行操作,得到安全计算结果Encrypt(F(a,b)),相当于可信计算芯片用解密秘钥Key0对真实的结果进行加密。
本实施例的技术方案,通过获取当前待计算的芯片内数据以及标准计算函数,标准计算函数包括与芯片内数据匹配的第一变量以及与芯片外数据匹配的第二变量;使用预设的加密秘钥对芯片内数据进行加密运算,得到安全计算数据;生成与标准计算函数匹配的安全计算函数,安全计算函数根据加密秘钥以及预设的解密秘钥生成;将安全计算数据和安全计算函数发送至芯片外计算单元,以指示芯片外计算单元将当前待计算的芯片外数据和安全计算数据输入至安全计算函数中,得到安全计算结果,解决了可信计算芯片计算能力不足的问题,实现了保证芯片内秘密数据不暴露的情况下,可以利用芯片外计算单元进行计算,减少数据的传输量,提高可信计算的计算效率的效果。
实施例二
图2为本发明实施例二提供的一种加密计算方法的流程图。本发明实施例可以与上述一个或者多个实施例中各个可选方案结合。
如图2所示,本发明实施例的方法具体包括:
步骤210、获取当前待计算的芯片内数据以及标准计算函数,标准计算函数包括与芯片内数据匹配的第一变量以及与芯片外数据匹配的第二变量。
步骤220、使用预设的加密秘钥对芯片内数据进行加密运算,得到安全计算数据。
步骤230、生成与标准计算函数匹配的安全计算函数,安全计算函数根据加密秘钥以及预设的解密秘钥生成。
步骤240、将安全计算数据和安全计算函数发送至芯片外计算单元,以指示芯片外计算单元将当前待计算的芯片外数据和安全计算数据输入至安全计算函数中,得到安全计算结果。
步骤250、确定安全计算结果的再处理单元,指示再处理单元获取安全计算结果和解密秘钥,并对安全计算结果进行解密运算,得到解密计算结果。
其中,在本发明实施例的一个实施方式中,可选的,还包括:如果确定安全计算结果的再处理单元为可信计算芯片,则从芯片外计算单元处获取安全计算结果;使用解密秘钥对安全计算结果进行解密运算,得到解密计算结果;其中,解密计算结果为将芯片内数据以及芯片外数据输入至标准计算函数中得到的结果。
具体的,如果可信计算芯片根据应用场景可以确定芯片内需要解密计算结果,则芯片外计算单元将安全计算结果Encrypt(F(a,b))发送至芯片内。可信计算芯片使用混淆电路的解密秘钥Key0对安全计算结果Encrypt(F(a,b))进行解密,得到解密计算结果F(a,b)。
其中,在本发明实施例的一个实施方式中,可选的,还包括:如果确定安全处理结果的再处理单元为芯片外计算单元,则将解密秘钥发送至芯片外计算单元,以指示芯片外计算单元使用解密秘钥对安全计算结果进行解密运算,得到解密计算结果;其中,解密计算结果为将芯片内数据以及芯片外数据输入至标准计算函数中得到的结果。
具体的,如果可信计算芯片根据应用场景可以确定芯片外计算单元需要解密计算结果,则可信计算芯片将混淆电路的解密秘钥Key0发送至芯片外计算单元,芯片外计算单元对安全计算结果Encrypt(F(a,b))进行解密,得到解密计算结果F(a,b)。此时,可信计算芯片无需解密计算结果F(a,b),无需将安全计算结果Encrypt(F(a,b))发送至芯片内,可以节省芯片内的存储空间。
本实施例的技术方案,通过获取当前待计算的芯片内数据以及标准计算函数,标准计算函数包括与芯片内数据匹配的第一变量以及与芯片外数据匹配的第二变量;使用预设的加密秘钥对芯片内数据进行加密运算,得到安全计算数据;生成与标准计算函数匹配的安全计算函数,安全计算函数根据加密秘钥以及预设的解密秘钥生成;将安全计算数据和安全计算函数发送至芯片外计算单元,以指示芯片外计算单元将当前待计算的芯片外数据和安全计算数据输入至安全计算函数中,得到安全计算结果;确定安全计算结果的再处理单元,指示再处理单元获取安全计算结果和解密秘钥,并对安全计算结果进行解密运算,得到解密计算结果,解决了可信计算芯片计算能力不足的问题,实现了保证芯片内秘密数据不暴露的情况下,可以利用芯片外计算单元进行计算;通过判断安全计算结果的再处理单元,进一步减少数据的传输量,节省数据存储空间,提高可信计算的计算效率。
图3是本发明实施例的一个执行过程流程图,如图3所示,可信计算芯片生成加密秘钥KeyA和解密秘钥Key0,并生成混淆电路;可信计算芯片将芯片内需要进行计算的数据使用加密秘钥KeyA进行加密;将加密后的芯片内数据与混淆电路传输至芯片外计算单元;芯片外计算单元根据加密后的芯片内数据、芯片外需要计算的数据以及混淆电路进行计算得到安全计算结果;可信计算芯片判断安全计算结果的再处理单元是可信计算芯片还是芯片外计算单元;若是可信计算芯片,则可信计算芯片从芯片外计算单元获取安全计算结果,根据解密秘钥Key0对安全计算结果进行解密,得到解密计算结果;若是芯片外计算单元,则芯片外计算单元从可信计算芯片获取解密秘钥Key0,根据解密秘钥Key0对安全计算结果进行解密,得到解密计算结果。
图4是现有技术中可信计算芯片进行绑定(binding)操作的流程图,如图4所示,可信计算芯片从芯片外计算单元获取需要进行绑定操作的数据data-a,使用绑定秘钥(Binding Key)对数据data-a进行加密,生成加密后的数据E(data-a);可信计算芯片将数据E(data-a)发送至芯片外进行存储。
图5是本发明实施提供的可信计算芯片进行绑定的流程图,如图5所示,本发明实施例对于可信计算芯片进行绑定的流程可以是:可信计算芯片生成加密秘钥KeyA,用于对可信计算芯片中需要进行计算的数据进行加密;可信计算芯片生成解密秘钥Key0,用于对安全计算结果进行解密;可信计算芯片利用KeyA、Key0和绑定操作的函数生成混淆电路;可信计算芯片使用KeyA对绑定秘钥(Binding Key)进行加密,生成数据E(Bkey);可信计算芯片将数据E(Bkey)和混淆电路发送给芯片外计算单元;指示芯片外计算单元将需要进行绑定的数据data-a和芯片内加密的数据E(Bkey)作为混淆电路的输入数据进行计算,得到安全计算结果E(result);可信计算芯片将解密秘钥Key0发送至芯片外计算单元;芯片外计算单元利用Key0对E(result)进行解密,得到解密计算结果result,其中,解密计算结果result为数据data-a进行绑定操作得到的E(data-a)。
对比现有技术中可信计算芯片的绑定操作与本发明实施例提供的可信计算芯片的绑定操作,可以发现本发明实施例的绑定操作,无需将需要绑定的数据传输到可信计算芯片,可以节省可信计算芯片的带宽,另外使用芯片外计算单元分担可信计算芯片的部分计算工作,可以节省可信计算芯片的计算能力,提高可信计算的计算效率。在一些复杂计算中,根据函数生成的混淆电路可以预先在可信计算芯片中生成,并可以多次重复使用,可信计算的计算效率可以显著提高。
实施例三
图6是本发明实施例三提供的一种加密计算装置的结构示意图。结合图6,该装置包括:获取模块310,安全计算数据获取模块320,安全计算函数生成模块330和发送模块340。
获取模块310,用于获取当前待计算的芯片内数据以及标准计算函数,标准计算函数包括与芯片内数据匹配的第一变量以及与芯片外数据匹配的第二变量;
安全计算数据获取模块320,用于使用预设的加密秘钥对芯片内数据进行加密运算,得到安全计算数据;
安全计算函数生成模块330,用于生成与标准计算函数匹配的安全计算函数,安全计算函数根据加密秘钥以及预设的解密秘钥生成;
发送模块340,用于将安全计算数据和安全计算函数发送至芯片外计算单元,以指示芯片外计算单元将当前待计算的芯片外数据和安全计算数据输入至安全计算函数中,得到安全计算结果。
可选的,该装置,还包括:
安全计算结果获取模块,用于在将安全计算数据和安全计算函数发送至芯片外计算单元之后,如果确定安全计算结果的再处理单元为可信计算芯片,则从芯片外计算单元处获取安全计算结果;
解密计算结果第一获取模块,用于使用解密秘钥对安全计算结果进行解密运算,得到解密计算结果;
其中,解密计算结果为将芯片内数据以及芯片外数据输入至标准计算函数中得到的结果。
可选的,该装置,还包括:
解密计算结果第二获取模块,用于在将安全计算数据和安全计算函数发送至芯片外计算单元之后,如果确定安全处理结果的再处理单元为芯片外计算单元,则将解密秘钥发送至芯片外计算单元,以指示芯片外计算单元使用解密秘钥对安全计算结果进行解密运算,得到解密计算结果;
其中,解密计算结果为将芯片内数据以及芯片外数据输入至标准计算函数中得到的结果。
可选的,安全计算函数生成模块330,包括:
安全计算函数生成单元,用于根据安全多方计算规则,使用加密秘钥以及解密秘钥,生成与标准计算函数匹配的安全计算函数。
可选的,安全计算函数生成单元,包括:
安全计算函数生成子单元,用于根据加密秘钥、解密秘钥以及标准计算函数,生成混淆电路,将混淆电路的混淆真值表作为安全计算函数。
本发明实施例所提供的加密计算装置可执行本发明任意实施例所提供的加密计算方法,具备执行方法相应的功能模块和有益效果。
实施例四
图7是本发明实施例四提供的一种计算机设备的结构示意图,如图7所示,该设备包括:
一个或多个处理器410,图7中以一个处理器410为例;
存储器420;
所述设备还可以包括:输入装置430和输出装置440。
所述设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或者其他方式连接,图7中以通过总线连接为例。
存储器420作为一种非暂态计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种加密计算方法对应的程序指令/模块(例如,附图6所示的获取模块310,安全计算数据获取模块320,安全计算函数生成模块330和发送模块340)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例的一种加密计算方法,即:
获取当前待计算的芯片内数据以及标准计算函数,所述标准计算函数包括与所述芯片内数据匹配的第一变量以及与芯片外数据匹配的第二变量;
使用预设的加密秘钥对芯片内数据进行加密运算,得到安全计算数据;
生成与所述标准计算函数匹配的安全计算函数,所述安全计算函数根据所述加密秘钥以及预设的解密秘钥生成;
将所述安全计算数据和所述安全计算函数发送至芯片外计算单元,以指示所述芯片外计算单元将当前待计算的芯片外数据和所述安全计算数据输入至所述安全计算函数中,得到安全计算结果。
存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非暂态性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态性固态存储器件。在一些实施例中,存储器420可选包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
实施例五
本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的一种加密计算方法:
获取当前待计算的芯片内数据以及标准计算函数,所述标准计算函数包括与所述芯片内数据匹配的第一变量以及与芯片外数据匹配的第二变量;
使用预设的加密秘钥对芯片内数据进行加密运算,得到安全计算数据;
生成与所述标准计算函数匹配的安全计算函数,所述安全计算函数根据所述加密秘钥以及预设的解密秘钥生成;
将所述安全计算数据和所述安全计算函数发送至芯片外计算单元,以指示所述芯片外计算单元将当前待计算的芯片外数据和所述安全计算数据输入至所述安全计算函数中,得到安全计算结果。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (9)
1.一种加密计算方法,应用于可信计算芯片中,其特征在于,包括:
获取当前待计算的芯片内数据以及标准计算函数,所述标准计算函数包括与所述芯片内数据匹配的第一变量以及与芯片外数据匹配的第二变量;
使用预设的加密秘钥对芯片内数据进行加密运算,得到安全计算数据;
生成与所述标准计算函数匹配的安全计算函数,所述安全计算函数根据所述加密秘钥以及预设的解密秘钥生成;
将所述安全计算数据和所述安全计算函数发送至芯片外计算单元,以指示所述芯片外计算单元将当前待计算的芯片外数据和所述安全计算数据输入至所述安全计算函数中,得到安全计算结果;
其中,生成与所述标准计算函数匹配的安全计算函数,包括:
根据安全多方计算规则,使用所述加密秘钥以及所述解密秘钥,生成与所述标准计算函数匹配的安全计算函数。
2.根据权利要求1所述的方法,其特征在于,在将所述安全计算数据和所述安全计算函数发送至芯片外计算单元之后,还包括:
如果确定所述安全计算结果的再处理单元为可信计算芯片,则从所述芯片外计算单元处获取所述安全计算结果;
使用所述解密秘钥对所述安全计算结果进行解密运算,得到解密计算结果;
其中,所述解密计算结果与将所述芯片内数据以及所述芯片外数据输入至所述标准计算函数中得到的结果相同。
3.根据权利要求1所述的方法,其特征在于,在将所述安全计算数据和所述安全计算函数发送至芯片外计算单元之后,还包括:
如果确定所述安全计算结果的再处理单元为所述芯片外计算单元,则将所述解密秘钥发送至所述芯片外计算单元,以指示所述芯片外计算单元使用所述解密秘钥对所述安全计算结果进行解密运算,得到解密计算结果;
其中,所述解密计算结果与将所述芯片内数据以及所述芯片外数据输入至所述标准计算函数中得到的结果相同。
4.根据权利要求1所述的方法,其特征在于,根据安全多方计算规则,使用所述加密秘钥以及所述解密秘钥,生成与所述标准计算函数匹配的安全计算函数,包括:
根据所述加密秘钥、所述解密秘钥以及所述标准计算函数,生成混淆电路,将所述混淆电路的混淆真值表作为所述安全计算函数。
5.一种计算机设备,包括处理器和存储器,所述存储器用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
获取当前待计算的芯片内数据以及标准计算函数,所述标准计算函数包括与所述芯片内数据匹配的第一变量以及与芯片外数据匹配的第二变量;
使用预设的加密秘钥对芯片内数据进行加密运算,得到安全计算数据;
生成与所述标准计算函数匹配的安全计算函数,所述安全计算函数根据所述加密秘钥以及预设的解密秘钥生成;
将所述安全计算数据和所述安全计算函数发送至芯片外计算单元,以指示所述芯片外计算单元将当前待计算的芯片外数据和所述安全计算数据输入至所述安全计算函数中,得到安全计算结果;
其中,生成与所述标准计算函数匹配的安全计算函数,包括:
根据安全多方计算规则,使用所述加密秘钥以及所述解密秘钥,生成与所述标准计算函数匹配的安全计算函数。
6.根据权利要求5所述的计算机设备,其特征在于,所述处理器是设置为通过以下方式得到解密计算结果:
如果确定所述安全计算结果的再处理单元为可信计算芯片,则从所述芯片外计算单元处获取所述安全计算结果;
使用所述解密秘钥对所述安全计算结果进行解密运算,得到解密计算结果;
其中,所述解密计算结果与将所述芯片内数据以及所述芯片外数据输入至所述标准计算函数中得到的结果相同。
7.根据权利要求5所述的计算机设备,其特征在于,所述处理器是设置为通过以下方式得到解密计算结果:
如果确定所述安全计算结果的再处理单元为所述芯片外计算单元,则将所述解密秘钥发送至所述芯片外计算单元,以指示所述芯片外计算单元使用所述解密秘钥对所述安全计算结果进行解密运算,得到解密计算结果;
其中,所述解密计算结果与将所述芯片内数据以及所述芯片外数据输入至所述标准计算函数中得到的结果相同。
8.根据权利要求5所述的计算机设备,其特征在于,所述处理器是设置为通过以下方式得到标准计算函数匹配的安全计算函数:
根据所述加密秘钥、所述解密秘钥以及所述标准计算函数,生成混淆电路,将所述混淆电路的混淆真值表作为所述安全计算函数。
9.一种存储介质,所述存储介质用于存储指令,所述指令用于执行如权利要求1-4中任一所述的加密计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911370379.4A CN111125788B (zh) | 2019-12-26 | 2019-12-26 | 一种加密计算方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911370379.4A CN111125788B (zh) | 2019-12-26 | 2019-12-26 | 一种加密计算方法、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125788A CN111125788A (zh) | 2020-05-08 |
CN111125788B true CN111125788B (zh) | 2020-11-10 |
Family
ID=70503456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911370379.4A Active CN111125788B (zh) | 2019-12-26 | 2019-12-26 | 一种加密计算方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125788B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112287377A (zh) * | 2020-11-25 | 2021-01-29 | 南京星环智能科技有限公司 | 基于联邦学习的模型训练方法、计算机设备及存储介质 |
CN113468563B (zh) * | 2021-06-24 | 2022-11-18 | 曙光信息产业股份有限公司 | 虚拟机数据加密方法、装置、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3016011A1 (en) * | 2014-11-03 | 2016-05-04 | Ecole Polytechnique Federale De Lausanne (Epfl) | Method for privacy-preserving medical risk tests |
CN110324135A (zh) * | 2019-07-04 | 2019-10-11 | 浙江理工大学 | 一种基于云计算的同态加密矩阵行列式安全外包方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9350543B2 (en) * | 2012-07-26 | 2016-05-24 | Cisco Technology, Inc. | Method and system for homomorphicly randomizing an input |
KR101608515B1 (ko) * | 2013-10-14 | 2016-04-01 | 서울대학교기술지주 주식회사 | 동형 암호화 알고리즘과 공개키 암호화 알고리즘을 이용하여, 암호화 데이터를 연산하는 방법 및 이를 이용한 서버 |
CN108964869A (zh) * | 2018-06-08 | 2018-12-07 | 浙江捷尚人工智能研究发展有限公司 | 短密钥全同态加密方法及系统 |
CN110580420B (zh) * | 2018-06-11 | 2023-03-28 | 阿里巴巴集团控股有限公司 | 基于集成芯片的数据处理方法、计算机设备、存储介质 |
-
2019
- 2019-12-26 CN CN201911370379.4A patent/CN111125788B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3016011A1 (en) * | 2014-11-03 | 2016-05-04 | Ecole Polytechnique Federale De Lausanne (Epfl) | Method for privacy-preserving medical risk tests |
CN110324135A (zh) * | 2019-07-04 | 2019-10-11 | 浙江理工大学 | 一种基于云计算的同态加密矩阵行列式安全外包方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111125788A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102377187B1 (ko) | 블록체인의 프라이버시 데이터 처리방법, 장치, 디바이스 및 저장매체 | |
CN108282459B (zh) | 基于智能合约的数据传递方法及系统 | |
WO2021239008A1 (zh) | 一种基于隐私保护的加密方法和系统 | |
CN110460439A (zh) | 信息传输方法、装置、客户端、服务端及存储介质 | |
CN111460453A (zh) | 机器学习训练方法、控制器、装置、服务器、终端和介质 | |
TWI809292B (zh) | 資料的加解密方法、裝置、存儲介質及加密文件 | |
US20170310479A1 (en) | Key Replacement Direction Control System and Key Replacement Direction Control Method | |
CN111555880B (zh) | 数据碰撞方法、装置、存储介质及电子设备 | |
CN112182635B (zh) | 一种联合建模的实现方法、装置、设备和介质 | |
CN113572604B (zh) | 一种发送密钥的方法、装置、系统及电子设备 | |
CN111125788B (zh) | 一种加密计算方法、计算机设备及存储介质 | |
CN114124364B (zh) | 密钥安全处理方法、装置、设备及计算机可读存储介质 | |
US12105855B2 (en) | Privacy-enhanced computation via sequestered encryption | |
CN117061105A (zh) | 数据处理方法、装置、可读介质及电子设备 | |
CN109711178B (zh) | 一种键值对的存储方法、装置、设备及存储介质 | |
CN112261015B (zh) | 基于区块链的信息共享方法、平台、系统以及电子设备 | |
CN117555946A (zh) | 一种数据查询方法、装置、计算机设备和存储介质 | |
CN114615087B (zh) | 数据共享方法、装置、设备及介质 | |
CN111786955A (zh) | 用于保护模型的方法和装置 | |
CN106973070A (zh) | 一种大数据计算托管服务安全认证系统和方法 | |
Ding et al. | Computing maximum and minimum with privacy preservation and flexible access control | |
CN115396179A (zh) | 基于区块链的数据传输方法、装置、介质及设备 | |
CN113961931A (zh) | adb工具使用方法、装置和电子设备 | |
CN114398658A (zh) | 数据处理方法及设备 | |
Negi et al. | Network security in embedded system using TLS |
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 |