问题标签 [cmac]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
89 浏览

.net-core - 是否可以使用 .NET Standard 库生成 CMAC?

我基本上想知道是否可以使用 .NET Standard 库完成以下序列:

我注意到AesCcm所以充满希望。看来使用此类获取 CMAC 是不可能的。

这通过采摘得到加强

我们没有办法用当前的提案做 CMAC,但没关系,因为我们没有办法在平台上做 CMAC。

来自https://github.com/dotnet/runtime/issues/1813#issuecomment-575371385讨论相关(未解决)问题。

虽然有AES CMAC Calculation C#解释该方法,当然还有Bouncy 代码。所以看起来有一种简单/易于理解的方法,但也许我只是想确保自己有外部意见,即没有一些直接的方法潜伏在表面之下或其他容易咬人的东西。:)

0 投票
0 回答
63 浏览

c++ - 使用带有 PlatformIO 的 ESP32 和 VSC 对“mbedtls_cipher_cmac”的未定义引用

我正在尝试从头开始编写一个 LoRaWAN 库。使用mbedtls/cmac.h中的函数mbedtls_cipher_cmac生成加入请求帧。我得到错误

未定义对“mbedtls_cipher_cmac”的引用

我在这篇文章中尝试了解决方案:AES-CMAC using mbedtls: undefined reference error by defined CONFIG_MBEDTLS_CMAC_C in my main.cpp file。
当我查看 esp_config.h 时,非活动区域着色(VSC 功能)确认现在定义了 MBEDTLS_CMAC_C,但是干净的构建仍然会出现未定义的参考错误。


我知道链接器找不到与 cmac.h 一起出现的相应 .cpp 文件,但是在这里我迷路了,因为我也找不到 aes.cpp,但是它构建得很好。我不知道 VSC 将 .cpp 文件存储在哪里。它们似乎是内置的,但在 PlatformIO 库选项卡中的搜索没有返回任何内容。这是我的代码(使用假的 appkey):

0 投票
1 回答
45 浏览

c - libgcrypt:CMAC 是一种选择吗?

为项目使用 libgcrypt,使用以下设置打开密码句柄:

根据 libgcrypt 文档:

GCRY_CIPHER_CBC_MAC:计算 CBC-MAC 密钥校验和。这与CBC模式相同,但只输出最后一个块。不能与 GCRY_CIPHER_CBC_CTS 同时使用。

从研究和阅读来看,“CBC_MAC”与 CMAC 不同。但是,如果 libgcrypt 支持 CMAC,我不能完全从文档中获得?有人可以澄清一下 CMAC 是否是 libgcrypt 中的一个选项吗?这里有一个模式列表,没有明确列出 CMAC:

https://www.gnupg.org/documentation/manuals/gcrypt/Available-cipher-modes.html

0 投票
0 回答
27 浏览

c# - 使用 HSM 在 Pkcs11Interop 中进行 Aes cmac 计算

我正在尝试基于 HSM 上存储的密钥生成 Aes Cmac,并支持 Pkcs11Interop,这是我的逻辑

但我总是得到异常: Net.Pkcs11Interop.Common.Pkcs11Exception Method C_SignInit returned CKR_MECHANISM_PARAM_INVALID

关于如何生成 CMAC 的任何想法或示例