当前位置: 首页 > 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。

 

相关文章:

  • MCU通用输入输出端口(GPIO)设计指南
  • C#中构造器及属性的加载顺序
  • C++中的格式化字符串
  • 用 Python打造交互式图片-音视频管理器:代码分析与实践
  • 前后端分离: vue3+SpringBoot+ElementPlus+Axios+MyBatisPuls
  • 在 Ubuntu 22.04 x64 系统安装/卸载 1Panel 面板
  • Docker容器技术基础入门
  • Java 的创新与变革之路:从 JDK 7 到 JDK 23
  • 无需手动重建!Altium到Cadence的封装转换:ASCII文件方法详解
  • 前端实现商品放大镜效果(Vue3完整实现)
  • 【计算机视觉】TorchVision 深度解析:从核心功能到实战应用 ——PyTorch 官方计算机视觉库的全面指南
  • MCU低功耗运行模式与唤醒机制解析
  • Docker 常用命令(涵盖多个方面)
  • 8、HTTPD服务--ab压力测试
  • Java多线程入门案例详解:继承Thread类实现线程
  • mtrace和memleak源码分析
  • 从困局到破局的AI+数据分析
  • 【机器学习】​碳化硅器件剩余使用寿命稀疏数据深度学习预测
  • UE 滚动提示条材质制作
  • 民锋视角下的价格风险管理策略
  • 开门红背后的韧性密码:上海八大企业的“反脆弱”与“真功夫”
  • 历史新高!上海机场一季度营收增至31.72亿元,净利润增34%
  • 论法的精神︱张玉敏:知识产权保护要为社会经济文化发展服务
  • 五一假期上海铁路预计发送446万人次,同比增长8.4%
  • 大家聊中国式现代化|陶希东:打造高水平安全韧性城市,给群众看得见的安全感
  • 我的科学观|张峥:AI快速迭代,我们更需学会如何与科技共处