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