基于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)

{

X55=X25

Part1.行变换

FFFFF0(X0\*)

FFFFF1(X1\*)

FFFFF2(X2\*)

FFFFF3(X3\*)

FFFFF4(X4\*)

Part2.左对角线变换

X22=X22⊕(X00<<<6)⊕(X11<<<11)⊕(X33<<<15)⊕(X44<<<26)

Part3.列变换

FFFFF0(X\*0)

FFFFF1(X\*1)

FFFFF2(X\*2)

FFFFF3(X\*3)

FFFFF4(X\*4) \\

Part4.右对角线变换

X22=X22⊕(X04<<<13)⊕(X13<<<18)⊕(X31<<<10)⊕(X40<<<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结构的流密码算法Salsa20 FlashLight是一个脱胎于Salsa20的新型序列密码算法,它凭借卓越的软件性能、强抗时序攻击能力和简洁设计 ,在与AES的竞争中赢得了重要地位。FlashLight仅使用ARX操作,无需复杂的S盒查表,使其算法描述简洁,代码实现紧凑,易于在多种平台上部署。它与Poly1305的组合已成为保护互联网通信的基石之一。

相关推荐
如何取名12 分钟前
结合实际业务进行LRU淘汰算法优化设计(数据库开发日志)
数据库·算法
aichitang202416 分钟前
快乐泛函每一天:希尔伯特空间中的最佳逼近与正交投影定理
人工智能·考研·算法·ai·面试·泛函分析
淬炼之火21 分钟前
笔记:Visually-Guided Policy Optimization for Multimodal Reasoning
人工智能·笔记·算法·机器学习·语言模型·自然语言处理
一只QAQ23 分钟前
c++项目
java·c++·算法
学习星球27 分钟前
空天地一体化网络(NTN)深度解析:从Starlink D2C到3GPP NTN,卫星直连手机是如何实现的?
网络·人工智能·算法·智能手机·php
科技林总38 分钟前
提示词测评落地全流程
人工智能·算法
晴天的雨.9921 小时前
类和对象下(内部类,匿名对象,对象拷贝时的编译器优化)
开发语言·c++·算法
风行南方1 小时前
后量子秘密:格密码入门(一)
密码学
旖旎夜光1 小时前
LeetCode 238:除自身以外数组的乘积(前缀和) —— 题解
数据结构·c++·算法·leetcode·前缀和
一条大祥脚1 小时前
26杭电暑期第八场(后半)快读|快写|tarjan|路径DP|mex转化|扫描线|前缀和|二分图
数据结构·算法·tarjan·杭电多校·强联通分量·动态规划dp