1482|10

267

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

【极海APM32F407 Tiny Board】5. SHA1算法测试 [复制链接]

 

    SHA1算法是Hash算法的一种。SHA1算法的最大输入长度小于2^64比特的消息,输入消息(明文)以512比特的分组为单位处理,输出160比特的消息摘要(密文

整个算法的核心是一个包含4轮循环的模块,每轮循环由20个步骤组成。

SHA1对任意长度明文的预处理和MD5的过程是一样的,即预处理完后的明文长度是512位的整数倍,但是有一点不同,那就是SHA1的原始报文长度不能超过2的64次方,然后SHA1生成160位的报文摘要。SHA1算法简单而且紧凑,容易在计算机上实现。

下表列出了对MD5及SHA1的比较差异之处。让我们根据各项特性,简要说明其间的不同。

 

差异处

MD5

SHA1

摘要长度

128位

160位

运算步骤数

64

80

基本逻辑函数数目

4

4

常数数目

64

4

 

●  安全性:SHA1所产生的摘要比MD5长32位。若两种散列函数在结构上没有任何问题的话,SHA1比MD5更安全。

●  速度:两种方法都是主要考虑以32位处理器为基础的系统结构。但SHA1的运算步骤比MD5多了16步,而且SHA1记录单元的长度比MD5多了32位。因此若是以硬件来实现SHA1,其速度大约比MD5慢了25%。

●  简易性:两种方法都是相当的简单,在实现上不需要很复杂的程序或是大量存储空间。然而总体上来讲,SHA1对每一步骤的操作描述比MD5简单。

 

步骤如下:1.打开SHA时钟即可初始化。

RCM_EnableAHB2PeriphClock(RCM_AHB2_PERIPH_HASH);

2. 调用库函数接口计算SHA1:

  /* SHA-1 Digest Computation */
    printf("Hello,Geehy!!!\r\n");
    
	 for (int i=0; i<261; i++)
    {
        printf("%02X  ", input[i]);
	}
	printf("\r\n");
	 
	printf("SHA-1 Digest Computation Begin\n\r");
	
    HASH_ComputeSHA1((uint8_t*)input, 261, sha1output);

    /** Digest Display */
	printf("SHA-1 Digest Computation Done:\r\n");
	
    for (int i=0; i<20; i++)
    {
        printf("%02X  ", sha1output[i]);
    }

3.查看结果,并用第三方工具对比:

 

总结:得益于Geehy优秀的加密协处理器,计算sha1 达到了惊人的高速率,能节省cpu的时间,比软件库实现的SHA1 算法更优!

最新回复

点赞加关注!   详情 回复 发表于 2024-4-12 13:10
点赞 关注
个人签名

gitee/casy

 
 

回复
举报

1704

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 

结果不错,Geehy优秀的加密协处理器,计算sha1 达到了惊人的高速率

 
 
 

回复

267

帖子

0

TA的资源

一粒金砂(高级)

板凳
 

点赞加关注!

个人签名

gitee/casy

 
 
 

回复

5263

帖子

239

TA的资源

管理员

4
 

你们现在对信息安全性都有要求了吗?感觉以前测评很少见你们测加密算法这些

现在都能看到了

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

7048

帖子

11

TA的资源

版主

5
 
这个加密算法,一般都用到哪些地方,比如我要在服务器上解密,是通用算法吗?

点评

问得好啊,对,是通用的加密算法!  详情 回复 发表于 2023-6-5 11:17
 
 
 

回复

267

帖子

0

TA的资源

一粒金砂(高级)

6
 
lugl4313820 发表于 2023-6-5 10:51 这个加密算法,一般都用到哪些地方,比如我要在服务器上解密,是通用算法吗?

问得好啊,对,是通用的加密算法!

个人签名

gitee/casy

 
 
 

回复

267

帖子

0

TA的资源

一粒金砂(高级)

7
 

比如 ota升级,对固件进行签名,SHA1 就用得到了

点评

挺好的,我对这方面还是空白,大佬可以写些这方面帖子,让我们学习一下。谢谢了。  详情 回复 发表于 2023-6-5 11:32
个人签名

gitee/casy

 
 
 

回复

7048

帖子

11

TA的资源

版主

8
 
caizhiwei 发表于 2023-6-5 11:17 比如 ota升级,对固件进行签名,SHA1 就用得到了

挺好的,我对这方面还是空白,大佬可以写些这方面帖子,让我们学习一下。谢谢了。

 
 
 

回复

267

帖子

0

TA的资源

一粒金砂(高级)

9
 

https://gitee.com/casy/APM32F407IG_TinyBoard

需要源代码的在这个链接里下载哈

个人签名

gitee/casy

 
 
 

回复

267

帖子

0

TA的资源

一粒金砂(高级)

10
 

工程在这个目录下哦

 

个人签名

gitee/casy

 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

11
 

点赞加关注!

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表