This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] BQ27Z561-R1:

Guru**** 2540720 points
Other Parts Discussed in Thread: BQ27Z561, SHA-256

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/789641/bq27z561-r1

器件型号:BQ27Z561-R1
主题中讨论的其他器件:BQ27Z561SHA-256

您好,我们使用 BQ27z561作为电池电量监测计 IC。 现在、我有关于 SHA256的问题。 我已经下载了 C 代码文件 SHA2.c 作为 ARM M0处理器的一部分。  CHallange 和 Key 均为256位、如何将其组合为 SHA2.c 计算中的消息?  是否有任何文件可以解释它? 谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将使用主机的 SHA-256身份验证协议。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    让我们举一个例子:

     SHA256密钥(256位)为0000~0000,所有的验证密钥(256位)为零,

    SHA256消息(256位)为0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEFF。

    3.如何按 如下方式使用 C 代码:

    a.将消息[0-15]更改为消息[0-31]?

    b.是否将 SHA256密钥和 SHA256消息组合在一起?

    非常感谢

    void SHA256_example6 (uint32_t * hash){
    //输入:64字节零
    //预期输出:f5a5fd42 d16a2030 2798ef6e d309979b 43003d23 20d9f0e8 ea9831a9 2759fb4b
    int i;
    //空间必须为0x32_u2024[e2_de2_de2_de2024]
    
    
    
    ;预计为0xINT32_u2024_e2_de2_de2[u2024_e2_de20e20e20e2_de20e20e20e20e20e20e20e20e20e20e20e20e20e20e20e20e20e20e20e20e20e20e20e20e20e20e20e20e20e
    
    
    
    
    Expected [3]= 0xd309979b;
    Expected [4]= 0x43003d23;
    Expected [5]= 0x20d9f0e8;
    Expected [6]= 0xea9831a9;
    Expected [7]= 0x2759fb4b;
    //设置消息
    消息[0]= 0x00000000;
    消息[1]= 0x00000000;
    消息[2]= 0x00000000;
    消息[3]= 0x00000000;
    消息[4]= 0x00000000;消息[4];消息[4]= 0x00000000
    消息[5]= 0x00000000;
    消息[6]= 0x00000000;
    消息[7]= 0x00000000;
    消息[8]= 0x00000000;
    消息[9]= 0x00000000;
    消息[10]= 0x00000000;
    消息[11]= 0x00000000;
    消息[12]= 0x00000000;
    消息[13]= 0x00000000;
    消息[14]= 0x00000000;
    message[15]= 0x00000000;
    
    bytes_TO_BE_Hashed = 64;
    hash_mode = SHA_256;
    
    SHA_2 (&message[0]、bytes_TO_BE_Hashed、 hash、hash-mode);
    for (i=0;i<8;i++)
    {
    if (hash-[i]!= Expected [i])
    return (-1);
    }
    return (0);
    } 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    遗憾的是、我们没有 C 代码来帮助解决 SHA-256问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此 C 代码文件从 SHA-256 文件夹的连接链接下载。

    结果及其示例代码是正确的。 但是,我无法找到使用 BQ27z561获得相同结果的方法,因为我不知道如何组合密钥和消息(bq27z561),以便使用此 C 代码文件获得相同结果?

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    TRM 概述了有关该做什么的过程。
    第8.2节. 您了解过吗?
    www.ti.com/.../sluubo7.pdf

    谢谢
    Onyx
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的用户433042:

    请确保消息采用大端字节序。

    请确保该消息填充为512位散列块的倍数。

    有关详细信息和代码片段、请访问 www.ti.com/.../slaa547b.pdf

    并使用 http://www.ti.com/tool/SHA-256上的"下载"按钮

    有关 SHA256预处理和流量的更多信息、请参阅 FIPS 180-4: doi.org/.../NIST.FIPS.180-4的第6.2.1节

    有关计算机哈希的详细信息,请参阅 FIPS 180-4的第6.2.2节。

    有关实施 HMAC 的更多信息、请参阅 FIPS 198-1: doi.org/.../NIST.FIPS.198-1

    此致、
    Bryan Kahler