The invention discloses a method and device for realizing block cipher algorithm SHACAL_2 based on reconfigurable arrays. The method includes the following steps: mapping block cipher algorithm SHACAL_2 to multiple block cipher algorithms, generating configuration information corresponding to each block cipher algorithm in multiple block cipher algorithms, and configuring reconfigurable arrays according to configuration information. The encrypted data is read from the input first in first out register, and encrypted ciphertext is obtained by encrypting the encrypted data. The encrypted ciphertext is sent to the output first in first out register. This method not only has the high performance and high speed of ASIC, but also has the high versatility and powerful programmable function of microprocessor, so it just makes up for their respective shortcomings.
【技术实现步骤摘要】
基于可重构阵列实现分组密码算法的方法及装置
本专利技术涉及计算机
,特别涉及一种基于可重构阵列实现分组密码算法SHACAL-2的方法及装置。
技术介绍
分组密码算法SHACAL-2算法的实现一般采用两种方案:一是在通用微处理器上实现,虽然其使用灵活,便于更新,但限制与微处理器本身的运行性能相对低下,使得SHACAL-2的性能远远不能满足要求;二是在专用ASIC(ApplicationSpecificIntegratedCircuit,集成电路)上实现,正好相反,其性能很高,但是其灵活性很差,当需要更换算法时,就不得不更换芯片,这使得使用成本很高。另外,相关技术中对实现SHACAL-2算法还未能满足当前的需求,也未能满足行业的需求,亟待解决。
技术实现思路
本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的一个目的在于提出一种基于可重构阵列实现分组密码算法SHACAL-2的方法,该方法具有高性能、高速度,又具有高度通用性和强大的可编程功能,弥补了传统方法的缺陷,进而降低成本,满足SHACAL-2算法的性能要求。本专利技术的另一个目的在于提出一种基于可重构阵列实现分组密码算法SHACAL-2的装置。为达到上述目的,本专利技术一方面提出了基于可重构阵列实现分组密码算法SHACAL-2的方法,包括以下步骤:将分组密码算法SHACAL-2映射为多个分组密码子算法,并生成与所述多个分组密码子算法中的各个分组密码子算法一一对应的配置信息;根据所述配置信息配置所述可重构阵列,并从输入先入先出寄存器读取待加密数据,对所述待加密数据进行加密运算获 ...
【技术保护点】
1.一种基于可重构阵列实现分组密码算法SHACAL‑2的方法,其特征在于,包括以下步骤:将分组密码算法SHACAL‑2映射为多个分组密码子算法,并生成与所述多个分组密码子算法中的各分组密码子算法一一对应的配置信息;根据所述配置信息配置所述可重构阵列,并从输入先入先出寄存器读取待加密数据,对所述待加密数据进行加密运算获得加密密文,将所述加密密文发送至输出先入先出寄存器。
【技术特征摘要】
1.一种基于可重构阵列实现分组密码算法SHACAL-2的方法,其特征在于,包括以下步骤:将分组密码算法SHACAL-2映射为多个分组密码子算法,并生成与所述多个分组密码子算法中的各分组密码子算法一一对应的配置信息;根据所述配置信息配置所述可重构阵列,并从输入先入先出寄存器读取待加密数据,对所述待加密数据进行加密运算获得加密密文,将所述加密密文发送至输出先入先出寄存器。2.根据权利要求1所述的方法,其特征在于,所述多个分组密码子算法包括:第一分组密码子算法,用于对所述待加密数据进行初始化;第二分组密码子算法,用于使用64轮压缩函数对初始化后的待加密数据进行加密运算并生成所述加密密文;第三分组加密子算法,用于将所述加密密文输出至所述输出先入先出寄存器。3.根据权利要求2所述的方法,其特征在于,所述第一分组密码子算法具体用于:将所述待加密数据载入至所述可重构阵列,进行数据大小端转换操作获得第一数据转换结果,并将所述第一数据转换结果写入存储器,完成对所述待加密数据的初始化。4.根据权利要求2所述的方法,其特征在于,所述第二分组密码子算法具体用于:从所述存储器读取所述第一数据转换结果,将所述第一数据转换结果与所述配置信息载入所述可重构阵列进行加密运算,获得第一加密结果并将所述加密结果存入所述存储器。5.根据权利要求2方法,其特征在于,所述第三分组加密子算法具体用于:读取所述第一加密结果并将所述第一加密结果输入至所述可重构阵列进行数据大小端转换操作获得所述加密密文,并将所述加密密文输出至所述输出先入先出寄存器。6.一种基于可重构阵列实...
【专利技术属性】
技术研发人员:袁航,李植,刘雷波,尹首一,魏少军,
申请(专利权)人:清华大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。