[发明专利]一种基于DES算法的一体式加解密模块有效

专利信息
申请号: 201711414935.4 申请日: 2017-12-22
公开(公告)号: CN107947916B 公开(公告)日: 2020-08-04
发明(设计)人: 刘齐宏 申请(专利权)人: 四川大学
主分类号: H04L9/06 分类号: H04L9/06;G06F21/72
代理公司: 成都科海专利事务有限责任公司 51202 代理人: 唐丽蓉;麦迈
地址: 610065 四川*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提供一种基于DES算法的一体式加解密模块,是通过将现有基于DES加密算法的加解密模块进行合并而成,包括初始置换模块、子加密模块、加/解密密钥产生模块以及逆初始置换模块,所述的加/解密密钥产生模块包括循环左移模块、循环右移模块、压缩换位PC‑1模块、压缩换位PC‑2模块及加解密选择模块,将初始64位密钥数据同时进行加密和解密用子密钥的生成,最终根据需要选择使用加/解密用子密钥,使之在应用于芯片时,可减少芯片的面积,降低芯片的设计难度,减少相关硬件成本。
搜索关键词: 一种 基于 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。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学,未经四川大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201711414935.4/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top