CN109495430A - 一种基于泄序加密的解密算法 - Google Patents
一种基于泄序加密的解密算法 Download PDFInfo
- Publication number
- CN109495430A CN109495430A CN201710820149.8A CN201710820149A CN109495430A CN 109495430 A CN109495430 A CN 109495430A CN 201710820149 A CN201710820149 A CN 201710820149A CN 109495430 A CN109495430 A CN 109495430A
- Authority
- CN
- China
- Prior art keywords
- bit
- encryption
- data
- clear data
- key
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种基于泄序加密的解密算法。该解密算法主要利用泄序加密算法按比特位逐位加密的特性,结合加密函数、加密密钥,直接破解密文,无需专门破解泄序加密算法,可以有效降低算法复杂度,方便易用。
Description
技术领域
本发明属于信息安全技术领域,具体涉及一种基于泄序加密(Order-RevealingEncryption,ORE)的解密方案。
背景技术
随着云计算的发展,越来越多的企业将服务和业务数据部署在云端,与此同时,云端数据泄露案件常时有发生,解决数据泄露案件最直接的方法就是加密,但一些加密算法对原始数据加密后不支持对密文的运算操作。
解决上述问题的一种支持密文数据比较大小的加密算法就是保序加密(Order-Preserving Encryption,OPE)算法,此算法加密明文后,可以直接通过密文数据得到大小关系,即,对任意明文p1>p2,加密后得到的密文满足c1>c2。利用此算法,可以对密文数据进行数据匹配、范围查询以及排序等操作,但此算法泄露了明文数据之间大小,遭受推理攻击后可以恢复一半以上的明文数据。
针对保序加密算法的缺点,一种安全性更高的加密算法——泄序加密算法产生了,此种算法要求加密后的密文数据不保持原明文数据的大小关系,要依靠专门的比较函数进行比较大小,即,对任意明文数据p1>p2,加密后得到的密文数据c1、c2,满足比较函数Compare(c1,c2)>0。
常用的泄序加密算法大多要依靠多重线性映射(multilinear maps)或者不可区分性混淆(indistinguishability obfuscation)等这种比较强的加密原语,但这种泄序加密算法复杂度比较高,可操作性不强。本发明基于的一种加密算法主要基于伪随机函数(pseudorandom functions,PRFs),利用明文数据的比特位bit进行运算,泄露的仅是明文数据中第一个不相同的bit,与常用的加密算法相比具有更高的安全性。
发明内容
本发明的目的在于提出一种基于ORE加密算法的解密算法,从ORE加密的密文数据中恢复明文数据。
为了实现解密的目的,本发明采用以下技术方案:
一种基于泄序加密的解密方法,输入密文ctxt,加密密钥为key;解密步骤为;
1)检测下密文数据ctxt与加密密钥key所携带的明文数据的bit数记为n,每个明文数据的bit扩展记为out_blk_len个bit,这两个参数是否一致,如果一致,继续下面步骤;否则则退出。
2)将明文数据按bit的形式表示成p=m0m1...mi...mn-1,其中p表示明文,n表示p的bit数,同时令i代表明文数据p的第i个bit位,i∈[0,n)。
3)计算明文数据第i位的加密后密文数据的掩码,设掩码为:
block_mask=(2^out_blk_len-1)<<(n-i-1)*out_blk_len。
4)密文数据与block_mask做逻辑与操作,然后右移(n-1-i)*out_blk_len位,计算后得到的值记为Ci。
5)利用加密函数F和加密密钥key,计算出加密后的值记为F(key,m0...mi-1)。
6)比较Ci与F(key,m0...mi-1)的值是否相等,如果不等则mi=1,否则mi=0。
7)如此循环,直至到i=n-1,解出明文数据的所有比特位,利用移位等操作得到明文数据。
与现有技术相比,本发明主要利用ORE加密算法按bit加密的特性进行解密,无需专门破解加密算法,大大降低了复杂度,方便易用。
附图说明
图1:一种ORE加密算法示意图。
图2:泄序加密算法的解密算法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
图1为一种按明文的比特位进行ORE加密算法的例子,每个明文数据比特位操作是对当前比特位前面的所有比特位和加密key应用伪随机函数,伪随机函数的输出后在加上当前bit位上的值,然后以此类推加密整个明文数据,最后输出类似图1的加密值。
如图2所示,图2为本发明实施例的流程图,计算机为小端模式,加密函数采用伪随机函数AES,明文数据为1610612739(1610612739=2^30+2^29+1),明文数据的bit数为n=31,每个明文数据比特位扩展10个bit,记out_blk_len=10,采用伪随机函数AES和key对明文数据1610612739进行加密后密文ctxt=14803069411772771925,其解密基本操作流程如下。
在步骤s201,首先输入经过ORE加密的密文数据以及加密密钥。
在步骤s202,对密文数据和加密密钥的携带的参数进行匹配。
在步骤s203,计算明文数据比特位数n和每个明文比特位扩展后比特位数out_blk_len,本实施例中n=31,out_blk_len=10,同时令i代表明文数据p的第i个bit位,初始值设i=0。
在步骤s204,判断i<n,即0<31。
在步骤s205,计算第i=0位的比特位加密后密文数据的掩码,记为block_mask,此时block_mask=(2out_blk_len-1)<<(n-i-1)*out_blk_len,当i=0时,block_mask=(210-1)<<300。
在步骤s206,密文数据ctxt与block_mask做逻辑与操作,先右移(n-1-i)*out_blk_len位,计算后得到的值,记为Ci,当i=0时,C0=496。
在步骤s207,利用加密算法所用的伪随机函数AES和加密密钥,以及前i-1位比特位,计算加密后的值记为F(key,m0...mi-1),当i=0时,利用初始输入值ε(一般为0)和AES加密函数计算后记F(key,ε)=495。
在步骤s208,Ci与F(key,m0...mi-1)比较,如果相等,此时明文数据的第i位比特位为0,否则为1,即mi=0或者1,当i=0时,此时C0≠F(key,ε),即496≠495,此时m0=1。
mi向左移n-i-1位,与p做逻辑或操作,当i=0时,m0像左移30位。
i值增加1,并执行步骤s204。
如果i<n,重复步骤s205-s211,直到s204不再满足条件,此时可以看到m0=1,m1=1,m30=1,即明文数据的第0,1,30位上bit位为1。
步骤s212,输出解密后的明文数据,此例明文数据p=1610612739。
步骤s213,结束解密过程。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种泄序加密的解密算法,应用于按明文比特位逐位加密的泄序加密算法,将明文数据按比特位的形式表示成p=m0m1...mi...mn-1,其中p表示明文,n表示p的比特位数,i代表明文数据p的第i个比特位,i∈[0,n)其特征在于包含以下解密步骤:
步骤一:检测下密文数据ctxt与加密密钥key所携带的明文数据的比特位数为n,每个明文数据的比特位扩展为out_blk_len个比特位,这两个参数是否一致;
步骤二:计算明文数据第i位的加密后密文数据的掩码,掩码为:block_mask=(2^out_blk_len-1)<<(n-i-1)*out_blk_len。
步骤三:将密文数据ctxt与block_mask做逻辑与操作,然后右移(n-1-i)*out_blk_len位,计算后得到的值记为Ci;
步骤四:利用加密函数F和加密密钥key,以及明文比特位,计算出加密后的值记为F(key,m0...mi-1);
步骤五:比较Ci与F(key,m0...mi-1)的值是否相等,如果不等mi=1,否则mi=1。
步骤六:重复步骤二到步骤五,逐位计算明文数据每个比特位的值,直至明文数据每个比特位计算完成。
2.依据权利要求1所述的一种泄序加密的解密算法,其特征在于,步骤一中密文数据和加密key中携带明文数据的比特位数和每个明文数据比特位扩展比特位数。
3.根据权利要求1所述的一种泄序加密的解密算法,其特征在于,重复步骤二、三、四、五,算出明文数据比特位的每一位的数值,步骤二计算明文数据每个比特位的掩码,步骤三中通过密文数据与掩码的逻辑与操作,移位后得到每个比特位加密值。
4.根据权利要求1所述的一种泄序加密的解密算法,其特征在于,步骤四中加密函数可以用于各种伪随机函数,不限于AES,HMAC,SHA256等常用的加密函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710820149.8A CN109495430A (zh) | 2017-09-13 | 2017-09-13 | 一种基于泄序加密的解密算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710820149.8A CN109495430A (zh) | 2017-09-13 | 2017-09-13 | 一种基于泄序加密的解密算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109495430A true CN109495430A (zh) | 2019-03-19 |
Family
ID=65689029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710820149.8A Pending CN109495430A (zh) | 2017-09-13 | 2017-09-13 | 一种基于泄序加密的解密算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109495430A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254971A (zh) * | 2021-06-09 | 2021-08-13 | 中国电子科技集团公司第三十研究所 | 一种基于揭序加密的多数据类型密文比较方法 |
CN114221766A (zh) * | 2022-02-18 | 2022-03-22 | 阿里云计算有限公司 | 数据加密方法、解密方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843372A (zh) * | 2012-08-28 | 2012-12-26 | 西安交通大学 | 一种基于随机区间划分的保序加密方法 |
-
2017
- 2017-09-13 CN CN201710820149.8A patent/CN109495430A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843372A (zh) * | 2012-08-28 | 2012-12-26 | 西安交通大学 | 一种基于随机区间划分的保序加密方法 |
Non-Patent Citations (2)
Title |
---|
KEVIN LEWI,DAVID J WU: "Order-Revealing Encryption: New Constructions,Applications, and Lower Bounds", 《COMPUTER AND COMMUNICATIONS SECURITY (CCS) 2016》 * |
一个未入门DE情报学胖子: "ore加密与解密方案梳理", 《BLOG.LEANOTE.COM》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254971A (zh) * | 2021-06-09 | 2021-08-13 | 中国电子科技集团公司第三十研究所 | 一种基于揭序加密的多数据类型密文比较方法 |
CN114221766A (zh) * | 2022-02-18 | 2022-03-22 | 阿里云计算有限公司 | 数据加密方法、解密方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102138300B (zh) | 消息认证码预计算在安全存储器中的应用 | |
CN105099652B (zh) | 数据加密、解密方法和装置 | |
CN107038383A (zh) | 一种数据处理的方法和设备 | |
CN103166751A (zh) | 用于保护分组密码免受模板攻击的方法和装置 | |
CN1989726A (zh) | 用于执行加密计算的方法和装置 | |
US9825761B2 (en) | Systems and methods improving cryptosystems with biometrics | |
CN106685662B (zh) | 一种基于余数系统的商密sm2加密算法的白盒软件实现方法 | |
CN104660590B (zh) | 一种文件加密安全云存储方案 | |
WO2021129470A1 (zh) | 基于多项式完全同态的二进制数据加密系统及方法 | |
CN105406969A (zh) | 数据加密装置及方法 | |
CN110505054B (zh) | 一种基于动态白盒的数据处理方法、装置及设备 | |
CN109934001A (zh) | 一种基于正态云模型的数据加密方法 | |
CN108134664A (zh) | 一种数据加密的实现方法 | |
CN109117676A (zh) | 一种基于泄序算法的数据库密文比较检索方法 | |
CN109379177A (zh) | 一种同态密文计算加速逻辑系统及实现方法 | |
CN103746805A (zh) | 外部认证密钥的生成方法和系统 | |
CN109495430A (zh) | 一种基于泄序加密的解密算法 | |
CN108512840A (zh) | 一种基于泄序加密的密文检索方法 | |
CN114124359A (zh) | 保留格式加密数据的方法、装置、电子设备及存储介质 | |
CN106656500A (zh) | 加密装置及方法 | |
CN103763097A (zh) | 密码或密钥的安全加密方法 | |
CN105025032A (zh) | 具有加密验证功能的客户管理服务器 | |
Suresh et al. | VLSI implementation of text to image encryption algorithm based on private key encryption | |
CN104837131B (zh) | 一种基于批处理指数运算乘积的批Cramer-Shoup密码方法 | |
WO2021165962A1 (en) | System and method for generation of a disposable software module for cryptographic material protection |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190319 |