C SHA-256摘要不同,而长度<;64字节

C SHA-256摘要不同,而长度<;64字节,c,sha256,atsha204,C,Sha256,Atsha204,更新: CryptoAuthLib解决了这个问题。非常感谢@zaph 我正在研究ATSHA204安全芯片,其中一部分工作是计算SHA-256,就像芯片一样。我正在使用 CryptoAuthentication ATSHA204A开发库2.0.1[来自hxxp://www.atmel.com/tools/CRYPTOAUTHENTICATIONATSHA204DEVELOPMENTLIBRARY.aspx]用C实现 嗯,尽管尝试任何大于等于64字节的数据,但一切都正常。但是任何小于64字节的内容都

更新:

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

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

嗯,尽管尝试任何大于等于64字节的数据,但一切都正常。但是任何小于64字节的内容都与芯片的计算不同

看看下面

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字节的消息才能得到芯片计算的摘要。[不幸的是,ATMEL社区的任何回复都失败了]

我会尝试添加前导0x00,以填充多达64个字节。然后,如果它不能解决问题,则跟踪0x00s。然后,如果它不能解决问题,则导致0xFFs。然后,如果它不能解决问题,那么它仍然是错误的。空消息与包含所有
0x00
s或
0xFF
s的消息不同。这些软件中的一个或两个都有错误。来自Atmel的站点:不推荐。替换为。@where_is_tftp我验证错误为Atmel SHA-256输出。我将尝试添加前导0x00s,以填充多达64个字节。然后,如果它不能解决问题,则跟踪0x00s。然后,如果它不能解决问题,则导致0xFFs。然后,如果它不能解决问题,那么它仍然是错误的。空消息与包含所有
0x00
s或
0xFF
s的消息不同。这些软件中的一个或两个都有错误。来自Atmel的站点:不推荐。替换为。@where_is_tftp I验证错误为Atmel SHA-256输出。