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

序列密码算法ShanLooog512设计原理详解

序列密码算法ShanLooog512设计原理详解

ShanLooog512(闪龙512)为序列密码算法,内部状态为512比特,密钥长度为128或256比特,轮函数为FFFFFFFF,循环轮数为24轮,输出密钥流为512比特的状态。与Salsa20类似,内部状态为4X4的矩阵形式排列,字大小为32比特。

当密钥长度为256比特,密钥K=k0||k1||k2||k3||k4||k5||k6||k7;当密钥长度为128比特,(k4,k5,k6,k7)=(k0,k1,k2,k3) ,密钥K=k0||k1||k2||k3||k4||k5||k6||k7。其中ki(i=0,…,7)为32位字。

(1)初始化阶段

ShanLooog512算法内部状态初始化如下所示:

其中,(k0,...,k7)为256比特的密钥,(v0,v1)为初始IV,(i0,i1)为分组标号,(c0,c1,c2,c3)为固定的常数。如果密钥长度是128比特,则(k4,k5,k6,k7)=(k0,k1,k2,k3)。其中(c0,c1,c2,c3)=(0xccd696e5,0xa8f4e504,0xeb19cf63,0xf708b2cd)或者(c0,c1,c2,c3)=(0xbc42e727,0xe138f70f4,0xc2b3a0d9,0xbd485fdc)。

(2)密钥流产生过程

ShanLooog512为基于ARX(模加、循环移位、异或)混合运算设计的类分组结构流密码算法。其密钥流生成过程如下所示:

轮函数FFFFFFFF如下图所示:

其中GGGGGGGG1如下图所示:

其中GGGGGGGG2如下图所示:

其中Transformation (类似矩阵转置操作)如下图所示:

其中M8X1(矩阵变换操作)如下图所示:

对应的二元矩阵为:

其中M8X2(矩阵变换操作)如下图所示:

对应的二元矩阵为:

综上所述,密钥流(K[0],…,K[15])= ShanLooog512(X0)+X24。

 

http://www.xdnf.cn/news/196561.html

相关文章:

  • DeepSearch复现篇:QwQ-32B ToolCall功能初探,以Agentic RAG为例
  • React速通笔记
  • 初识Python
  • 【Keil5-开发指南】
  • Java实现基数排序算法
  • 机器学习day2
  • 深入理解链表:从基础操作到高频面试题解析
  • 省哲学社科基金项目申请书(论证活页)模版框架参考
  • 013几何数学——算法备赛
  • web技术与Nginx网站服务
  • word2Vec与GloVe的区别
  • LeetCode 1482. 制作 m 束花所需的最少天数
  • 【SpringMVC】详解参数传递与实战指南
  • MANIPTRANS:通过残差学习实现高效的灵巧双手操作迁移
  • 策略模式:灵活的算法封装与切换
  • 实验研究 | 千眼狼高速摄像机驱动精密制造创新
  • 9.学习笔记-springboot(P90-P104)
  • Spring MVC 基础 - 从零构建企业级Web应用
  • 从零到一MCP详细教程——入门
  • 深度相机(一)——深度相机模型及用途介绍
  • vuex刷新数据丢失解决方案-vuex-persist
  • 软考-软件设计师中级备考 6、数据结构 图
  • springboot 实现敏感信息脱敏
  • 昆明理工大学2025年891计算机专业核心考研真题解析
  • react中有哪几种数据结构?分别是干什么的?
  • 易基因:何川团队开发新m6A测序方法 可温和条件下高分辨率/低背景噪声检测m6A修饰|Nature子刊
  • MCU通用输入输出端口(GPIO)设计指南
  • 在另外一台可以科学下载的电脑用ollama下载模型后,怎么导入到另外一台服务器的ollama使用
  • 龙虎榜——20250428
  • 前端excel导出