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

php - PHP中这个Cipher.encrypt()函数的等价物是什么

客户使用 Cipher.encrypt() 函数(来自我不知道的某种编程语言)向我发送了一条加密消息,详细信息如下:

我需要解密消息以便使用 PHP 从中提取数据。我曾尝试使用 php 函数 mcrypt_decrypt :

但我无法解密该消息,因为这两个函数似乎有不同的参数。

那么有人对如何使用 PHP 解密消息有任何建议吗?

0 投票
3 回答
1678 浏览

java - 使用 PKCS7Padding 的 AES CBC 加密在 Java 和 Objective-C 中具有不同的结果

我用 Java 为 Android 创建了一个应用程序,并使用Cipher类通过 AES 加密数据。现在我想把这个算法带入 iOSCommonCrypto类。该代码有效,但结果不同。

这是Java中的代码:

这是Objective-C中的代码:

更新1:

数据:text to encrypt

钥匙:testkey

Java (所需)结果:7ptTEyImNz9KgC96+JPFXQ==

Objective-C 结果:U7FAVHi01q0Hhf+m9NsKjw==

0 投票
1 回答
287 浏览

java - Java bruteforce for 循环结果令人困惑

我创建了一个小程序,试图从 AES-CBC 密钥中找到 20 个丢失的位。它的结构如下:

所以问题来了:如果我从 0 开始,我不会得到任何结果。用于跟踪目的的字符串总是打印到我达到 2^20。但是,如果我将 i 设置为所需的解决方案 0xd63c5 或 0xd63c4,我会得到解密的文本。即使使用 0xd63c3 也没有“功能”。也许我看不到树木的树木,但我尝试找到解决方案已经有很长一段时间了。

任何帮助表示赞赏,在此先感谢。

0 投票
3 回答
11807 浏览

java - AES 加密在 ECB 模式下实施,但不符合安全要求。如何实现CBC模式

我已经在 java 中实现了 AES 加密,但该算法不被团队接受,因为它是在不符合安全性的 ECB 模式下实现的。我对密码学和安全性要求非常陌生。

有人可以帮我将算法更改为 CBC 模式。我附上了我在 ECB 模式下实现的代码。

早日回复将不胜感激。提前致谢

0 投票
1 回答
355 浏览

security - 使用 AES 的 OpenSSL 数据传输

我想使用 OpenSSL 在服务器和客户端之间进行数据传输。我想在 CBC 模式下使用 EVP 和 AES 来做到这一点。但是当我尝试在客户端解码第二条消息时,EVP_EncryptFinal_ex 返回 0。我的方案显示在图片上。

近似方案

我认为,这种行为是因为我为一个 EVP 上下文调用了两次 EVP_EncryptFinal_ex(和 EVP_DecryptFinal_ex)。如何正确执行?

0 投票
0 回答
721 浏览

encryption - aes 256 cbc 模式上的暴力破解

我有一系列加密文本,它们通过 aes 256 位 cbc 模式加密,每个加密文本都有一个 iv,我也有它们,我知道它的算法是 aes 256 位 cbc 模式我可以生成新的加密值,我知道什么是纯文本,但 iv 会有所不同我还有其他名为 mac 的东西,我不知道它是什么,它是 64 个字符的十六进制格式,因为我知道该算法适用于名为 elocryptfive 的 laravel 插件之一,我可以对其进行任何攻击以查找密钥或解密值?

0 投票
3 回答
331 浏览

c++ - AES 在 Qt 的 StringSource 和 StringSink 函数中无法正常工作

我在Qt中使用了Crypto++库,因为使用模式中的方法加密字符串并使用 of和定义字符串参数。AESCBCStringSourceStringSinkinputoutput

首先,我从文件中读取所有字节(“unicode”或“ASCII”编码),然后将其设置为函数中的input参数StringSource,然后将参数设置为string(数据类型)用于输出(密文)。只是我想得到一个字符串并用“aes-cbc”加密它并显示输出。

另外,我知道FileSource并且是用于将数据写入文件FileSink的两个函数(consistinput和流参数)!output但我想将文件内容作为输入字符串读取。

