1

更新:

CryptoAuthLib 解决了这个问题。非常感谢@zaph

我正在研究 ATSHA204 安全芯片,其中一部分工作是像芯片一样计算 SHA-256。我正在使用
CryptoAuthentication ATSHA204A Development Library 2.0.1 [from hxxp://www.atmel.com/tools/CRYPTOAUTHENTICATIONATSHA204DEVELOPMENTLIBRARY.aspx]在 C 中实现。

好吧,尽管尝试任何 >= 64 字节的数据,但一切正常。但是任何小于 64 字节的内容都与 CHIP 的计算不同。

往下看,

message: 
20 4D 56 EF 56 F6 27 71 
AD CF D7 07 FC BA BE 21 
A8 7D 7C AF F5 54 6F ED 
27 2C F9 ED 75 B3 94 C7 
1C 04 02 00 EE 01 23 00 
00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 
0E EA 11 36 8E 89 D2 11 
07 C1 1B 64 B6 D0 34 DA 
A6 DB 66 0F 14 FB DB C6 
26 7D 6A 3A 62 83 47 13

digest from Atmel's algorithm: 
8C E2 28 98 6A 21 A3 40 
A4 42 97 CE 4C 80 70 DF 
87 97 61 B3 FC CD A2 BF 
8D F0 89 EE 29 B8 68 BF

在此处输入图像描述 在将长度小于 64 的内容用于相同的实现时,

message:
11 CC 32 8B 30 ED 04 81
73 96 A9 F8 3B F7 9E 72
23 DC 05 29 3C 65 36 70
3A 03 1C E2 C2 2D 99 4E
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 16 00 00

digest from Atmel's algorithm:
40 3D DC C0 93 A6 4B A5
01 36 7D 59 EC 8C C4 59
15 20 6D 52 A7 D5 ED 40
9B 95 31 D3 49 37 F3 F8

在此处输入图像描述

应该添加小于 64 字节的消息以获得类似于 CHIP 计算的摘要。[不幸的是,ATMEL 社区的任何回复都失败了]

4

0 回答 0