当前位置: 首页 > 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.lryc.cn/news/442833.html

相关文章:

  • MapReduce基本原理
  • 数据结构之栈(python)
  • 浅谈人工智能之基于HTTP方式调用本地QWen OPenAI接口(Java版)
  • 【python设计模式7】行为型模式2
  • 基于PHP的CRM管理系统源码/客户关系管理CRM系统源码/php源码/附安装教程
  • 【乐企】基础版接口代码实现
  • 题目--力扣----各位相加
  • git 如何基于某个分支rebase?
  • 倒序循环(一)
  • Shell篇之编写apache启动脚本
  • 头条|司法部公法局局长访谈:推进高水平公立鉴定机构建设!加快推进司法鉴定立法!
  • 高密原型验证系统解决方案(上篇)
  • 新产品,推出 MLX90372GVS 第三代 Triaxis® 位置传感器 IC,适用于汽车和工业系统(MLX90372GVS-ACE-308)
  • JAVA毕业设计178—基于Java+Springboot+vue的智能家具管理系统(源代码+数据库+万字论文)
  • 掌握 Python 异步上下文管理器
  • 当你问AI“有点烦”
  • 音视频入门基础:AAC专题(3)——AAC的ADTS格式简介
  • 高可用web集群面经:集群搭建、nginx+keepalived高可用、prometheus+zabbix监控、nfs+dns
  • vue3+ts+supermap iclient3d for cesium功能集合
  • 【案例71】配置https之后 IE打不开登陆页面 Uclient没有问题
  • ROS 设置dhcp option 6 多个地址格式
  • Python 二级考试
  • Linux笔记---简单指令
  • 软考无损连接判断
  • 微服务-- Sentinel的使用
  • TS React 项目中使用TypeScript
  • 【JavaEE】IP协议 应用层协议
  • CRM如何助力科技服务机构突破业务瓶颈?
  • 牛啊,GitHub 代理加速图文教程
  • 基于扣子(Coze)打造第一个智能体——个性化对话机器人