我的代码:

现在我有以下问题:

  • 当我读取压缩文件内容(例如 900 字节)并将其设置为输入时StringSource,生成的密码将不完整(例如 320 字节)

  • “QMessageBox”中的输出strlen(cipher.c_str())不同cipher.size()

  • 我的代码真正工作当我阅读一些文件(“unicode”或“ASCII”,“大”或“小”大小)并且有时工作不正确时。我不明白是哪个原因导致了这个问题?

  • 甚至,我直接设置了一些输入字符串(不是从文件中读取)并再次失败!

问候!

0 投票
1 回答
1613 浏览

objective-c - 带有 IV 的 AES-128 CBC 加密如何在 Objective-C 中工作?

我正在尝试使用“带有 IV 的 AES-128 CBC”加密字符串。这是输入参数和预期输出:

密钥:000102030405060708090A0B0C0D0E0F

四:00102030405060708090A0B0C0D0E0F0

输入数据:EA010B23CDA9B16F0001020304050607

输出:B773C36749E87D3F8FED98FE52026A15

I have verified the output on this web site: http://extranet.cryptomathic.com/aescalc/index?key=000102030405060708090A0B0C0D0E0F&iv=00102030405060708090A0B0C0D0E0F0&input=EA010B23CDA9B16F0001020304050607&mode=cbc&action=Encrypt&output=B773C36749E87D3F8FED98FE52026A15

如何在目标C中使用带有IV的AES-128 CBC加密字符串?(结果与http://extranet.cryptomathic.com/aescalc相同)我正在尝试获取加密字符串 - B773C36749E87D3F8FED98FE52026A15 ,但没有运气。



我曾尝试使用此库进行加密:https ://github.com/Pakhee/Cross-platform-AES-encryption/tree/master/iOS

这是我的目标c代码:

encryptedData 的输出为:<68f8ed75 e79f2ba2 c80e67a2 f0c84b7a c4b07fd1 59e937e5 14644cba c0ddb60c 40502375 7798e7a1 58bd05a5 b3d9e7bd>



我希望 *encryptedData 的值应该是<42373733 43333637 34394538 37443346 38464544 39384645 35323032 36413135>的值,这是B773C36749E87D3F8FED98FE52026A15

的十六进制数 我试过另一个库 - https: //githubdev/FBtec5/FBEncryptor

输出为 <2beea977 aef69eb1 ed9f6dd0 7bf5f1ce d1e5df46 2cbf8465 773f122d 03267abb 2e113d9b 07189268 4fd6babe 7b1c0056>

似乎我使用了错误的库或者我对加密函数的输入错误。对目标 c 的 AES 库有什么建议吗?

0 投票
0 回答
549 浏览

encryption - 通过kafka发送加密数据

我正在使用 AES - CBC 模式加密消息,然后通过 kafka 发送。消费者在没有密钥和初始向量的情况下如何解密消息。

如果我必须在这里使用密钥交换,我很困惑,消费者也可以发回给生产者吗?

任何建议

谢谢

0 投票
1 回答
14060 浏览

python - Python 3 中使用 PKCS#7 填充的 AES-CBC 128、192 和 256 加密解密

我根据我的要求搜索了很多关于完整加密解密示例的内容。事实上,我有很多链接和示例,但没有一个适用于 AES-192-CBC 模式和 AES-256-CBC。

我有以下示例,它应该适用于所有类型,但它仅适用于 AES-128-CBC 模式。我是 Python 新手。谁能帮助我哪里错了?

我在 Windows 上使用 Python 3.4,但无法迁移到 Python 2.7。

尽管此代码使用 192 位和 256 位加密加密数据并成功解密,但我的其他 .Net 和 Ruby 应用程序只能解密使用 128 加密加密的数据。

注意 .Net 和 Ruby 应用程序已成功相互测试,并使用具有所有加密类型的在线加密工具进行了测试。

请注意,我的应用程序需要 AES-CBC 模式和 PKCS#7 填充,并且必须在 Python 3.4 上运行。