公开/公告号CN115941179A
专利类型发明专利
公开/公告日2023-04-07
原文格式PDF
申请/专利权人 山东戎安智能科技有限公司;
申请/专利号CN202310111788.2
申请日2023-02-14
分类号H04L9/08(2006.01);G06F21/45(2013.01);G06F9/38(2018.01);G06F9/30(2018.01);
代理机构
代理人
地址 250000 山东省济南市市中区二环南路新都会2号楼科创大厦1215室
入库时间 2023-06-19 19:13:14
法律状态公告日
法律状态信息
法律状态
2023-10-27
专利权质押合同登记的生效 IPC(主分类):H04L 9/08 专利号:ZL2023101117882 登记号:Y2023980060284 登记生效日:20231008 出质人:山东戎安智能科技有限公司 质权人:济南市融资担保有限公司 发明名称:一种在ASIC芯片上实现口令变换的方法 申请日:20230214 授权公告日:20230516
专利权质押合同登记的生效、变更及注销
2023-05-16
授权
发明专利权授予
2023-04-25
实质审查的生效 IPC(主分类):H04L 9/08 专利申请号:2023101117882 申请日:20230214
实质审查的生效
2023-04-07
公开
发明专利申请公布
技术领域
本发明涉及口令变换技术领域,具体地说,涉及一种在ASIC芯片上实现口令变换的方法。
背景技术
口令破译是密码破译的一个重要组分支,目前大多数的加密密钥是直接或间接由口令经过计算得到的,使用ASIC芯片实现口令破译功能,具有集成度高、破译速度快、功耗低等一系列优势;但受限于芯片面积、功耗和设计复杂度等限制,芯片内部存在使用口令的灵活性不足、口令传输速度与计算速度差距过大等问题。
在软件层面,对输入口令经过可编程的规则变换,假设规则数量为N,则每条输入口令可以生成N条新口令,这些口令有相同的基础信息,但在实际的口令破译中发挥了重要的作用:在增加一定计算量的条件下有效的提高口令破译率。
在ASIC口令破译芯片上实现规则变换功能,一是缓解了口令传输与计算速度的差距;二是扩展了口令破译应用的灵活性;三是降低了口令传输需要的带宽,假设传输了N条规则,则实际生成口令量是口令传输量的N倍。
发明内容
本发明的目的在于提供一种在ASIC芯片上实现口令变换的方法,以解决上述背景技术中提出的问题。
为实现上述目的,提供了一种在ASIC芯片上实现口令变换的方法,包括如下步骤:
S1、制定口令变化整体流程;
S2、存储口令变换规则;
S3、构造口令变换模型;
S4、根据口令变换模型实现口令规则命令变换功能;
S5、使用多级流水线实现多个规则命令连续变换功能。
作为本技术方案的进一步改进,所述S1中流程制定方法包括如下步骤:
S1.1、输入规则条数,对输入的规则进行存储;
S1.2、输入初始口令,按照输入的规则进行口令变化;
S1.3、判断口令是否处理完成,初始口令处理完成后,生成变换口令;
S1.4、判断规则是否变化完成,变化完成形成新规则,初始口令根据新规则进行变化。
作为本技术方案的进一步改进,所述S2中存储口令变换规则的存储方法如下:
S2.1、制定对应的规则;
S2.2、芯片制定对应的寄存器用于存储对应的规则。
作为本技术方案的进一步改进,所述S3构造口令变换模型构造方法步骤如下:
S3.1、定义口令变换命令;
S3.2、组合口令变换命令,生成新的规则。
作为本技术方案的进一步改进,所述S3.1中定义口令变换命令定义规则步骤如下:
S3.1.1 、对口令变换命令命名;
S3.1.2、制定对应口令变换命令格式;
S3.1.3、制定对应的输入口令;
S3.1.4、制定对应的输出口令。
作为本技术方案的进一步改进,所述S4中根据口令变换模型实现口令规则命令变换功能的实现方法步骤如下:
S4.1、根据每种规则确定对应的逻辑模块;
S4.2、存储输入口令、输出口令至寄存器,存储规则至另一寄存器中;
S4.3、根据需要确定每条规则支持的命令数量上限。
作为本技术方案的进一步改进,所述S4.1中的逻辑模块包括命令选择逻辑、口令尾附加字符逻辑、删除口令尾字符逻辑、口令首插入字符逻辑、删除口令首字符逻辑、变换字母大小写逻辑、替换指定字符逻辑以及口令整体重复逻辑。
作为本技术方案的进一步改进,所述S5中规则命令连续变换方法步骤如下:
S5.1、根据命令组合方式,确定规则变换量;
S5.2、根据指令使用效果,剔除效果差的规则,增加新的规则。
与现有技术相比,本发明的有益效果:
1、该在ASIC芯片上实现口令变换的方法中,通过使用规则变换,有效的减小了口令传输速度与计算速度的巨大差距;在相同计算量的条件下,大大降低了口令输入占用的带宽,能够有效缓解芯片工作过程中的通信压力;同时增加了口令字典使用的灵活性,能够显著提高口令破译的成功率。
2、该在ASIC芯片上实现口令变换的方法中,通过制定对应的规则,通过芯片中使用寄存器专门存储输入的规则,这些规则供口令变换使用,并且可以随时根据调度需要进行更新,满足灵活性需求;全部口令处理完成前可保持不变,满足降低口令传输带宽的需求。
附图说明
图1为本发明的整体步骤流程图;
图2为本发明的流程制定方法流程图;
图3为本发明的存储方法流程图;
图4为本发明的口令变换模型构造方法流程图;
图5为本发明的定义规则步骤流程图;
图6为本发明的实现方法流程图;
图7为本发明的规则命令连续变换方法步骤流程图;
图8为本发明的口令变换整体流程图。
实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-图8所示,提供了一种在ASIC芯片上实现口令变换的方法,包括如下步骤:
S1、制定口令变化整体流程;
S2、存储口令变换规则;
S3、构造口令变换模型;
S4、根据口令变换模型实现口令规则命令变换功能;
S5、使用多级流水线实现多个规则命令连续变换功能。
具体使用时,首先制定口令变化整体流程,通过口令变换实现了对成批量的口令进行批量规则变换处理,生成新的口令提供供给计算核心使用,向芯片输入一组规则(假设N条),对每个输入口令都完成这一组变换,即生成N个新口令,存储口令变换规则,在口令变化之前,向芯片输入一组规则(假设M条),并对每个口令进行M条规则变换,即生成M×N条新指令,同时通过芯片对M条规则进行存储,随后构造口令变换模型,口令变换是将输入的口令经过可编程的命令进行一次或多次变化生成新口令的过程,提前定义常用的口令变换命令,规则制定过程中可直接调用,根据口令变换模型实现口令规则命令变换功能,每个规则命令对应一种逻辑模块,使用多级流水线实现多个规则命令连续变换功能,可以简化电路设计的逻辑、实现复杂的功能、提高电路运行的频率。
本发明通过使用规则变换,有效的减小了口令传输速度与计算速度的巨大差距;在相同计算量的条件下,大大降低了口令输入占用的带宽,能够有效缓解芯片工作过程中的通信压力;同时增加了口令字典使用的灵活性,能够显著提高口令破译的成功率。
此外,S1中流程制定方法包括如下步骤:
S1.1、输入规则条数,对输入的规则进行存储;
S1.2、输入初始口令,按照输入的规则进行口令变化;
S1.3、判断口令是否处理完成,初始口令处理完成后,生成变换口令;
S1.4、判断规则是否变化完成,变化完成形成新规则,初始口令根据新规则进行变化。
具体使用时,首先制定规则条数,输入初始口令,对每条初始口令进行一种规则变化,随后判断口令是否处理完成,处理完成后,输出新口令,然后变化规则,对初始口令进行规则变化,直至所有的口令完成所有的规则变化。
进一步的,S2中存储口令变换规则的存储方法如下:
S2.1、制定对应的规则;
S2.2、芯片制定对应的寄存器用于存储对应的规则。
具体使用时,芯片中使用寄存器专门存储输入的规则,这些规则供口令变换使用,并且可以随时根据调度需要进行更新,满足灵活性需求;全部口令处理完成前可保持不变,满足降低口令传输带宽的需求。
再进一步的,S3构造口令变换模型构造方法步骤如下:
S3.1、定义口令变换命令;
S3.2、组合口令变换命令,生成新的规则。
口令变换是将输入的口令经过可编程的命令进行一次或多次变化生成新口令的过程,结合实践经验,定义一组常用且效果好的口令变换命令,并保存常用口令变换命令,后期在编程过程中,只需输入单个口令变换命令或者多个口令变换命令,即可直接调用规则,为了实现更复杂的规则变换,多个命令组成一条规则,在执行过程中依次执行所有命令,最后输出变换结果,例如命令:$a$b$c$d$e,实现了在输入口令后附加字符“abcde”的变换功能,由于命令数量和规则的组合灵活多样,本模型可实现复杂的规则变换。
具体的,S3.1中定义口令变换命令定义规则步骤如下:
S3.1.1 、对口令变换命令命名;
S3.1.2、制定对应口令变换命令格式;
S3.1.3、制定对应的输入口令;
S3.1.4、制定对应的输出口令。
在定义口令变换命令过程中,首先区分各个口令变换命令,为口令变换命令制定对应的口令变换命令格式,每种口令变换命令匹配一种口令变换命令格式,输入口令变换命令格式即可调用匹配的口令变换命令,随后根据口令变换命令确定输入口令以及输出口令,进行保存与调用。
此外,S4中根据口令变换模型实现口令规则命令变换功能的实现方法步骤如下:
S4.1、根据每种规则确定对应的逻辑模块;
S4.2、存储输入口令、输出口令至寄存器,存储规则至另一寄存器中;
S4.3、根据需要确定每条规则支持的命令数量上限。
在ASIC设计中,每种规则命令对应一个逻辑模块,输入口令、输出口令保存在寄存器中;规则保存在一组寄存器中,根据需要确定每条规则支持的命令数量上限。
进一步的,S4.1中的逻辑模块包括命令选择逻辑、口令尾附加字符逻辑、删除口令尾字符逻辑、口令首插入字符逻辑、删除口令首字符逻辑、变换字母大小写逻辑、替换指定字符逻辑以及口令整体重复逻辑。其中:
命令选择逻辑:使用多路选择器(10选1),根据命令(:$[]^ultsd)选择对应的逻辑模块;
口令尾附加字符逻辑:根据输入口令长度,对要附加的字符进行移位(使用移位寄存器),再使用逻辑或门实现在数据尾附加一个指定字符,当结果长度达到上限时,则丢弃尾字符;
删除口令尾字符逻辑:根据输入口令长度,使用逻辑与门,实现装饰数据尾字符删除;
口令首插入字符逻辑:使用移位寄存器实现在口令首插入字符,当结果长度超过限制时,丢弃最后一个字符;
删除口令首字符逻辑:使用移位寄存器实现删除口令首字符命令;
变换字母大小写逻辑:对输入的每个字符,首先判断是否为拉丁字母,再根据命令进行大小写变换;
替换指定字符逻辑:对输入的每个字符,判断是否为需要替换的字符,如果是,则使用新字符替换,使用比较器和选择器;
口令整体重复逻辑:使用移位寄存器和逻辑或门实现口令整体重复,当结果长度超过限制时,丢弃多余的字符。
口令变换命令对比如下表所示:
口令变换命令对比表
再进一步的,S5中规则命令连续变换方法步骤如下:
S5.1、根据命令组合方式,确定规则变换量;
S5.2、根据指令使用效果,剔除效果差的规则,增加新的规则。
当流水线填充满后,每个时钟周期可生成一个新的口令,而外部输入一个口令至少需要300个时钟周期,为了实现更复杂的规则变换,在ASIC口令规则变换设计中使用了多级流水线,每一级流水线都可执行一个规则命令,当使用6级流水线时,就可以执行6个命令,即每条规则最多由6个命令组合而成,在本方法中6个命令组合,有10种命令,其中插入、替换命令隐含更多变换情况(插入不同字符,替换与被替换字符组合),实现的口令变换规则超过2
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的仅为本发明的优选例,并不用来限制本发明,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
机译: 防止至少一种kondensatorstufe破损的盲目性盲肠痛的方法,该方法可在一个或一个以上的交流电上使用。通过时间跨度的离散傅立叶变换来实现电源
机译: 一种将金属表面固定在载体上的方法,一种将芯片固定在芯片载体上的方法芯片-组件-模块和组件-组件
机译: 在具有电压岛在多个电压和温度工作点上运行的ASIC上实现平衡时钟分配网络的方法和装置