轻量级分组密码算法作为一种特殊的分组密码算法,它们在硬件实现、加密速度、运行功耗等方面与AES等高强密码算法相比有明显的优势,更适合物联网微型计算设备使用。下面我们就来了解一下轻量级分组密码Hight加密算法。
Hight加密算法的简介
Hight算法是由Hong等在CHES 2006上提出的轻量级分组密码,其采用一种广义Feistel结构,轮函数输入和输出均为8bit,规模很小,且没有用S盒,只使用循环移位、异或和模加操作,在8位处理器的环境中表现出很好的效率。子密钥是在加密过程中通过密钥扩展算法得到的,密钥寄存器只需要存储128bit的主密钥。
Hight加密算法是一种分组加密算法,其分组长度和密钥长度分别为64位和128位,以8位数据为基本操作单元,主要采用块加密算法的技术,在嵌入式平台上的软件实现效率也很高。
Hight加密算法的加密流程
Hight算法首先将明文分成多个小块,然后对每个块进行一个散列函数运算,即求哈希值,并将得到的哈希值组成一个哈希链,最后根据哈希链的特定结构来生成将要加密的密文。
Hight加密算法的基本操作包括加法、减法、异或和位循环,其具体步骤如下:
- 明文块分拆:将明文分解为多个小块,并计算每一块的512位(64个字节)MD5散列值。
- 哈希链的拼接:根据块中明文内容,进行哈希链的拼接,每个块都有一个包含16个PC-01信息字节,从而方便完成哈希值的拼接与变换。
- 生成密文:使用哈希链的某种特定形式生成密文,以实现安全性的提升。
Hight加密算法的优点
Hight算法可以支持自定义密钥和随机数的生成。
Hight算法可以在不改变明文的前提下,每次加密都可产生不同的密文。
Hight算法便于实现,实现效率也较高。
Hight算法具有良好的安全性,可以抵御攻击的侵害。
Hight加密算法的缺点
Hight算法的复杂度较高,需要较高的计算能力,对于一些性能较低的设备来说可能无法满足要求。
Hight算法需要使用大量的随机数和密钥,如果密钥管理不当,可能会影响安全性。
Hight算法的效率虽然较高,但相对于一些常见的加密算法来说可能较低。
免责声明:素材源于网络,如有侵权,请联系删稿。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。