问题标签 [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 投票
3 回答
2830 浏览

cryptography - CMAC 为什么选择 K1 和 K2

http://en.wikipedia.org/wiki/CMAC

http://www.rfc-archive.org/getrfc.php?rfc=4493

有两个键 K1 和 K2。除了消息 1 与 10^127 不同(1 和 127 个零)之外,还有其他原因吗

如果消息携带长度(并且长度也是 CMAC-ed whit 消息),那么仅使用一个随机生成的 K 是否存在任何安全漏洞?

0 投票
2 回答
6001 浏览

linux - 使用 openssl 作为命令行计算 AES128 CMAC

我正在寻找一种可以将 AES128 CMAC 计算为命令行的工具。Openssl 似乎没有通过命令行提供此功能。我是否遗漏了什么,或者您知道可以执行此计算的命令行工具吗?

0 投票
1 回答
1435 浏览

php - 使用 PHP 进行 CMAC-AES 散列

我们的 API 平台使用 CMAC-AES 哈希作为请求的签名。我们有可用于在 Java 和 .NET 中创建此哈希的库,但也需要为 PHP 找到解决方案。问题是我找不到任何似乎可靠地生成与在我们的服务器上或通过 Java/.NET 库生成的 CMAC 匹配的哈希的东西。

我发现的唯一库是 CryptLib,一个 alpha 库。

https://github.com/ircmaxell/PHP-CryptLib

但它没有生成相同的哈希,而且我对加密的理解还不够好(它强制 AES 的块大小为 16,当我在网上找到的说 AES 块大小为 128 时)。

我还有其他途径可以走吗?

0 投票
2 回答
1874 浏览

javascript - 如何在 javascript 中生成 CMAC-AES

我正在尝试使用斯坦福 Javascript 加密库为 OAuth 2.0 断言生成 CMAC-AES 令牌,但我远非密码学专家。有人可以举一个使用 sjcl 或任何开放许可 js 库的例子吗?我什至不确定是否可以使用 sjcl 的现有功能。

我尝试使用我在这个问题中看到的选项对象,但我不了解模式或其他选项,也找不到任何文档。我认为 salt 和 iv (要成为可复制的 MAC)必须是静态的,但我不知道它们应该是什么值。

一点背景知识......这是为了将原生移动应用程序(iOS 和 android)重写为单个混合应用程序(Cordova、HTML、CSS 和 JavaScript),我希望尽可能多地在 JavaScript 中共享代码. 这不会在“不安全”的浏览器环境中运行,而是在本机 WebViews 中运行。如果您知道其他安全问题,我想听听。

否则我想我将不得不编写一个插件来从本机实现传递 CMAC。

忘了提,我也在使用 Dojo,我知道 dojox.encoding.crypto 但问题对我来说是一样的。不确定它是否可以执行 CMAC 或需要进行多少修改才能使其工作。

0 投票
2 回答
612 浏览

lua - 使用 Blowfish 而不是 AES 的 CMAC 算法

背景

我有一个 Lua 环境,它内置了河豚加密 (CBC, IV = {00..0})。AES 不可用,纯 Lua AES 实现会变慢。

问题

我想根据RFC 4493中指定的算法生成 CMAC,该算法基于 AES。由于我需要这个 CMAC 在 Lua 环境和我自己构建的另一个程序之间进行交换,我想我只是将所有 AES crypt 函数更改为 Blowfish 函数。

每个 CMAC 的输入长度为 26 字节,而不同 CMAC 代之间只有几个字节发生变化。例如:

这导致了问题,即 CMAC 的第一部分对于每个输入都是相同的,只有最后一部分发生了变化:

这是河豚算法的问题吗?我能做些什么(更改 CMAC 算法)来确保我得到不同的结果,尤其是对输入只有很小的更改?

0 投票
1 回答
835 浏览

javascript - Node.js 的 AES-CMAC 模块?

是否有处理 AES-CMAC ( RFC 4493 ) 的 Node.js 模块?

我一直在搜索 NPM、Google 等,但没有找到。我公司的某个人构建了一个将Crypto++包装为 Node.js 的 C++ 插件,但不幸的是它不是在 Windows 上构建的(取决于make)。只是寻找可能的替代品。

这与其他问题类似,但我希望有一个特定于 Node.js 的实现,而不是一个普通的 JavaScript 实现。理想情况下,利用 Node 的加密库或 C/C++ 插件来提高性能。

构建一个似乎不会太难,但如果已经有一个,我想避免这样做。

0 投票
1 回答
11581 浏览

openssl - 如何使用 OpenSSL 的 CMAC_xxx 函数计算 AES CMAC?

有没有办法用OpenSSL/计算 AES CMAC libcrypto

最好以利用 AES-NI(或任何其他硬件加速)的方式。

另请参阅使用 OpenSSL EVP_DigestSign* 生成 CMAC 密钥失败

0 投票
1 回答
3843 浏览

java - 如何使用 Bouncycastle 的 CMac

我正在尝试使用 BouncyCastle 的 CMac 实现,但显然我做错了。至少以下单元测试(基于 RFC 5297 测试向量)失败:

我假设 CMac 实现本身已经过很好的测试,所以我必须错过一些东西。

0 投票
1 回答
10385 浏览

c# - AES CMAC 计算 C#

我知道 MAC 是最后一个块加密的 4 个第一个字节,并且在这里找到了这个 CMAC 解释,但这有点难以理解。也许已经有一些 CMAC AES 问题,但很抱歉我不能很好地理解它。

任何人都可以解释如何计算 CMAC?并在必要时使用 C# 中的一些示例代码。谢谢

0 投票
2 回答
1885 浏览

openssl - 使用 OpenSSL EVP_DigestSign* 生成 CMAC 密钥失败

我正在尝试使用 OpenSSL 生成用于计算 CMAC 的密钥。

但是,这些似乎因下面复制的错误消息而失败。有人能指出问题出在哪里吗?EVP_DigestSign*有人用电话做过CMAC吗?

这是从https://wiki.openssl.org/index.php/EVP_Key_and_Parameter_Generation的示例构建的部分代码:

这里的错误:

在 pmeth_lib.c 的第 390 行:

我正在使用 OpenSSL 1.0.1e。

另请参阅如何使用 OpenSSL 的 CMAC_xxx 函数计算 AES CMAC?