轻量级分组密码算法作为一种特殊的分组密码算法,它们在硬件实现、加密速度、运行功耗等方面与AES等高强密码算法相比有明显的优势,更适合物联网微型计算设备使用。下面我们就来了解一下轻量级分组密码Hight加密算法。

Hight加密算法的简介

Hight算法是由Hong等在CHES 2006上提出的轻量级分组密码,其采用一种广义Feistel结构,轮函数输入和输出均为8bit,规模很小,且没有用S盒,只使用循环移位、异或和模加操作,在8位处理器的环境中表现出很好的效率。子密钥是在加密过程中通过密钥扩展算法得到的,密钥寄存器只需要存储128bit的主密钥。

Hight加密算法是一种分组加密算法,其分组长度和密钥长度分别为64位和128位,以8位数据为基本操作单元,主要采用块加密算法的技术,在嵌入式平台上的软件实现效率也很高。

Hight算法

Hight加密算法的加密流程

Hight算法首先将明文分成多个小块,然后对每个块进行一个散列函数运算,即求哈希值,并将得到的哈希值组成一个哈希链,最后根据哈希链的特定结构来生成将要加密的密文。

Hight加密算法的基本操作包括加法、减法、异或和位循环,其具体步骤如下:

  1. 明文块分拆:将明文分解为多个小块,并计算每一块的512位(64个字节)MD5散列值。
  2. 哈希链的拼接:根据块中明文内容,进行哈希链的拼接,每个块都有一个包含16个PC-01信息字节,从而方便完成哈希值的拼接与变换。
  3. 生成密文:使用哈希链的某种特定形式生成密文,以实现安全性的提升。

Hight算法

Hight加密算法的优点

Hight算法可以支持自定义密钥和随机数的生成。

Hight算法可以在不改变明文的前提下,每次加密都可产生不同的密文。

Hight算法便于实现,实现效率也较高。

Hight算法具有良好的安全性,可以抵御攻击的侵害。

Hight加密算法的缺点

Hight算法的复杂度较高,需要较高的计算能力,对于一些性能较低的设备来说可能无法满足要求。

Hight算法需要使用大量的随机数和密钥,如果密钥管理不当,可能会影响安全性。

Hight算法的效率虽然较高,但相对于一些常见的加密算法来说可能较低。

免责声明:素材源于网络,如有侵权,请联系删稿。