2013-09-21 160 views
-1

我读了一些关于RSA加密的白皮书。我发现这个说法。但我不明白为什么? 陈述是RSA加密和解密的时间取决于密钥的大小,但不取决于输入数据的大小和内容,如果这个陈述正确意味着wehen加密1000字节,同时10000字节的加密和解密?为什么RSA加密和解密的时间取决于密钥大小而不是输入长度?

+0

通常情况下,您不会使用RSA加密超过100个字节。您使用AES等快速加密方式加密实际数据,然后使用RSA加密AES密钥。这样,每个消息只需要一个昂贵的RSA操作(或者在TLS的情况下甚至是连接)。 – CodesInChaos

+0

好的。但我想知道关于RSA时使用密钥长度1024或2048或3072位比较性能与他们。每种情况应输入多少位。 –

+1

密钥大小和最大输入长度是相同的。这是你整个问题的答案。 – EJP

回答

4

时间总是相同的,因为输入长度总是相同的。

纯文本被填充到RSA模量的大小。如果纯文本太长,则无法使用RSA对其进行加密。当然,你可以分开纯文本并使用独立的RSA操作对每个块进行加密,但这不是该算法打算如何使用的方式。

RSA加密最适合作为密钥传输算法。您选择一个对称密钥,并使用RSA公钥对其进行加密。对称密钥可用于使用AES等算法对大量数据进行加密。这比使用公钥加密来加密和解密批量数据要快得多。

+0

谢谢大家。 –