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

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

[复制链接]
jundao721 发布时间:2024-7-4 21:18
4 s  e9 D& t& a
      对于安全领域的哈希算法还是很感兴趣的,读完参看手册的介绍,额。。。还是没怎么明白。找gpt了解了一下,给出的解释是:在STM32微控制器中,HASH外设是指硬件加速的哈希函数单元。它的主要作用是通过硬件加速算法来计算数据的哈希值,常见的算法包括SHA-1、SHA-224、SHA-256、MD5等。这些算法通常用于安全性相关的应用,如数据完整性验证、数字签名、安全通信等。官网Demo中给出了SHA-384的例程,看完简介和代码,了解了一下。5 g& {" _. x7 U/ E+ x
       SHA-384是一种安全哈希算法,属于SHA-2系列(Secure Hash Algorithm 2)。原理大概是对一组数据,经过复杂的哈希运算,最后生成8个64位长的字组成,共512位(64字节)。这个值通常以16进制表示,作为消息的唯一标识。例程中给给出了一组数据,通过NIST Vector预测了哈希算法的结果,通过哈希算法和预测的结果进行对比。; Z% R$ Z( W6 ?- U$ f4 i) R
STM32CubeMx中Hash的配置如图1所示:
+ v% v2 \1 H0 ~& P" |2 j. c 3-1.JPG 8 k; q) h# C  W, w5 |# v: b5 C2 s: ^. {
2 e6 \& V$ N/ {$ P8 I; B/ q/ A
图1# Y# l4 p3 b: l& V9 e" G
程序主要代码如下:- ]# z% m1 [& g  {
  1. if (HAL_HASH_Start(&hhash, (uint8_t *)Input, INPUT_TAB_SIZE, aDigest, 0xFF) != HAL_OK)
      s' v) x2 I3 f& \7 I4 u; r. Z" B
  2.   {
    3 @4 r! B/ }  R, t' w* s2 R9 o
  3.     Error_Handler();) R3 e) ^4 g8 s9 y- F
  4.   }
    1 q7 e3 l8 _& n2 v* W
  5.    /* Check the output buffer containing the computing digest with the expected buffer */; p  V) f% K( ~! v8 [
  6.   if(memcmp(aDigest, aExpectedDigest ,48) != 0)
    1 z' T! j2 I; [( g
  7.   {
    ) [- T$ w- }6 b4 @9 r: O* Z
  8.     Error_Handler();- ]/ ^- `, s7 u" X; y0 A
  9.   }) E! L+ U5 y: Y: |! \
  10.   else
    7 V: f2 p! M& x9 Q) V5 x7 t0 @0 Q
  11.   {% G, c1 Q$ L- h" R+ R1 \
  12.     BSP_LED_On(LED2);
    " i+ h* W( T# Q& O
  13.   }
复制代码
: \" ?5 Y6 J! K

$ W3 X- v- ?0 E$ y8 b测试对比一下,数据对比正确点亮LED,例程嘛,当然是预期结果。如图2所示:
( Z& Z! _5 ?# I9 } 3-2.jpg 3 U# E2 }& W1 y: |
- |; o, f7 z% U3 ?
图2
  X: H; o- v8 h* I: sMCU安全应用这部分外设功能,还得好好研究一下。& M. f3 K* Y7 m3 ^$ n- i+ p7 l
收藏 评论0 发布时间:2024-7-4 21:18

举报

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