CN105024805B - 一种改进的cbc模式3des加密方法 - Google Patents
一种改进的cbc模式3des加密方法 Download PDFInfo
- Publication number
- CN105024805B CN105024805B CN201510438870.1A CN201510438870A CN105024805B CN 105024805 B CN105024805 B CN 105024805B CN 201510438870 A CN201510438870 A CN 201510438870A CN 105024805 B CN105024805 B CN 105024805B
- Authority
- CN
- China
- Prior art keywords
- des
- data
- exclusive
- transformation
- 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.)
- Active
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种改进的CBC(Chain Block Coding,密码分组链接)模式3DES加密方法,属于信息安全技术领域。本发明将链式结构应用于3DES算法内部,形成内部链式结构,即把3DES算法中每轮DES变换后的输出数据都反馈给输入端,作为下一个输入数据的初始化向量;同时对3DES算法进行流水线改进,提高各DES子模块的复用率,进而有效提高算法处理效率。本发明方法尤其适合安全系数要求比较高,速度要求比较快的场合。
Description
技术领域
本发明涉及一种加密方法,尤其涉及一种改进的CBC(Chain Block Coding,密码分组链接)模式3DES加密方法,属于信息安全技术领域。
背景技术
DES(Data Encrypt Standard)加密算法在1976年之后被广泛运用,很多新技术都运用了DES加密技术。但是,随着科学科技水平不断提高,计算机的运算能力也大大增强,DES加密算法的缺点也暴露出来,即密钥长度太短,很容易被暴力破解,所以已被证实为不安全的算法。
3DES(Triple DES)加密算法继承了DES算法特征,它通过对数据块进行三次DES运算,密钥从64位增加到192位,极大地增强了数据的保护能力。但采用3DES加密标准,虽然提高了数据的安全性,但运算速度降低了。
由于3DES加密算法是一个48轮的Feistel型结构,其简单的运算过程易于在硬件上完成,在速度上硬件实现又比软件占优势,所以3DES的算法的硬件实现是提高3DES算法速度的首选。
随着下一代网络协议IPV6的发展,市场上已形成IPV4网络协议向IPV6网络协议过渡的格局。IPV6网络协议要求处理更多数据的同时又要提高数据的安全性,所以在新一代IPSEC协议下,要求3DES加密方式采用CBC模式。图1显示了现有CBC模式3DES加密方法的加密过程:第一个明文首先与初始化向量IV异或,接着用秘钥1进行第一次DES变换,然后用秘钥2进行第二次DES逆变换,最后用秘钥3进行第三次DES变换后得到第一个密文;以后每个明文处理的第一步改为与前一个密文异或,其余步骤进行同样的处理直至最后一个明文加密完成。图2显示了现有CBC模式3DES加密方法的解密过程:第一个密文首先用秘钥1进行第一次DES逆变换,接着用秘钥2进行第二次DES变换,然后用秘钥3进行第三次DES逆变换,最后与初始化向量IV异或后得到第一个明文;以后每个密文处理的最后一步改为与前一个明文异或,其余步骤进行相同的处理直至最后一个密文解密完成。这种加密方法的安全性虽然提高了,但加/解密下一个数据需要等待上一个数据处理完成,每一个加/解密输出数据都需要等待3个DES变换周期,这极大地降低了3DES加密速度。
发明内容
本发明所要解决的技术问题在于克服现有CBC模式3DES加密技术的不足,提供一种改进的CBC模式3DES加密方法,可大幅提高加密速度以及数据的安全性。
本发明具体采用以下技术方案:
一种改进的CBC模式3DES加密方法,包括数据的加密和解密,
所述数据的加密,具体如下:
步骤1、将第一个明文P1与初始化向量IV异或后进行DES变换,得到数据C11;
步骤2、将数据C11与初始化向量IV异或后进行DES逆变换,得到数据C12;与此同时,将第二个明文P2与C11异或后进行DES变换,得到数据C21;
步骤3、将C12与初始化向量IV异或后进行DES变换,得到数据C13,并将数据C13作为明文P1的最终密文;与此同时,将C21与C12异或后进行DES逆变换,得到数据C22;与此同时,将第三个明文P3与C21异或后进行DES变换,得到数据C31;
步骤4、将C22与C13异或后进行DES变换,得到数据C23,并将数据C23作为明文P2的最终密文;与此同时,将C31与C22异或后进行DES逆变换,得到数据C32;与此同时,将第四个明文P4与C31异或后进行DES变换,得到数据C41;
步骤5、依此类推,直到得到最后一个明文的最终密文;
所述数据的解密,具体如下:
步骤1、将第一个密文C1′进行DES逆变换后再与初始化向量IV异或,得到数据C12′;
步骤2、将C12′进行DES变换后再与初始化向量IV异或,得到数据C11′;与此同时,将第二个密文C2′进行DES逆变换后再与C13′异或,得到数据C22′;
步骤3、将C11′进行DES逆变换后再与初始化向量IV异或,得到数据P1′,并将P1′作为密文C1′的最终明文;与此同时,将C22′进行第二次DES变换后再与C12′异或,得到数据C21′;与此同时,将第三个密文C3′进行DES逆变换后再与C23′异或,得到数据C32′;
步骤4、将C21′进行DES逆变换后再与C11′异或,得到数据P2′,并将P2′作为密文C2′的最终明文;与此同时,将C32′进行DES变换后再与C22′异或,得到数据C31′;与此同时,将第四个密文C4′进行DES逆变换后再与C33′异或,得到数据C41′;
步骤5、依此类推,直到得到最后一个密文的最终明文。
相比现有技术,本发明具有以下有益效果:
本发明所采用的内部链式结构使得每一次的DES变换都与上一次DES变换后的数据相关,提高了数据的安全性;
本发明所采用的流水线结构只需要让第一个加/解密输出数据等待3个DES运算周期,之后的每个DES运算周期都会有一个加/解密数据输出,大大加快了数据处理速度。
附图说明
图1为现有CBC模式3DES加密方法的加密过程原理示意图;
图2为现有CBC模式3DES加密方法的解密过程原理示意图;
图3为本发明方法的加密过程原理示意图;
图4为本发明方法的加密过程原理示意图。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明:
本发明的思路是将链式结构应用于3DES算法内部,形成内部链式结构,即把3DES算法中每轮DES变换后的输出数据都反馈给输入端,作为下一个输入数据的初始化向量;同时对3DES算法进行流水线改进,提高各DES子模块的复用率,进而有效提高算法处理效率。
图3、图4分别显示了本发明加密方法的加密、解密过程,其均采用硬件实现方式。如图3所示,本发明的加密过程具体如下:
1) 在第一个DES变换周期内,将第一个明文P1与初始化向量IV异或并由寄存器(DFF)1寄存后用秘钥1进行第一次DES变换,得到第一次DES变换数据C11。
2) 在第二个DES变换周期内,将C11再次与初始化向量IV异或并由寄存器2寄存后用秘钥2进行第二次DES逆变换,得到第二次DES逆变换数据C12;与此同时,复用第一个DES变换模块,第二个明文P2与反馈回来的数据C11异或并由寄存器1寄存后用秘钥1进行第一次DES变换,得到第一次DES变换的数据C21。
3) 在第三个DES变换周期内,将C12再次与初始化向量IV异或并由寄存器3寄存后用秘钥3进行第三次DES变换,得到第三次DES变换数据C13;与此同时,复用第二个DES变换模块,C21与反馈回来的数据C12异或并由寄存器2寄存后用秘钥2进行第二次DES逆变换,得到第二次DES逆变换的数据C22;与此同时,复用第一个DES变换模块,第三个明文P3与反馈回来的数据C21异或并由寄存器1寄存后用秘钥1进行第一次DES变换,得到第一次变换的数据C31。
4) 在第四个DES变换周期内,由寄存器4寄存C13,该数据也是明文P1的最终密文C1,明文P1加密结束;与此同时,将C22与反馈回来的数据C13异或并由寄存器3寄存后用秘钥3进行第三次DES变换,得到第三次DES变换数据C23;与此同时,复用第二个DES变换模块,C31与反馈回来的数据C22异或并由寄存器2寄存后用秘钥2进行第二次DES逆变换,得到第二次DES逆变换的数据C32;与此同时,复用第一个DES变换模块,第四个明文P4与反馈回来的数据C31异或并由寄存器1寄存后用秘钥1进行第一次DES变换,得到第一次变换的数据C41。
5) 在以后的DES变换周期内依次类推,直到最后一个明文加密完成。
本发明的解密过程如图4所示,具体如下:
1) 在第一个DES变换周期内,将第一个密文C1′由寄存器1寄存后用秘钥1进行第一次DES逆变换并与初始化向量IV异或,得到第一次DES逆变换数据C12′。
2) 在第二个DES变换周期内,将C12′由寄存器2寄存后用秘钥2进行第二次DES变换并再次与初始化向量IV异或,得到第二次DES变换数据C11′;与此同时,复用第一个DES变换模块,第二个密文C2′由寄存器1寄存后用秘钥1进行第一次DES逆变换并与C13′异或,得到第一次DES逆变换的数据C22′。
3) 在第三个DES变换周期内,将C11′由寄存器3寄存后用秘钥3进行第三次DES逆变换并再次与初始化向量IV异或,得到第三次DES逆变换数据P1′;与此同时,复用第二个DES变换模块,C22′由寄存器2寄存后用秘钥2进行第二次DES变换并与C12′异或,得到第二次DES变换的数据C21′;与此同时,复用第一个DES变换模块,第三个密文C3′由寄存器1寄存后用秘钥1进行第一次DES逆变换并与C23′异或,得到第一次逆变换的数据C32′。
4) 在第四个DES变换周期内,由寄存器4寄存P1′,该数据就是密文C1′最终的明文,密文C1′解密结束;与此同时,将C21′由寄存器3寄存后用秘钥3进行第三次DES逆变换并与C11′异或,得到第三次DES逆变换数据P2′;与此同时,复用第二个DES变换模块,C32′由寄存器2寄存后用秘钥2进行第二次DES变换并与C22′异或,得到第二次DES变换的数据C31′;与此同时,复用第一个DES变换模块,第四个密文C4′由寄存器1寄存后用秘钥1进行第一次DES逆变换并与C33′异或,得到第一次逆变换的数据C41′。
5) 在以后的DES变换周期内依次类推,直到最后一个密文解密完成。
Claims (1)
1.一种改进的密码分组链接CBC模式3DES加密方法,包括数据的加密和解密,其特征在于,
所述数据的加密,具体如下:
步骤1、将第一个明文P1与初始化向量IV异或后进行DES变换,得到数据C11;
步骤2、将数据C11与初始化向量IV异或后进行DES逆变换,得到数据C12;与此同时,将第二个明文P2与C11异或后进行DES变换,得到数据C21;
步骤3、将C12与初始化向量IV异或后进行DES变换,得到数据C13,并将数据C13作为明文P1的最终密文;与此同时,将C21与C12异或后进行DES逆变换,得到数据C22;与此同时,将第三个明文P3与C21异或后进行DES变换,得到数据C31;
步骤4、将C22与C13异或后进行DES变换,得到数据C23,并将数据C23作为明文P2的最终密文;与此同时,将C31与C22异或后进行DES逆变换,得到数据C32;与此同时,将第四个明文P4与C31异或后进行DES变换,得到数据C41;
步骤5、依此类推,直到得到最后一个明文的最终密文;
所述数据的解密,具体如下:
步骤1、将第一个密文C1′进行DES逆变换后再与初始化向量IV异或,得到数据C12′;
步骤2、将C12′进行DES变换后再与初始化向量IV异或,得到数据C11′;与此同时,将第二个密文C2′进行DES逆变换后再与C13′异或,得到数据C22′;
步骤3、将C11′进行DES逆变换后再与初始化向量IV异或,得到数据P1′,并将P1′作为密文C1′的最终明文;与此同时,将C22′进行第二次DES变换后再与C12′异或,得到数据C21′;与此同时,将第三个密文C3′进行DES逆变换后再与C23′异或,得到数据C32′;
步骤4、将C21′进行DES逆变换后再与C11′异或,得到数据P2′,并将P2′作为密文C2′的最终明文;与此同时,将C32′进行DES变换后再与C22′异或,得到数据C31′;与此同时,将第四个密文C4′进行DES逆变换后再与C33′异或,得到数据C41′;
步骤5、依此类推,直到得到最后一个密文的最终明文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510438870.1A CN105024805B (zh) | 2015-07-24 | 2015-07-24 | 一种改进的cbc模式3des加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510438870.1A CN105024805B (zh) | 2015-07-24 | 2015-07-24 | 一种改进的cbc模式3des加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105024805A CN105024805A (zh) | 2015-11-04 |
CN105024805B true CN105024805B (zh) | 2018-06-29 |
Family
ID=54414543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510438870.1A Active CN105024805B (zh) | 2015-07-24 | 2015-07-24 | 一种改进的cbc模式3des加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105024805B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105356996B (zh) * | 2015-12-14 | 2018-11-09 | 联想(北京)有限公司 | 一种密文处理方法、电子设备及密文处理装置 |
CN110880967B (zh) * | 2019-12-24 | 2023-04-07 | 北京炼石网络技术有限公司 | 采用分组对称密钥算法对多消息并行加解密方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1677922A (zh) * | 2003-11-10 | 2005-10-05 | 美国博通公司 | 保密可执行编码的系统和方法 |
CN1747380A (zh) * | 2004-09-09 | 2006-03-15 | 三星电子株式会社 | 对分组加密数据进行解密 |
CN101515853A (zh) * | 2009-03-09 | 2009-08-26 | 深圳同方电子设备有限公司 | 信息终端及其信息安全装置 |
CN104239808A (zh) * | 2013-06-14 | 2014-12-24 | 北京数码视讯科技股份有限公司 | 数据加密传输方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060078107A1 (en) * | 2004-10-12 | 2006-04-13 | Chiou-Haun Lee | Diffused data encryption/decryption processing method |
-
2015
- 2015-07-24 CN CN201510438870.1A patent/CN105024805B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1677922A (zh) * | 2003-11-10 | 2005-10-05 | 美国博通公司 | 保密可执行编码的系统和方法 |
CN1747380A (zh) * | 2004-09-09 | 2006-03-15 | 三星电子株式会社 | 对分组加密数据进行解密 |
CN101515853A (zh) * | 2009-03-09 | 2009-08-26 | 深圳同方电子设备有限公司 | 信息终端及其信息安全装置 |
CN104239808A (zh) * | 2013-06-14 | 2014-12-24 | 北京数码视讯科技股份有限公司 | 数据加密传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105024805A (zh) | 2015-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022508351A (ja) | 準同型暗号に基づくプライバシー保護多機関データ分類方法 | |
CN103152168B (zh) | 用于高级加密标准(aes)的处理器和指令 | |
KR101068367B1 (ko) | 병렬 연산 모드에서 aes 암호화 및 암호 해독을 최적화하는 방법 및 장치 | |
KR101036103B1 (ko) | 일련의 변환을 행하여 하나의 변환을 분리시키는 명령어를 포함하는 명령어들의 조합 | |
US9565018B2 (en) | Protecting cryptographic operations using conjugacy class functions | |
CN104660590B (zh) | 一种文件加密安全云存储方案 | |
CN102035641A (zh) | 一种实现aes加解密的装置和方法 | |
JP5542896B2 (ja) | 低電力暗号化装置および方法 | |
WO2021129470A1 (zh) | 基于多项式完全同态的二进制数据加密系统及方法 | |
JP3824121B2 (ja) | 暗号データの復号化処理方法および装置 | |
CN105024805B (zh) | 一种改进的cbc模式3des加密方法 | |
CN114826590A (zh) | 一种分组模式加密方法、解密方法及其装置、设备 | |
US20100061551A1 (en) | Encryption/decryption apparatus and method using aes rijndael algorithm | |
JP5500923B2 (ja) | 情報処理装置 | |
CN107835070B (zh) | 一种简单的嵌入式加密方法 | |
CN104038337A (zh) | 一种基于aes128的数据加密方法 | |
Purwinarko et al. | A Hybrid Security Algorithm AES and Blowfish for Authentication in Mobile Applications | |
CN107342855B (zh) | 基于sm2算法的签名方法 | |
CN106921486A (zh) | 数据加密的方法和装置 | |
SK10382000A3 (sk) | SPâSOB KRYPTOGRAFICKEJ KONVERZIE BINµRNYCH DµTOVíCH BLOKOV | |
Oruganti et al. | JSSecure: A Secured Encryption Strategy for Payment Gateways in E-Commerce | |
CN113420314A (zh) | 一种适用于高速运算的全同态加密算法 | |
Dawson et al. | Ensuring privacy and confidentiality of cloud data: A comparative analysis of diverse cryptographic solutions based on run time trend | |
JP2018514816A (ja) | 変形鍵を用いる高速aes | |
CN111314053A (zh) | 一种基于均匀分布对称算法的数据加密和解密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |