Enforce FIPS Cryptography Globally via Regedit
This guide provides a direct walkthrough on how to enforce Federal Information Processing Standards (FIPS) 140-validated cryptographic algorithms across a Windows system using the Registry Editor (Regedit). Enabling this policy ensures that the operating system and supported third-party applications exclusively use FIPS-compliant algorithms for encryption, hashing, and signing.
Prerequisites and Considerations
- Administrative Privileges: You must run the Registry Editor as an Administrator.
- Compatibility: Enforcing FIPS may cause legacy applications, older .NET applications, or non-compliant web browsers to fail if they rely on non-approved cryptographic algorithms (such as MD5 or RC4).
Step-by-Step Instructions to Enable FIPS via Regedit
- Open the Registry Editor
- Press
Win + Rto open the Run dialog box. - Type
regeditand pressEnter(or click OK). - Click Yes when prompted by User Account Control (UAC).
- Press
- Navigate to the LSA Policy Key
In the address bar at the top of the Registry Editor, paste the following path and press
Enter:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicyNote: If the
FipsAlgorithmPolicykey does not exist underLsa, right-click theLsafolder, select New > Key, and name itFipsAlgorithmPolicy.
- Modify the
EnabledValue- Locate the DWORD (32-bit) value named
Enabledin the right-hand pane. - If the
Enabledentry does not exist:- Right-click anywhere in the empty space of the right pane.
- Select New > DWORD (32-bit) Value.
- Name the new value
Enabled.
- Double-click
Enabledto edit its properties. - Under Value data, change the value from
0to1. - Ensure the Base is set to Hexadecimal.
- Click OK.
- Locate the DWORD (32-bit) value named
- Restart the System
- Close the Registry Editor.
- Restart your computer or server to apply the cryptographic restrictions globally.
Verifying FIPS Enforcement
To verify that the FIPS policy is active after the restart:
Open PowerShell as an Administrator.
Run the following command:
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy" -Name "Enabled"A return value of
Enabled : 1confirms that FIPS-compliant cryptographic algorithms are being globally enforced. To disable FIPS in the future, set theEnabledregistry value back to0and reboot the machine.