Какой встроенный алгоритм криптографии .NET является наиболее безопасным?

Какой криптографический алгоритм наиболее безопасен, который поставляется с .net?

Ответы

Ответ 1

Вы не можете напрямую сравнивать все типы криптографических алгоритмов. Это было бы похоже на сравнение алгоритма сортировки с алгоритмом умножения: у них разные цели. При этом я бы ответил:

  • Симметричный шифр: AES-256
  • Асимметричный шифр: RSA с 4096-битным ключом (я считаю, что это максимум в .NET) или ECDSA с 571-битным ключом (но это поддерживается только в .NET 3.5)
  • Хэш: SHA-512
  • Код аутентификации сообщения: HMAC с SHA-512

Как говорится, для большинства приложений это слишком много, и вы должны делать все возможное, используя AES-128, RSA с 2048-битным ключом, SHA-256 и HMAC с SHA-256.

Ответ 2

Я несколько частично отношусь к SHA-512. Если 512 немного чрезмерно, другие члены семейства SHA-2 могут быть полезны - SHA-256 и SHA-384 находятся в семействе SHA-2. Но предложение AviewAnew AES 256 также хорошо.