简述Trivium加密算法

说到加密算法,分组密码算法总是更受人关注的,比如AES、DES等等,但是流密码算法也是不能被忽视的。今天我们就一起来了解一种流密码算法——Trivium加密算法。

Trivium算法简介

Trivium算法由其Christophe De Canniere和Bart Preneel提交给eSTREAM竞赛的Profile II(硬件),并被eSTREAM项目选为低面积硬件密码组合(Profile 2)的一部分。是一种同步流密码,旨在提供硬件速度和门数之间的灵活权衡,以及合理有效的软件实现。

Trivium加密算法

Trivium算法加密原理

Trivium算法的密钥和初始化向量(Initialize Vector,IV)长度均为80位,能提供等同于AES128的安全性。

Trivium的288位内部状态由三个不同长度的移位寄存器组成。 在每一轮中,使用来自该寄存器和另一个寄存器的抽头的非线性组合将一个位移入三个移位寄存器中的每一个; 产生一位输出。 为了初始化密码,密钥和IV被写入两个移位寄存器,其余的位以固定模式开始; 然后,密码状态被更新4×288 = 1152次,因此内部状态的每个位都以复杂的非线性方式依赖于密钥和IV的每个位。

每个移位寄存器的前65位都不会出现抽头,因此每个新的状态位在生成后至少65个轮次才会被使用。 这是Trivium软件性能和硬件灵活性的关键。

Trivium加密算法

Trivium算法的性能

Trivium算法的简单硬件实现将使用3488逻辑门,并在每个时钟周期产生一位。 但是,因为每个状态位不用于至少64个回合,所以可以并行生成64个状态位,其硬件成本略高于5504个门。 速度和面积之间的不同权衡也是可能的。

相同的属性允许在软件中实现有效的位片实现;eSTREAM的性能测试在某些x86平台上提供了大约4个周期/字节的批量加密速度,这与同一平台上AES参考实现的19个周期/字节相当。

Trivium加密算法

Trivium算法在设计之初就是完全出于硬件效率考虑。由于采用了线性反馈移位寄存器和简单的AND函数,其结构和实现极为简单,且硬件消耗小,内部仅维护36字节状态,所以其硬件实现效率很高。

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

相关推荐

简述曲路密码

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

简述ADFGVX密码

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

简述培根密码

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

简述KeeLoq加密算法

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