问题标签 [cbc-mode]

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 回答
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 投票
0 回答
402 浏览

java - AES解密,第一块垃圾

我正在尝试使用 AES 解密和加密数据,并使用 TCP 通过网络发送数据。我希望我的算法以这种方式工作:

加密:

  1. 生成两个带!填充的 base64 盐(例如!9W5AQcaNjaWF2Q!)
  2. 以这种方式排列消息 [salt][data][salt]
  3. 使用 AES/CBC/PKCS5Padding 加密消息,128 位密钥长度
  4. 发送[标识符][base64-message]

但是,如果我尝试解密 base-64 消息,前 128 位不包含盐,而是随机数据。

当我尝试解密消息时,我注意到前 128 位看起来像垃圾:(我确定那些是 128 位)

我的期望(256 位盐)

我得到了什么

另外,这是我的加密和解密代码

解密

加密

如何修改这些函数以进行正确的加密/解密?

0 投票
1 回答
1625 浏览

php - 使用 16 字节密钥的 PHP 中的 3DES CBC 加密

我一直在尝试用 PHP 制作 3DES 算法。我用 Java 做的,效果很好,但是 PHP 版本给了我不同的结果;这是我的代码:

它必须给我:76FB62FB3AFD6677
但它给了我:E01BD1085F0126A2

我能做些什么?

0 投票
1 回答
516 浏览

java - Android:使用 128 位密钥大小和 128 位块大小解密 AES - 块密码模式:CBC-CS1

我需要解密一些使用以下规格加密的数据(在 Android 上):

  • 具有 128 位密钥大小和 128 位块大小的 AES
  • 分组密码模式:CBC-CS1(带有密文窃取的 CBC,变体 1,在 [CBCCS] 中指定)

在互联网上没有找到太多信息,到目前为止我尝试过的所有 AES 解密方法都不起作用。

主要问题似乎是 CBC-CS1 的实现,是支持还是我应该自己实现?

谢谢, 德姆

0 投票
1 回答
122 浏览

android - Android 中 AES 实现中可能出现的错误

我正在尝试在 Android 中实现 AES 加密,它使用密码短语来生成SecretKey. 在使用 PBKDF2生成时,我将与byte[] 初始化向量相同的值传递给密码和盐值。SecretKey

每次需要加密/解密时,用户都会提供密码。

到目前为止,我只需要在我的数据库中加密一个值(如果这有什么不同的话)。

问题:

  1. 我想知道是否使用与byte[]IV 相同的盐和盐会削弱加密?
  2. 除了 GCM 提供的数据完整性功能之外,是否有理由从 CBC 切换到 GCM?
  3. 我读过关于 CBC 容易受到 BEAST 攻击的信息,每条消息都使用新的随机 IV,如下所示,可以减轻 BEAST 攻击吗?

当前源代码:

0 投票
1 回答
83 浏览

cbc-mode - IV的随机性:为什么需要IV的保密却不需要IV?

CBC 等方案中使用的 IV 必须是随机且不可预测的。但与此同时,它不必保密。

如果 IV 不必是秘密的,那为什么它必须是随机的呢?我无法理解这些看似矛盾的要求。

我已经看到了利用非随机性的攻击的描述。所以,我会理解为什么需要随机性。但是,当要求指定 IV 不必保密时,事情就会变得混乱!这似乎违背了随机性的整个目的。

请有人帮助澄清这一点。

0 投票
1 回答
228 浏览

node.js - AES256 CBC 的 Node.js 实现问题

首先让我说我对密码学很陌生。我正在尝试在 Node.js中实现密码块链接模式。

我的问题是,在没有解密的加密之后,它停止为一个解密函数调用工作。这是我的代码:

请参阅console.log电话上方的评论以获取更多信息。如何确保该decrypt功能始终有效?

0 投票
0 回答
449 浏览

encryption - 在java卡中使用CBC DES加密

我正在尝试使用 Cipher 类加密数据。我想指定初始向量,所以我使用以下函数:

字节数组 INITVECTOR 由 8 字节数组初始化。

问题是当我使用 init 函数时总是会捕获到异常。

额外信息:

关键是在这里构建:

关于初始向量,即使我使用以下初始化,我也会遇到同样的问题:

另一方面,当我使用使用默认初始化参数的 init 函数时,加密函数运行良好:

0 投票
1 回答
272 浏览

java - 即使输入相同,AES/CBC/NoPadding 是否会生成两个不同的密文?

使用以下代码,我正在执行 AES 加密操作,我在不同的实例中传递相同的输入,但我得到不同的密码。为什么会这样?

输入是

在一个实例中,密码是 - [0, 91, -96, 80, -44, -93, 107, 62, 4, -10, 103, 119, 109, 4, 25, 68]

在另一个实例中,密码是 - [87, 109, 20, 69, 18, 6, 103, 92, -57, 62, -41, -103, -18, -19, 74, 87]

可能是什么原因?