说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211280182.3 (22)申请日 2022.10.19 (71)申请人 上海高性能集成电路 设计中心 地址 201210 上海市浦东 新区张江高科技 园区毕升路39 9号 (72)发明人 陈子钰 何军 杨剑新 李媛  蒋生健 范好好  (74)专利代理 机构 上海泰博知识产权代理有限 公司 31451 专利代理师 钱文斌 (51)Int.Cl. G06F 9/38(2006.01) G06F 9/30(2006.01) G06F 21/60(2013.01) (54)发明名称 一种MD5信息摘要算法的加速方法及指令集 处理器 (57)摘要 本发明涉及一种MD5消息摘要算法的加速方 法及指令集处理器, 所述方法基于MD5轮函数迭 代指令, 通过流水执行所述MD5轮函数迭代指令 实现两个不相关的MD5消息摘要算法的并行加 速; 所述MD5轮函数迭代指令采用RISC架构, 用于 根据源操作数执行MD5消息摘要算法中任意一次 消息处理轮函数迭代; 所述MD5轮函数迭代指令 采用MD5轮函数并行算 法, 以两组不相关的MD5消 息摘要算法的16字消息分组处理过程中的中间 迭代变量、 消息字和轮迭代序号为输入, 并行完 成两组数据各自的MD5轮函数迭代, 并将结果按 规定形式输出。 所述指令集处理器支持所述MD5 轮函数迭代指令流水 执行。 权利要求书2页 说明书10页 附图4页 CN 115525341 A 2022.12.27 CN 115525341 A 1.一种MD5信息摘要算法的加速方法, 其特征在于, 基于MD5轮函数迭代指令, 通过流水 执行所述MD5轮函数迭代指令实现两个数据不相关的MD5消息摘要算法的并行加速; 所述 MD5轮函数迭代指令采用RISC架构, 指令采用定长的32 位格式, 具有三个256位的源操作数, 一个256位的目标操作数, 用于根据源操作数执行MD5消息摘要算法中任意一次消息处理轮 函数迭代; 所述MD 5轮函数迭代指 令采用MD5轮函数并行算法, 所述MD5轮函数并行算法是指 以两组数据不相关的MD5消息摘要算法 的16字消息分组处理过程中的中间迭代变量、 消息 字和轮迭代序号为输入, 并行完成两组数据各自的MD 5轮函数迭代, 并将迭代结果按规定形 式输出的算法。 2.根据权利要求1所述的MD5信息摘要算法的加速方法, 其特征在于, 所述通过流水执 行所述MD5轮函数迭代指令实现两个数据不相关的MD5消息摘要算法的并行加速具体包括 以下步骤: (1)将MD5消息摘要算法的中间迭代变量的初值以{D1,C1,B1,A1,D0,C0,B0,A0}的格式装 入寄存器文件、 将经过位填充和长度填充的两个数据不相关的消息中的消息字按{192 ’b0, W1,j,W0,j}的形式装入所述寄存器文件, 将两个数据不相关的轮迭代序号以{ 192’b0,Row1, Row0}的形式装 入所述寄存器文件; (2)以寄存器文件中的迭代变量的初值{D1,C1,B1,A1,D0,C0,B0,A0}、 两个数据不相关的 消息中的消息字{192 ’b0,W1,j,W0,j}、 两个数据不相关的轮迭代序号{192 ’b0,Row1,Row0}为 源操作数执行第1条MD5轮函数迭代指令, 生成MD5中间迭代变量{C(1) 1,B(1) 1,A’(1) 1,D(1) 1,C (1) 0,B(1) 0,A’(1) 0,D(1) 0}; (3)依次流水执行下一条MD5轮函数迭代指令, 每次将上一条MD5轮函数迭代指令的执 行结果{C(i‑1) 1,B(i‑1) 1,A’(i‑1) 1,D(i‑1) 1,C(i‑1) 0,B(i‑1) 0,A’(i‑1) 0,D(i‑1) 0}更新为下一条指令的源 操作数A, 从寄存器文件读取已更新消息字和迭代序号的寄存器Vb和寄存器Vc中的数据作 为新的源操作数B和源操作数C, 完成两个数据不相关 的MD5消息摘要算法中的16字消息分 组的2~64轮函数迭代处理, 最 终得到MD 5中间迭代变量{C(64) 1,B(64) 1,A’(64) 1,D(64) 1,C(64) 0,B (64) 0,A’(64) 0,D(64) 0}; (4)并行分别完成MD5中间迭代变量求和, 得到MD5中间迭代变量{D1+D(64) 1,C1+C(64) 1,B1+ B(64) 1,A1+A’(64) 1,D0+D(64) 0, C0+C(64) 0,B0+B(64) 0,A0+A’(64) 0}; (5)如果输入的消息中还包括未处理的16字消息分组, 以所述步骤(4)中得到的MD5中 间迭代变量为下一个16字消息分组处理的迭代初值, 继续循环执行步骤(2) ‑(4), 直至处理 完消息中的最后一个16 字消息分组, 得到执 行结果{D1,C1,B1,A1,D0,C0,B0,A0}; (6)将所述执行结果{D1,C1,B1,A1,D0,C0,B0,A0}输出, 完成两组数据不相关的MD 5消息摘 要算法的执 行, 得到两组不相关的消息的摘要值。 3.根据权利 要求1所述的MD5信息摘要算法的加速方法, 其特征在于, 所述MD5轮函数迭 代指令的指令格式为MD5R  Va,Vb,Vc,Vd, 用于指示3个256位的寄存器Va、 寄存器Vb、 寄存器 Vc中的三个源操作数的运算, 结果保存到一个256位的目标寄存器Vd中, 32位指令的[31: 26]位表示6位的操作码, [25:21]位表示在一组32个256位的寄存器文件 中选出一个256位 寄存器Va的地址, [20:16]位表示在一组32个256位的寄存器文件中选出一个256位寄存器 Vb的地址, [15:10]位表示用于确定具体指令功能的6位功能码, [9:5]位表示在一组32个 256位的寄存器文件中选出一个256位寄存器Vc的地址, [4:0]位表 示在一组32 个256位的寄权 利 要 求 书 1/2 页 2 CN 115525341 A 2存器文件中选出一个25 6位目标寄存器Vd的地址 。 4.根据权利 要求1所述的MD5信息摘要算法的加速方法, 其特征在于, 所述MD5轮函数迭 代指令具体为: 根据来自寄存器Va的两组数据不相关的MD5消息摘要算法 的中间迭代变量 {C1,B1,A1,D1,C0,B0,A0,D0}、 来自寄存器Vb的两个数据不相关的消息字{M1,M0}和来自寄存 器Vc的两个数据不相关的轮迭代序号{Row1,Row0}, 执行MD5消息摘要算法的任意一次MD5消 息处理轮函数迭代, 完成MD5消 息摘要算法的16字消 息分组处理过程中的MD5轮函数迭代, 并将得到的执行结果{C1,B1,A1’,D1,C0,B0,A0’,D0}保存在目标寄存器Vd中, 其中, Row1,Row0 合法取值为1~64, 对于i等于0和1, Ai’的生成逻辑是: A ’i=Bi+(Ai+Tempi+Wi+TRowi)<<< SRowi, 其中“+”为模232加法, <<<表示循环左移, Tempi是一个32位的中间变量, 由轮迭代序 号Rowi确定选择的轮函数, 当0<Rowi=<16时T empi[31:0]=F(Bi,Ci,Di), 当16<Rowi=<32时 Tempi[31:0]=G(Bi,Ci,Di), 当32<Rowi=<48时Tempi[31:0]=H(Bi,Ci,Di), 当48<Rowi=<64 时Tempi[31:0]=I(Bi,Ci,Di), 其中F、 G、 H、 I为MD5消息摘要算法规定的轮 函数, TRowi是一个 32位的轮迭代常数, TRowi可根据MD5轮迭代序号Rowi查表确定, SRowi是一个32位的轮迭代 循环移位常数, SRowi可根据MD5轮迭代序号Rowi查表确定; 在执行MD5消息摘要算法的任意 一次MD5消息处理轮函数迭代时, 采用硬件逻辑实现轮函数处理、 查表运算和移位运算; 执 行所述MD5轮函数迭代指令一次就能分别实现两个数据不相关的MD5消息摘要算法各自的 任意一次MD 5轮函数迭代, 连续执行所述MD 5轮函数迭代指 令64次就能实现两个数据不相关 的MD5消息摘要算法中16 字消息分组的MD5轮函数迭代处 理。 5.根据权利 要求4所述的MD5信息摘要算法的加速方法, 其特征在于, 在执行MD5消息摘 要算法的任意一次MD5消息处理轮函数迭代 时, 基于中间迭代变量和轮迭代序号采用轮函 数得到临时参数; 基于轮迭代序号通过查表得到轮迭代常数和轮迭代循环移位常数; 根据 临时参数、 消息字、 中间迭代变量、 轮迭代常数和轮迭代循环移 位常数更新所述中间迭代变 量。 6.一种指令集处理器, 其特征在于, 包括寄存器文件和MD5轮函数迭代指令执行单元, 所述寄存器文件用于保存源操作数A、 源操作数B和源操作数C; 所述MD5轮函数迭代指令执 行单元用于接收并执行所述MD 5轮函数迭代指 令, 所述MD5轮函数迭代指 令执行单元的输入 信号包括: 一个256位的源操作数A、 一个256位的源操作数B和一个256位的源操作数C, 输出 信号为一个256位的执行结果{C1,B1,A1’,D1,C0,B0,A0’,D0}; 所述MD5轮 函数迭代指令执行单 元通过硬件逻辑实现轮函数处 理、 查表运 算和移位 运算。 7.根据权利要求6所述的指令集处理器, 其特征在于, 所述MD5轮函数迭代指

.PDF文档 专利 一种MD5信息摘要算法的加速方法及指令集处理器

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