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

轻量级分组加密算法RECTANGLE

轻量级分组加密算法RECTANGLE

RECTANGLE轻量级分组密码算法是Wentao Zhang,Zhenzhen Bao,Dongdai Lin等学者于2014年提出的,该算法是SPN结构的,采用了线性移位的置换层以及4×4bit的S盒。RECTANGLE是一个迭代分组密码,分组长度为64比特,密钥长度可选80比特或者128比特。

设B=(b4l-1,…,b3l,…,bl-1,…,b0)是一个4l比特的分块,我们总是把它看成一个4×16的矩形:

向量B的第j列就是这个矩形的第j列,记为B(j)=(bj,bj+l,bj+2l,bj+3l),其中0≤j≤l-1。用B(i,j)表示矩形的第i行第j列,即B(i,j)=bj+il.例如,一个64比特的明文或中间状态(w63,w62,⋯,w0)均可以看成4×16的矩形:

同样地,80比特的主密钥或者轮子密钥(k79,k78,⋯,k0)可以看成4X20的矩形。

分组密码RECTANGLE包含了25轮的迭代,每次迭代都包含三个步骤:异或轮密钥AddRoundkey、S盒变换SubColumn和行移位ShiftRow,见下图.

第一步AddRoundKey,用轮子密钥的最右边64比特和明文或中间状态异或。

第二步SubColumn中用到的S盒是4比特到4比特的置换,具体描述如下:

第三步ShiftRow中,第0行不移位,第1行循环左移1位,第2行循环左移12位,第3行循环左移13位。经过25轮迭代后,再异或一个轮子密钥。

密钥扩展算法

密钥的编排也包含三个步骤,见下图。其中,用到的S盒和轮函数中的一样,第0、1、2和3行分别循环左移7、9、11和13位。后一步异或的轮常数RC[i](0≤i≤24)始状态为RC[0]=(0,0,0,0,1)的5级线性反馈移位寄存器生成的,轮的轮常数RC[i]=(ri,4,ri,3,ri,2,ri,1,ri,0)等于(ri-1,3,ri-1,2,ri-1,1,ri-1,0,ri-1,4⊕ri-1,2).

在第i轮(i=0,1,2,3,…,24),64比特轮密钥Ki包含计数器中每一行密钥的右边16个比特数据。即Ki=(k3,15||k3,14||…||k3,0)||(k2,15||k2,14||…||k2,0)||(k1,15||k1,14||…||k1,0)||(k0,15||k0,14||…||k0,0)。在调用子密钥之前,密钥计数器要按以下方式更新数据:

1.将第0列元素用S盒进行混淆运算。

k3,0||k2,0||k1,0||k0,0=S(k3,0||k2,0||k1,0||k0,0)

2.对计数器中的每一行进行权值不同的左移位运算,第0行左移7比特,第1行左移9比特,第2行左移11比特,第3行左移13比特。

3.对计数器第1行的最右边5比特进行异或轮常量RC[i]运算。

k0,4||k0,3||k0,2||k0,1||k0,0=(k0,4||k0,3||k0,2||k0,1||k0,0)⨁RC[i]

轮常量RC[i]由一个5比特线性反馈移位寄存器生成,每经过一轮,5比特数据(rc4rc3rc2rc1rc0)便左移一位,同时将新的rc0位置为第5位和第3位的异或值。初始值RC[0]定义为:RC[0]=0x1。


http://www.kler.cn/a/548847.html

相关文章:

  • AWS SES 投诉率问题全面解析及解决方案
  • 2024各地低空经济政策汇编资料
  • Deepseek高效使用指南
  • DeepSeek开启AI办公新模式,WPS/Office集成DeepSeek-R1本地大模型!
  • 文心快码|AI重构开发新范式,从工具到人机协同
  • 建筑行业安全技能竞赛流程方案
  • PyTorch 深度学习项目结构及nn.Module介绍
  • Python 内置函数 isinstance
  • 量子计算的五大优势
  • C++ 中的 `std::function`、`std::bind`、lambda 表达式与类型擦除
  • 在Windows系统上测试safari浏览器的兼容性
  • C++上机_日期差值
  • NAC网络接入控制三种认证方式802.1X认证、MAC认证和Portal认证
  • 模型GPU->NPU(Ascend)迁移训练简述
  • hive:分区>>静态分区,动态分区,混合分区
  • FPS游戏通用AI自瞄软件:CFHD CS2完美奔放
  • enum class与enum
  • 为AI聊天工具添加一个知识系统 之98 详细设计之39 本体论:用正则表达式来设置角色
  • 机器学习数学基础:26.连续型X概率密度
  • 目标检测IoU阈值全解析:YOLO/DETR模型中的精度-召回率博弈与工程实践指南