- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试围绕 CNG 的 AES 实现 AES-OFB 包装器以进行对称加密。
我遇到了一个我无法理解的问题...我创建了一个 AES 算法句柄 (BCRYPT_AES_ALGORITHM) 并导入了一个 AES key 。然后,我尝试生成一个 16 字节的 key 流,用于对我的明文/密文进行异或运算。我第一次运行此机制时,keyStreamPtr 从一些随机字节流更改为另一个随机字节流,但是,我第 3 次这样做(第 3 组 16 字节 key 流),我开始获得相同的输出并且它永远发生。
status = BCryptEncrypt((BCRYPT_KEY_HANDLE)keyHandle,
keyStreamPtr,
keyStreamLength,
NULL, //no padding
NULL, // no IV
0, // no IV
keyStreamPtr,
keyStreamLength,
&Length,
0); // no option flags
有没有人见过这样的事情?为什么 AES 会返回与输入的明文完全相同的密文?同样,这是针对 AES-OFB 实现的……也许我做错了什么?
最佳答案
我唯一能想到的就是你把 key 流加密一遍。如果这样做,您将有效地执行加密/解密: P XOR C XOR C = P 其中 C 是 key 流,P 是纯文本。您可能想查看代码中的缓冲区/流处理。
关于encryption - Microsoft CNG BCryptEncrypt 返回密文 == 明文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9460934/
我正在编写一个供我正在从事的项目内部使用的小型库,我是一名业余 Javascript 开发人员,所以请注意我的错误。 我写了一个小的 html 文件以及下面的 javascript,
我试图弄清楚 ECDiffieHellman 在 .Net 下是如何工作的。 我想知道,为什么 ECDiffieHellman 有两个看起来非常相似的实现。 Cng 代表 Cryptography N
我想用 C# 编写一个可以打开 KeePass 的程序1.x kdb 文件。我下载了源代码并尝试移植密码数据库读取功能。数据库内容已加密。加密 key 通过以下方式获得: 用户输入密码; 计算密码的
我有一组用于对称加密/解密的预定义明文 key 。这些 key 用于与连接到 PC 的硬件设备进行加密通信。我想使用 CNG key 存储提供程序来安全地存储这些 key 。加密和解密必须在 CNG
我正在尝试围绕 CNG 的 AES 实现 AES-OFB 包装器以进行对称加密。 我遇到了一个我无法理解的问题...我创建了一个 AES 算法句柄 (BCRYPT_AES_ALGORITHM) 并导入
我有兴趣尝试从数字签名中读取字段。我有调用 CryptQueryObject 的代码,然后是 CryptMsgGetParam 来获取一些字段,最后是 CertFindCertificateInSto
我正在使用 Microsoft CNG Cryptography API 并尝试创建自签名证书。 我们有使用 CertCreateSelfSignCertificate 的现有代码方法,结合NCryp
我是 CNG 新手。我正在玩 msdn 站点的基本程序。我修改了输入纯字符串并使用提供 aes cbc 加密输出的其他网站测试了输出。不幸的是只有上半场匹配,下半场不匹配。如果有人能指出错误所在,那就
我想导入一个使用 CngKey.Export(CngKeyBlobFormat.EccPrivateBlob) 导出的 key ,为 key 命名,并将其保存在 keystore 中。这应该很简单,但
多年来,我一直在尝试寻找如何通过任何方式从文件中导入 ECC key 。我曾尝试从 Windows 证书存储、.p12 文件和 PKCS#8 OpenSSL key 文件访问 ECC 证书,但均未成功
所以我想知道哈希算法的各种实现之间是否存在重大差异,以SHA系列算法为例。它们每个都有 3 个实现,1 个在托管代码中,2 个围绕不同的 native 加密 API 进行包装,但是使用它们之间有什么主
我使用以下 CNG API 序列成功生成了 RSA key : BCryptOpenAlgorithmProvider(.., BCRYPT_RSA_ALGORITHM, ...); BCryptGe
将现有的框架应用程序移植到核心,我们早已将 System.Security.Cryptography.SHA256 和 System.Security.Cryptography.SHA256Manag
我想在 Windows 上运行的 C++ 应用程序中实现数据加密和解密。我花了相当多的时间在网上浏览,我想我可能应该使用 Windows Cryptography API: Next Generati
我正在使用 Crypto API 的 CryptAcquireContext 函数 ( https://docs.microsoft.com/en-us/windows/desktop/api/Win
https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/extensible-key-manage
我需要使用 Windows 的 Cryptography API: Next Generation 验证消息的签名.我有消息、它的签名和 PEM 格式的公钥,以及展示所需行为的原型(prototype
我需要使用 Windows 加密 API 方法验证签名的 JAR 文件。我对加密和签名问题只有基本的了解。我也不熟悉那些加密 API(WinCrypt、Bcrypt、Ncrypt)。验证文件哈希不是问
我需要使用 Windows 的 Cryptography API: Next Generation 验证消息的签名.我有消息、它的签名和 PEM 格式的公钥,以及展示所需行为的原型(prototype
我需要使用 Windows 加密 API 方法验证签名的 JAR 文件。我对加密和签名问题只有基本的了解。我也不熟悉那些加密 API(WinCrypt、Bcrypt、Ncrypt)。验证文件哈希不是问
我是一名优秀的程序员,十分优秀!