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

分组密码算法ShengLooog设计原理详解

分组密码算法ShengLooog设计原理详解

ShengLooog(升龙)为基于Feistel结构设计的分组密码算法,分组大小为128比特,密钥长度分别为128,192,256比特,对应的算法轮数分别为32,36,40,其可以分别表示为ShengLooog128/32,ShengLooog192/36,ShengLooog256/40。

第1个S盒S0

第2个S盒S1

ShengLooog算法的密钥扩展算法(KeyExtend)如下图所示:

当|K|=128,密钥扩展算法为KeyExtend128。

当|K|=192,密钥扩展算法为KeyExtend192。

当|K|=256,密钥扩展算法为KeyExtend256。

ShengLooog128算法的加密算法(Encrypt)如下图所示:

ShengLooog128算法的加密算法(Decrypt)如下图所示:

FFFF为ShengLooog算法的轮函数,其可以分为3个步骤(轮密钥加,S盒替换,P置换)。

Z=FFFF(L,RK)=P(SBOX(L⊕RK))

(1)轮密钥加(RKA),如下图所示:

(2)S盒替换(S0,S1) ,如下图所示:

(3)P置换 ,如下图所示:

其中X0,X1,Y0,Y1,Z0,Z1均为32位字,xi和yi(i=0,...,7)均为字节(8比特)。

S0和S1的密码学指标均已达到最佳或接近最佳。LLLL0和LLLL1均为对合线性变换,分支数为4(5为最优),通过LLLL0和LLLL1复合变换设计的线性扩散层P置换的分支数为5,已达到最优值。故P置换与S盒相互配合, ShengLooog算法能够抵抗常见的密码攻击方法(差分分析和线性分析等)。

 

 

 


http://www.mrgr.cn/news/100813.html

相关文章:

  • conda管理python环境
  • ZYNQ笔记(十四):基于 BRAM 的 PS、PL 数据交互
  • 快速搭建对象存储服务 - Minio,并解决临时地址暴露ip、短链接请求改变浏览器地址等问题
  • 希尔伯特第十问题:是一个伪命题
  • 服务容错治理框架resilience4jsentinel基础应用---微服务的限流/熔断/降级解决方案
  • C++入门小馆: 模板
  • 【数学建模国奖速成系列】优秀论文绘图复现代码(二)
  • 1295.统计位数为偶数的数字
  • 数据结构篇:线性表的另一表达—链表之单链表(下篇)
  • [CPCTF 2025] Crypto
  • Python os.path.join()路径拼接异常
  • X²+1素数问题
  • 4:机器人目标识别无序抓取程序二次开发
  • 【中间件】bthread效率为什么高?
  • HCIP-数据通信datacom认证
  • windows系统常用快捷键(CMD常用命令,DOS常用命令)
  • 公司运营-税务篇-个税申报
  • LQR 入门:以 “倒立摆” 仿真案例建模( LQR 是 MPC 的基础模块 - MPC 是 LQR 的泛化)
  • 01 mysql 安装(Windows)
  • LangChain4j(15)——RAG高级之跳过检索