当前位置: 首页 > 专利查询>四川大学专利>正文

一种基于DES算法的一体式加解密模块制造技术

技术编号:17783835 阅读:51 留言:0更新日期:2018-04-22 15:00
本发明专利技术提供一种基于DES算法的一体式加解密模块,是通过将现有基于DES加密算法的加解密模块进行合并而成,包括初始置换模块、子加密模块、加/解密密钥产生模块以及逆初始置换模块,所述的加/解密密匙产生模块包括循环左移模块、循环右移模块、压缩换位PC‑1模块、压缩换位PC‑2模块及加解密选择模块,将初始64位密匙数据同时进行加密和解密用子密匙的生成,最终根据需要选择使用加/解密用子密匙,使之在应用于芯片时,可减少芯片的面积,降低芯片的设计难度,减少相关硬件成本。

【技术实现步骤摘要】
一种基于DES算法的一体式加解密模块
本专利技术属于数据通信安全
,涉及一种基于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。加/解密用密钥本文档来自技高网
...
一种基于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。...

【技术特征摘要】
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,第一轮循...

【专利技术属性】
技术研发人员:刘齐宏
申请(专利权)人:四川大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1