问题标签 [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.
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 是否存在任何安全漏洞?
linux - 使用 openssl 作为命令行计算 AES128 CMAC
我正在寻找一种可以将 AES128 CMAC 计算为命令行的工具。Openssl 似乎没有通过命令行提供此功能。我是否遗漏了什么,或者您知道可以执行此计算的命令行工具吗?
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 时)。
我还有其他途径可以走吗?
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 或需要进行多少修改才能使其工作。
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 算法)来确保我得到不同的结果,尤其是对输入只有很小的更改?
openssl - 如何使用 OpenSSL 的 CMAC_xxx 函数计算 AES CMAC?
有没有办法用OpenSSL
/计算 AES CMAC libcrypto
?
最好以利用 AES-NI(或任何其他硬件加速)的方式。
java - 如何使用 Bouncycastle 的 CMac
我正在尝试使用 BouncyCastle 的 CMac 实现,但显然我做错了。至少以下单元测试(基于 RFC 5297 测试向量)失败:
我假设 CMac 实现本身已经过很好的测试,所以我必须错过一些东西。
c# - AES CMAC 计算 C#
我知道 MAC 是最后一个块加密的 4 个第一个字节,并且在这里找到了这个 CMAC 解释,但这有点难以理解。也许已经有一些 CMAC AES 问题,但很抱歉我不能很好地理解它。
任何人都可以解释如何计算 CMAC?并在必要时使用 C# 中的一些示例代码。谢谢
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。