全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210336766.1 (22)申请日 2022.04.01 (71)申请人 矩阵时光数字科技有限公司 地址 210000 江苏省南京市中国(江苏)自 由贸易试验区南京片区江淼路88号腾 飞大厦b座1 1层 (72)发明人 徐乃瑞 刘凯  (51)Int.Cl. G06F 21/62(2013.01) (54)发明名称 一种基于FPGA实现生成不可约多项式和哈 希算法的系统 (57)摘要 本发明公开了一种基于FPGA实现生成不可 约多项式和哈希算法的系统, 涉及信息安全领 域, 该系统包括不可约多项式单元及哈希算法单 元, 该系统检测到开始传输的标志数据位后, 提 取不可约多项式参数输入至不可约多项式单元, 不可约多项式单元对不可约多项式参数进行判 断, 符合条件的不可约多项式参数会输入至哈希 算法单元, 不可约多项式参数、 密钥及待加密数 据经哈希 算法单元运算最终输出结果哈希值。 该 系统不但能够快速生成不可约多项式, 且能够基 于不可约多项式, 快速、 安全、 高效的实现哈希算 法加密。 权利要求书2页 说明书7页 附图5页 CN 114662151 A 2022.06.24 CN 114662151 A 1.一种基于FPGA实现生成不可约多项式和哈希算法的系统, 其特征在于, 该系统包括 不可约多项式单元及哈希算法单元, 该系统检测到开始传输的标志数据位后, 提取不可约 多项式参数输入至不可约多项式单元, 不可约多项式单元对不可约多项式参数进行判断, 符合条件的不可约多项式参数会输入至哈希算法单元, 不可约多项式参数、 密钥及待加密 数据经哈希算法单 元运算最终输出 结果哈希值。 2.根据权利要求1所述的一种基于FPGA实现生成不可约多项式和哈希算法的系统, 其 特征在于: 所述不可约多项式单元包括平方运算模块、 求模运算模块、 计数判断模块、 循环 求模运算模块及结果判断模块, 平方运算模块对输入数据进行平方运算; 求模运算模块对 输入的平方运算模块数据及输入的不可约多项式参数进行求模运算; 计数判断模块用于记 录经过平方运算模块、 求模运算模块的次数及根据判断结果记录特定次数 的数据结果; 循 环求模运算模块对输入的计数判断模块数据及输入的不可约多项式参数进行循环求模运 算; 结果判断模块判断不可约多项式参数是否符合要求, 不符合要求则对不可约多项式参 数进行加数字2操作, 并重新经不可约多项式单元运算判断, 直到确认符合要求的不可约多 项式参数。 3.根据权利要求2所述的一种基于FPGA实现生成不可约多项式和哈希算法的系统, 其 特征在于: 平方运算流程为: 设定参数S及参数D, 判断参数D的第n位比特是否为0, 若是, 则 参数S的第n位数据即为0, 若否, 则参数S的第n位数据即为参数D左移n位数据, 如上操作, 对 参数D的每个位比特进 行判断及运算, 最后 将各比特计算的结果进 行异或运算, 即可得到最 终的平方 结果。 4.根据权利要求2所述的一种基于FPGA实现生成不可约多项式和哈希算法的系统, 其 特征在于: 密钥的数据长度为m比特, FPGA中预设地址固定参数G, 固定参数G长度为m比特, 固定参数G经平方运算后, 得到一个长度为2m比特的数据X, 该数据X会传输至求模运算模 块, 求模运算模块对数据X的2m比特数据进 行一次判断, 判断高m比特数据是否均为0, 若 是, 则取数据X的低m比特数据, 输入至计数判断模块, 若否, 则输入的不可约多项式参数进 行移 位处理和异或运 算。 5.根据权利要求4所述的一种基于FPGA实现生成不可约多项式和哈希算法的系统, 其 特征在于: 不可约多项式参数移位处理和异或运算为: 不可约多项式参数最高位1和数据X 最高位1对齐, 并进行异或运算, 数据X最高位1后面的数据生成一个新的数据, 新的数据会 再次与不可约多项式参数最高位 1对齐并进 行异或运算, 不断重复上述操作, 直到所生 成的 新的数据X ′的高m比特 数据全部变为0, 取 数据X′低m比特作为结果输入至计数判断模块。 6.根据权利要求5所述的一种基于FPGA实现生成不可约多项式和哈希算法的系统, 其 特征在于: 计数判断模块输入数据会再次经过平方运算模块、 求模运算模块输入至计数判 断模块, 每次经过平方运算模块和求模运算模块之后, 计数判断模块将计数加1, 求模运算 模块的m比特数据输入即为第一次计数, 其中在第Z次计数时, 需对求模运算模块输出结果 进行判断是否为2,若是, 则直接表示错误输出, 并将该错误输出输入至结果判断模块, 若 否, 则求模运算模块输出结果与 2比特二进制数10进 行异或, 并将结果保存为参数L; 其中在 第Y次计数时, 需对求模运算模块输出结果进行判断是否为2, 若否, 则直接表示错误输出, 并将该错误输出输入至结果判断模块, 若是, 则对参数L进行判断是否为1, 若是, 则直接表 示正确输出, 并将该正确输入至结果判断模块, 若否, 则将参数L输入循环求模运算模块, 其权 利 要 求 书 1/2 页 2 CN 114662151 A 2中 7.根据权利要求6所述的一种基于FPGA实现生成不可约多项式和哈希算法的系统, 其 特征在于: 循环求模运算模块对不可约多项式参数和参数L经最高位比特1的移位控制后, 得到中间参数A和B, A和B的最高位比特1所在位数保持一致, 并进 行异或得到参数C, 若C是0 或1, 则将 C输入至结果判断模块, 否则, 判断C是否小于B, 若是, 则将B赋予值P ’, C赋予值L ’, 若否, 则C赋予值P ’, B赋予值L ’, P’、 L’重新经最高位比特1的移位控制后, 并不断重复上述 运算, 直到最终结果 为0或1, 将该 结果传输 至结果判断模块。 8.根据权利要求7所述的一种基于FPGA实现生成不可约多项式和哈希算法的系统, 其 特征在于: 结果判断模块有计数结果输入, 判断计数结果是错误还是正确, 若计数结果正 确, 则说明输入的不可约多项式参数符合不可约的条件, 若计数结果错误, 则说明输入的不 可约多项式参数并不符合不可约的条件; 结果判断模块无有计数结果输入, 则根据循环求 模运算模块的结果输入进行判断, 若结果为1, 则不可约多项式参数符合不可约的条件, 若 结果为0, 则不可约多 项式参数并不符合 不可约的条件。 9.根据权利要求1所述的一种基于FPGA实现生成不可约多项式和哈希算法的系统, 其 特征在于: 符合条件的不可约多项式参数输入哈希算法单元, 哈希 算法单元运算流程如下: 1、 不可约多项式参数与密钥生成一个Topelitz矩阵; 2、 待加密数据与该矩阵进行矩阵运 算, 得到数据H; 3、 若待加密数据全部经过矩阵运算, 则输出哈希 值; 若待加密数据并非全部 经过矩阵运算, 则进行新一轮运算; 4、 新一轮运算, 上轮H作为密钥 数据与不可约多项式参 数生成一个新的Topelitz矩阵, 而后重复上述2、 3运算流程操作, 若待加密数据全部经过矩 阵运算, 则输出哈希值, 若待加密数据并非全部经过矩阵运算, 则会再次进行新一轮运算; 5、 重复上述操作, 直至待加密数据全部经过矩阵运算, 则得到的数据H 即为待加密数据的最 终哈希计算结果。权 利 要 求 书 2/2 页 3 CN 114662151 A 3

PDF文档 专利 一种基于FPGA实现生成不可约多项式和哈希算法的系统

文档预览
中文文档 15 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于FPGA实现生成不可约多项式和哈希算法的系统 第 1 页 专利 一种基于FPGA实现生成不可约多项式和哈希算法的系统 第 2 页 专利 一种基于FPGA实现生成不可约多项式和哈希算法的系统 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-07 12:39:46上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。