问题标签 [botan]

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 回答
1346 浏览

c++ - 在Qt中使用botan加密大文件时如何获得加密/解密进度

我有下面的代码来加密和解密 Qt 中的 botan 文件。加密大文件时会花费大量时间,并且我想在加密/解密大文件时获取处理的字节数。是否可以?

0 投票
1 回答
657 浏览

c++ - 如何在botan加密中检查输入的密码是否正确

我有一个加密和解密文件的代码,该代码运行良好,但问题是当我尝试使用不正确的密码解密文件时,而不是给出错误,执行解密导致文件与原始文件。是否可以检查在解密中输入的密码是否与加密中使用的密码相同?

0 投票
3 回答
1841 浏览

c++ - botan.dll 中未处理的异常

我正在尝试使用 botan 加密库运行最基本的程序。我正在使用 Botan 1.10 32 位。我在 Windows 7 上使用他们的安装程序获得了二进制文件。IDE 是 Visual Studio 2012。

我将我的项目链接到botan.lib,但程序在启动时报告缺少botan.dll,所以我假设lib 只是链接到dll。因此,我将 botan.dll 放在了 Debug 文件夹中。

现在来解决问题。

Intellisense 检测到一切正常。当我尝试调试时,我得到:

rsa.exe 中 0x6A1F2AA0 (botan.dll) 的第一次机会异常:0xC0000005:访问冲突读取位置 0x00310000。rsa.exe 中 0x6A1F2AA0 (botan.dll) 处的未处理异常:0xC0000005:访问冲突读取位置 0x00310000。

似乎在 botan.dll 中引发了一个异常,我无法在我身边抓住它。我不能从这里走得更远。

我在链接到图书馆时做错了什么还是有其他问题?帮助表示赞赏。

0 投票
1 回答
828 浏览

security - 为什么这些 Botan 公钥如此相似?

我正在使用 Botan 创建公共/私有 ECDSA 密钥对。生成的公钥(即使在使用此代码的不同机器上)非常相似......我认为太相似了,无法考虑安全。这是两次运行的示例:

我正在使用 X509 编码对公钥进行编码。这是生成 ECDSA 密钥的代码:

为什么我要生成如此相似的公钥?如果多个用户要使用此代码生成自己的密钥,我是否正确地假设这不是“安全的”?


更新:下面的答案似乎是正确的。我向 XCA 的创建者 Christian Hohnstaedt 发送了电子邮件,以进一步探讨 XCA 如何生成此公钥以及它是什么。他回答说是EC_POINT,是通过命令获取的

插入 X509 PEM 编码的公钥确实揭示了不同的公共 EC 点。应该注意(对于像我这样的其他新手)答案中的公共 EC 点对另一方本身没有好处 - 另一方需要知道正在使用哪个 EC 组,这就是为什么 X509 PEM 编码是比仅仅一个 EC 点更有帮助。

0 投票
1 回答
3942 浏览

c++ - 如何使用 Botan 执行非对称加密

我正在使用 Botan 生成哈希,使用 执行加密AES256,现在我想使用它执行非对称加密。阅读本页:http ://botan.randombit.net/pubkey.html 。

我创建了一个代码来生成用于 RSA 加密的公钥和私钥,但我不明白如何加密和解密数据。有人能帮我吗?

我正在使用 Botan 1.8.8 2009-11-03

0 投票
2 回答
1275 浏览

php - Botan 和 phpseclib 之间不兼容的 AES 实现

我在 C++ 中使用 Botan 库进行 AES 加密/解密。我无法在 phpseclib 中使用 Botan 的输出来获得准确的结果。如果有人向我指出 Botan 和 phpseclib 或任何其他 PHP 加密库之间的互操作性的工作代码,我将不胜感激。谢谢!

C++ 中使用 Botan 进行加密的示例

使用 phpseclib 库在 php 中解密的示例:

我也直接在php中尝试了mcrypt,但没有成功:

编辑:

我刚刚对 Botan 和 phpseclib 进行了 128 位测试,在大约 50% 的情况下我得到了正确的解密。这太奇怪了。我在 Botan (CTS,PKCS7,OneAndZeros,X9.23) 中测试了不同的填充模式,但同样只有 50% 的尝试成功。

0 投票
1 回答
1270 浏览

node.js - 安全签名算法的兼容性

经过一些研究,似乎建议使用带有 PSS 填充的 RSA,因为它的安全属性众所周知是好的。问题是签名算法很难兼容,尤其是有这样的要求。

我想要实现的是至少在以下环境中进行签名和验证:

  • 牡丹
  • OpenSSL
  • 加密++
  • Node.js(使用 OpenSSL)

在 PolarSSL 和其他方面具有兼容性也可能很有趣。

node.js加密页面中有一个关于创建和验证签名的示例。这很好用,但我需要与 Botan EMSAx(SHA256) 兼容,并且真的认为应该使用 RSA-PSS 之类的东西来填充签名以确保安全。Node 示例页面仅显示'RSA-SHA256',但没有使用填充。

PSS 填充可以通过使用 OpenSSL 来实现:

我的测试代码如下所示:

但它为相同的输入产生相同的输出,这不是我想要的,并且显然与我使用 Botan 的 C++ 实现不兼容。

如果不可能以最小的努力实现兼容性,关于选择哪种算法的任何建议,我可能会努力尝试联系这些加密库的开发人员,看看是否有任何关于算法的共识得到作为事实上的标准实施。(是的,我知道这看起来很绝望。)是否有这样的持续努力?

0 投票
1 回答
2012 浏览

c++ - fatal error: botan/botan.h: No such file or directory

I've taken the great advice from this answer, checked the file list for libbotan1.10-dev and found /usr/lib/libbotan-1.10.a, so I used the linker flag -lbotan-1.10.

I've successfully been able to code and compile websocket++, json-spirit, connector/c++, and boost::lockfree::spsc_queue.

I'm now trying to use botan's passhash9 to hash passwords.

When I try to compile with

g++ gives an error on the #include <botan/botan.h> line, saying "broadcast_server_tls.cpp:12:25: fatal error: botan/botan.h: No such file or directory".

To install on Ubuntu 12.10, I did apt-get install libbotan1.10-dev.

How can I correct this?

0 投票
1 回答
872 浏览

cryptoapi - MS CryptoAPI 给出错误的 RC4 结果?

我正在开发一种产品,该产品需要能够使用使用旧产品创建的文件。其中一些文件包含使用 MS CryptoAPI 以 RC4 加密方式加密的内容。到目前为止,我无法使用其他加密库成功解密内容。经过一些实验,当密钥为 ASCII 时,CryptoAPI 的 RC4 输出似乎是“正确的”(即与其他库一致),但当密钥不是 ASCII(例如密码的哈希值)。

由于我有兴趣消费的所有内容都使用通过哈希从密码派生的密钥加密,所以我现在有点卡住了。我编写了一个小测试来显示包含 3 个测试用例的问题,如下面的代码所示。Botan (C++) 和 CryptoJS (JS) 在输出上总是一致的。但是,MS CryptoAPI 只同意 ASCII 密钥。

在我带着这个问题去 MS 之前,有没有人知道我误解或做错了可能导致这个问题的事情?

另外,我为我残暴的 javascript 道歉。

0 投票
1 回答
645 浏览

qt - 在 Qt 中编译 Botan 示例时出错

我尝试使用 Botan 库加密文件,并编写了以下代码:

但是编译时出现错误:

我怎样才能解决这个问题?