问题标签 [python-cryptography]

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

java - 如何使用 Java 加密消息,然后使用 Python 为 AES GCM 算法解密消息

我正在解决使用 Java 加密消息的问题,然后使用基于 AES GCM 算法的 Python 解密消息。

基于python doc,认证标签由加密器证明。 https://cryptography.io/en/latest/hazmat/primitives/symmetric-encryption/#cryptography.hazmat.primitives.ciphers.modes.GCM 但是,在Java中,我不知道如何生成身份验证标签。

这是我的 Java 代码示例

这是我的Python代码,它不起作用,因为“ValueError:解密时必须提供身份验证标签。”

给定密钥、标签、随机数和密文,我的问题是如何编写 python 代码来解密消息?

0 投票
1 回答
581 浏览

amazon-s3 - Python Cryptography 模块用于解密 s3 中的客户端加密数据

我有一个场景,其中 s3 内的数据使用对称密钥进行客户端加密,我想解密来自 Lambda 的数据。

我对客户端加密的理解是 s3 使用内容加密密钥 (cek) 来加密数据并将这个 cek 以加密形式添加到 iv 到 s3 文件元数据中。在我的例子中,由 Odin 维护的客户密钥促进了这种 cek 加密。解密计划是从相应的文件元数据中解密 cek,然后用它来解密文件的实际内容。

这是关于相同的 aws s3 文档 - https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/package-summary.html

为此,我正在使用 python 加密模块,我正在读取 s3 元数据以获取 x-amz-key(cek) 和 x-amz-iv,对它们进行解码(使用 base64.b64decode)并使用密码解密器来解密 x- amz-key 密钥,然后我使用解密密钥来解密实际正文。但是,当我这样做时,我的 lambda 会运行,但只提供我无法使用的垃圾数据。

代码片段 -

我相信这是解密数据的正确途径,但函数调用中的参数出错了。请指教。

0 投票
1 回答
6981 浏览

python - PIP 加密安装失败

这个问题有很多答案,涵盖了大量不同的场景,但我还没有找到解决同样问题的方法。当我尝试安装pip install cryptography时,我得到:

生成 cffi 模块 'build\temp.win-amd64-3.8\Release\_padding.c' 创建 build\temp.win-amd64-3.8 创建 build\temp.win-amd64-3.8\Release
生成 cffi 模块 'build\temp. win-amd64-3.8\Release\_constant_time.c' 生成 cffi 模块 'build\temp.win-amd64-3.8\Release\_openssl.c'
构建 '_openssl' 扩展创建 build\temp.win-amd64-3.8\Release\构建 创建 build\temp.win-amd64-3.8\Release\build\temp.win-amd64-3.8 创建 build\temp.win-amd64-3.8\Release\build\temp.win-amd64-3.8\Release
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Users\be004cr\PycharmProjects\SSLTest\venv\include -IC:\Python\Python38\include -IC:\Python\Python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\ Professional\VC\Tools\MSVC\14.16.27023\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include" "-IC :\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\ Program Files (x86) \Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program Files (x86)\Wind ows Kits\10\include\10.0.17763.0\cppwinrt" /Tcbuild\temp. win-amd64-3.8\Release_openssl.c /Fobuild\temp.win-amd64-3.8\Release\build\temp.win-amd64-3.8\Release_openssl.obj _openssl.c build\temp.win-amd64-3.8\Release_openssl。 c(498):致命错误 C1083:无法打开包含文件:'openssl/opensslv.h':没有这样的文件或目录错误:命令'C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\ Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe' 失败,退出状态为 28\Release\build\temp.win-amd64-3.8\Release_openssl.obj _openssl.c build\temp.win-amd64-3.8\Release_openssl.c(498):致命错误 C1083:无法打开包含文件:'openssl/opensslv .h':没有这样的文件或目录错误:命令'C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe'退出状态为 2 失败8\Release\build\temp.win-amd64-3.8\Release_openssl.obj _openssl.c build\temp.win-amd64-3.8\Release_openssl.c(498):致命错误 C1083:无法打开包含文件:'openssl/opensslv .h':没有这样的文件或目录错误:命令'C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe'退出状态为 2 失败

