CN115396150A - 数据预处理方法、数据加密方法、装置和设备 - Google Patents
数据预处理方法、数据加密方法、装置和设备 Download PDFInfo
- Publication number
- CN115396150A CN115396150A CN202210875433.6A CN202210875433A CN115396150A CN 115396150 A CN115396150 A CN 115396150A CN 202210875433 A CN202210875433 A CN 202210875433A CN 115396150 A CN115396150 A CN 115396150A
- Authority
- CN
- China
- Prior art keywords
- data
- component
- ciphertext
- ciphertext data
- plaintext
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000007781 pre-processing Methods 0.000 title claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 description 45
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 239000000654 additive Substances 0.000 description 4
- 230000000996 additive effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003542 behavioural effect Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage 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
- 239000000047 product Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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
- 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
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本说明书实施例公开了一种数据预处理方法、数据加密方法、装置和设备。所述数据预处理方法包括:生成密文数据的第一分量;将第一分量存入数据集中;以便在需要对明文数据进行加密时,根据明文数据生成密文数据的第二分量,从所述数据集中选择第一分量,根据第一分量和第二分量计算密文数据。本说明书实施例能够快速获得密文数据。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种数据预处理方法、数据加密方法、装置和设备。
背景技术
随着数据种类以及数量的日益增多,为了避免公司数据、客户数据等敏感数据因为泄露而引发的损失,数据加密技术得到了较为普遍的应用。
目前的数据加密技术,加密过程耗时较长,从而影响了业务的处理效率。
发明内容
本说明书实施例提供一种数据预处理方法、数据加密方法、装置和设备。
本说明书实施例的第一方面,提供了一种数据预处理方法,包括:
生成密文数据的第一分量;
将第一分量存入数据集中;以便在需要对明文数据进行加密时,根据明文数据生成密文数据的第二分量,从所述数据集中选择第一分量,根据第一分量和第二分量计算密文数据。
本说明书实施例的第二方面,提供了一种数据预处理方法,包括:
接收数据获取请求;
生成密文数据的第一分量;
反馈第一分量;所述第一分量用于存入数据集中,在需要对明文数据进行加密时,根据明文数据生成密文数据的第二分量,从所述数据集中选择第一分量,根据第一分量和第二分量计算密文数据。
本说明书实施例的第三方面,提供了一种数据加密方法,包括:
根据明文数据,生成密文数据的第二分量;
从数据集中选择密文数据的第一分量;
根据第一分量和第二分量,计算所述明文数据的密文数据。
本说明书实施例的第四方面,提供了一种数据预处理装置,包括:
生成单元,用于生成密文数据的第一分量;
存储单元,用于将第一分量存入数据集中;以便在需要对明文数据进行加密时,根据明文数据生成密文数据的第二分量,从所述数据集中选择第一分量,根据第一分量和第二分量计算密文数据。
本说明书实施例的第五方面,提供了一种数据预处理装置,包括:
接收单元,用于接收数据获取请求;
生成单元,用于生成密文数据的第一分量;
反馈单元,用于反馈第一分量;所述第一分量用于存入数据集中,在需要对明文数据进行加密时,根据明文数据生成密文数据的第二分量,从所述数据集中选择第一分量,根据第一分量和第二分量计算密文数据。
本说明书实施例的第六方面,提供了一种数据加密装置,包括:
生成单元,用于根据明文数据,生成密文数据的第二分量;
选择单元,用于从数据集中选择密文数据的第一分量;
计算单元,用于根据第一分量和第二分量,计算所述明文数据的密文数据。
本说明书实施例的第七方面,提供了一种计算机设备,包括:
至少一个处理器;
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如第一方面或者第二方面所述方法的指令。
本说明书实施例提供的技术方案,可以在对明文数据进行加密之前,预先生成密文数据的第一分量,可以将第一分量存入数据集中。这样在需要对明文数据进行加密时,可以根据明文数据生成密文数据的第二分量,可以从所述数据集中选择第一分量,可以根据第一分量和第二分量计算密文数据。使得,在需要对明文数据进行加密时,能够快速获得密文数据。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例中加密过程的示意图;
图2为本说明书实施例中数据预处理方法的流程示意图;
图3为本说明书实施例中数据预处理方法的流程示意图;
图4为本说明书实施例中数据加密方法的流程示意图;
图5为本说明书实施例中加密过程的示意图;
图6为本说明书实施例中数据预处理装置的结构示意图;
图7为本说明书实施例中数据预处理装置的结构示意图;
图8为本说明书实施例中数据加密装置的结构示意图;
图9为本说明书实施例中计算机设备的结构示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
在多方安全计算领域,基于同态加密的多方安全计算可以应用于多种业务场景,例如医疗场景、模型训练场景、风险预测场景等。例如,一种业务场景可以包括:一群人希望计算平均薪水,但每个人都不希望他人知晓自身的薪水。再比如,另一种业务场景可以包括:两个争强好胜的百万富翁碰面了,他们想比较出谁更富有,但是又不想公开出自己的财富信息。
所述同态加密(Homomorphic Encryption)是一种数据加密技术。它允许直接对密文数据进行运算得到仍是加密的结果,将其解密所得到的结果与对明文数据进行同样运算的结果相同。同态加密算法可以包括半同态加密算法(PHE,Partially HomomorphicEncryption)和全同态加密算法(FHE,Fully Homomorphic Encryption)。所述半同态加密算法可以支持同态加法运算或者同态乘法运算。支持同态加法运算的半同态加密算法又称为加法同态加密算法。支持同态乘法运算的半同态加密算法又称为乘法同态加密算法。所述加法同态加密算法可以支持以下运算:同态密文数据与同态密文数据相加、同态密文数据与明文数据相加、同态密文数据与明文数据相乘。但不支持以下运算:同态密文数据与同态密文数据相乘。所述乘法同态加密算法可以支持以下运算:同态密文数据与同态密文数据相乘、同态密文数据与明文数据相乘、同态密文数据与明文数据相加。但不支持以下运算:同态密文数据与同态密文数据相加。所述全同态加密算法可以同时支持同态加法运算和同态乘法运算。
同态加密具有良好的密码学特性。但加密过程耗时较长,从而影响了业务的处理效率。
发明人发现,加密算法的加密过程可以拆分为离线过程和在线过程。离线过程与需要加密的明文数据无关,因而可以预先执行。在线过程与需要加密的明文数据相关。在需要对明文数据进行加密时,可以直接获取离线过程的执行结果;可以根据明文数据,获得在线过程的执行结果;可以根据离线过程的执行结果和在线过程的执行结果,计算明文数据的密文数据。这样通过预先执行离线过程。使得,在需要对明文数据进行加密时,可以仅执行在线过程,从而减少了计算量,有利于快速获得密文数据,提升业务的处理效率。
以加法同态加密算法为例,所述加法同态加密算法可以包括Paillier算法、OU(Okamoto-Uchiyama)算法等。同态加密算法涉及的密钥包括公钥和私钥。所述公钥用于对明文数据进行加密,得到同态密文数据。通过对同态密文数据进行运算可以得到仍是加密的结果。所述私钥用于对结果进行解密。可以根据公式c=gmhrmod n对明文数据进行加密。c为同态密文数据,r为随机数,m为明文数据,(n,g,h)为公钥,mod表示取余数运算。hr的计算过程与明文数据m无关,可以为离线过程。gm的计算过程与明文数据m相关,可以为在线过程。在对明文数据m加密之前,可以预先计算hr。这样在需要对明文数据m进行加密时,可以直接获取hr的计算结果;可以根据hr的计算结果以及g、m、n,计算同态密文数据c。这样在对明文数据m进行加密时,无需再计算hr,减少了计算量,能够快速获得密文数据c。
在一些实施例中,请参阅图1,离线过程和在线过程可以部署在同一设备上。本说明书实施例可以提供一种加密设备。所述加密设备可以包括任何具有计算处理能力的装置、设备、平台、设备集群等。所述加密设备可以生成密文数据的第一分量;可以将第一分量存入数据集中。在需要对明文数据进行加密时,所述加密设备可以根据明文数据生成密文数据的第二分量;可以从所述数据集中选择第一分量;可以根据第一分量和第二分量计算密文数据。
在一些实施例中,请参阅图1,离线过程和在线过程可以分别部署在不同的设备上。本说明书实施例可以提供一种加密系统。所述加密系统可以包括第一设备和第二设备。第一设备和第二设备可以包括任何具有计算处理能力的装置、设备、平台、设备集群等。所述第一设备用于实现在线过程,所述第二设备用于实现离线过程。具体地,第一设备可以向第二设备发送数据获取请求。第二设备可以接收数据获取请求;可以生成密文数据的第一分量;可以向第一设备反馈第一分量。第一设备可以接收第一分量;可以将第一分量存入数据集中。在需要对明文数据进行加密时,第一设备可以根据明文数据生成密文数据的第二分量;可以从所述数据集中选择第一分量;可以根据第一分量和第二分量计算密文数据。
上述实施例中,所述离线过程和所述在线过程可以用于实现加密算法。所述加密算法可以包括同态加密算法。所述同态加密算法可以包括半同态加密算法和全同态加密算法。所述半同态加密算法可以包括加法同态加密算法和乘法同态加密算法。当然,所述加密算法还可以包括其它的加密算法,例如DES算法、AES算法、IDEA算法、RSA算法等非同态加密算法。
本说明书实施例提供一种数据预处理方法。所述数据预处理方法可以应用于所述加密设备。所述加密设备可以包括任何具有计算处理能力的装置、设备、平台、设备集群等。
请参阅图2。所述数据预处理方法用于实现所述离线过程,具体可以包括以下步骤。
步骤S11:生成密文数据的第一分量。
在一些实施例中,所述分量可以指分为若干份时的所得之量。例如,将一个向量分解成多个方向上的向量的和,则每个方向上的向量可以称为一个分量。所述密文数据可以包括同态密文数据。第一分量的生成与明文数据无关,因而在需要对明文数据进行加密之前,可以预先生成密文数据的第一分量,从而有利于快速获得密文数据。
在一些实施例中,可以根据加密密钥(以下称为第一加密密钥),生成密文数据的第一分量。所述第一加密密钥可以包括公钥。所述第一密钥可以根据密钥生成算法计算得到。所述密钥生成算法可以包括椭圆曲线算法等。例如,可以生成大素数p和大素数q;可以计算n=p2q;可以生成随机数g;可以计算h=gnmod n。随机数g满足条件:g<n并且gp-1≠1modp2。则公钥可以包括(n,g,h),私钥可以包括(p,q)。所述第一加密密钥可以包括公钥h。公钥g和公钥n可以分别为后文中的第二加密密钥和第三加密密钥。
可以直接根据第一加密密钥,生成密文数据的第一分量。或者,还可以生成随机数;可以根据随机数和第一加密密钥,生成密文数据的第一分量。所述随机数可以包括随机正整数等。在实际应用中,可以采用预定算法生成密文数据的第一分量。例如,可以根据公式hr计算密文数据的第一分量。h表示第一加密密钥,r表示随机数。
步骤S13:将第一分量存入数据集中。
在一些实施例中,可以将第一分量存入数据集中。这样在需要对明文数据进行加密时,可以根据明文数据生成密文数据的第二分量;可以从所述数据集中选择密文数据的第一分量;可以根据第一分量和第二分量计算所述明文数据的密文数据。所述数据集可以采用数据池、数据表、线性表、队列、栈、或图等方式实现。所述数据集中可以包括一个或多个密文数据的第一分量。所述数据集可以位于存储器中。所述存储器可以包括内部存储器和外部存储器等。所述外部存储器可以包括磁盘存储设备、固态存储设备、闪存设备和网络附加存储器等。
在一些实施例中,可以检测数据集的数据量是否达到阈值;若所述数据集的的数据量未达到阈值,可以生成密文数据的第一分量。数据集的数据量可以包括数据集中数据的数量。所述阈值可以包括数据集能够容纳的最大数据量。或者,所述阈值还可以包括小于所述最大数据量的某个特定数值。所述阈值可以为经验值。或者,所述阈值还可以通过机器学习的方式得到。例如,数据集能够容纳的最大数据量可以为150万,则所述阈值可以为100万。若数据集的数据量小于100万,可以生成密文数据的第一分量。或者,考虑到第一分量的生成会占用计算机资源(例如内存资源),从而影响密文数据的实时计算,可以检测当前是否存在用于对明文数据进行加密的任务;若不存在用于对明文数据进行加密的任务,可以生成密文数据的第一分量。这样可以提高密文数据的实时计算效率,从而有利于快速获得密文数据。
本说明书实施例的数据预处理方法,可以在对明文数据进行加密之前,预先生成密文数据的第一分量,可以将第一分量存入数据集中。这样在需要对明文数据进行加密时,可以根据明文数据生成密文数据的第二分量,可以从所述数据集中选择第一分量,可以根据第一分量和第二分量计算密文数据。使得,在需要对明文数据进行加密时,能够快速获得密文数据。
本说明书实施例提供另一种数据预处理方法。所述数据预处理方法可以应用于所述第二设备。所述第二设备可以包括任何具有计算处理能力的装置、设备、平台、设备集群等。
请参阅图3。所述数据预处理方法用于实现离线过程,具体可以包括以下步骤。
步骤S21:接收数据获取请求。
步骤S23:生成密文数据的第一分量。
步骤S25:反馈第一分量,以便将第一分量存入数据集中。
在一些实施例中,第一设备可以向第二设备发送数据获取请求。第二设备可以接收数据获取请求;可以生成密文数据的第一分量;可以向第一设备反馈第一分量。第一设备可以接收第一分量;可以将第一分量存入数据集中。这样在需要对明文数据进行加密时,第二设备可以根据明文数据生成密文数据的第二分量;可以从所述数据集中选择密文数据的第一分量;可以根据第一分量和第二分量计算所述明文数据的密文数据。
所述第一设备可以检测数据集的数据量是否达到阈值;若所述数据集的的数据量未达到阈值,可以向第二设备发送数据获取请求。所述阈值可以包括数据集能够容纳的最大数据量。或者,所述阈值还可以包括小于所述最大数据量的某个特定数值。
所述第二设备可以生成一个第一分量;可以反馈一个第一分量。相应地,所述第一设备可以接收一个第一分量;可以将一个第一分量存入数据集中。或者,为了提高效率,所述第二设备还可以批量生成多个第一分量;可以反馈多个第一分量。相应地,所述第一设备可以接收多个第一分量;可以将多个第一分量存入数据集中。其中,所述第一设备和所述第二设备之间可以约定,每次数据获取请求所需生成的第一分量的数量。所述第二设备可以遵从所述约定,批量生成多个第一分量。或者,所述数据获取请求中还可以携带有指定数量。所述第二设备可以生成所述指定数量个第一分量。例如,所述第一设备可以获取数据集的当前数据量;可以将所述数据集能够容纳的最大数据量减去所述当前数据量,得到所述指定数量。
本说明书实施例的数据预处理方法,可以在对明文数据进行加密之前,预先生成密文数据的第一分量,可以将第一分量存入数据集中。这样在需要对明文数据进行加密时,可以根据明文数据生成密文数据的第二分量,可以从所述数据集中选择第一分量,可以根据第一分量和第二分量计算密文数据。使得,在需要对明文数据进行加密时,能够快速获得密文数据。
本说明书实施例提供一种数据加密方法。所述数据加密方法可以应用于加密设备或者第一设备。所述加密设备和所述第一设备可以包括任何具有计算处理能力的装置、设备、平台、设备集群等。请参阅图4。所述数据加密方法用于实现在线过程,具体可以包括以下步骤。
步骤S31:根据明文数据,生成密文数据的第二分量。
在一些实施例中,所述明文数据可以包括用户数据、商品数据、交易数据、行为数据等业务数据。所述用户数据可以包括年龄、性别、职业等。所述商品数据可以包括可以商品类别、点评数据等。所述交易数据可以包括交易金额、交易渠道等。所述行为数据可以包括交易行为数据、支付行为数据等。所述明文数据可以包括文本数据、图像数据、视频数据、音频数据等。在实际应用中,所述明文数据可以是由加密设备或者第一设备生成的。或者,所述明文数据还可以是由其它设备发送给加密设备或者第一设备的。
在一些实施例中,可以根据明文数据和加密密钥(以下称为第二加密密钥),生成密文数据的第二分量。所述第二加密密钥可以包括公钥。所述第二加密密钥可以根据密钥生成算法计算得到。所述密钥生成算法可以包括椭圆曲线算法。所述第二加密密钥和所述第一加密密钥可以相同或不同。所述第二加密密钥的生成方式可以参照所述第一加密密钥的生成方式。
在实际应用中,可以采用预定算法生成密文数据的第二分量。例如,可以根据公式gm计算密文数据的第二分量。g表示第二加密密钥,m表示明文数据。
步骤S33:从数据集中选择密文数据的第一分量。
在一些实施例中,所述数据集中可以包括一个或多个密文数据的第一分量。可以从数据集中随机选择第一分量。或者,还可以采用其它方式从数据集中选择第一分量。例如,所述数据集中的第一分量可以对应有生成时间。可以从数据集中选择生成时间最早的第一分量。
在一些实施例中,为了增强密文数据的安全性,提升破解难度,对于不同的明文数据,可以使用不同的第一分量计算相应的密文数据。为此,在从数据集中选择第一分量之后,可以删除所选择的第一分量,以避免第一分量被重复使用。也就是说,数据集中的第一分量会不断地被消耗。使得,需要不断生成第一分量,以对数据集中的第一分量进行补充。
在一些实施例中,可以检测数据集是否为空。若否,可以从数据集中选择密文数据的第一分量。若是,可以生成密文数据的第一分量。具体的生成过程在此不再赘述。
步骤S35:根据第一分量和第二分量,计算所述明文数据的密文数据。
在一些实施例中,所述密文数据可以包括同态密文数据。可以采用预定算法,计算密文数据。例如,可以对第一分量和第二分量执行诸如加法、减法、乘法、或者除法等数学运算,得到密文数据。在实际应用中,可以仅根据第一分量和第二分量,计算密文数据。或者,还可以根据第一分量、第二分量以及加密密钥(以下称为第三加密密钥),计算密文数据。所述第三加密密钥可以包括公钥。所述第三加密密钥可以根据密钥生成算法计算得到。所述密钥生成算法可以包括椭圆曲线算法等。所述第三加密密钥、所述第二加密密钥和所述第一加密密钥可以不同。或者,所述第三加密密钥、所述第二加密密钥和所述第一加密密钥中的任意多个可以相同。例如,可以根据公式c=gmhrmodn计算密文数据。hr表示密文数据的第一分量,gm表示密文数据的第二分量,n表示第三加密密钥。
在一些实施例中,所述数据加密方法可以应用于第一设备。第一设备可以向第二设备发送数据获取请求。第二设备可以接收数据获取请求;可以生成密文数据的第一分量;可以向第一设备反馈第一分量。第一设备可以接收第一分量;可以将第一分量存入数据集中。
本说明书实施例的数据加密方法,在需要对明文数据进行加密时,可以根据明文数据生成密文数据的第二分量;可以从数据集中选择密文数据的第一分量;可以根据第一分量和第二分量计算密文数据。使得,在需要对明文数据进行加密时,能够快速获得密文数据。
请参阅图5。以下介绍本说明书实施例的一个场景示例。值得说明的是,所述场景示例仅是为了更好地理解本说明书实施例的技术效果,并不构成对本说明书实施例的不当限定。
在本场景示例中,可以利用密钥生成算法,生成第一加密密钥、第二加密密钥和第三加密密钥。具体地,可以生成大素数p和大素数q;可以计算n=p2q;可以生成随机数g;可以计算h=gnmod n。随机数g满足条件:g<n并且gp-1≠1modp2。则公钥可以包括(n,g,h),私钥可以包括(p,q)。所述第一加密密钥可以包括公钥h。所述第二加密密钥可以包括公钥g。所述第三加密密钥可以包括公钥n。
在本场景示例中,可以生成随机数;可以根据随机数和第一加密密钥,生成密文数据的第一分量;可以将第一分量存入数据集中。具体地,可以根据公式hr计算密文数据的第一分量。h表示第一加密密钥,r表示随机数。
在本场景示例中,在需要对明文数据进行加密时,可以根据明文数据和第二加密密钥,生成密文数据的第二分量;可以从数据集中选择第一分量;可以根据第一分量、第二分量和第三加密密钥,计算所述明文数据的密文数据。具体地,可以根据公式gm计算密文数据的第二分量。g表示第二加密密钥,m表示明文数据。具体地,可以根据公式c=gmhrmod n计算密文数据。hr表示密文数据的第一分量,gm表示密文数据的第二分量,n表示第三加密密钥。
在本场景示例中,考虑到安全性的需要,随机数r、第一加密密钥h和第二加密密钥g的二进制位数往往是2048位。明文数据m的二进制位数往往是64位。因此,相对于随机数r、第一加密密钥h和第二加密密钥g,明文数据m比较小。幂运算的计算耗时与底数大小、以及指数大小相关。由于明文数据m比较小,使得,gm的计算耗时远远小于hr的计算耗时。经验表明,hr的计算耗时大约占用98%的时间,而gm的计算耗时则大约占用2%的时间。通过预先计算hr。这样在需要对明文数据m进行加密时,可以直接获取hr的计算结果,无需再计算hr,从而可以节约98%的时间。
请参阅图6。本说明书实施例还提供一种数据预处理装置,具体可以包括以下单元。
生成单元41,用于生成密文数据的第一分量;
存储单元43,用于将第一分量存入数据集中;以便在需要对明文数据进行加密时,根据明文数据生成密文数据的第二分量,从所述数据集中选择第一分量,根据第一分量和第二分量计算密文数据。
请参阅图7。本说明书实施例还提供一种数据预处理装置,具体可以包括以下单元。
接收单元51,用于接收数据获取请求;
生成单元53,用于生成密文数据的第一分量;
反馈单元55,用于反馈第一分量;所述第一分量用于存入数据集中,在需要对明文数据进行加密时,根据明文数据生成密文数据的第二分量,从所述数据集中选择第一分量,根据第一分量和第二分量计算密文数据。
请参阅图8。本说明书实施例还提供一种加密装置,具体可以包括以下单元。
生成单元61,用于根据明文数据,生成密文数据的第二分量;
选择单元63,用于从数据集中选择密文数据的第一分量;
计算单元65,用于根据第一分量和第二分量,计算所述明文数据的密文数据。
请参阅图9。本说明书实施例还提供一种计算机设备。
所述计算机设备可以包括存储器和处理器。
所述存储器包括但不限于动态随机存取存储器(Dynamic Random AccessMemory,DRAM)和静态随机存取存储器(Static Random Access Memory,SRAM)等。所述存储器可以用于存储计算机指令。
所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以用于执行所述计算机指令以实现图3或图4所对应的实施例。
本说明书还提供计算机存储介质的一个实施例。所述计算机存储介质包括但不限于随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard Disk Drive,HDD)、存储卡(Memory Card)等等。所述计算机存储介质存储有计算机程序指令。在所述计算机程序指令被执行时实现:本说明书图3或图4所对应实施例的程序指令或模块。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例和计算机设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。另外,可以理解的是,本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (15)
1.一种数据预处理方法,包括:
生成密文数据的第一分量;
将第一分量存入数据集中;以便在需要对明文数据进行加密时,根据明文数据生成密文数据的第二分量,从所述数据集中选择第一分量,根据第一分量和第二分量计算密文数据。
2.根据权利要求1所述的方法,所述生成密文数据的第一分量,包括:
生成随机数;
根据随机数和加密密钥,生成密文数据的第一分量。
3.根据权利要求1所述的方法,所述生成密文数据的第一分量,包括:
若所述数据集的数据量未达到阈值,生成密文数据的第一分量;
或者,若不存在用于对明文数据进行加密的任务,生成密文数据的第一分量。
4.根据权利要求1所述的方法,所述密文数据包括同态密文数据。
5.一种数据预处理方法,包括:
接收数据获取请求;
生成密文数据的第一分量;
反馈第一分量;所述第一分量用于存入数据集中,在需要对明文数据进行加密时,根据明文数据生成密文数据的第二分量,从所述数据集中选择第一分量,根据第一分量和第二分量计算密文数据。
6.根据权利要求5所述的方法,所述生成密文数据的第一分量,包括:
批量生成多个第一分量;
所述反馈第一分量,包括:
反馈所述多个第一分量。
7.一种数据加密方法,包括:
根据明文数据,生成密文数据的第二分量;
从数据集中选择密文数据的第一分量;
根据第一分量和第二分量,计算所述明文数据的密文数据。
8.根据权利要求7所述的方法,所述生成密文数据的第二分量,包括:
根据明文数据和加密密钥,生成密文数据的第二分量。
9.根据权利要求7所述的方法,所述方法还包括:
从数据集中删除所选择的第一分量。
10.根据权利要求7所述的方法,所述方法还包括:
发送数据获取请求;
接收反馈的密文数据的第一分量;
将第一分量存入所述数据集中。
11.根据权利要求8所述的方法,所述密文数据包括同态密文数据。
12.一种数据预处理装置,包括:
生成单元,用于生成密文数据的第一分量;
存储单元,用于将第一分量存入数据集中;以便在需要对明文数据进行加密时,根据明文数据生成密文数据的第二分量,从所述数据集中选择第一分量,根据第一分量和第二分量计算密文数据。
13.一种数据预处理装置,包括:
接收单元,用于接收数据获取请求;
生成单元,用于生成密文数据的第一分量;
反馈单元,用于反馈第一分量;所述第一分量用于存入数据集中,在需要对明文数据进行加密时,根据明文数据生成密文数据的第二分量,从所述数据集中选择第一分量,根据第一分量和第二分量计算密文数据。
14.一种数据加密装置,包括:
生成单元,用于根据明文数据,生成密文数据的第二分量;
选择单元,用于从数据集中选择密文数据的第一分量;
计算单元,用于根据第一分量和第二分量,计算所述明文数据的密文数据。
15.一种计算机设备,包括:
至少一个处理器;
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行根据权利要求1-11中任一项所述方法的指令。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210875433.6A CN115396150A (zh) | 2022-07-25 | 2022-07-25 | 数据预处理方法、数据加密方法、装置和设备 |
US18/358,777 US20240031145A1 (en) | 2022-07-25 | 2023-07-25 | Data preprocessing methods, data encryption methods, apparatuses, and devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210875433.6A CN115396150A (zh) | 2022-07-25 | 2022-07-25 | 数据预处理方法、数据加密方法、装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115396150A true CN115396150A (zh) | 2022-11-25 |
Family
ID=84117327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210875433.6A Pending CN115396150A (zh) | 2022-07-25 | 2022-07-25 | 数据预处理方法、数据加密方法、装置和设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240031145A1 (zh) |
CN (1) | CN115396150A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973449A (zh) * | 2014-04-23 | 2014-08-06 | 南通大学 | 可证明安全的基于属性的在线/离线加密方法 |
CN108924103A (zh) * | 2018-06-22 | 2018-11-30 | 广东石油化工学院 | 面向云存储的基于身份的在线/离线可搜索加密方法 |
CN109257165A (zh) * | 2017-07-12 | 2019-01-22 | 北京嘀嘀无限科技发展有限公司 | 细粒度移动访问的加密、解密方法及加密、解密系统 |
CN109274659A (zh) * | 2018-09-05 | 2019-01-25 | 广东石油化工学院 | 一种无证书的在线/离线可搜索密文方法 |
CN109359471A (zh) * | 2018-08-20 | 2019-02-19 | 北京中测安华科技有限公司 | 基于用户身份的加密方法、装置、系统、设备和介质 |
CN110391895A (zh) * | 2019-07-31 | 2019-10-29 | 阿里巴巴集团控股有限公司 | 数据预处理方法、密文数据获取方法、装置和电子设备 |
WO2020006692A1 (zh) * | 2018-07-04 | 2020-01-09 | 深圳大学 | 一种全同态加密方法、装置和计算机可读存储介质 |
US20200266972A1 (en) * | 2019-02-19 | 2020-08-20 | International Business Machines Corporation | Computing range queries over encrypted data |
CN113987558A (zh) * | 2021-12-24 | 2022-01-28 | 杭州电子科技大学 | 离线/在线基于格的属性基加密方法 |
-
2022
- 2022-07-25 CN CN202210875433.6A patent/CN115396150A/zh active Pending
-
2023
- 2023-07-25 US US18/358,777 patent/US20240031145A1/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973449A (zh) * | 2014-04-23 | 2014-08-06 | 南通大学 | 可证明安全的基于属性的在线/离线加密方法 |
CN109257165A (zh) * | 2017-07-12 | 2019-01-22 | 北京嘀嘀无限科技发展有限公司 | 细粒度移动访问的加密、解密方法及加密、解密系统 |
CN108924103A (zh) * | 2018-06-22 | 2018-11-30 | 广东石油化工学院 | 面向云存储的基于身份的在线/离线可搜索加密方法 |
WO2020006692A1 (zh) * | 2018-07-04 | 2020-01-09 | 深圳大学 | 一种全同态加密方法、装置和计算机可读存储介质 |
CN109359471A (zh) * | 2018-08-20 | 2019-02-19 | 北京中测安华科技有限公司 | 基于用户身份的加密方法、装置、系统、设备和介质 |
CN109274659A (zh) * | 2018-09-05 | 2019-01-25 | 广东石油化工学院 | 一种无证书的在线/离线可搜索密文方法 |
US20200266972A1 (en) * | 2019-02-19 | 2020-08-20 | International Business Machines Corporation | Computing range queries over encrypted data |
CN110391895A (zh) * | 2019-07-31 | 2019-10-29 | 阿里巴巴集团控股有限公司 | 数据预处理方法、密文数据获取方法、装置和电子设备 |
CN113987558A (zh) * | 2021-12-24 | 2022-01-28 | 杭州电子科技大学 | 离线/在线基于格的属性基加密方法 |
Non-Patent Citations (1)
Title |
---|
杨攀;桂小林;姚婧;林建财;田丰;张学军;: "支持同态算术运算的数据加密方案算法研究", 通信学报, no. 01, 25 January 2015 (2015-01-25) * |
Also Published As
Publication number | Publication date |
---|---|
US20240031145A1 (en) | 2024-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11451370B2 (en) | Secure probabilistic analytics using an encrypted analytics matrix | |
WO2020253234A1 (zh) | 实现隐私保护的数据同态加解密方法及装置 | |
US11159305B2 (en) | Homomorphic data decryption method and apparatus for implementing privacy protection | |
CN110457912B (zh) | 数据处理方法、装置和电子设备 | |
WO2021017420A1 (zh) | 数据处理方法、装置和电子设备 | |
WO2020211485A1 (zh) | 数据处理方法、装置和电子设备 | |
CN110391895B (zh) | 数据预处理方法、密文数据获取方法、装置和电子设备 | |
CN111144576A (zh) | 模型训练方法、装置和电子设备 | |
CN114696990B (zh) | 基于全同态加密的多方计算方法、系统及相关设备 | |
CN113722755B (zh) | 实现隐私保护的数据处理系统、方法、装置和设备 | |
CN111404943A (zh) | 数据的处理方法、装置、电子设备及计算机可读存储介质 | |
CN111193741B (zh) | 一种信息发送方法、信息获取方法、装置及设备 | |
EP3352411B1 (en) | Method of generating cryptographic key pairs | |
CN113051592A (zh) | 文件加密方法、装置、电子设备及存储介质 | |
CN115396150A (zh) | 数据预处理方法、数据加密方法、装置和设备 | |
CN115085897A (zh) | 用于保护隐私的数据处理方法、装置和计算机设备 | |
CN111046408A (zh) | 判断结果处理方法、查询方法、装置、电子设备和系统 | |
CN111061720A (zh) | 数据筛选方法、装置和电子设备 | |
US20210297233A1 (en) | System and method for performing a fully homomorphic encryption on a plain text | |
CN114584284B (zh) | 同态加密操作方法、装置和电子设备 | |
CN115758403A (zh) | 数据加密和解密方法、装置、存储介质及电子设备 | |
CN111460514B (zh) | 数据匹配方法、装置和电子设备 | |
CN112434322A (zh) | 数据加密方法、装置、计算机设备及计算机可读存储介质 | |
Huang et al. | Updatable lossy trapdoor functions under consecutive leakage | |
CN116208322A (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 |