首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AES CMAC生成错误签名

AES CMAC生成错误签名
EN

Stack Overflow用户
提问于 2022-06-27 10:33:46
回答 1查看 85关注 0票数 1

我试着用密码库生成AES-CMAC。它使用消息和密钥生成不同的输出,然后生成在线计算器:AES-CMAC在线计算器

这是我的密码

代码语言:javascript
复制
aeskey_for_CMAC = binascii.hexlify(key[-16:])

c = cmac.CMAC(algorithms.AES(aeskey_for_CMAC))
c.update(message)
Cmac = c.finalize()

print("CMAC : ",binascii.hexlify( Cmac))

在这里,key = b'cce9cdc049d9b46140a850dc8c7b146c9efa60caa228c49e1eec9303bed205ba'message = b'6ffad88b23783dc86974c75f87370dc0'

来自上述代码的输出:在线计算器/预期:b'dc629809794c584107f4d81cb7133982'输出:dfea87c2 b4c2678a b63241e5 52b84acd

有人能告诉我我的代码有什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-27 11:17:50

要派生密钥aeskey_for_CMACkey不能是十六进制en编码,而是十六进制de编码,最后16个字节将用作CMAC键:

代码语言:javascript
复制
aeskey_for_CMAC = binascii.unhexlify(key)[-16:]

还必须对该信息进行解码:

代码语言:javascript
复制
c.update(binascii.unhexlify(message))

通过这些更改,代码返回您要寻找的结果:dfea87c2b4c2678ab63241e552b84acd

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72770644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档