你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【NUCLEO-H533RE评测】3.HASH验证

[复制链接]
jundao721 发布时间:2024-7-4 21:18

  K- V+ D: ~$ N, J5 g! E      对于安全领域的哈希算法还是很感兴趣的,读完参看手册的介绍,额。。。还是没怎么明白。找gpt了解了一下,给出的解释是:在STM32微控制器中,HASH外设是指硬件加速的哈希函数单元。它的主要作用是通过硬件加速算法来计算数据的哈希值,常见的算法包括SHA-1、SHA-224、SHA-256、MD5等。这些算法通常用于安全性相关的应用,如数据完整性验证、数字签名、安全通信等。官网Demo中给出了SHA-384的例程,看完简介和代码,了解了一下。+ X( ~. |2 U1 Y% w! V- o
       SHA-384是一种安全哈希算法,属于SHA-2系列(Secure Hash Algorithm 2)。原理大概是对一组数据,经过复杂的哈希运算,最后生成8个64位长的字组成,共512位(64字节)。这个值通常以16进制表示,作为消息的唯一标识。例程中给给出了一组数据,通过NIST Vector预测了哈希算法的结果,通过哈希算法和预测的结果进行对比。
4 l) ?+ b. B. ~0 M6 LSTM32CubeMx中Hash的配置如图1所示:
2 ^! Y) R( G4 B  ?6 a/ ? 3-1.JPG
' e- D& _8 q$ y" N
9 T4 @9 C* }* d; _( P! ?. j6 x图1
- b6 b  H! W: ^. e: x程序主要代码如下:8 Q6 L$ e: f- h
  1. if (HAL_HASH_Start(&hhash, (uint8_t *)Input, INPUT_TAB_SIZE, aDigest, 0xFF) != HAL_OK): }7 N" g0 J/ K. z& o2 ^) Z# \/ @
  2.   {
    : F! I  J" ?. R
  3.     Error_Handler();* a, R* ^  S9 F: o3 W* q2 n5 h
  4.   }
    # r$ _; |' ~1 n/ v  x3 `, ^  t
  5.    /* Check the output buffer containing the computing digest with the expected buffer */
    1 h# _+ i* w! B, \! u  X
  6.   if(memcmp(aDigest, aExpectedDigest ,48) != 0)
    ' ?" T6 m6 K( t8 _6 q
  7.   {# |5 E- X5 ]/ n& m% J0 `4 Q8 C8 i
  8.     Error_Handler();
      v- r1 W! O8 Y5 D: [1 Q
  9.   }: Z) W3 _& ~! ?6 G2 l6 z, @1 F, I
  10.   else" U& L& Y5 _6 L! B. k5 `+ J
  11.   {8 j# a. t/ h. K( [7 c* \0 ^
  12.     BSP_LED_On(LED2);. W- S, o$ S4 t7 t
  13.   }
复制代码
5 ?* }3 u4 E/ M* B) `, i: j8 v
( r% f' Z6 N5 a% Y
测试对比一下,数据对比正确点亮LED,例程嘛,当然是预期结果。如图2所示:4 x8 p6 e, c0 L) I7 T: n
3-2.jpg
! `+ E' l: Y5 h% _" K$ }' {: g
% {# [( @: ^( w% @# l" u5 A图2
7 v& @; h& J. y$ H; C! HMCU安全应用这部分外设功能,还得好好研究一下。( ?8 |5 N9 U: i. H
收藏 评论0 发布时间:2024-7-4 21:18

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版