简述PRESENT加密算法

在之前的文章中,我们了解了轻量级分组密码算法,并且在文章中我们讲到PRESENT算法和其他算法相比,拥有更高的硬件执行效率,使其成为轻量级分组算法中的佼佼者。今天我们就通过本文来了解一下PRESENT加密算法。

PRESENT算法简介

PRESENT算法是在CHES2007国际会议上由Bogdanov等人提出的,主要为物联网中资源受限的智能卡或加密节点开发设计。虽然是轻量级密码算法,但完全的31轮PRESENT密码算法是可以抵抗现有的数学攻击的。

PRESENT算法的设计思路借鉴了DES加密算法,但具体实现还是有很大差别,PRESENT的S盒是4位进4位出,位移和模2加运算。同时,PRESENT的轮函数采用SP结构(替代—轮换),而DES则采用的是FEISTEL结构;相比 DES、AES 等加密算法,PRESENT算法更适合资源受限的物联网安全应用。

PRESENT加密算法

PRESENT算法的加密原理

PRESENT分组长度为64 bit,即每次运算操作输入64 bit,又由于是4进4出的方式,故推算共有16个S盒,其加密轮函数F主要操作有轮密钥加、S盒置换、P置换三个部分。31轮中每一轮包括线性置换Р和非线性置换S,非线性置换S常称之为的S盒置换。

PRESENT算法的密钥长度可以为80 bit 或128 bit;64 bit明文经过31轮的迭代和最末轮白化运算后得到需要的64 bit密钥。

PRESENT加密算法

PRESENT算法的加密过程

  1. 轮密钥加:64bit 轮输入同轮密钥进行异或。
  2.  S 盒代换层:将轮密钥加64bit 输出查找16 个4 进4 出的S 盒。
  3.  P 置换层:通过置换表P(i)对S 盒代换64bit 输出按比特进行重新排列。

为提高算法安全性,PRESENT 在第31 轮后使用64bit 密钥K32 进行后期白化操作。

PRESENT加密算法

PRESENT算法的优缺点

与AES、DES等算法相比,轻量级PRESENT加密算法将经过多次S置换和P置换、轮密钥加操作的密钥作为加密系统的主控密钥,扩展了密钥宽度,增加了安全性能。

但是,PRESENT加密算法的编程非常简单,功耗攻击点也比较容易选择,这就导致PRESENT差分功耗攻击在安全性方面仍然存在着一定的不足之处。

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

相关推荐

简述曲路密码

在古典密码中大致可以分为移位和替换两种,在移位密码中字母不变,位置改变;替换密码中则是字母改变,位置不变。今天我们就来了解一种比较简单的移位密码——曲路密码。 曲路密码的简介 曲路密码发明者和发明时间 ...

简述ADFGVX密码

在之前的文章中,我们了解了波利比乌斯密码,它是一种棋盘方阵密码,而我们今天要了解的密码是由它改良而来,在第一次世界大战中被德军广泛使用的ADFGVX密码。 ADFGVX密码简介 ADFGVX密码被认为是“人力加密时代 ...

简述培根密码

大家应该都吃过培根这种食物,但你可知道在古典密码中有一种以“培根”为命名的密码算法。今天我们就来通过本文了解一下这个“培根密码”。 培根密码简介 培根密码有名“倍康尼密码”,英文明文Bacon's cipher,它并不 ...

简述KeeLoq加密算法

随着物联网的发展,越来越多的设备开始智能化,这其中就少不了加密算法的保驾护航。今天我们要了解的就是广泛应用于无线认证领域的加密算法——KeeLoq加密算法。 KeeLoq算法简介 KeeLoq算法最初是由南非Willem Smi ...