问题标签 [crypto++]

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

c++ - 尝试使用 crypto++ 编译我的项目时出现错误 C2711

我正在尝试使用crypto++编译一个项目。我的项目正在使用 clr ,当我尝试编译代码时,最终出现以下错误:

我的项目正在使用clr,我正在/MD用作运行时库。我在编译crypto++时设置了相同的参数。

编辑:我的主要功能

0 投票
1 回答
1632 浏览

c++ - AES 和密钥长度错误

我正在尝试使此代码正常工作。它来自Cryptopp AES

演示在 CTR 中使用 AES 进行加密和解密

唯一的区别是,我创建了函数encryptAESdecryptAES并插入了代码。它无需创建这些功能即可工作。但现在我收到以下错误:AES/CTR 4 不是有效的密钥长度,但密钥长度为 16 位。

0 投票
3 回答
1175 浏览

c++ - 非对称认证加密

我想保护我的数据不被未经授权的人更改或读取。环顾四周,我发现 Authenticated Encryption(AE) 是一种解决方案。
我知道我可以使用 CCM、GCM 或 EAX 中的任何一个在 Crypto++ 中进行 AE。但我注意到他们使用相同的密钥来加密和解密数据。我不希望这样,我宁愿使用非对称密钥来加密和解密我的数据。
如果我使用非对称算法对数据进行签名,然后使用对称算法对其进行加密,我将实现我想要的(这应该是安全的,因为它是AtE方法,对吧?)。
但在我这样做之前,是否有任何加密库可以满足我的需求?

0 投票
1 回答
1853 浏览

c++ - 这个 valgrind 在 crypto++ 中使用大小为 8 的统一值是真实的还是红鲱鱼?

我在libcrypto++9_5.6.1-6_amd64.debUse of uninitialised value of size 8的库调用中 有一个 valgrind 报告。CryptoPP::HuffmanEncoder::GenerateCodeLengthsUbuntu 12.10

我需要进行完整性检查:应用程序代码有问题吗?(这是一个真正的可能性,因为我刚刚开始使用 crypto++。)或者我应该将 valgrind 警告抑制放入忽略过滤器中?

尽管出现错误,但代码看起来可以正常工作。

编译

g++ -std=c++11 -g3 -O2 -Wall -Wextra -Wno-unused -o test3 test3.cpp -lrt -lcryptopp

test3.cpp 代码

0 投票
1 回答
1608 浏览

c++ - 顺序独立散列

我正在为键值数据创建键,方法是获取几条 (<10) 标识数据的信息并从它们组合中生成一个哈希。为此,我一直在使用 CryptoPP 的SHA256::Update功能,它可以让您一次添加片段:

我注意到调用的顺序很Update重要(即,如果您更改两个Update语句的顺序,您将得到不同的哈希)。我希望这与订单无关。所以:

  • CryptoPP 是否提供了一种方法来做到这一点?
  • 如果没有,你能建议一种替代方法吗?到目前为止,我认为使用xor组合参数会起作用。一个问题是,如果两条数据相同,它们就会相互抵消。你能预见到这方面的问题吗?
0 投票
1 回答
2558 浏览

c++ - 为 Crypto++ 构建和链接测试代码

我正在尝试为项目的 Crypto++ 库编写一些简单的测试代码。我还没有设法让我自己的代码来构建。它编译得很好,问题出在链接上。我对 Visual Studios 还是很陌生,但我使用的是 VS10。我得到的错误是:

在链接方面,我已经尝试了在文档中可以找到的所有内容。我以前从未链接过 DLL,但这些是我尝试链接时遇到的错误。如果我尝试做我认为链接静态库版本的事情,我会得到更多。

我应该注意,我目前正在尝试测试纯 DES。特别是,为了安全起见,这是我正在进行的 API 调用:

如果有人可以提供帮助或指出正确的方向,我将不胜感激。

0 投票
1 回答
4966 浏览

c++ - JAVA(AES/CBC/PKCS5PADDING)对应的C/C++是什么

Cipher.getInstance("AES/CBC/PKCS5PADDING") i 使用 Sun JCE 提供程序:</p>

}

对应什么是C/C++?我发现crypto++ 刚刚好,其他的都没有,但是里面的算法太多了,我只需要AES。那太复杂了,我不会,我是新手,这个算法你熟悉吗,我想移植一下进入Android,打包成这样。</p>

0 投票
1 回答
1236 浏览

c++ - Eclipse 未定义参考中的 Crypto++

我正在尝试使用 MinGW 工具链将 Crypto++ 用于我的 Eclipse C++ 项目。问题是,每当我尝试使用加密函数时,都会被“未定义的引用”错误淹没。有谁之前经历过这个吗?这是我得到的(截断):

更新

0 投票
0 回答
56 浏览

c++ - 需要加密一个 AES 块的示例

可能重复:
使用 AES 和 Crypto++ 加密-解密单个块

我有一个涉及实现 AES 的两种操作模式的作业,但问题是我不知道如何加密单个 AES 块。如,我不知道如何单独使用 Crypto++ 的 AES 实现。在我所见之处,我只能找到使用库操作模式的代码片段,即使我知道它应该如何使用,我还是想亲自为作业做这件事。任何人都可以帮助一些 C++ 代码示例吗?

0 投票
1 回答
820 浏览

javascript - Crypto++ 低级 AES API (a la SJCL)

我正在尝试从 javascript 实现对协议进行逆向工程,但我被困在 AES 加密方法上。我在 C++ 中使用 Crypto++ 库对此进行编程。它使用 SJCL 库,并调用ciphertext = (new sjcl.cipher.aes(key)).encrypt(plaintext). 从 SJCL 文档中,我可以看到这是一个低级接口。ciphertext, key, 和plaintext都是 32 位整数的 4 元素数组。据我所知,并且可以在谷歌上找到,Crypto++ 只提供高级接口。有没有办法让 Crypto++ 做 SJCL 正在做的事情?另外,该方法究竟是encrypt做什么的?

http://bitwiseshiftleft.github.com/sjcl/doc/symbols/sjcl.cipher.aes.html

编辑:我注意到javascript代码plantext从字符串转换为整数,我想我尝试了改变每个变量的字节顺序的每一种组合。无论如何,我尝试了所有有意义的组合。我还尝试创建int32_t's 的数组并使用输入到该行 javascript 中的内容对其进行初始化。这是我现在得到的:

这是 C++ 版本的输出:

和 JavaScript: