问题标签 [cbc-mac]

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 回答
366 浏览

encryption - 3DES-DUKPT CBC 和 3DES-DUKPT CBC-MAC 的区别

有谁知道区别?我正在为我们的一个供应商 EMV 机器解密芯片卡代码。该算法称为3DES0DUKPT CBC-MAC?

我之前已经成功完成了 3DES-DUKPT CBC.... 解密过程中 CBC-MAC 与 CBC 有何不同?我以为MAC只是解密后的完整性检查.....谢谢!

0 投票
0 回答
394 浏览

encryption - Triple-DES DUKPT CBC PIN 变体与数据变体

有人知道带有 PIN 变体和数据变体的三重 des dukpt 解密算法之间的区别吗?

我已经完成了 Triple DESK DUKPT PIN 变体,它从KSNBDK生成会话密钥。然后使用会话密钥解密消息。

数据变体怎么样?它与 PIn 变体有何不同?谢谢

0 投票
0 回答
1533 浏览

c - AES 128 与 C 中的 CBC-MAC

下面显示的代码是采用 CBC 模式实现的 AES。我对网络安全方面非常陌生。我想知道如何在块上添加 mac 生成功能并使其成为 cbc-mac

部分测试代码如下所示

0 投票
1 回答
1033 浏览

c - C语言中的CBC-MAC实现

我希望在 C 中对 CBC-MAC 进行一些基准测试。有人知道健壮的 C 实现吗?我环顾四周,但 CBC-MAC 实现(几乎任何语言)似乎很少见。有谁知道为什么除了它相当限制(期望)的用例,例如,固定长度输入。

谢谢

0 投票
1 回答
1066 浏览

c++ - CBC MAC:消息长度和长度前置

我想在 C++ 中使用 CBC MAC。首先,我希望找到一些我将在 CBC 模式下使用的分组密码的实现,我理解的是 CBC MAC。但我有两个问题:

1)如果要认证的消息长度不是分组密码块长度的倍数,我该怎么办?

2)为了加强 CBC MAC,Wiki 上提到的一种推荐方法是将消息的长度放在第一个块中。但是我应该如何将长度编码为字符串?还是二进制?如果密码的块长度是 64 位,我是否将该数字编码为 64 位数字?例如,如果消息长度为 230,我应该使用以下值作为第一个块:

00000000 00000000 00000000 00000000 00000000 00000000 00000000 11100110</p>

?

0 投票
1 回答
313 浏览

php - 服务器上的 PHP 加密不起作用“mcrypt_get_iv_size”功能

所以我正在编写一个 Web 应用程序,对于某些用途,我需要加密字符串并稍后解密,我的代码中的所有内容都可以在 El Capitan 10.11.4 和 XAMPP 5.6.15-1 上的 Macbook 上的 localhost 上完美运行,但是当我上传代码时在服务器上它只是不会工作。我发现了一个问题(我也在多台服务器上尝试过)。

所以这是我的代码:

而且,此回声仅用于测试哪条线路不起作用。所以当我尝试运行它时,它只会打印“------ 1 ------ and ------ 2 ------”,后面的代码

只是不会在服务器上工作,有人知道为什么吗?

编辑:我发现了错误,这是托管问题,他们做了一些奇怪的事情,无论如何谢谢!

0 投票
0 回答
588 浏览

openssl - 使用 OpenSSL 的 aes ccm 代码错误

这是 aes-ccm 示例代码。我使用 c 语言打开了我的视觉工作室。但它是行不通的。我认为问题点是void handleErrors(void); 如何解决这个问题?请给我建议。谢谢

0 投票
1 回答
3131 浏览

c - 在 C 中使用 AES-256 和 openssl 计算 CBC-MAC

我想用 openssl 计算给定明文的 CBC-MAC。我有以下明文(hexdump):

如果我使用 openssl 的命令行功能,我会得到以下解决方案:

到现在为止还挺好。我有一个额外的块,因为第一个块应该是加密的 IV。现在最后一行应该是我的 CBC-MAC,如果我理解正确的话。接下来我尝试在 C 中做同样的事情,这里是示例代码:

之后我解密加密的消息以验证我的代码。我的代码输出非常令人惊讶:

The encrypted message is completely identical to the command line output, except the last line is all 0. I thought, that the first line is the encrypted IV and the three following lines are the encrypted message, so with my interpretation the last line of the message wasn't encrypted. But to my surprise the decryption results exactly to the text I used as input, so it seems that there is no loss of information.

Questions:

  • How is it possible that I can decrypt the output of my encryption, even if I don't have the last line?
  • What is my CBC-MAC? is it the last line from my command line output or the last line of my C-code output?
  • Am I doing something wrong in my C code? I used this so question as help.
0 投票
1 回答
613 浏览

ios - 相当于来自 bouncycastle 的 CBCBlockCipherMac 用于 swift

由于 bouncycastle 的图书馆,我需要为 iOS (swift) 重新实现为 Android 应用程序 (kotlin) 完成的加密操作。科特林代码是:

此代码有效,从输出中找到的 mac 与原始的“mac”属性相同。

我尝试使用 swift Library CryptoSwift 和这段代码:

但这不起作用。CryptoSwift 的 CBCMAC 类背后的算法与 bouncycastle 的 CBCBlockCipherMac 的想法不同。

我也尝试使用苹果的 CommonCrypto 库,但没有 CBCMAC 身份验证,只有 HMAC。我没有找到任何方法可以轻松地为 iOS 平台进行 CBC-MAC 身份验证。

0 投票
1 回答
54 浏览

bash - 加密 Bash 文件夹中的每个项目

我有一个代码应该加密文件夹中的每个文件,但是当我将它(加密代码)放在无限循环中时它不起作用。

它可能能够加密您运行程序的文件夹中的所有文件,因此请谨慎操作