---------------------------------------- 密码学构建轮失败运行 setup.py clean用于加密 无法构建加密 无法构建使用 PEP 517 且无法直接安装的加密轮

  1. 我在 Windows 10 上的 PyCharm 2019.2.5 中运行虚拟环境。
  2. 我已经从https://slproweb.com/products/Win32OpenSSL.html安装了 OpenSSL并选择了最新的 32 位版本(我第一次尝试安装了 64 位,但在其他地方读到有人对此有问题,所以切换到 32 位)
  3. 我已将 LIB 和 INCLUDE 位置更新到相关的 ../openssl/include 和 ../openssl/lib 位置,并尝试重新运行pip install但我一直收到相同的消息。我已经在 PyCharm 的终端和标准 CMD 提示符下完成了这项工作。
  4. 我正在运行 PIP 版本 19.0.3

我确定我错过了一些超级简单的东西。就是不知道是什么。

我正在寻找使用密码学(最初计划使用 pyopenssl 但注意到它已被密码学取代)为我的烧瓶应用程序启用 HTTPS。

有什么我错过的吗?我觉得有。

非常感谢

0 投票
0 回答
42 浏览

python - 数字签名验证失败

我正在尝试为一个项目创建一个简单的 DS,其中公钥是 q(随机 224 位 int)、p(随机 2048 位 int)和 ag,这样: pow(g,q,p) == 1. 使用函数生成签名后:

并验证

总是返回 -1,在打印各种结果时,我看到 u 和 r 值永远不会相同,因此无法创建正确的符号元组。

0 投票
1 回答
3621 浏览

python - 使用密码库在 Python 中生成椭圆曲线私钥

我正在尝试使用密码学中的危险材料在 python 中生成一个公共/私有椭圆曲线密钥对。以下是我拥有的当前代码。当我运行时,它正在生成错误“NoneType”对象没有属性“generate_elliptic_curve_private_key”

这是文档https://cryptography.io/en/latest/hazmat/primitives/asymmetric/ec/#

0 投票
12 回答
96381 浏览

python - 错误:无法为使用 PEP 517 且无法直接安装的密码学构建轮子

当 pip 为加密包构建轮子时出现错误。

错误:

错误

我已经安装了 OpenSSL 并按照本文中的建议设置了环境变量,但问题仍然存在。我的设置细节:

  • 系统 - Windows 10
  • 蟒蛇 - 3.8
  • 点 - 19.3.1
0 投票
0 回答
126 浏览

python - ImportError Cryptography python's module

i'm working on aix6 and trying to ping a windows server via ansible installed on this aix server. But with my python CLI I have an issue with cryptography... : python

If someone has any idea about my issue I will be very thankful !!

0 投票
0 回答
249 浏览

python - 使用python 3的AES加密和解密

我一直在尝试编写一个代码,该代码将使用 AES 加密然后解密文件。IV是随机生成的,密钥是根据将被加密/解密的文件名派生的。但问题是该代码适用于所有文件的公共密钥,但如果为不同的文件生成不同的密钥,则文件在解密后会损坏。我正在为加密和解密代码添加两个链接。

加密代码

解密代码

我在加密时将密钥写入文件,然后在解密期间从该文件中读取它。还使用 sha256 确保密钥是 16 位或 16 位的倍数。

0 投票
1 回答
587 浏览

python - PyCryptoDome/密码不等式与python中的AES-CFB

在运行测试以确保两个不同的库提供相同的输出时,我发现它们与CFB. 复制问题的代码是:

任何帮助解决这个问题都会受到赞赏。

此代码适用于modes.OFB(IV)AES.MODE_OFB

0 投票
0 回答
8926 浏览

python-3.x - TypeError:from_buffer() 无法返回 unicode 对象的地址

在将工具更新到 python3 时,我在 MacOS 上遇到了这个问题。

输出

可能是密码学包的问题。一些答案建议重新安装加密包及其依赖项。(cffi,pycparser,六)

还是不行。有人遇到过类似的问题吗?