CN114221766A - 数据加密方法、解密方法及装置 - Google Patents

数据加密方法、解密方法及装置 Download PDF

Info

Publication number
CN114221766A
CN114221766A CN202210150825.6A CN202210150825A CN114221766A CN 114221766 A CN114221766 A CN 114221766A CN 202210150825 A CN202210150825 A CN 202210150825A CN 114221766 A CN114221766 A CN 114221766A
Authority
CN
China
Prior art keywords
plaintext
block
data
ciphertext
bit
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
CN202210150825.6A
Other languages
English (en)
Other versions
CN114221766B (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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing 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 Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202210150825.6A priority Critical patent/CN114221766B/zh
Publication of CN114221766A publication Critical patent/CN114221766A/zh
Application granted granted Critical
Publication of CN114221766B publication Critical patent/CN114221766B/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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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
    • 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
    • H04L63/0457Network 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 wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例提供了一种数据加密方法、解密方法及装置。数据加密方法包括:获取采用二进制格式表示的待加密明文数据;基于待加密明文数据的数据类型,采用对应的比特位翻转方式,对待加密明文数据进行翻转,得到保序二进制明文数据;采用顺序可见加密算法,加密保序二进制明文数据,得到密文数据。本申请实施例,实现了对正整数、负整数,以及,正浮点数、负浮点数类型的明文数据的顺序可见加密,适用范围更广泛。

Description

数据加密方法、解密方法及装置
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种数据加密方法、解密方法及装置。
背景技术
在大数据时代,数据持有者的数据经常由第三方(如云厂商托管平台等)进行托管存储,当需要对数据进行计算,如:数值比较时,通常也是交由上述第三方完成计算。然而对于敏感数据,需由数据持有者进行加密后才上传至第三方。虽然加密可以保证数据安全,满足隐私保护需求,但是,因无法解密数据,因此第三方基于加密数据通常无法进行数据计算。
顺序可见加密算法,作为一种密码学手段,不要求保持密文的二进制顺序,且能够在不泄露原始数据的情况下,基于密文数据进行数值比较。但是,现有的顺序可见加密算法仅支持正整数的加密及比较,适用范围较小。
发明内容
有鉴于此,本申请实施例提供一种数据加密方法、解密方法及装置,以至少部分解决上述问题。
根据本申请实施例的第一方面,提供了一种数据加密方法,包括:
获取采用二进制格式表示的待加密明文数据;
基于所述待加密明文数据的数据类型,采用对应的比特位翻转方式,对所述待加密明文数据进行翻转,得到保序二进制明文数据;
采用顺序可见加密算法,加密所述保序二进制明文数据,得到密文数据。
根据本申请实施例的第二方面,提供了一种数据解密方法,包括:
获取密文数据和所述密文数据对应的明文数据的数据类型;
采用与顺序可见加密算法对应的解密算法,解密所述密文数据,得到保序二进制明文数据;
根据所述数据类型,采用对应的比特位翻转方式,对所述保序二进制明文数据进行翻转,得到与所述密文数据对应的明文数据。
根据本申请实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的数据加密方法对应的操作,或者,如第二方面所述的数据解密方法对应的操作。
根据本申请实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的数据加密方法,或者,如第二方面所述的数据解密方法。
根据本申请实施例提供的数据加密方法,在获取到不同类型(例如:正整数、负整数、正浮点数或者负浮点数)的待加密明文数据之后,先基于明文数据的数据类型,对其进行了比特位的翻转,进而再采用顺序可见加密算法,对翻转后得到的保序二进制明文数据进行加密,从而得到最终的密文数据。
对于不同类型的明文数据,在对其进行标准的计算机二进制变换,得到二进制格式表示后,其二进制格式表示通常已无法保持明文数据间正确的大小关系。因此,本申请实施例中,根据明文数据的类型对其二进制格式表示进行翻转,使得翻转后的二进制格式表示(保序二进制明文数据)能够维持原始的整数(包括正整数、负整数)明文数据间的大小关系,或者,浮点数(包括正浮点数和负浮点数)明文数据间的大小关系,进而,再通过顺序可见加密算法(Order Revealing Encryption, ORE)加密后,其密文仍然可以保持原始明文数据间的大小关系,也就是说,通过本申请实施例对正整数、负整数、正浮点数或者负浮点数类型的明文数据进行加密,对于同一类型的明文数据而言,得到的密文数据仍然可以保持原始明文数据间的大小关系,即实现了对正整数、负整数,以及,正浮点数、负浮点数类型的明文数据的顺序可见加密,申请实施例的适用范围更广泛。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为根据本申请实施例一的一种数据加密方法的步骤流程图;
图2为图1所示实施例中的一种场景示例的示意图;
图3为根据本申请实施例二的一种数据加密方法的步骤流程图;
图4为图3所示实施例中得到各密文块的流程示意图;
图5为根据本申请实施例三的一种数据解密方法的步骤流程图;
图6为图5所示实施例中的一种场景示例的示意图;
图7为根据本申请实施例四的一种数据加密装置的结构框图;
图8为根据本申请实施例五的一种数据解密装置的结构框图;
图9为根据本申请实施例六的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
下面结合本申请实施例附图进一步说明本申请实施例具体实现。
实施例一
参照图1,图1为根据本申请实施例一的一种数据加密方法的步骤流程图。具体地,本实施例提供的数据加密方法包括以下步骤:
步骤102,获取采用二进制格式表示的待加密明文数据。
本申请实施例中的待加密明文数据,其数据类型可以为整数,也可以为浮点数,可以为正整数、负整数、正浮点数据或者负浮点数。
本申请实施例中,对于待加密明文数据的数据长度不做限定,例如:可以为64位,也可以位32位,等等。
步骤104,基于待加密明文数据的数据类型,采用对应的比特位翻转方式,对待加密明文数据进行翻转,得到保序二进制明文数据。
本申请中,对于比特位的具体翻转方式不做限定,任意的使得翻转后的二进制格式表示(保序二进制明文数据)能够维持原始的整数(包括正整数、负整数)明文数据间的大小关系,或者,浮点数(包括正浮点数和负浮点数)明文数据间的大小关系的翻转方式均可以。
也就是说,对于均为整数(包括正整数、负整数)类型的两个原始待加密明文数据,任意的能够保持该两个原始待加密明文数据间的大小关系的翻转方式均可以;对于均为浮点数(包括正浮点数和负浮点数)类型的两个原始待加密明文数据,任意的能够保持该两个原始待加密明文数据间的大小关系的翻转方式也均可以。
示例性地,如:若数据类型为正整数、负整数或者正浮点数,仅对待加密明文数据进行高位翻转;若数据类型为负浮点数,对待加密明文数据的所有比特位均翻转。具体地,当数据类型为正整数、负整数或者正浮点数时,仅对左起第一位(高位)比特位中的数值进行翻转,例如:左起第一位为0,则经过本步骤翻转之后,将左起第一位由0变为1,其余比特位数值均不变。当数据类型为负浮点数时,则对所有比特位中的数据均进行翻转,将原来为1的比特位变为0,将原来为0的比特位变为1。
步骤106,采用顺序可见加密算法,加密保序二进制明文数据,得到密文数据。
本申请实施例中,可以采用任意的顺序可见加密算法,对步骤104中得到的保序二进制明文数据进行加密,从而得到密文数据。
参见图2,图2为本申请实施例一对应的场景示意图,以下,将参考图2所示的示意图,以一个具体场景示例,对本申请实施例进行说明:
获取采用二进制格式表示的待加密明文数据0100…001(共64位,此处仅以64为为例进行说明,并不构成对待加密明文数据比特位数量的限定),该待加密明文数据的数据类型为正浮点数;基于其数据类型,对0100…001进行比特位的翻转操作,得到保序二进制明文数据,具体地:由于数据类型为正浮点数,因此,仅需对0100…001进行高位翻转,翻转后得到的保序二进制明文数据为1100…001;在得到保序二进制明文数据之后,采用顺序可见加密算法,加密保序二进制明文数据,得到最终的密文数据。
本申请实施例中,在获取到不同类型(例如:正整数、负整数、正浮点数或者负浮点数)的待加密明文数据之后,先基于待加密明文数据的数据类型,对其进行了比特位的翻转,进而再采用顺序可见加密算法,对翻转后得到的保序二进制明文数据进行加密,从而得到最终的密文数据。
对于不同类型的明文数据,在对其进行标准的计算机二进制变换,得到二进制表达式后,其二进制表达式通常已无法保持明文数据间正确的大小关系。此时,若直接利用ORE加密算法,得到的密文数据虽然仍能保持二进制表达式的大小关系,但是,由于二进制表达式的大小关系本身是错误的,因此直接基于ORE加密算法,得到的密文数据并不能够保持原始明文数据间的大小关系,进而,也无法根据上述密文数据进行数据比较。
因此,本申请实施例中,先根据明文数据的类型对其二进制格式表示进行翻转,使得翻转后的二进制格式表示(保序二进制明文数据)能够维持原始的整数(包括正整数、负整数)明文数据间的大小关系,或者,浮点数(包括正浮点数和负浮点数)明文数据间的大小关系,进而,再通过ORE加密后,其密文仍然可以保持原始明文数据间的大小关系,也就是说,通过本申请实施例对正整数、负整数、正浮点数或者负浮点数类型的明文数据进行加密,对于同一类型的明文数据而言,得到的密文数据仍然可以保持原始明文数据间的大小关系,即实现了对正整数、负整数,以及,正浮点数、负浮点数类型的明文数据的顺序可见加密,申请实施例的适用范围更广泛。
本实施例的数据加密方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于: PC机以及服务器等。
实施例二
参照图3,图3为根据本申请实施例二的一种数据加密方法的步骤流程图。具体地,本实施例提供的数据加密方法包括以下步骤:
步骤302,获取采用二进制格式表示的待加密明文数据。
步骤304,基于待加密明文数据的数据类型,采用对应的比特位翻转方式,对待加密明文数据进行翻转,得到保序二进制明文数据。
其中,若数据类型为正整数、负整数或者正浮点数,仅对待加密明文数据进行高位翻转;若数据类型为负浮点数,对待加密明文数据的所有比特位均翻转。
步骤306,按照从最高比特位到最低比特位的顺序,对保序二进制明文数据进行切分,得到由多个明文块组成的明文块集合。
其中,每个明文块包含第一预设数量个比特位;第一预设数量为小于或者等于6的自然数。
以第一预设数量为6,保序二进制明文数据的比特位数量为64为例,由于64不是6的整数倍,因此,在保序二进制明书数据中填加2个数值为0的比特位(可以添加至保序二进制明文数据中的任何位置,例如:头部(最左侧)、尾部(最右侧)或者中间的任意位置),得到66位的保序二进制明文数据,之后,可以按照从高位到低位的顺序(从左到右的顺序)将到66位的保序二进制明文数据均匀地切分为由11个明文块(该11个明文块组成明文块集合),具体地,从左到右依次包括:第1个明文块、第2个明文块、……、第11个明文块。每个明文块中包含6个比特位。
步骤308,对各第一明文块进行比特位扩充,得到扩充后明文块,并在位于头部的扩充后明文块之前添加补充明文块,补充明文块与扩充后明文块包含的比特位相同;其中,第一明文块为除位于除明文块集合中最后一个明文块之外的其余明文块。
由于每个明文块的比特位数最多为6位,而现有的加密算法,如分组连接解密模式AES-CBC,要求输入数据的比特位为128,因此,可以先对明文块进行比特位扩充处理,得到满足现有的加密算法要求的扩充后明文块。需要注意的是,本申请实施例中,无需对明文块集合中最后一个(或者说,位于最右侧)的明文块进行扩充,而仅对其余明文块(本申请实施例中的第一明文块)进行扩充。
为便于理解,还以上述由11个明文块组成的明文块集合为例,其中,除了第11个明文块之外,其余的明文块(如:第1个明文块、第2个明文块、……、第10个明文块)均称为第一明文块。
本申请实施例中,根据现有加密算法的需求,还需要在位于头部(最左侧)的扩充后明文块之前添加一个补充明文块,以完成对各明文块的加密,本申请实施例中对于该补充明文块的具体数值不做限定,例如,常用的,补充明文块可以为全零块(即所有比特位的数值均为0)。
步骤310,分别对各扩充后明文块和补充明文块进行加密,得到对应的第一随机密文块。
可选地,在其中一些实施例中,补充明文块与扩充后明文块中均包括128个比特位;具体地可以通过如下方式,得到各扩充后明文块或者补充明文块对应的第一随机密文块,包括:
获取加密密钥;基于加密密钥,采用分组连接加密模式AES-CBC,分别对各扩充后明文块和补充明文块进行加密,得到对应的第一随机密文块。
具体地,经过上述步骤,针对每个扩充后明文块可以得到一个对应的比特位数量为128的第一随机密文块;同样地,针对补充明文块也可以得到一个对应的比特位数量为128的第一随机密文块。
步骤312,针对各第一随机密文块,基于该第一随机密文块对应的明文块,采用预设比特位选取原则,从该第一随机密文块中选择第一预设数量个比特组,组成第二随机密文块。
其中,每个比特组中包括多个比特位,不同比特组对应第一随机密文块中的不同比特位。
可选地,在其中一些实施例中,针对各第一随机密文块,基于该第一随机密文块对应的明文块,采用预设比特位选取原则,从该第一随机密文块中选择第一预设数量个比特组,组成第二随机密文块,可以包括:
按照第一比特位选取原则,从该第一随机密文块中选择多个比特位,得到第1个比特组;针对第i个比特组,根据该第一随机密文块对应的明文块中的前i-1个比特位中的数值,按照第二比特位选取原则,从该第一随机密文块中选择多个比特位,得到第i个比特组;其中,i≥2。
以每个比特组中包括2个比特位为例进行说明,预设比特位选取原则可以为:可以先从第一随机密文块中选择2个比特位,作为第1个比特组,具体的第一比特位选取原则可以任意设定,例如:可以为将第一随机密文块中的第1、2比特位选取出来,作为第1比特组,也可以将第一随机密文块中的其他两个比特位选取出来,作为第1比特组,也就是,可以从128位的第一随机密文块中选择任意的两个比特位,组成第1比特组;之后,对于第i个比特组,可以根据第一随机密文块对应的明文块中的前i-1个比特位中的数值,按照第二比特位选取原则,从该第一随机密文块中未被选择的比特位中选择2个比特位,组成第i个比特组,此处对于第二比特位选取原则的具体内容也不做限定。
例如:具体的,第一比特位选取原则可以为:将第一随机密文块中的第1、2比特位选取出来,作为第1个比特组;第二比特位选取原则可以为:针对第2个比特组,当第一随机密文块对应的明文块中的第1个比特位为0时,选取第一随机密文块中的第3、4比特位组成第2个比特组;当第一随机密文块对应的明文块中的第1个比特位为1时,选取第一随机密文块中的第5、6比特位组成第2个比特组;针对第2个比特组,当第一随机密文块对应的明文块中的前2个比特位为“00”时,选取第一随机密文块中的第7、8比特位组成第2个比特组;当第一随机密文块对应的明文块中的前2个比特位为“01”时,选取第一随机密文块中的第9、10比特位组成第2个比特组;当第一随机密文块对应的明文块中的前2个比特位为“10”时,选取第一随机密文块中的第11、12比特位组成第2个比特组;当第一随机密文块对应的明文块中的前2个比特位为“11”时,选取第一随机密文块中的第13、14比特位组成第2个比特组;依次类推,直至得到最后一个比特组。
步骤314,针对各第二随机密文块,将该第二随机密文块和第一目标明文块相加,并对相加结果取模,得到最终密文块。
其中,密文数据由各最终密文块拼接而成,第一目标明文块为与该第二随机密文块对应的第一明文块的尾部相邻的明文块。
还以上述由11个明文块组成的明文块集合为例,假设该第二随机密文块对应的第一明文块为明文块集合中从左向右的第1个明文块,则第一目标明文块则为第1个明文块;假设该第二随机密文块对应的第一明文块为明文块集合中从左向右的第10个明文块,则第一目标明文块则为第11个明文块,等等。
可选地,在其中一些实施例中,对相加结果取模,得到最终密文块,可以包括:
获取基于预先建立的第一预设数量与模数值的对应关系确定的目标模数值;
基于目标模数值,对相加结果取模,得到最终密文块。
具体的,如上述步骤306中所指出的,本申请实施例中第一预设数量可以为小于或者等于6的任一自然数,第一预设数量的取值是与目标模数值相关的,也就是说,第一预设数量的取值与目标模数值之间是满足一定关系的,目标模数值可以有多种不同的取值,对应的,第一预设数量也可以有多种不同的取值。
本申请实施例中,第一预设数量与模数值的对应关系可以通过下述等式表示:
D=floor(log2(logn(2128)))
其中,D为第一预设数量,n为模数值;floor表示向下取整数。
本申请实施例中,n的取值范围为:大于或者等于3,且,小于或者等于2128。
通过上式可知,当n取3或者4时,第一预设数量可以取最大值:6。
另外,本申请实施例中,针对步骤312中组成的多个比特组,每个比特组中包括的比特位数量是与本步骤中的目标模数值相关的,具体地:每个比特组中包括的比特位数量等于目标模数值的二进制格式表示所占用的比特位数量。例如: 若目标模数值为4,则比特组中包括的比特位数量2,若目标模数值为5,则比特组中包括的比特位数量为3。
步骤316,按照各明文块的先后顺序,拼接对应的密文块,得到密文数据。
参见图4,图4为图3所示实施例中得到各密文块的流程示意图,以下,将参考图4,对本申请实施例上述步骤进行说明:
在获取到保序二进制明文数据之后,按照从最高比特位到最低比特位的顺序,对所述保序二进制明文数据进行切分,得到了多个明文块组成的明文块集合;对各第一明文块(除了位于明文块集合尾部的明文块之外的其余明文块)进行比特位扩充,得到扩充后明文块(例如,从第一预设数量个比特位扩充为128比特位),并在位于头部的扩充后明文块之前添加一个补充明文块(均为128比特位);采用AES-CBC加密方法分别对各扩充后明文块和补充明文块进行加密,得到分别与各扩充后明文块以及补充明文块对应的第一随机密文块(每个第一随机密文块均为128个比特位);针对各第一随机密文块,基于该第一随机密文块对应的明文块,采用预设比特位选取原则,从该第一随机密文块中选择第一预设数量个比特组,组成第二随机密文块;针对各第二随机密文块,将该第二随机密文块和第一目标明文块(与该第二随机密文块对应的第一明文块的尾部相邻的明文块)相加,并对相加结果取模,得到最终密文块,以图4中最右侧的第二随机密文块为例,可以将该第二随机密文块和最后一个明文块相加,再对相加得到的结果取模,即可得到最后一个明文块对应的(最终)密文块。
对于不同类型的明文数据,在对其进行标准的计算机二进制变换,得到二进制格式表示后,其二进制格式表示通常已无法保持明文数据间正确的大小关系。本申请实施例中,根据明文数据的类型对其二进制格式表示进行翻转,使得翻转后的二进制格式表示(保序二进制明文数据)能够维持原始的整数(包括正整数、负整数)明文数据间的大小关系,或者,浮点数(包括正浮点数和负浮点数)明文数据间的大小关系,进而,再通过ORE加密后,其密文仍然可以保持原始明文数据间的大小关系,也就是说,通过本申请实施例对正整数、负整数、正浮点数或者负浮点数类型的明文数据进行加密,对于同一类型的明文数据而言,得到的密文数据仍然可以保持原始明文数据间的大小关系,即实现了对正整数、负整数,以及,正浮点数、负浮点数类型的明文数据的顺序可见加密,申请实施例的适用范围更广泛。
另外,本申请实施例,在对保序二进制明文数据进行切分时,是切分为长度小于或者等于6的明文块,之后,再针对每个明文块,采用AES-CBC加密方法得到对应的128比特位第一随机密文块,进而基于本申请实施例中预设的比特位选择原则从128比特位第一随机密文块中进行选择,从而得到对应的第二随机密文块,并最终得到各明文块对应的密文块,也即:本申请实施例中,可以利用AES-CBC加密方法提供的128比特位的第一随机密文块,对长度为第一预设数量的1个明文块进行加密。
当明文块的长度取值(也即第一预设数量)为大于1并且小于或者等于6的自然数时,本申请实施例中,则可以利用AES-CBC加密方法提供的128比特位的1个第一随机密文块,对长度为大于1的明文块进行加密,与现有的,仅能基于AES-CBC加密方法提供的128比特位密文,对1个比特位进行加密的方式相比,本申请实施例充分利用了AES-CBC提供的128比特位的密文,同时对多个比特位明文进行加密,因此,有效提高了数据加密的效率,优化了加密性能。
本实施例的数据加密方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于: PC机以及服务器等。
实施例三
参照图5,图5为根据本申请实施例三的一种数据解密方法的步骤流程图。具体地,本实施例提供的数据解密方法包括以下步骤:
步骤502,获取密文数据和密文数据对应的明文数据的数据类型。
步骤504,采用与顺序可见加密算法对应的解密算法,解密密文数据,得到保序二进制明文数据。
步骤506,根据数据类型,采用对应的比特位翻转方式,对保序二进制明文数据进行翻转,得到与密文数据对应的明文数据。
在数据加密阶段,采用了与待加密明文数据的数据类型对应的比特位翻转方式,对待加密明文数据进行了翻转,对应地数据解密阶段,在本步骤中可以采用与数据加密阶段的比特位翻转方式相对应(或者说相匹配)的比特位翻转方式对解密得到的保序二进制明文数据进行翻转,从而得到与密文数据对应的明文数据。
例如:若在数据加密阶段,比特位翻转方式为:若数据类型为正整数、负整数或者正浮点数,仅对待加密明文数据进行高位翻转;若数据类型为负浮点数,对待加密明文数据的所有比特位均翻转。则,在本步骤中,比特位翻转方式可以为:若数据类型为正整数、负整数或者正浮点数,仅对保序二进制明文数据进行高位翻转;若数据类型为负浮点数,对保序二进制明文数据的所有比特位均翻转。
参见图6,图6为本申请实施例三对应的场景示意图,以下,将参考图6所示的示意图,以一个具体场景示例,对本申请实施例进行说明:
获取密文数据和密文数据对应的明文数据的数据类型:正浮点数;采用与顺序可见加密算法对应的解密算法,解密密文数据,得到保序二进制明文数据:1100…001(共64位,此处仅以64为为例进行说明,并不构成对保序二进制明文数据比特位数量的限定);由于数据类型为正浮点数,因此,仅需对1100…001进行高位翻转,翻转后得到与密文数据对应的明文数据:0100…001(共64位)。
本申请实施例中,在获取到密文数据和密文数据对应的明文数据的数据类型之后,先采用与顺序可见加密算法对应的解密算法对密文数据进行了解密,得到了保序二进制明文数据,由于为了使得针对整数类型的明文数据,或者,浮点数类型的明文数据,最终得到的密文数据均能保持原始明文数据间的大小关系,上述保序二进制明文数据是对二进制格式表示的明文数据进行比特位翻转得到的,因此,本申请实施例中,在得到保序二进制明文数据之后,采用对应的比特位翻转方式,对保序二进制明文数据进行翻转,从而得到了最终的明文数据。保证了针对不同数据类型的密文数据,能够正确解密出对应的明文数据。
可选地,在其中一些实施例中,步骤504可以通过如下具体方式实现:
按照从最高比特位到最低比特位的顺序,将密文数据切分为多个密文块;每个密文块包含第一预设数量个比特组;第一预设数量为小于或者等于6的自然数;
采用与顺序可见加密算法对应的解密算法,分别对各密文块解密,得到各密文块对应的明文块;
按照各密文块的先后顺序,拼接对应的明文块,得到保序二进制明文数据。
进一步地,在得到多个密文块之后,可以通过如下方式得到各密文块对应的明文块:
基于解密密钥和预设补充明文块,采用分组连接解密模式AES-CBC,得到第一个密文块对应的第一随机密文块;
按照预设比特位选取原则,从第一个密文块对应的第一随机密文块中选择第一预设数量个比特组,组成第一个密文块对应的第二随机密文块;
将第一个密文块和对应的第二随机密文块相减,并对结果取模,得到第一个密文块对应的明文块;
基于第m个密文块对应的第一随机密文块,和第m个密文块对应的明文块,采用分组连接解密模式AES-CBC,得到第m+1个密文块对应的第一随机密文块;其中, m≥1;
按照预设比特位选取原则,从第m+1个密文块对应的第一随机密文块中选择第一预设数量个比特组,组成第m+1个密文块对应的第二随机密文块;
将第m+1个密文块和对应的第二随机密文块相减,并对结果取模,得到第m+1个密文块对应的明文块。
具体地,以每个比特组中包括2个比特位为例进行说明,预设比特位选取原则可以分为:在选择第二随机密文块中的第1个比特组时,根据第一比特位选取原则(同数据加密过程中的第一比特位选取原则)进行选择,得到第二随机密文块中的第1个比特组之后,可以将第二随机密文块中的第1个比特组与密文块中的第1个比特组相减,并对结果取模4,从而得到明文块中的第1个比特位中的数值;之后,对于第i个比特组,可以根据上述求出的明文块中的前i-1个比特位中的数值,按照第二比特位选取原则(同数据加密过程中的第二比特位选取原则),从该第一随机密文块中选择的2个比特位,组成第i个比特组,其中,i≥1,当i=6时,可以得到第二随机密文块中的最后1个比特组,同时,也可以得到对应的明文块。
为便于理解,下面通过举例的方式进行说明:
假设密文块为:00 01 10 01 01 00(共6个比特组,每个比特组中包括2个比特位);先通过分组连接解密模式AES-CBC,基于解密密钥和预设补充明文块,得到密文块中第1个比特组“00”对应的第一随机密文块M1=11100101110101…1010010,接下来先将密文块中第1个比特组“00”与第一随机密文块M1中第1个比特组(即为第二随机密文块中的第1个比特组)相减,并取模4,从而得到上述密文块对应的明文块的第1个比特位m1=1;之后,基于明文块的第1个比特位m1=1,以及数据加密过程中的第二比特位选取原则(假设第二比特位选取原则为:当明文块的第1个比特位为1时,将第一随机密文块中的第5、6比特位组成第二随机密文块中的第2个比特组),则可以确定出第二随机密文块中的第2个比特组为“01”,之后,再将密文块中第2个比特组“01”与第二随机密文块中第2个比特组“01”相减,并取模4,从而得到上述密文块对应的明文块的第2个比特位m2=0,……,依次类推,则可以得到密文块对应的完整明文块。
上述步骤中,对结果取模,可以包括:获取基于预先建立的第一预设数量与模数值对应关系确定的目标模数值;基于目标模数值,对结果取模。
具体的,本申请实施例中第一预设数量可以为小于或者等于6的任一自然数,第一预设数量的取值是与目标模数值相关的,也就是说,第一预设数量的取值与目标模数值之间是满足一定关系的,目标模数值可以有多种不同的取值,对应的,第一预设数量也可以有多种不同的取值。
本申请实施例中,第一预设数量与模数值的对应关系可以通过下述等式表示:
D=floor(log2(logn(2128)))
其中,D为第一预设数量,n为模数值;floor表示向下取整数。
本申请实施例中,n的取值范围为:大于或者等于3,且,小于或者等于2128。
通过上式可知,当n取3或者4时,第一预设数量可以取最大值:6。
另外,本申请实施例中,针对上述每个比特组,其中包括的比特位数量也是与目标模数值相关的,具体地:每个比特组中包括的比特位数量等于目标模数值的二进制格式表示所占用的比特位数量。例如: 若目标模数值为4,则比特组中包括的比特位数量2,若目标模数值为5,则比特组中包括的比特位数量为3。
本实施例的数据解密方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于: PC机以及服务器等。
实施例四
参见图7,图7为根据本申请实施例四的一种数据加密装置的结构框图。本申请实施例提供的数据加密装置包括:
待加密明文数据获取模块702,用于获取采用二进制格式表示的待加密明文数据;
第一翻转模块704,用于基于待加密明文数据的数据类型,采用对应的比特位翻转方式,对待加密明文数据进行翻转,得到保序二进制明文数据;
加密模块706,用于采用顺序可见加密算法,加密保序二进制明文数据,得到密文数据。
可选地,在其中一些实施例中,加密模块706,具体用于:
按照从最高比特位到最低比特位的顺序,对保序二进制明文数据进行切分,得到由多个明文块组成的明文块集合,每个明文块包含第一预设数量个比特位;第一预设数量为小于或者等于6的自然数;
分别对各明文块进行顺序可见加密,得到各明文块对应的密文块;
按照各明文块的先后顺序,拼接对应的密文块,得到密文数据。
可选地,在其中一些实施例中,加密模块706,在执行分别对各明文块进行顺序可见加密,得到各明文块对应的密文块的步骤时,具体用于:
对各第一明文块进行比特位扩充,得到扩充后明文块,并在位于头部的扩充后明文块之前添加补充明文块,补充明文块与扩充后明文块包含的比特位相同;其中,第一明文块为除明文块集合中最后一个明文块之外的其余明文块;
分别对各扩充后明文块和补充明文块进行加密,得到对应的第一随机密文块;
针对各第一随机密文块,基于该第一随机密文块对应的明文块,采用预设比特位选取原则,从该第一随机密文块中选择第一预设数量个比特组,组成第二随机密文块,其中,每个比特组中包括多个比特位,不同比特组对应第一随机密文块中的不同比特位;
针对各第二随机密文块,将该第二随机密文块和第一目标明文块相加,并对相加结果取模,得到最终密文块,其中,密文数据由各最终密文块拼接而成,第一目标明文块为与该第二随机密文块对应的第一明文块的尾部相邻的明文块。
可选地,在其中一些实施例中,加密模块706,在执行针对各第一随机密文块,基于该第一随机密文块对应的明文块,采用预设比特位选取原则,从该第一随机密文块中选择第一预设数量个比特组,组成第二随机密文块的步骤时,具体用于:
按照第一比特位选取原则,从该第一随机密文块中选择多个比特位,得到第1个比特组;
针对第i个比特组,根据该第一随机密文块对应的明文块中的前i-1个比特位中的数值,按照第二比特位选取原则,从该第一随机密文块中选择多个比特位,得到第i个比特组;其中,i≥2。
可选地,在其中一些实施例中,补充明文块与扩充后明文块中均包括128个比特位;加密模块706,在执行分别对各扩充后明文块和补充明文块进行加密,得到对应的第一随机密文块的步骤时,具体用于:
获取加密密钥;
基于加密密钥,采用分组连接加密模式AES-CBC,分别对各扩充后明文块和补充明文块进行加密,得到对应的第一随机密文块。
可选地,在其中一些实施例中,加密模块706,在执行对相加结果取模,得到最终密文块的步骤时,具体用于:
获取基于预先建立的第一预设数量与模数值的对应关系确定的目标模数值;
基于目标模数值,对相加结果取模,得到最终密文块。
可选地,在其中一些实施例中,每个比特组中包括的比特位数量等于目标模数值的二进制格式表示所占用的比特位数量。
可选地,在其中一些实施例中,第一翻转模块704,具体用于:若所述待加密明文数据的数据类型为正整数、负整数或者正浮点数,仅对所述待加密明文数据进行高位翻转;
若所述待加密明文数据的数据类型为负浮点数,对所述待加密明文数据的所有比特位均翻转。
本实施例的数据加密装置用于实现前述多个方法实施例中相应的数据加密方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的数据加密装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
实施例五
参见图8,图8为根据本申请实施例五的一种数据解密装置的结构框图。本申请实施例提供的数据解密装置包括:
密文数据获取模块802,用于获取密文数据和密文数据对应的明文数据的数据类型;
解码模块804,用于采用与顺序可见加密算法对应的解密算法,解密密文数据,得到保序二进制明文数据;
第二翻转模块806,用于根据数据类型,采用对应的比特位翻转方式,对保序二进制明文数据进行翻转,得到与密文数据对应的明文数据。
可选地,在其中一些实施例中,解码模块804,具体用于:按照从最高比特位到最低比特位的顺序,将密文数据切分为多个密文块;每个密文块包含第一预设数量个比特组;第一预设数量为小于或者等于6的自然数;
采用与顺序可见加密算法对应的解密算法,分别对各密文块解密,得到各密文块对应的明文块;
按照各密文块的先后顺序,拼接对应的明文块,得到保序二进制明文数据。
可选地,在其中一些实施例中,解码模块804在执行采用与顺序可见加密算法对应的解密算法,分别对各密文块解密,得到各密文块对应的明文块的步骤时,具体用于:
基于解密密钥和预设补充明文块,采用分组连接解密模式AES-CBC,得到第一个密文块对应的第一随机密文块;
按照预设比特位选取原则,从第一个密文块对应的第一随机密文块中选择第一预设数量个比特组,组成第一个密文块对应的第二随机密文块;
将第一个密文块和对应的第二随机密文块相减,并对结果取模,得到第一个密文块对应的明文块;
基于第m个密文块对应的第一随机密文块,和第m个密文块对应的明文块,采用分组连接解密模式AES-CBC,得到第m+1个密文块对应的第一随机密文块;其中, m≥1;
按照预设比特位选取原则,从第m+1个密文块对应的第一随机密文块中选择第一预设数量个比特组,组成第m+1个密文块对应的第二随机密文块;
将第m+1个密文块和对应的第二随机密文块相减,并对结果取模,得到第m+1个密文块对应的明文块。
可选地,在其中一些实施例中,解码模块804在执行对结果取模的步骤时,具体用于:
获取基于预先建立的第一预设数量与模数值对应关系确定的目标模数值;
基于目标模数值,对结果取模。
本实施例的数据解密装置用于实现前述多个方法实施例中相应的数据解密方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的数据解密装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
实施例六
参照图9,示出了根据本申请实施例六的一种电子设备的结构示意图,本申请具体实施例并不对电子设备的具体实现做限定。
如图9所示,该电子设备可以包括:处理器(processor) 902、通信接口(Communications Interface) 904、存储器(memory) 906、以及通信总线908。
其中:
处理器902、通信接口904、以及存储器906通过通信总线908完成相互间的通信。
通信接口904,用于与其它电子设备或服务器进行通信。
处理器902,用于执行程序910,具体可以执行上述数据加密方法,或者,数据解密方法实施例中的相关步骤。
具体地,程序910可以包括程序代码,该程序代码包括计算机操作指令。
处理器902可能是CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器906,用于存放程序910。存储器906可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序910具体可以用于使得处理器902执行以下操作:获取采用二进制格式表示的待加密明文数据;基于待加密明文数据的数据类型,采用对应的比特位翻转方式,对待加密明文数据进行翻转,得到保序二进制明文数据;采用顺序可见加密算法,加密保序二进制明文数据,得到密文数据。
或者,
程序910具体可以用于使得处理器902执行以下操作:获取密文数据和密文数据对应的明文数据的数据类型;采用与顺序可见加密算法对应的解密算法,解密密文数据,得到保序二进制明文数据;根据数据类型,采用对应的比特位翻转方式,对保序二进制明文数据进行翻转,得到与密文数据对应的明文数据。
程序910中各步骤的具体实现可以参见上述数据加密方法,或者,数据解密方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例的电子设备,在获取到不同类型(例如:正整数、负整数、正浮点数或者负浮点数)的待加密明文数据之后,先基于明文数据的数据类型,对其进行了比特位的翻转,进而再采用顺序可见加密算法,对翻转后得到的保序二进制明文数据进行加密,从而得到最终的密文数据。
对于不同类型的明文数据,在对其进行标准的计算机二进制变换,得到二进制格式表示后,其二进制格式表示通常已无法保持明文数据间正确的大小关系。因此,本申请实施例中,根据明文数据的类型对其二进制格式表示进行翻转,使得翻转后的二进制格式表示(保序二进制明文数据)能够维持原始的整数(包括正整数、负整数)明文数据间的大小关系,或者,浮点数(包括正浮点数和负浮点数)明文数据间的大小关系,进而,再通过顺序可见加密算法(Order Revealing Encryption, ORE)加密后,其密文仍然可以保持原始明文数据间的大小关系,也就是说,通过本申请实施例对正整数、负整数、正浮点数或者负浮点数类型的明文数据进行加密,对于同一类型的明文数据而言,得到的密文数据仍然可以保持原始明文数据间的大小关系,即实现了对正整数、负整数,以及,正浮点数、负浮点数类型的明文数据的顺序可见加密,申请实施例的适用范围更广泛。
本申请实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一数据加密方法,或者,数据解密方法对应的操作。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的数据加密方法,或者,数据解密方法。此外,当通用计算机访问用于实现在此示出的数据加密方法,或者,数据解密方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的数据加密方法,或者,数据解密方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。

Claims (14)

1.一种数据加密方法,包括:
获取采用二进制格式表示的待加密明文数据;
基于所述待加密明文数据的数据类型,采用对应的比特位翻转方式,对所述待加密明文数据进行翻转,得到保序二进制明文数据;
采用顺序可见加密算法,加密所述保序二进制明文数据,得到密文数据。
2.根据权利要求1所述的方法,其中,所述采用顺序可见加密算法,加密所述保序二进制明文数据,得到密文数据,包括:
按照从最高比特位到最低比特位的顺序,对所述保序二进制明文数据进行切分,得到由多个明文块组成的明文块集合,每个明文块包含第一预设数量个比特位;所述第一预设数量为小于或者等于6的自然数;
分别对各明文块进行顺序可见加密,得到各明文块对应的密文块;
按照各明文块的先后顺序,拼接对应的密文块,得到密文数据。
3.根据权利要求2所述的方法,其中,所述分别对各明文块进行顺序可见加密,得到各明文块对应的密文块,包括:
对各第一明文块进行比特位扩充,得到扩充后明文块,并在位于头部的扩充后明文块之前添加补充明文块,所述补充明文块与所述扩充后明文块包含的比特位相同;其中,所述第一明文块为除所述明文块集合中最后一个明文块之外的其余明文块;
分别对各扩充后明文块和所述补充明文块进行加密,得到对应的第一随机密文块;
针对各第一随机密文块,基于该第一随机密文块对应的明文块,采用预设比特位选取原则,从该第一随机密文块中选择所述第一预设数量个比特组,组成第二随机密文块,其中,每个比特组中包括多个比特位,不同比特组对应第一随机密文块中的不同比特位;
针对各第二随机密文块,将该第二随机密文块和第一目标明文块相加,并对相加结果取模,得到最终密文块,其中,所述密文数据由各最终密文块拼接而成,所述第一目标明文块为与该第二随机密文块对应的第一明文块的尾部相邻的明文块。
4.根据权利要求3所述的方法,其中,所述针对各第一随机密文块,基于该第一随机密文块对应的明文块,采用预设比特位选取原则,从该第一随机密文块中选择所述第一预设数量个比特组,组成第二随机密文块,包括:
按照第一比特位选取原则,从该第一随机密文块中选择多个比特位,得到第1个比特组;
针对第i个比特组,根据该第一随机密文块对应的明文块中的前i-1个比特位中的数值,按照第二比特位选取原则,从该第一随机密文块中选择多个比特位,得到第i个比特组;其中,i≥2。
5.根据权利要求3所述的方法,其中,所述补充明文块与所述扩充后明文块中均包括128个比特位;
所述分别对各扩充后明文块和所述补充明文块进行加密,得到对应的第一随机密文块,包括:
获取加密密钥;
基于所述加密密钥,采用分组连接加密模式AES-CBC,分别对各扩充后明文块和所述补充明文块进行加密,得到对应的第一随机密文块。
6.根据权利要求3所述的方法,其中,所述对相加结果取模,得到最终密文块,包括:
获取基于预先建立的第一预设数量与模数值的对应关系确定的目标模数值;
基于所述目标模数值,对相加结果取模,得到最终密文块。
7.根据权利要求3所述的方法,其中,所述每个比特组中包括的比特位数量等于所述目标模数值的二进制格式表示所占用的比特位数量。
8.根据权利要求1所述的方法,其中,所述基于所述待加密明文数据的数据类型,采用对应的比特位翻转方式,对所述待加密明文数据进行翻转,得到保序二进制明文数据,包括:
若所述待加密明文数据的数据类型为正整数、负整数或者正浮点数,仅对所述待加密明文数据进行高位翻转;
若所述待加密明文数据的数据类型为负浮点数,对所述待加密明文数据的所有比特位均翻转。
9.一种数据解密方法,包括:
获取密文数据和所述密文数据对应的明文数据的数据类型;
采用与顺序可见加密算法对应的解密算法,解密所述密文数据,得到保序二进制明文数据;
根据所述数据类型,采用对应的比特位翻转方式,对所述保序二进制明文数据进行翻转,得到与所述密文数据对应的明文数据。
10.根据权利要求9所述的方法,其中,所述采用与顺序可见加密算法对应的解密算法,解密所述密文数据,得到保序二进制明文数据,包括:
按照从最高比特位到最低比特位的顺序,将密文数据切分为多个密文块;每个密文块包含第一预设数量个比特组;所述第一预设数量为小于或者等于6的自然数;
采用与顺序可见加密算法对应的解密算法,分别对各密文块解密,得到各密文块对应的明文块;
按照各密文块的先后顺序,拼接对应的明文块,得到保序二进制明文数据。
11.根据权利要求10所述的方法,其中,所述采用与顺序可见加密算法对应的解密算法,分别对各密文块解密,得到各密文块对应的明文块,包括:
基于解密密钥和预设补充明文块,采用分组连接解密模式AES-CBC,得到第一个密文块对应的第一随机密文块;
按照预设比特位选取原则,从所述第一个密文块对应的第一随机密文块中选择所述第一预设数量个比特组,组成第一个密文块对应的第二随机密文块;
将所述第一个密文块和对应的第二随机密文块相减,并对结果取模,得到第一个密文块对应的明文块;
基于第m个密文块对应的第一随机密文块,和第m个密文块对应的明文块,采用分组连接解密模式AES-CBC,得到第m+1个密文块对应的第一随机密文块;其中, m≥1;
按照所述预设比特位选取原则,从所述第m+1个密文块对应的第一随机密文块中选择所述第一预设数量个比特组,组成第m+1个密文块对应的第二随机密文块;
将所述第m+1个密文块和对应的第二随机密文块相减,并对结果取模,得到第m+1个密文块对应的明文块。
12.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-8中任一项所述的数据加密方法对应的操作,或者,如权利要求9-11中任一所述的数据解密方法对应的操作。
13.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-8中任一所述的数据加密方法,或者,如权利要求9-11中任一所述的数据解密方法。
14.一种计算机程序产品,包括计算机指令,所述计算机指令指示计算设备执行如权利要求1-8中任一所述的数据加密方法对应的操作,或者,如权利要求9-11中任一所述的数据解密方法对应的操作。
CN202210150825.6A 2022-02-18 2022-02-18 数据加密方法、解密方法及装置 Active CN114221766B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210150825.6A CN114221766B (zh) 2022-02-18 2022-02-18 数据加密方法、解密方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210150825.6A CN114221766B (zh) 2022-02-18 2022-02-18 数据加密方法、解密方法及装置

Publications (2)

Publication Number Publication Date
CN114221766A true CN114221766A (zh) 2022-03-22
CN114221766B CN114221766B (zh) 2022-05-20

Family

ID=80708927

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210150825.6A Active CN114221766B (zh) 2022-02-18 2022-02-18 数据加密方法、解密方法及装置

Country Status (1)

Country Link
CN (1) CN114221766B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114629649A (zh) * 2022-05-10 2022-06-14 深圳市搜了网络科技股份有限公司 基于云计算的数据处理方法、装置及存储介质
CN115913660A (zh) * 2022-10-31 2023-04-04 柴竹菁 一种数据加密方法、装置、电子设备及可读存储介质
CN117499159A (zh) * 2023-12-27 2024-02-02 杭州字节方舟科技有限公司 一种基于区块链的数据交易方法、装置及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140321639A1 (en) * 2013-04-30 2014-10-30 The Government Of The United States As Represented By The Secretary Of The Air Force Apparatus and method to prevent side channel power attacks in advanced encryption standard using floating point operation
CN105260981A (zh) * 2015-10-08 2016-01-20 宁波大学 基于分组置换的最优匹配图像隐写方法
CN106571905A (zh) * 2016-11-02 2017-04-19 南京邮电大学 一种数值型数据同态保序加密方法
CN109495430A (zh) * 2017-09-13 2019-03-19 杭州弗兰科信息安全科技有限公司 一种基于泄序加密的解密算法
KR20200039979A (ko) * 2018-10-08 2020-04-17 세종대학교산학협력단 순서 노출 암호화를 위한 장치 및 방법
CN111538473A (zh) * 2020-04-27 2020-08-14 西安交通大学 一种Posit浮点数处理器
CN112380557A (zh) * 2020-12-01 2021-02-19 江西师范大学 一种关系型数据库加密方法及该加密数据库查询方法
CN113254971A (zh) * 2021-06-09 2021-08-13 中国电子科技集团公司第三十研究所 一种基于揭序加密的多数据类型密文比较方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140321639A1 (en) * 2013-04-30 2014-10-30 The Government Of The United States As Represented By The Secretary Of The Air Force Apparatus and method to prevent side channel power attacks in advanced encryption standard using floating point operation
CN105260981A (zh) * 2015-10-08 2016-01-20 宁波大学 基于分组置换的最优匹配图像隐写方法
CN106571905A (zh) * 2016-11-02 2017-04-19 南京邮电大学 一种数值型数据同态保序加密方法
CN109495430A (zh) * 2017-09-13 2019-03-19 杭州弗兰科信息安全科技有限公司 一种基于泄序加密的解密算法
KR20200039979A (ko) * 2018-10-08 2020-04-17 세종대학교산학협력단 순서 노출 암호화를 위한 장치 및 방법
CN111538473A (zh) * 2020-04-27 2020-08-14 西安交通大学 一种Posit浮点数处理器
CN112380557A (zh) * 2020-12-01 2021-02-19 江西师范大学 一种关系型数据库加密方法及该加密数据库查询方法
CN113254971A (zh) * 2021-06-09 2021-08-13 中国电子科技集团公司第三十研究所 一种基于揭序加密的多数据类型密文比较方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MASAYUKI YOSHINO等: "Practical Query-based Order Revealing Encryption from Symmetric Searchable Encryption", 《2020 15TH ASIA JOINT CONFERENCE ON INFORMATION SECURITY (ASIAJCIS)》 *
郭晶晶等: "保序加密技术研究与进展", 《密码学报》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114629649A (zh) * 2022-05-10 2022-06-14 深圳市搜了网络科技股份有限公司 基于云计算的数据处理方法、装置及存储介质
CN114629649B (zh) * 2022-05-10 2022-09-13 深圳市搜了网络科技股份有限公司 基于云计算的数据处理方法、装置及存储介质
CN115913660A (zh) * 2022-10-31 2023-04-04 柴竹菁 一种数据加密方法、装置、电子设备及可读存储介质
CN115913660B (zh) * 2022-10-31 2024-03-19 珠海泰合科技有限公司 一种数据加密方法、装置、电子设备及可读存储介质
CN117499159A (zh) * 2023-12-27 2024-02-02 杭州字节方舟科技有限公司 一种基于区块链的数据交易方法、装置及电子设备
CN117499159B (zh) * 2023-12-27 2024-03-26 杭州字节方舟科技有限公司 一种基于区块链的数据交易方法、装置及电子设备

Also Published As

Publication number Publication date
CN114221766B (zh) 2022-05-20

Similar Documents

Publication Publication Date Title
CN114221766B (zh) 数据加密方法、解密方法及装置
CN109510703B (zh) 一种数据加解密方法及装置
JP6058245B2 (ja) 乱数拡大装置、乱数拡大方法及び乱数拡大プログラム
WO2019114122A1 (zh) 登录信息的加密方法、装置、电子设备及介质
CN112347498B (zh) 一种加密方法、装置、电子设备及可读存储介质
US9692592B2 (en) Using state reordering to protect against white box attacks
US10536264B2 (en) Efficient cryptographically secure control flow integrity protection
CN114175572A (zh) 利用拟群运算对加密数据实行相等和小于运算的系统和方法
JP6044738B2 (ja) 情報処理装置、プログラム及び記憶媒体
CN112714112B (zh) 一种用于服务器数据存储的数据加解密方法、存储介质和终端设备
US20170257212A1 (en) Cryptographic Apparatuses And Methods For Encrypting And Decrypting Data Using Automata
WO2021129470A1 (zh) 基于多项式完全同态的二进制数据加密系统及方法
CN110543778A (zh) 一种字符数据线性随机加密和解密算法
Şatir et al. A symmetric DNA encryption process with a biotechnical hardware
TW201637395A (zh) 資料串流區塊加密技術
CN104636673A (zh) 一种在大数据背景下的数据安全存储方法
JP6273226B2 (ja) 暗号化システム、認証システム、暗号化装置、復号装置、認証子生成装置、検証装置、暗号化方法、認証方法
CN114124359A (zh) 保留格式加密数据的方法、装置、电子设备及存储介质
CN110611568B (zh) 基于多种加解密算法的动态加解密方法、装置、及设备
CN113810169A (zh) 同态加密装置及其密文算术方法
JP2011002810A (ja) 暗号化装置、プログラム、暗号システム及び暗号化方法
US9553723B2 (en) Multi-dimensional encryption
US20220321322A1 (en) Encryption device, decryption device, encryption method, decryption method, and computer readable medium
US11101824B2 (en) Encryption device and decryption device, and operation method thereof
US8437472B2 (en) Strengthened key schedule for arcfour

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40070329

Country of ref document: HK