CN107947916B - 一种基于des算法的一体式加解密模块 - Google Patents
一种基于des算法的一体式加解密模块 Download PDFInfo
- Publication number
- CN107947916B CN107947916B CN201711414935.4A CN201711414935A CN107947916B CN 107947916 B CN107947916 B CN 107947916B CN 201711414935 A CN201711414935 A CN 201711414935A CN 107947916 B CN107947916 B CN 107947916B
- Authority
- CN
- China
- Prior art keywords
- module
- encryption
- decryption
- shift
- data
- 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.)
- Expired - Fee Related
Links
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/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- 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
-
- 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/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种基于DES算法的一体式加解密模块,是通过将现有基于DES加密算法的加解密模块进行合并而成,包括初始置换模块、子加密模块、加/解密密钥产生模块以及逆初始置换模块,所述的加/解密密钥产生模块包括循环左移模块、循环右移模块、压缩换位PC‑1模块、压缩换位PC‑2模块及加解密选择模块,将初始64位密钥数据同时进行加密和解密用子密钥的生成,最终根据需要选择使用加/解密用子密钥,使之在应用于芯片时,可减少芯片的面积,降低芯片的设计难度,减少相关硬件成本。
Description
技术领域
本发明属于数据通信安全技术领域,涉及一种基于DES算法的一体式加解密模块,尤其涉及针对应用于芯片组的基于DES算法的一体式加解密模块。
背景技术
DES加密算法属于对称加密算法,即同一组加密过程和解密过程使用的密钥相同。DES加密过程由初始置换、子加密、密钥产生以及逆初始置换构成。
DES加密过程是将明文数据经过一次初始置换后,通过获得的第一轮子密钥对初始置换后的明文数据进行第一轮子加密运算,获得经第一轮子加密过程所产生的加密数据作为第二轮子加密运算的初始数据,并将用于第一轮子加密运算的第一轮子密钥进行变换生成用于第二轮子加密运算的第二轮子密钥,依此进行共十六轮循环。每轮的过程相同,所使用的初始数据与子密钥不同,最终将经过十六轮子加密后的数据进行逆初始置换,输出经加密后的密文数据。
DES解密过程与加密过程基本相同,将密文数据经过一次初始置换后,将获得的解密用的第一轮子密钥对初始置换后的密文数据进行第一轮子解密运算。子解密过程同样一共有十六轮,每轮的过程相同,最终将经过十六次子解密后的数据进行逆初始置换,输出经解密后的明文数据。
将明文数据进行DES加密,与将加密后的密文数据进行DES解密,两者过程不同之处在于对同一初始64位密钥其加密过程产生的十六个子密钥与解密过程产生的十六个子密钥使用顺序相反。
由于现有DES加密算法使用时需要分别进行加密和解密运行过程,因此在应用于芯片时,一方面会增加芯片的面积,使产品的体积变大,占用较大的空间,并且制造成本也会增大,另一方面若要在同一芯片上同时实现数据加密和解密运行,势必会给芯片电路设计带来一定的难度。
发明内容
针对上述现有技术存在的问题,本发明的目的在于提供一种基于DES算法的一体式加解密模块,该模块可实现合并基于DES加密算法的加密和解密过程,使之在应用于芯片时,减少芯片的面积,降低芯片的设计难度,减少相关硬件成本。
为实现上述目的,本发明是采用由以下技术措施构成的技术方案来实现的。
一种基于DES算法的一体式加解密模块,包括初始置换模块、子加密模块、加/解密密钥产生模块以及逆初始置换模块,初始置换模块读取外部传输到端口的待加/解密的明/密文数据,并通过初始置换模块中的置换功能处理成两组数据inL1、inR1传输至子加密模块,同时加/解密密钥产生模块读取外部传输到key_in端口的初始密钥数据,经过处理后产生用于加密或解密的子密钥数据并传输至子加密模块,子加密模块读取初始置换模块输入的inL1、inR1数据,以及加/解密密钥产生模块输入的子密钥数据,经过16次加/解密输出两组加/解密数据outL16、outR16至逆初始置换模块,经置换处理后即可输出经加/解密后的密/明文数据,其特征在于所述的加/解密密钥产生模块包括循环左移模块、循环右移模块、压缩换位PC-1模块、压缩换位PC-2模块及加/解密选择模块,且各模块均为16个,以与16个子加密模块匹配,其中第一轮加/解密用子密钥Key1是先由输入的初始64位密钥数据A0至压缩换位PC-1模块进行压缩换位,然后压缩换位PC-1模块输出两组28位分组数据C0、D0至第一轮循环左移模块和第一轮循环右移模块,第一轮循环左移模块输出经过左移的两组28位分组数据C1、D1至第二轮循环左移模块,同时将经过左移的两组28位分组数据C1、D1传输至第一轮第一压缩换位PC-2模块进行压缩换位为48位子密钥LK1,第一轮循环右移模块输出经过右移的两组28位分组数据C1’、D1’至下一轮的第二轮循环右移模块,同时将经过右移的两组28位分组数据C1’、D1’传输至第一轮第二压缩换位PC-2模块进行压缩换位为48位子密钥RK1,第一轮第一压缩换位PC-2模块和第一轮第二压缩换位PC-2模块分别将第一轮循环左移48位子密钥LK1和第一轮循环右移48位子密钥RK1传输至第一轮加解密选择模块,第一轮加解密选择模块由输入的加解密选择信号encrypt对第一轮循环左移48位子密钥LK1和第一轮循环右移48位子密钥RK1进行选择,最终输出第一轮加/解密用子密钥Key1至子加密模块1;第二轮至第十六轮子密钥Key2-Key16分别是由上一轮循环左移的两组28位分组数据C1-C15、D1-D15和上一轮循环右移的两组28位分组数据C1’-C15’、D1’-D15’分别输入该轮循环左移模块和循环右移模块,并采用和第一轮相同的方法产生,且所得的加/解密用子密钥Key2-Key16分别输出至子加密模块2-16。
通常地,所述循环左移模块和循环右移模块与现有DES加密原理一致,是将输入的28位分组数据循环位移1位或2位。
优选地,所述加解密选择信号encrypt为1位的高低电平控制数据。
优选地,所述加解密选择模块包括两个48位数据输入端口,及加解密选择信号输入端口,以及一个48位加/解密用子密钥输出端口。
所述初始置换模块、子加密模块及逆初始置换模块均与现有基于DES加密算法技术相同,所述子加密模块包括E盒扩展模块、异或模块、S盒置换模块及P盒置换模块,通过将初始置换模块处理后的数据分别根据十六轮的加/解密用子密钥进行十六轮子加密模块运算,再经由逆初始置换模块处理输出为64位明文或密文。
本发明提供的一体式加解密模块是通过将现有基于DES加密算法的加解密模块进行合并,使需要进行加密的明文数据或需要进行解密的密文数据不仅通过本发明加解密模块的同一输入端口输入,且也由同一输出端口输出加密后的密文数据或解密后的明文数据;且初始64位密钥数据仅需输入同一加/解密用密钥产生模块即可供加/解密使用;本发明加/解密模式的切换仅需通过输入简单的加解密选择信号即可实现。
本发明具有如下的有益效果:
1、由于本发明提供的一体式模块实现了基于DES加密算法的加密和解密过程的合并,因而在应用于芯片时,不仅可以减少芯片的面积,使产品的体积变小,减少占用的空间,降低相关硬件成本,且还能降低芯片的设计难度。
2、由于使用本发明提供的一体式模块可使初始64位密钥数据仅需输入同一加/解密用密钥产生模块即可供加/解密使用,因而增加了初始64位密钥数据的使用传输安全性。
3、由于本发明提供的一体式模块是将需要进行加密的明文数据或需要进行解密的密文数据通过同一端口进行输入,并经由同一端口输出,因而增加了数据的使用传输安全性,并降低了数据传输电路的相关设计难度。
附图说明
图1是本发明一种基于DES算法的一体式加解密模块的结构示意图;
图2是本发明所述加/解密密钥产生模块的结构示意图。
图3是本发明所述子加密模块的结构示意图。
具体实施方式
下面通过实施例并结合附图对本发明作进一步说明。值得指出的是,给出的实施例不能理解为对本发明保护范围的限制,该领域的技术人员根据本发明的内容对本发明作出的一些非本质的改进和调整仍应属于本发明保护范围。
实施例
如图1所示,本实施例提供的一种基于DES算法的一体式加解密模块,该模块包括初始置换模块、子加密模块、加/解密密钥产生模块以及逆初始置换模块。
初始置换模块读取外部传输到输入key_in端口的64位待加解密的明/密文数据,将64位的待加解密数据通过初始置换模块中的置换功能,处理成两组32位的明/密文数据inL1、inR1传输至子加密模块1。
如图2所示,加/解密用密钥产生模块包括循环左移模块、循环右移模块、压缩换位PC-1模块、压缩换位PC-2模块及加解密选择模块,且各模块均为16个,以与16个子加密模块匹配,其中第一轮加/解密用子密钥Key1是先由输入的初始64位密钥数据A0至压缩换位PC-1模块进行压缩换位,然后压缩换位PC-1模块输出两组28位分组数据C0、D0至第一轮循环左移模块和第一轮循环右移模块,第一轮循环左移模块输出经过左移的两组28位分组数据C1、D1至第二轮循环左移模块,同时将经过左移的两组28位分组数据C1、D1传输至第一轮第一压缩换位PC-2模块进行压缩换位为48位子密钥LK1,第一轮循环右移模块输出经过右移的两组28位分组数据C1’、D1’至下一轮的第二轮循环右移模块,同时将经过右移的两组28位分组数据C1’、D1’传输至第一轮第二压缩换位PC-2模块进行压缩换位为48位子密钥RK1,第一轮第一压缩换位PC-2模块和第一轮第二压缩换位PC-2模块分别将第一轮循环左移48位子密钥LK1和第一轮循环右移48位子密钥RK1传输至第一轮加解密选择模块,第一轮加解密选择模块由输入的加解密选择信号encrypt对第一轮循环左移48位子密钥LK1和第一轮循环右移48位子密钥RK1进行选择,最终输出第一轮加/解密用子密钥Key1至子加密模块1;第二轮至第十六轮子密钥Key2-Key16分别是由上一轮循环左移的两组28位分组数据C1-C15、D1-D15和上一轮循环右移的两组28位分组数据C1’-C15’、D1’-D15’分别输入该轮循环左移模块和循环右移模块,并采用和第一轮相同的方法产生,且所得的加/解密用子密钥Key2-Key16分别输出至子加密模块2-16。
子加密模块有16个,每一个子加密模块都包括E盒扩展模块、异或模块、S盒置换模块及P盒置换模块,见附图3,因各具体模块运算方式与方法与现有技术相同,故略。第一个子加密模块1读取初始置换模块传输来的inL1和inR1数据,以及加/解密用密钥产生模块输入的key1数据,经过加密处理输出两组32位数据outL1、outR1至下一个子加密模块2的输入端,依此类推,即每下一个子加密模块读取上一个子加密模块输出的加解密数据以及加/解密用密钥产生模块输出的子密钥,生成两组加解密数据输出至下一个子加密模块。即子加密模块通过将初始置换模块处理后的数据分别根据十六轮的加/解密用子密钥进行十六轮子加密模块运算,再输送至逆初始置换模块处理。
逆初始置换模块读取第16个子加密模块传输来的两组32位加密数据outL16、outR16,经置换操作后通过逆初始置换模块的输出端输出64位经加/解密后的密文或明文数据。
其中所述循环左移模块和循环右移模块与现有DES加密原理一致,是将输入的28位分组数据循环位移1位或2位;所述加解密选择信号encrypt为1位的高低电平控制数据;所述加解密选择模块包括两个48位数据输入端口,及加解密选择信号输入端口,以及一个48位加/解密用子密钥输出端口。
Claims (3)
1.一种基于DES算法的一体式加解密模块,包括初始置换模块、子加密模块、加/解密密钥产生模块以及逆初始置换模块,初始置换模块读取外部传输到端口的待加/解密的明/密文数据,并通过初始置换模块中的置换功能处理成两组数据inL1、inR1传输至子加密模块,同时加/解密密钥产生模块读取外部传输到key_in端口的初始密钥数据,经过处理后产生用于加密或解密的子密钥数据并传输至子加密模块,子加密模块读取初始置换模块输入的inL1、inR1数据,以及加/解密密钥产生模块输入的子密钥数据,经过16次加/解密输出两组加/解密数据outL16、outR16至逆初始置换模块,经置换处理后即可输出经加/解密后的密/明文数据,其特征在于所述的加/解密密钥产生模块包括循环左移模块、循环右移模块、压缩换位PC-1模块、压缩换位PC-2模块及加解密选择模块,且各模块均为16个,以与16个子加密模块匹配,其中第一轮加/解密用子密钥Key1是先由输入的初始64位密钥数据A0至压缩换位PC-1模块进行压缩换位,然后压缩换位PC-1模块输出两组28位分组数据C0、D0至第一轮循环左移模块和第一轮循环右移模块,第一轮循环左移模块输出经过左移的两组28位分组数据C1、D1至第二轮循环左移模块,同时将经过左移的两组28位分组数据C1、D1传输至第一轮第一压缩换位PC-2模块进行压缩换位为48位子密钥LK1,第一轮循环右移模块输出经过右移的两组28位分组数据C1’、D1’至下一轮的第二轮循环右移模块,同时将经过右移的两组28位分组数据C1’、D1’传输至第一轮第二压缩换位PC-2模块进行压缩换位为48位子密钥RK1,第一轮第一压缩换位PC-2模块和第一轮第二压缩换位PC-2模块分别将第一轮循环左移48位子密钥LK1和第一轮循环右移48位子密钥RK1传输至第一轮加解密选择模块,第一轮加解密选择模块由输入的加解密选择信号encrypt对第一轮循环左移48位子密钥LK1和第一轮循环右移48位子密钥RK1进行选择,最终输出第一轮加/解密用子密钥Key1至子加密模块1;第二轮至第十六轮子密钥Key2-Key16分别是由上一轮循环左移的两组28位分组数据C1-C15、D1-D15和上一轮循环右移的两组28位分组数据C1’-C15’、D1’-D15’分别输入该轮循环左移模块和循环右移模块,并采用和第一轮相同的方法产生,且所得的加/解密用子密钥Key2-Key16分别输出至子加密模块2-16。
2.根据权利要求1所述基于DES算法的一体式加解密模块,其特征在于:所述加解密选择信号encrypt为1位的高低电平控制数据。
3.根据权利要求1或2所述基于DES算法的一体式加解密模块,其特征在于:所述加解密选择模块包括两个48位数据输入端口,及加解密选择信号输入端口,以及一个48位加/解密用子密钥输出端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711414935.4A CN107947916B (zh) | 2017-12-22 | 2017-12-22 | 一种基于des算法的一体式加解密模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711414935.4A CN107947916B (zh) | 2017-12-22 | 2017-12-22 | 一种基于des算法的一体式加解密模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107947916A CN107947916A (zh) | 2018-04-20 |
CN107947916B true CN107947916B (zh) | 2020-08-04 |
Family
ID=61939899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711414935.4A Expired - Fee Related CN107947916B (zh) | 2017-12-22 | 2017-12-22 | 一种基于des算法的一体式加解密模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107947916B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492418A (zh) * | 2018-11-22 | 2019-03-19 | 中国电子科技集团公司第五十八研究所 | 一种基于aes算法的通用dsp安全加解密系统 |
CN109598134B (zh) * | 2018-12-07 | 2023-05-30 | 北京宏思电子技术有限责任公司 | 一种分组加密算法的高速运行方法和高速运行装置 |
CN112118097B (zh) * | 2020-09-07 | 2021-10-08 | 昆明理工大学 | 一种对称密钥加密方法 |
CN113254378A (zh) * | 2021-04-07 | 2021-08-13 | 浙江工业大学 | 一种基于串口通信的断路器通讯保护方法 |
CN114826558B (zh) * | 2022-04-06 | 2023-06-30 | 北京联诚合创信息技术有限公司 | 一种海量数据快速加密方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626289A (zh) * | 2009-07-14 | 2010-01-13 | 青岛科技大学 | Aes加密芯片的设计方法及电脑加密机 |
CN102694652A (zh) * | 2012-01-13 | 2012-09-26 | 武传坤 | 一种使用对称密码算法实现轻量级认证加密的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921382B (zh) * | 2006-09-06 | 2010-05-12 | 华为技术有限公司 | 一种基于aes算法的加解密方法及加解密器 |
CN102857334B (zh) * | 2012-07-10 | 2015-07-08 | 记忆科技(深圳)有限公司 | 一种实现aes加解密的方法及装置 |
CN103516512A (zh) * | 2013-10-21 | 2014-01-15 | 深圳市芯通信息科技有限公司 | 基于aes算法的加解密方法及加解密器 |
US9893881B2 (en) * | 2015-06-29 | 2018-02-13 | Intel Corporation | Efficient sharing of hardware encryption pipeline for multiple security solutions |
-
2017
- 2017-12-22 CN CN201711414935.4A patent/CN107947916B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626289A (zh) * | 2009-07-14 | 2010-01-13 | 青岛科技大学 | Aes加密芯片的设计方法及电脑加密机 |
CN102694652A (zh) * | 2012-01-13 | 2012-09-26 | 武传坤 | 一种使用对称密码算法实现轻量级认证加密的方法 |
Non-Patent Citations (2)
Title |
---|
Dongsheng Liu;Zilong Liu;Zhenqiang Yong;Xuecheng Zou;Jia.Design and Implementation of An ECC-Based Digital Baseband Controller for RFID Tag Chip.《IEEE Transactions on Industrial Electronics》.2015, * |
异步集成电路设计方法研究;王尧;《中国优秀硕士论文全文数据库》;20110131;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107947916A (zh) | 2018-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107947916B (zh) | 一种基于des算法的一体式加解密模块 | |
Ramesh et al. | Performance analysis of encryption algorithms for Information Security | |
CN104410616B (zh) | 数据加密、解密、传输方法和系统 | |
US6246768B1 (en) | Data encryption system for encrypting plaintext data | |
TWI521935B (zh) | 加解密裝置及其加解密方法 | |
CN102880836A (zh) | 安全装置 | |
CN107534558A (zh) | 用于保护经由数据总线传输的数据的信息安全的方法以及数据总线系统 | |
Haldankar et al. | Implementation of AES and blowfish algorithm | |
RU2459367C2 (ru) | Способ формирования переменного ключа для блочного шифрования и передачи шифрованных данных | |
Mohurle et al. | Review on realization of AES encryption and decryption with power and area optimization | |
El_Deen | Design and implementation of hybrid encryption algorithm | |
Mahindrakar | Evaluation of blowfish algorithm based on avalanche effect | |
Mohan et al. | Revised aes and its modes of operation | |
Shinde et al. | A review of various encryption techniques | |
Qiu et al. | A dual dynamic key chaotic encryption system for industrial cyber-physical systems | |
TWI728933B (zh) | 混合式多階運算加解密系統、其發送端裝置、以及其接收端裝置 | |
KR100362170B1 (ko) | 라운드 키 생성 및 암호처리용 암호화장치 | |
Lu et al. | Related-key attacks on the full-round Cobra-F64a and Cobra-F64b | |
Bai et al. | Variable size block encryption using dynamic-key mechanism (VBEDM) | |
Abdul-Jabbar et al. | Fast 128-bit multi-pass stream ciphering method | |
Azzawi | Enhancing the encryption process of advanced encryption standard (AES) by using proposed algorithm to generate S-Box | |
CN109951434A (zh) | 一种工业通信协议高鲁棒性实时加解密方法 | |
Chen et al. | Block permutation cipher in chaos with Feistel structure for wireless sensor networks | |
Lanjewar et al. | Implementation of AES-256 Bit: A Review | |
CN103051443A (zh) | Aes密钥扩展的方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200804 Termination date: 20201222 |
|
CF01 | Termination of patent right due to non-payment of annual fee |