当前位置: 首页 > news >正文

轻量级流密码算法Trivium

轻量级流密码算法Trivium

0x0 Trivium算法简介

Trivium算法是由C.D Canniere和B.Preneel共同设计的一套对称加密算法,Trivium密码算法采用了分组密码和非线性反馈移位寄存器的设计思路。该密码算法总共288比特的内部状态,其中有80比特密钥Key和80比特初始向量IV。简单来说Trivium算法主要分为两个阶段,第一阶段称为内部状态初始化阶段,第二阶段称为密钥流生成阶段。

Trivium算法结构图

0x1内部状态初始化阶段

将80比特密钥Key和80比特初始向量Ⅳ一起导入288比特状态串中,其中末尾三位均固定为1,而剩下的125比特均固定为0。然后内部状态执行1152轮更新步骤,但此时不生成密钥流比特。伪代码描述如下:

0x2 密钥流生成阶段

初始化阶段结束后就开始进入密钥流生成阶段,此阶段每迭代一步,便生成一个密钥流比特Zi,之后状态比特旋转,重复执行完整过程,直到所需的N(≤264)密钥流比特生成完才结束。伪代码描述如下:

0x3 Trivium算法总结

尽管Trivium是面向硬件实现而设计的密码算法,可是其软件实现同样非常高效。此外,Trivium算法结构简洁清晰,并且具有明确的设计指导原理。多年来的分析实践和结果表明,Trivium算法是一个非常优秀和成功的密码设计,其算法结构和设计原理对序列密码算法设计具有很强的指导意义和借鉴价值。


http://www.mrgr.cn/news/31811.html

相关文章:

  • 力扣-Hot100-二叉树其一【算法学习day.32】
  • C语言 | Leetcode C语言题解之第560题和为K的子数组
  • 计算机网络——TCP篇
  • 微服务中的技术使用与搭配:如何选择合适的工具构建高效的微服务架构
  • 基于SSM的“汽车销售分析与管理系统”的设计与实现(源码+数据库+文档+PPT)
  • STM32芯片EXIT外部中断的配置与原理以及模板代码(标准库)
  • Java模拟鼠标、键盘操作
  • AI少女/HS2甜心选择2 仿崩铁人物卡全合集打包
  • Spring在不同类型之间也能相互拷贝?
  • 【智能大数据分析 | 实验一】MapReduce实验:单词计数
  • 交安安全员考试真题及答案
  • 进程分析工具Process Explorer使用
  • MySQL —— 事务
  • 详解 Pandas 的 reset_index 函数
  • 天猫店铺商品列表API:深度解析商品视频与图文详情的获取
  • 光伏开发:一分钟生成光伏项目报告
  • springboot 集成轻量级规则编排引擎 LiteFlow 使用详解
  • echarts图表刷新
  • SQL优化之深度分页优化方案详解——延迟游标分页
  • 《重生之我在java世界做任务升级》
  • [Linux] Linux进程PCB内部信息的深入理解
  • 2024 研究生数学建模竞赛(B题)建模秘籍|WLAN组网中网络吞吐量建模|文章代码思路大全
  • 华为od技术面手撕代码 - 快排
  • C / C++的内存管理
  • 【d46】【Java】【力扣】234.回文链表
  • 初级前端面试