2012-08-06 17 views

Odpowiedz

13

Według zaktualizowanych równań Lenstra dostępnych on this site, poziom bezpieczeństwa 4096 bitowego klucza RSA jest dopasowywany przez skrót kryptograficzny, który ma co najmniej 248 bitów długości, na przykład SHA-256.

Jeśli używasz RSA OAEP (i powinieneś), ilość danych, które można zaszyfrować najwyżej, wynosi zatem modulus size - 2 - 2*hash size, czyli 446 bajtów.

Za pomocą RSA PKCS # 1 v1.5 można zaszyfrować co najwyżej modulus size - 11 bajtów, ale RSA PKCS # 1 v1.5 zapewnia mniejsze bezpieczeństwo (nie jest to zapewne bezpieczne, a minimalna liczba losowych bajtów dopełniających powinna zostać rozszerzona na co najmniej 16 bajtów).

Jeśli chcesz zaszyfrować więcej danych, nie powinieneś po prostu siekać i używać RSA wiele razy w każdym bloku. To jest błąd bezpieczeństwa. Musisz zastosować inne podejście, a dokładniej:

  1. Wybierz losowy 128-bitowy klucz symetryczny.
  2. Użyj uwierzytelnionego trybu operacji, aby zaszyfrować dane (np. AES-128 GCM).
  3. Zaszyfruj klucz symetryczny za pomocą RSA OAEP.

Szyfrowanie RSA (w przeciwieństwie do odszyfrowywania) jest dość szybkie, ale czas jest naprawdę zależny od biblioteki i platformy, z której korzystasz. Aby uzyskać odniesienie, zobacz cryptopp library's website.

+2

@owlstead Dobry punkt o właściwym czasowniku do użycia, zredagowałem odpowiedź. W celu zapewnienia integralności klucza symetrycznego chronionego przez szyfrowanie RSA, OAEP zapewnia już integralność. Moim zdaniem, nie jest to jednak konieczne ze względu na tryb uwierzytelniania (który osadza MAC) używany później. Może chodziło ci o autentyczność (której ten schemat nie zapewnia)? – SquareRootOfTwentyThree

+0

Nie, nie miałem na myśli uczciwości. Byłem jednak zdezorientowany w tym sensie, że oblężenie ataków na OAEP jest możliwe tylko jako * ataki z boku kanału *, innymi słowy, ataki na implementację. –

+0

@SquareRootOfTwentyThree: czy masz jakieś odniesienie, które wyjaśnia ** dlaczego ** maksymalny rozmiar to "rozmiar modułu - 2 - 2 * rozmiar skrótu"? – eckes

Powiązane problemy