问题标签 [aes]
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.
c++ - 指定的算法无效 CryptoAPI
我正在尝试使用 128BIT AES 解密来解密某些东西。当我尝试调用 CryptDecrypt 时,我收到一条错误消息,指出“指定的算法无效”。使用此处发布的库时遇到同样的问题:http: //www.codeproject.com/KB/security/WinAES.aspx
什么会导致此错误?
我在 vista64bit 和 Visual Studio 2008 上使用 CryptoAPI。我检查了注册表并且 AES 库在那里......
编辑
InitWinCrypt 函数
AesOffering 结构:
编辑2
重新启动我的计算机并删除 CBC 块后。我现在收到错误数据错误。数据在 C# 中可以很好地解密。但我需要使用wincrypt来做到这一点。
encryption - 如何将 AES 初始化向量传达给客户端以进行混合密码系统
我需要为客户端-服务器通信实现安全性。我已经实现了以下混合密码系统
为了在混合密码系统中加密发给 Alice 的消息,Bob 执行以下操作:
- 获得 Alice 的公钥。
- 为数据封装方案生成一个新的对称密钥。
- 使用刚刚生成的对称密钥在数据封装方案下对消息进行加密。
- 在密钥封装方案下,使用 Alice 的公钥加密对称密钥。
- 将这两种加密都发送给 Alice。
为了解密这个混合密文,Alice 执行以下操作:
- 使用她的私钥解密包含在密钥封装段中的对称密钥。
- 使用此对称密钥来解密数据封装段中包含的消息。
我将 RSA 用于公钥密码系统,将 AES 用于对称密钥密码系统。一切正常,但我不确定如何处理 AES 初始化向量。目前,我正在连接 AES 密钥和初始化向量,用公钥对其进行加密并将其发送到服务器。
我只是想就这种方法获得一些意见。其他通信协议 SSL 等如何解决此问题。
谢谢。
encryption - 我应该使用哪种加密方法?
我需要一个系统来交换非常机密的数据(源代码是商业机密)。我将使用 Crypto++,所以实际上我可以使用所有加密算法,尽管我更喜欢使用行业标准。
目前我正在考虑这些方法:
- 让服务器生成 2048/4096 位 RSA 密钥,将公钥发送给客户端,让客户端加密数据,然后将其发送给服务器。
- 使用像 Diffie-Hellman(正确的是 Diffie-Hellman-Merkle)这样的密钥交换方法来交换 AES-256 密钥。
- 启动 TLS 连接并直接告诉服务器 AES 密钥。
你认为我应该使用哪种方法?只要合理,我不关心性能;安全才是最重要的。如果都没有,请建议另一种方法。
PS:我可能会在对称算法上使用链接,例如 AES-Twofish-Serpent。
编辑:任何推荐的软件都必须在不会限制专有使用的许可证中。LGPL 尽可能严格。这排除了 GPL。
c# - C# 中的 XTS-AES 模式
是否可以在 C#(.net 3.5)的 XTC 模式下使用 AES?它似乎不在 CipherMode 枚举中。我似乎无法在网上找到它的任何实现。
编辑:由于我找不到.net 实现,我写了一个:https ://bitbucket.org/garethl/xtssharp
aes - AES 算法 S Box 唯一性
这是关于AES算法的。
假设我已经实现了 AES 算法并使用我的算法加密数据。现在假设其他人也实现了相同的 AES 算法(128 位)。现在,如果我使用我的算法加密数据,是否可以使用其他人开发的第二种算法解密数据并取回原始数据。算法的根本区别是什么。
是不是和S-BOX有关
谢谢
php - 如何在 PHP 中进行 AES256 解密?
我有一段加密的文本需要解密。它使用 AES-256-CBC 加密。我有加密的文本、密钥和 iv。但是,无论我尝试什么,我似乎都无法让它发挥作用。
互联网建议 mcrypt 的 Rijndael 密码应该能够做到这一点,所以这就是我现在所拥有的:
就目前而言,我收到 2 个警告,输出是乱码:
任何帮助,将不胜感激。
php - 将 Ruby AES256 解密函数转换为 PHP
我在 Ruby 中有以下函数可以解密一些数据:
我试图在 PHP 中做同样的事情,但我不确定我做错了什么。这是我所拥有的:
输出最终只是垃圾,而不是我正在寻找的字符串。想法?
在我们开始之前,将其切换到MCRYPT_RIJNDAEL_256
似乎并没有帮助,只会导致它抱怨 iv 没有块大小那么长。我相信 128 在这种情况下是正确的,因为这个网站说 128/256 是块大小的指示,而不是密钥大小。
ruby - Perl & Ruby 交换 AES 加密信息
Perl for Ruby 中的 Crypt::CBC 等价于什么?
注意:这个问题类似于stackoverflow:655691的 PHP/Perl 。
Perl 版本
我的 ruby 版本如下所示:
我很确定 Base64 在 Ruby 和 Perl 中的工作方式相同。任何线索什么是正确的方法?
更新(解决方案)
红宝石
encryption - AES 128 位 CFB 实现或示例应用程序的链接
有人知道示例应用程序或链接,我可以在给定密码和一些数据的情况下测试 128 位 AES CFB 实现。
谢谢
java - iPhone(Objective-c)和Java之间的AES区别
我整天都在扯头发试图解决这个问题......
我有一个在 iPhone 上运行的 Objective-C 客户端,连接到 Java 服务器。iPhone 正在使用 AES 加密数据,但我无法在服务器上对其进行解密。我正在使用已知的密码和消息(单个字符串)并在 iPhone 上生成字节数组,在 Java 服务器上使用相同的键和消息生成比较字节数组,但字节数组完全不同(因此不能在 Java 端解码)。
客户端正在使用具有以下设置的 CommonCrypto 库...
数据是一个NSData
使用“消息”的单词,dataUsingEncoding:NSASCIIStringEncoding
Key是一个NSData
使用上述编码的单词“1234567891123456”。算法是kCCAlgorithmAES128
选项是kCCOptionsPKCS7Padding
(我认为这等同于服务器上的 ECB?!)
服务器正在使用以下代码...
但是 encryptedData 中的数据与 Objective-c 代码中生成的数据不匹配,字节数组完全不同。
谁能看到我做错了什么明显的事情?我认为设置都是一样的...... :(
- 更新 - 根据要求....
好的,这就去......
iPhone客户端正在加密以下字符串“消息”它使用密钥“1234567891123456”它使用“1010101010101010”的初始化向量它使用AES128,具有CBC模式(据我所知)和kCCOptionsPKCS7Padding选项。
加密(base64 编码)的结果是 UHIYllDFAXl81ZM7OZPAuA==
服务器使用相同的密钥和初始化向量加密相同的字符串。它使用以下 Cipher.getInstance("AES/CBC/PKCS5Padding");
加密结果(base64 编码)是 ALBnFIHysLbvAxjvtNo9vQ==
谢谢。
- 更新 2 - 根据要求...
这是iPhone代码....
用于加密的 NSData 类别来自这里...
http://github.com/AlanQuatermain/aqtoolkit/tree/master/CommonCrypto/
顺便说一句,我检查了 toencrypt、pass 和 iv 中的字节数组,它们与服务器上的字节数组相匹配。