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

基于ARX结构的新型序列密码算法FlashLight

基于ARX结构的新型序列密码算法FlashLight

FlashLight算法简介

FlashLight算法属于对称加密算法5大分支之一的序列密码算法。它是在Salsa20的基础上进行改变的,相较于Salsa20来说,其每轮的混淆性和扩散性更好,可以更有效地抵抗现有的和未知的密码分析。其核心是一种800比特输入,800比特输出的ARX结构部件,密钥长度分为128比特和256-bit两种规格。

FlashLight算法参数

FlashLight算法主要以Word(32位)为单位来进行处理,每个Word定义为32-bit二进制数。FlashLight算法的核心函数是将一个128-bit(将128比特密钥扩展为256比特) 或者256-bit的密钥(k1,……,k7),一个128-bit的时间标号(t0,t1,t2,t3),一个128-bit的初始IV(v0,v1,v2,v3)和9个32-bit的常数(c0,c1,…,c7,c8)转换为一个800-bit的输出。其输入可以用两个5×5矩阵的映射关系来表示,如下图所示:

FlashLight算法初始化

其中9个32位常数(c0,c1,…,c7,c8)如下图所示:

FlashLight算法状态更新

流密码FlashLight的轮函数是RoundFunction,总共进行20轮。经过20轮(“FlashLight”中的20即指轮数)后,得到最终的密钥流。

其中RoundFunction伪代码如下所示:

X=RoundFunction(X)

{

X[5][5]=X[25]

Part1.行变换

FFFFF0(X[0][*])

FFFFF1(X[1][*])

FFFFF2(X[2][*])

FFFFF3(X[3][*])

FFFFF4(X[4][*])

Part2.左对角线变换

X[2][2]=X[2][2]⊕(X[0][0]<<<6)⊕(X[1][1]<<<11)⊕(X[3][3]<<<15)⊕(X[4][4]<<<26)

Part3.列变换

FFFFF0(X[*][0])

FFFFF1(X[*][1])

FFFFF2(X[*][2])

FFFFF3(X[*][3])

FFFFF4(X[*][4]) \\

Part4.右对角线变换

X[2][2]=X[2][2]⊕(X[0][4]<<<13)⊕(X[1][3]<<<18)⊕(X[3][1]<<<10)⊕(X[4][0]<<<21)

}

其中输入和输出均为5个32位字的5个混淆扩散函数(相当于160比特大S盒)FFFFF0,FFFFF1,FFFFF2,FFFFF3,FFFFF4分别如下图所示:

FlashLight算法密钥流生成

记执行20轮的轮变换操作后的状态为S20=(x020,……,x2420),则输出密钥流为:FlashLight(S0)=S0+S20。设明文为M密文为C,加密过程可表示为:C=M⊕FlashLight(S),

解密过程为M=C⊕FlashLight(S)。

FlashLight算法总结

FlashLight和Salsa20很类似,主要有三点不同:内部状态矩阵的初始化,轮函数及向量进入轮函数的方式。感兴趣的同学可以参考基于ARX结构的流密码算法Salsa20FlashLight是一个脱胎于Salsa20的新型序列密码算法,它凭借卓越的软件性能、强抗时序攻击能力和简洁设计,在与AES的竞争中赢得了重要地位。FlashLight仅使用ARX操作,无需复杂的S盒查表,使其算法描述简洁,代码实现紧凑,易于在多种平台上部署。它与Poly1305的组合已成为保护互联网通信的基石之一。

http://www.jsqmd.com/news/971567/

相关文章:

  • 数据分析对数学成绩偏弱学生报考大数据专业的作用
  • 弱口令与命令爆破 知识点总结
  • APK签名流程深度解析:安卓应用安全的核心保障
  • AD9361接收功能验证踩坑记:从官方配置软件到SPI脚本的完整避坑流程
  • 别再死记硬背了!一张图+Python脚本帮你彻底搞懂ISO15765-2网络层多帧传输与流控
  • 2026年资质齐全的样板间彩绘品牌企业推荐 - mypinpai
  • 题解:AtCoder AT_awc0085_a Tournament Elimination Round
  • ESP32玩转OLED:除了显示文字,还能用Img2Lcd自制像素画和动画
  • 项目实训开发日志(八)
  • 告别ADE_L的繁琐:用Cadence 617的ADE_XL,5分钟搞定两级运放的多工艺角仿真
  • 亚马逊商品图片批量采集系统:多变体SKU图提取与自动分类
  • 从Linux内核源码nand_ecc.c看ECC校验:如何用空间换时间优化嵌入式存储性能
  • SAP(ERP) 分包Subcontracting的MRP逻辑解析
  • CarPlay 让驾驶更便捷:多款实用车载应用推荐,让行程轻松顺利
  • 2026年亿路交通设施口碑如何 - mypinpai
  • 深入HDFS加密区域:图解EZ Key、DEK与KMS,搞懂数据‘套娃’加密原理
  • 一个利用AI现有能力快速流转客户续单量下降的真实案例
  • Android 开发中的 Logcat 日志过滤与分析
  • 2026年尼日利亚空运清关行排名,鹏达运通性价比高 - mypinpai
  • 2026年 陕西家居维修全攻略榜单:瓷砖/墙面/水电/门窗/家具翻新改色/贴膜/防水堵漏,专业服务与匠心品质口碑之选 - 品牌发掘
  • 百度网盘秒传脚本完整指南:3步实现永久文件分享
  • 51单片机项目避坑指南:深入理解TCON的ITx位与TMOD的GATE位(以红外遥控/按键检测为例)
  • 学习周报四十八
  • 数字孪生+AI:打造智慧林场
  • AI 短视频自动流水线搭建实战:ComfyUI + FLUX + HyperFrames 从配置到出片
  • 大千万级文档 RAG,这 11 个步骤把幻觉压到极低
  • 数据结构期末复习:第三章 栈和队列(选择题25道+判断题18道+程序题6道)进栈/出栈/循环队列/链队/递归
  • 如何让数据科学在GPU上“飞”起来:从龟速到百倍加速的实战指南
  • 深入浅出图解HDFS透明加密:从EZ Key到EDEK,一次搞懂数据安全核心架构
  • 深度专栏 | 粉碎感官玄学:精品可可的冷酷重构与物理变量