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

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

[复制链接]
jundao721 发布时间:2024-7-4 21:18
+ V4 s$ E2 C% ^! {. j: M! _+ h, ]
      对于安全领域的哈希算法还是很感兴趣的,读完参看手册的介绍,额。。。还是没怎么明白。找gpt了解了一下,给出的解释是:在STM32微控制器中,HASH外设是指硬件加速的哈希函数单元。它的主要作用是通过硬件加速算法来计算数据的哈希值,常见的算法包括SHA-1、SHA-224、SHA-256、MD5等。这些算法通常用于安全性相关的应用,如数据完整性验证、数字签名、安全通信等。官网Demo中给出了SHA-384的例程,看完简介和代码,了解了一下。' h* n8 w& w1 Q& |/ _$ j
       SHA-384是一种安全哈希算法,属于SHA-2系列(Secure Hash Algorithm 2)。原理大概是对一组数据,经过复杂的哈希运算,最后生成8个64位长的字组成,共512位(64字节)。这个值通常以16进制表示,作为消息的唯一标识。例程中给给出了一组数据,通过NIST Vector预测了哈希算法的结果,通过哈希算法和预测的结果进行对比。" I+ X  s& ?* D2 \; Q; y, D
STM32CubeMx中Hash的配置如图1所示:
3 j$ l4 Q0 k3 k 3-1.JPG
5 Z6 t- n% L# u2 r
8 |1 h: e% }7 m5 l+ `' N6 P# J, z图1
5 N: R& T! A: h$ y* S4 ~0 a程序主要代码如下:
: X9 e# H! m" C
  1. if (HAL_HASH_Start(&hhash, (uint8_t *)Input, INPUT_TAB_SIZE, aDigest, 0xFF) != HAL_OK)  {7 Q8 L) O7 b! N
  2.   {
    - o. D! j* \& n! l3 A7 F
  3.     Error_Handler();- i5 l! C3 e  j" I& S2 f
  4.   }
    / U) z$ Y3 M" w
  5.    /* Check the output buffer containing the computing digest with the expected buffer */
    * v( ]' i/ w  Y9 f
  6.   if(memcmp(aDigest, aExpectedDigest ,48) != 0)& {' C( j) k' f
  7.   {2 N3 R. v# I5 h7 C% u+ |
  8.     Error_Handler();1 T+ f5 D7 t1 l
  9.   }
    # ~' }( F+ W5 ^) ~0 Z. F
  10.   else6 Q( x) [1 ~) z: P1 p
  11.   {
    9 i3 f  @- h; f2 N. [1 J
  12.     BSP_LED_On(LED2);/ o! J) p+ F+ \# F1 p$ k
  13.   }
复制代码
* O/ ?' F7 V* M2 A! B

, i7 ?7 h& u0 K( |3 Q测试对比一下,数据对比正确点亮LED,例程嘛,当然是预期结果。如图2所示:
! O/ l+ c3 y. B4 z$ m 3-2.jpg ( j; \6 e9 `, I! f  T8 \
% d' h6 L6 C( ]2 L' a
图2
1 h$ l/ }, l; W4 w0 |MCU安全应用这部分外设功能,还得好好研究一下。
3 m# i* E: O" {, [7 W9 L9 j
收藏 评论0 发布时间:2024-7-4 21:18

举报

0个回答

所属标签

相似技术帖

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