PyCrypto:有多少随机数据被认为是安全的?

发布于 2024-12-01 14:52:57 字数 277 浏览 1 评论 0原文

我正在 PyCrypto 中使用 RSA 实现。对于 encrypt(self, plaintext, K) 方法,K 是随机数据的参数。我想知道需要传递多少随机数据才能使加密数据被认为是安全的。例如,在我的实现中,我通过 Crypto.Util.number 模块传递 1024 位的强素数,如下所示:

enc_data = public_key.encrypt(data, number.getPrime(1024))

这是否被认为“足够安全”?

谢谢

I'm using the RSA implementation in PyCrypto. With regard to the encrypt(self, plaintext, K) method K is a parameter of random data. I want to know how much random data needs to be passed in order for the encryted data to be considered secure. For example in my implementation I am passing a strong prime number of 1024 bits via the Crypto.Util.number module like so:

enc_data = public_key.encrypt(data, number.getPrime(1024))

Is this considered 'secure enough'?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

故人的歌 2024-12-08 14:52:58

RSA 实现使用 K 参数。你可以忽略它; RSA 实现确实如此。

查看 pycrypto-2.3/lib/Crypto/PublicKey/RSA.py 的第 59-60 行,您会看到以下内容:

def _encrypt(self, c, K):
    return (self.key._encrypt(c),)

这证明了 K(如果提供)将被忽略。

官方文档

另外,开发人员在文档中明确声明了这一点。事实上,如果您创建一个公钥 public_key 并输入,

help(public_key.encrypt)

您将获得他们的文档,其中明确指出:

encrypt(self, plaintext, K) method of Crypto.PublicKey.RSA._RSAobj instance
Encrypt a piece of data with RSA.

...
...

:Parameter K: A random parameter (*for compatibility only. This
 value will be ignored*)
:Type K: byte string or long

The RSA implementation does not use the K parameter. You may ignore it; the RSA implemention does.

Looking at lines 59-60 of pycrypto-2.3/lib/Crypto/PublicKey/RSA.py you see the following:

def _encrypt(self, c, K):
    return (self.key._encrypt(c),)

Which proves that K, if supplied, is ignored.

Official documentation

Plus, the developers declare this explicitly in the documentation. In fact, if you create a public key public_key and you type

help(public_key.encrypt)

you will obtain their documentation, which explicitly says:

encrypt(self, plaintext, K) method of Crypto.PublicKey.RSA._RSAobj instance
Encrypt a piece of data with RSA.

...
...

:Parameter K: A random parameter (*for compatibility only. This
 value will be ignored*)
:Type K: byte string or long
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文