gpt4 book ai didi

python - python 为 RSA 模块使用什么类型的填充?

转载 作者:太空宇宙 更新时间:2023-11-03 15:02:11 24 4
gpt4 key购买 nike

我是 Python 加密的新手,想知道哪个填充是其 RSA module 的默认填充?

我通过以下方式获取 key 并解密数据:

import rsa

(pub, priv) = rsa.newkeys(512)
# receive the encrypted data here
data = rsa.decrypt(encrypt_data, priv)

据我所知,填充方法包括:RSA_PKCS1_PADDING、RSA_PKCS1_OAEP_PADDING、RSA_SSLV23_PADDING、RSA_NO_PADDING。

最佳答案

rsa module (目前为 v3.4)仅支持 PKCS#1 v1.5 加密填充(随机 2 类填充)和签名。

rsa/__init__.py 中你可以看到 rsa.encrypt() 实际上是 rsa.pkcs1.encrypt() 它在内部使用 rsa.pkcs1._pad_for_encryption() 这是前面提到的 PKCS#1 v1.5 填充的实现。

请注意,如今 ( ref ),不应再使用此填充。建议使用 OAEP 进行加密,使用 PSS 进行签名,两者均来自 PKCS#1 v2.0。 PyCrypto 支持 OAEP/PSS 和 PKCS#1 v1.5 填充。

关于python - python 为 RSA 模块使用什么类型的填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36627518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com