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

iphone - Objective C AES CBC 加密与零填充

我正在尝试使用 CBC 模式和零填充来使用 AES 128 加密来加密字符串。可悲的是,我不知道该怎么做,因为许多尝试都没有成功。我有 C# 代码,想知道是否有人可以帮助我让我的加密工作。编码:

我看起来是一个普通的加密货币,但我看不到 CBC 模式的选项[我不太了解 cccrypto,也许我忽略了?] 谢谢;

0 投票
1 回答
414 浏览

3des - 是否可以使用 3DES 解密方法的 CBC 模式来解密 14 个字符的加密消息?

我在 wikipedia 中读到了 CBC 加密模式,它说在 3DES 方法中,一条消息被分成 16 个数字块,然后它们被加密或解密。每个被加密的块都与下一个明文进行异或,然后被加密。我从这里得到了这些信息,并在图表中得到了很好的解释。http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher-block_chaining_.28CBC.29

我的问题是我必须解密长度为 14 的消息,所以它将是一个块。那么现在我将如何为这么小的消息实施 CBC 呢?不会有下一个要与之异或的块。

0 投票
1 回答
3012 浏览

encryption - 随机访问加密文件

我正在实现一个基于 Web 的文件存储服务 (C#)。文件存储在服务器上时将被加密,但挑战在于如何实现解密功能。

这些文件可以是任何大小,从几 KB 到几 GB。数据传输是分块完成的,因此用户从偏移量 50000、75000 等处下载数据。这对于未加密的文件很好,但如果使用加密,则必须在从偏移量读取每个块之前解密整个文件.

所以,我正在研究如何解决这个问题。到目前为止,我的研究表明可以使用 ECB 和 CBC。ECB 是最基本的(也是最不安全的),每个块都是单独加密的。欧洲央行的工作方式正是我所寻找的,但安全性是一个问题。CBC 类似,但您需要在解密当前块之前解密前一个块。只要从头到尾读取文件就可以了,并且在服务器上解密时保留数据,但归根结底,这并不比在传输之前解密整个文件服务器端好多少。

有谁知道我应该考虑的其他选择?我现在没有代码,因为我仍然只是在做理论研究。

0 投票
2 回答
1436 浏览

php - PHP implementing Ciphertext Stealing (CTS) with CBC

I have been trying to implement Ciphertext Stealing(CTS) in PHP for CBC.

Referring below two links

How can I encrypt/decrypt data using AES CBC+CTS (ciphertext stealing) mode in PHP?

and

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

I am confused and stuck on the last and simplest step of XOR. I know this is silly but having tried all the combinations, i don't know what am i missing. Code follows.

0 投票
1 回答
637 浏览

php - 如何使用CBC和HMac?加密PHP

你如何使用CBC和HMAC?

我在互联网上找不到足够的信息。

你如何获得IV?当您稍后需要解密时,您怎么知道它是什么?(将它放在数据库中不会破坏目的吗?)

什么是 HMAC,它是否受到黑客攻击的保护?

加密的文本保留在数据库中。如果有人入侵了数据库,他们可能也可以访问文件管理器,除非他们找到了进行 SQL 注入的方法。脚本如何知道黑客不知道使用哪个 IV 和密钥?

加密多段文本时使用的最佳方法是什么,只有编写它的用户才能在网站内看到?(用户始终将其视为纯文本。)

我现在使用 ECB(该网站尚未发布测试版)但我听说 CBC 更安全。

0 投票
1 回答
35578 浏览

python - 使用 PKCS5 Python 进行 AES 解密填充

我一直在尝试在 Python 中实现 AES CBC 解密。由于密文不是 16 字节的倍数,因此需要填充。没有填充,这个错误浮出水面

“TypeError:奇数长度的字符串”

但是我找不到在 PyCrypto Python 中实现 PKCS5 的正确参考。是否有任何命令可以实现这一点?谢谢

在查看了马库斯的建议后,我这样做了。

我的目标实际上是使用此代码解密十六进制消息(128 字节)。但是,输出是“?:”,它非常小,并且 unpad 命令正在删除这些字节。这是代码。

0 投票
1 回答
2682 浏览

php - Perl和PHP之间的解码/编码openssl aes cbc字符串

我正在用 PHP 编写一些服务器代码,并且我有一个用 Perl 编写的离线进程,它们需要通过加密字符串进行通信。在 PHP 中我一直在使用:

我基本上想使用 Perl 实现完全相同的字符串输出。任何有关我将如何做到这一点的帮助表示赞赏。谢谢!

0 投票
3 回答
6263 浏览

java - 错误:给定最终块未正确填充

每次运行此程序时都会出现错误

“错误:给定最终块未正确填充”

基本上我试图暴力破解密钥的最后 3 个字节,前 13 个字节是正确的。知道我在做什么错吗?我尝试删除填充并且它可以工作,但它找不到我确定它存在并包含单词“Mary had”的明文。注意:我正在使用 sun.misc.BASE64Decoder

这是我的代码的一部分。

}

0 投票
1 回答
212 浏览

terminal - AES 密钥中有一个 LF 字符

我正在尝试使用 openssl 解密视频文件。但是 16 字节的 aes 键中有一个换行符(LF)。

由于 LF,当我将密钥复制到终端时,它只发送“x”而不是整个密钥。

如何在终端上键入此密钥?

openssl aes-128-cbc -d -in input.ts -out output.ts -pass [aes_key]

0 投票
1 回答
2524 浏览

java - Java AES 256 CBC 模式无法正常工作

这是在 ECB 和 CBC 中执行 AES 的红宝石代码:

这是Java等价物:

编译:commons jar:http : //apache.mirrors.pair.com//commons/codec/binaries/commons-codec-1.7-bin.zip

请注意,ECB 模式完全适用于两者。但CBC模式不同。我也在 C 上运行它,结果证明 Ruby 是正确的,Java 不是。

我在 Java 中做错了什么?