2014-01-20 154 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