Если все, что вам нужно, это провайдер хэширования, который не будет отключать ошибки, когда на компьютере Windows включен параметр политики, совместимый с FIPS, в реестре, тогда вы можете использовать SHA1CryptoServiceProvider, который совместим с FIPS и требует только .Net 2.0 и XP SP2.
Но - если вам действительно нужна настоящая FIPS-совместимая реализация по соображениям безопасности и политики, то краткий ответ: либо обновите клиенты до Win XP SP3 (или более новой ОС), либо посмотрите на использование сторонних производителей. Проверенные FIPS поставщики криптографических услуг (CSP).
Хотя Win XP SP2 поддерживает FIPS-совместимую реализацию SHA1 (SHACryptoServiceProvider), которая будет работать в FIPS-совместимом режиме (параметр реестра), SHA1 не предполагается использовать для новых реализаций после 2010 года и, возможно, больше не будет соответствовать FIPS вообще. , в зависимости от использования (то есть использования для генерации случайных чисел и хеширования).
Если вы можете получить хотя бы XP SP3, то вы можете использовать SHA256CryptoServiceProvider или SHA512CryptoServiceProvider, которые оба совместимы с FIPS.