Skip to content

SM3计算结果和pdf文档不一致呢? #6

@tan00

Description

@tan00

SM3文档示例1

输入消息为“abc”,其ASCII码表示为616263 ... 杂凑值
66c7f0f4 62eeedd9 d1f2d46b dc10e4e2 4167c487 5cf2f7a2 297da02b 8f4ba8e0

在linux下编译输出结果为

Message:
abc
Hash:
37bc43d1 1cab393d 7899ef62 24f568ec 18a8fd85 1d165c50 0c375402 0f466a04

代码粗略看了下, 至少位移的宏看起来有问题

#define  SHL(x,n) (((x) & 0xFFFFFFFF) << n)
#define ROTL(x,n) (SHL((x),n) | ((x) >> (32 - n)))

GMSSL里面的SM3代码, 位移宏为

#define ROTL(x,n)  (((x)<<(n)) | ((x)>>(32-(n))))

GMSSL SM3输出没有问题。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions