一种基于嵌入式软件的MD5算法优化方法及系统技术方案

技术编号:40053443 阅读:41 留言:0更新日期:2024-01-16 21:34
本发明专利技术属于嵌入式软件技术领域,公开了一种基于嵌入式软件的MD5算法优化方法及系统。该方法在字节数据处理中,通过定义的MD5计算主函数联合三个接口函数和数据结构共同构成MD5计算模块,向上级用户模块提供字节数据处理中MD5分周期计算服务,并判定每个时钟周期是否超时。本发明专利技术针对嵌入式软件提出一种MD5算法的优化方法,利用算法每次循环计算过程具有一致性的特点,将算法消耗的总时间均匀分配到若干相邻软件周期里,使嵌入式软件有效避免因调用MD5算法函数造成单个周期超时问题。同时该方法不采用与多线程操作相关的系统调用,与操作系统平台无关,方便软件代码移植和推广。

【技术实现步骤摘要】

本专利技术属于嵌入式软件,尤其涉及一种基于嵌入式软件的md5算法优化方法及系统。


技术介绍

1、md5即message-digest algorithm 5(信息-摘要算法5)是计算机安全领域广泛使用的一种散列函数,用于确保信息传输完整一致,提供消息的完整性保护,其核心是hash函数。它将可变长度的输入数据计算生成固定长度的散列值,且输入数据发生任意微小变化,对应的输出将会产生明显变化,通过此方式完成数据完整性验证和消息认证。已知用c语言编写的md5算法函数具体过程包括数据分块与填充,参量初始化,主循环计算,生成计算结果。

2、a)数据分块与填充主要是将输入数据以512bit/64字节为边界进行分块。分块到最后剩余尾块进行48字节补充,最后8字节为输入数据总位数,不包括补充字节位数。如图1。

3、b)参量初始化是将主循环计算时用到的各种参数如链接变量进行初始化。链接变量一共4个,每个4字节。这些变量在主循环计算时,将会被用来执行按位与、或、非及相加相乘等计算。

4、c)主循环计算是对每块512bit/64字节数据进行四轮本文档来自技高网...

【技术保护点】

1.一种基于嵌入式软件的MD5算法优化方法,其特征在于,该方法应用于C语言字节数据处理模块,包括:

2.根据权利要求1所述的基于嵌入式软件的MD5算法优化方法,其特征在于,所述控制变量包括MD5_s,所述MD5_s包括计算开始标志start,步骤计数step,完成状态done,每周期计算次数cacuTimesPerCycle,输入数据长度totalLen。

3.根据权利要求1所述的基于嵌入式软件的MD5算法优化方法,其特征在于,所述状态变量包括:

4.根据权利要求1所述的基于嵌入式软件的MD5算法优化方法,其特征在于,所述初始化函数为GetMD5Fin...

【技术特征摘要】

1.一种基于嵌入式软件的md5算法优化方法,其特征在于,该方法应用于c语言字节数据处理模块,包括:

2.根据权利要求1所述的基于嵌入式软件的md5算法优化方法,其特征在于,所述控制变量包括md5_s,所述md5_s包括计算开始标志start,步骤计数step,完成状态done,每周期计算次数cacutimespercycle,输入数据长度totallen。

3.根据权利要求1所述的基于嵌入式软件的md5算法优化方法,其特征在于,所述状态变量包括:

4.根据权利要求1所述的基于嵌入式软件的md5算法优化方法,其特征在于,所述初始化函数为getmd5fingerprint1,用于将输入数据进行48字节补充,及生成末尾8字节数据长度。

5.根据权利要求1所述的基于嵌入式软件的md5算法优化方法,其特征在于,所述单次循环计算函数为getmd5fingerprint2,对输入数据以64字节为单位进行一次主循环计算。

6.根据权利要求1所述的基于嵌入式软件的md5算法优化方法,其特征在于,所述生成结果函数为getmd5fingerprint3,用于将最后一次主循环计算生成的链接变量转换为16字节的计算结果;md5计算主函数在判断计算完成后,调用该函数生成1...

【专利技术属性】
技术研发人员:孙继平
申请(专利权)人:天津津航计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1