2014-01-20 156 views
0

如果我使用UTF-8编码,可以使用PKCS1填充安全地使用不同大小的RSA密钥加密多少个字符?RSA密钥长度 - 字符限制?

编辑:我知道答案取决于我要加密哪些字符,但由于这是可变的,我在针对不同密钥大小(1024 2048 4096)的“最坏情况”安全限制之后。只是继续下去。

+0

这取决于字符。 UTF-8是一个_variable-width_编码。 – SLaks

回答

1

要从RFC 3447引述§7.1:

RSAES-OAEP可以在长度的消息进行操作多达K - 2hLen - 2个字节,其中的hLen是输出从底层散列函数的长度和k是接收者的RSA模数的八位组长度。

这是根据八位字节定义的;确切的多少个字符将取决于您编码的字符。一个代码点可以占用多个八位字节,并且一个字符(正如大多数人所想的那样)可能需要多个代码点。

+0

我明白你在说什么,但我编码的字符是可变的。你能给我一个安全的限制吗? – NotSoSmart

+0

@NotSoSmart:几乎唯一合理的方法是用八位字节而不是“字符”来工作(特别是因为后者在任何情况下都是一个相当不明确的术语)。 –

+0

那么,八位位组的答案是什么呢? – NotSoSmart