[发明专利]基于可重构阵列实现分组密码算法的方法及装置在审
申请号: | 201910107163.2 | 申请日: | 2019-02-02 |
公开(公告)号: | CN109871701A | 公开(公告)日: | 2019-06-11 |
发明(设计)人: | 袁航;李植;刘雷波;尹首一;魏少军 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F21/46 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张润 |
地址: | 10008*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分组密码算法 可重构阵列 分组密码 子算法 先入先出寄存器 加密密文 配置信息 读取 待加密数据 高度通用性 可编程功能 微处理器 加密数据 加密运算 映射 发送 输出 配置 | ||
1.一种基于可重构阵列实现分组密码算法SHACAL-2的方法,其特征在于,包括以下步骤:
将分组密码算法SHACAL-2映射为多个分组密码子算法,并生成与所述多个分组密码子算法中的各分组密码子算法一一对应的配置信息;
根据所述配置信息配置所述可重构阵列,并从输入先入先出寄存器读取待加密数据,对所述待加密数据进行加密运算获得加密密文,将所述加密密文发送至输出先入先出寄存器。
2.根据权利要求1所述的方法,其特征在于,所述多个分组密码子算法包括:
第一分组密码子算法,用于对所述待加密数据进行初始化;
第二分组密码子算法,用于使用64轮压缩函数对初始化后的待加密数据进行加密运算并生成所述加密密文;
第三分组加密子算法,用于将所述加密密文输出至所述输出先入先出寄存器。
3.根据权利要求2所述的方法,其特征在于,所述第一分组密码子算法具体用于:
将所述待加密数据载入至所述可重构阵列,进行数据大小端转换操作获得第一数据转换结果,并将所述第一数据转换结果写入存储器,完成对所述待加密数据的初始化。
4.根据权利要求2所述的方法,其特征在于,所述第二分组密码子算法具体用于:
从所述存储器读取所述第一数据转换结果,将所述第一数据转换结果与所述配置信息载入所述可重构阵列进行加密运算,获得第一加密结果并将所述加密结果存入所述存储器。
5.根据权利要求2方法,其特征在于,所述第三分组加密子算法具体用于:
读取所述第一加密结果并将所述第一加密结果输入至所述可重构阵列进行数据大小端转换操作获得所述加密密文,并将所述加密密文输出至所述输出先入先出寄存器。
6.一种基于可重构阵列实现分组密码算法SHACAL-2的装置,其特征在于,所述装置包括:
映射模块,用于将分组密码算法SHACAL-2映射为多个分组密码子算法,并生成与所述多个分组密码子算法中的各分组密码子算法一一对应的配置信息;
配置模块,用于根据所述配置信息配置所述可重构阵列,并从输入先入先出寄存器读取待加密数据;
加密模块,用于对所述待加密数据进行加密运算获得加密密文,将所述加密密文发送至输出先入先出寄存器。
7.根据权利要求6所述的装置,其特征在于,所述多个分组密码子算法包括:
第一分组密码子算法,用于对所述待加密数据进行初始化;
第二分组密码子算法,用于使用64轮压缩函数对初始化后的待加密数据进行加密运算并生成所述加密密文;以及
第三分组加密子算法,用于将所述加密密文输出至所述输出先入先出寄存器。
8.根据权利要求6所述的装置,其特征在于,所述第一分组密码子算法具体用于:
将所述待加密数据载入至所述可重构阵列,进行数据大小端转换操作获得第一数据转换结果,并将所述第一转换结果写入存储器,完成对所述待加密数据的初始化。
9.根据权利要求6所述的装置,其特征在于,所述第二分组密码子算法具体用于:
从所述存储器读取所述第一数据转换结果,将所述第一数据转换结果与所述配置信息载入所述可重构阵列进行加密运算,获得第一加密结果并将所述加密结果存入所述存储器。
10.根据权利要求6所述的装置,其特征在于,所述第三分组加密子算法具体用于:
读取所述第一加密结果并将所述第一加密结果输入至所述可重构阵列进行数据大小端转换操作获得所述加密密文,并将所述加密密文输出至所述输出先入先出寄存器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910107163.2/1.html,转载请声明来源钻瓜专利网。