行业标准网
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210866087.5 (22)申请日 2022.07.22 (71)申请人 桂林电子科技大 学 地址 541004 广西壮 族自治区桂林市七 星 区金鸡路1号 (72)发明人 韦永壮 李珂悫 武小年  (74)专利代理 机构 桂林市华杰 专利商标事务所 有限责任公司 451 12 专利代理师 杨雪梅 (51)Int.Cl. H04L 9/06(2006.01) H04L 9/08(2006.01) (54)发明名称 一种面向多平台的密码算法PASSERO的实现 方法 (57)摘要 本发明公开了一种面向多平台的密码算法 PASSERO的实现方法, PASSERO是对ROCCA算法结 构的改进 算法, PASSERO在初始化时, 在单密钥设 置下以MILP求解器测的第1轮活跃S盒数量下界 比ROCCA算法第4轮活跃S盒数量下界多4个, 第2 轮比ROCCA算 法第8轮多35个, 第3轮比ROCCA算法 第12轮多53个, 因此, PASSERO轮函数即使设置为 5轮, 其依然能很好地抵抗差分攻击, 且抵抗差分 攻击的安全性高于ROCCA算法; 类似ROOCA的安全 分析, PASSERO也可以有效抵抗伪造攻击、 积分攻 击和状态恢复攻击。 在资源受限环境中, 本发明 所述的PASSERO算法使用固定切片AES技术大大 提高了数据加解密的实现速度。 在资源充足环境 中, 本发明所述的PASSERO算法使用SIMD指令部 分提高数据加解密的实现速度。 权利要求书4页 说明书9页 附图6页 CN 115225255 A 2022.10.21 CN 115225255 A 1.一种面向多平台的密码算法PAS SERO的实现方法, 其特 征在于, 包括如下步骤: (1)PASSERO算法轮函数设计 PASSERO轮函数的整体结构与ROCCA轮函数结构类似, 但基于固定切片AES实现思想, PASSERO轮函数中采用AES四轮迭代部件; 并更换ROCCA轮函数结构中的置换操作, 以达到更 好的扩散混淆效果; (2)PASSERO算法结构设计 PASSERO算法整体结构同ROCCA算法结构, 包括初始化、 处理关联数据、 加密明文和生成 标志四个部分; 但基于轮函数结构, PASSERO在初始化部分将ROCCA迭代轮函数次数由20轮 减少为5轮; 在处理关联数据部分, PASSERO设置 关联数据为256比特; 在加密明文部分, 通过 和 的方式来获得密文; 在 生成标志部分, 迭代轮函数次数由ROC CA的20轮减少到 5轮; (3)在资源受限环境下基于固定切片的实现方法 根据PASSERO算法结构确定输入输出变量以及实现模块, 并利用固定切片AES技术对 PASSERO进行实现; (4)在资源充足环境下的高效实现方法 根据PASSERO算法结构确定输入输出变量以及实现模块, 进一步利用SIMD指令集的 AESNI指令和XOR指令对PAS SERO进行 具体实现。 2.根据权利要求1所述的密码算法PAS SERO的实现方法, 其特 征在于: 步骤(1)所述的PAS SERO算法轮函数设计, 具体步骤如下: (1.1)PASSERO轮函数的整体结构与ROCCA轮函数结构类似, 输入输出都是8 ×128比特, 首先, 对8 ×128比特的输入状态设计一个新的置换操作打乱输入状态 顺序; 其次, 通过部件 扩展以4个AES四轮迭代部件和4个XOR部件 对置换后的状态进行操作获得输出状态; (1.2)更换ROCCA轮函数结构中的置换操作, 首先通过随机打乱8 ×128比特的输入状态 来穷搜新的置换, 然后通过MILP求解器测新置换活跃S盒下界的情况, 接着与ROCCA轮函数 结构中置换的活跃S盒下界的情况进行对比, 若新置换活跃S盒下界高于ROCCA轮函数中置 换的活跃S盒下界, 则选取这个新置换, 否则继续穷搜新置换, 直到选取出扩散混淆效果更 好的置换为止, 新的置换 见表1所示; (1.3)基于变换的部件和置换, PASSERO轮函数结构具体描述如下: 轮函数R从输入到输 出用R(STA,x0,x1)→STAnew简要表示, 其中以STA表示PASSERO算法的状态, STA由8个部分组 成, STA=(STA[0],STA[1],...STA[7]), 每个部分大小都为128比特; x0,x1是128比特常数 值; 以AES(X,Y)4表示AES四轮迭代, 即AES(X,Y)4=AES(AES(AES(AES(X,Y),Y),Y),Y), 其中 MixColumns、 ShiftRow和 SubBytes是与AES算法中相同的操作; 以STAnew表示更新后的状态, 即STAnew=(STAnew[0], STAnew[1],...STAnew[7]); PASSERO具体的轮函数 结构以表1所示计算方法表示: 表1 PASSERO轮函数R描述权 利 要 求 书 1/4 页 2 CN 115225255 A 2(1.4)考虑存在算法输入明文很长的情况, 故设置一个轮加密状态比特R_ENC, 当其为0 时, 设置轮函数R在求STAnew[1]、 STAnew[3]、 STAnew[5]和STAnew[6]时其AES操作只迭代一轮, 以降低计算复杂度; 当其 为1时, 采用(1.3)所述的轮函数R的计算方法。 3.根据权利要求1所述的密码算法PAS SERO的实现方法, 其特 征在于: 步骤(2)所述的PAS SERO算法结构设计, 具体步骤如下: (2.1)在初始化部分, 首先基于轮函数结构, 通过MILP求解器测试初始化部分活跃S盒 的下界, 然后与ROCCA算法初始化部分活跃S盒下界测试情况进行对比, 确定PASSERO在初始 化部分将ROC CA迭代轮函数次数由20轮减少为5轮; (2.2)在处理关联数据部分, PASSERO把关联数据定为256比特, 即只需要通过一轮轮函 数R来获得新的状态; (2.3)在加密明文部分, 通过 和 的方式完成加密获得密文, 其中M指明文, A(M)操作是指 MixColumns、 ShiftRo w和SubBytes是与AES算法中相同的操作; (2.4)在生成标志部分, 通过(2.1)测试 方法确定迭代轮函数次数由20轮减少到 5轮。 4.根据权利要求1所述的密码算法PAS SERO的实现方法, 其特 征在于: 步骤(3)所述的在资源受限环境下基于固定切片的实现方法, 具体步骤如下: (3.1)输入128比特的随机数N和256比特的密钥K, 其中256比特的密钥K分为高128比特 的密钥K0和低128比特的密钥K1; 设置z0、 z1分别为z0=428a2f98d728ae227137449 123, z1= b5c0fbcfec4d3b2fe9b5dba58 189dbbc; 对状态STA进行初始化, 令STA[0]=K1, STA[1]=N, STA[2]=z1, STA[3]=z0, STA[5]=0, STA[6]=K0, STA[7]=0; (3.2)设置轮加密状态比特R_ENC为 1, 根据(3.1)得到的STA以及z0、 z1, 对轮函数R(STA, z0,z1)迭代5轮得到新的STAnew, 其中轮函数R的4个AES部件的实现使用固定切片AES技术, 即 一次固定切片AES操作可以并行操作 2个AES部件, 这样在轮函数R的4个AES部件实现中只需 要调用2次固定切片AES操作; (3.3)输入25 6比特关联 数据AD, 其中AD分为高128比特AD0和低128比特AD1; (3.4)如果输入AD非空, 根据得到的STAnew以及AD0、 AD1, 对轮函数R(STAnew,AD0,AD1)迭代 1轮进一步获得新的状态STAnew, 转(3.5); 若输入AD为空, 则转(3.5);权 利 要 求 书 2/4 页 3 CN 115225255 A 3

.PDF文档 专利 一种面向多平台的密码算法PASSERO的实现方法

文档预览
中文文档 20 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共20页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种面向多平台的密码算法PASSERO的实现方法 第 1 页 专利 一种面向多平台的密码算法PASSERO的实现方法 第 2 页 专利 一种面向多平台的密码算法PASSERO的实现方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 04:06:33上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。