microsoft/SymCrypt logo

microsoft/SymCrypt

Free

Cryptographic library

FreeFree tier
Type
Open Source
Founded
2006
Company
Microsoft

About microsoft/SymCrypt

SymCrypt is the core cryptographic function library used by Windows, started in late 2006 with the first sources committed in Feb 2007. It provides safe implementations of cryptographic algorithms, runs on all CPU architectures supported by Windows, and aims for good performance, minimal maintenance cost, and FIPS 140 certification support. Initially focused on symmetric algorithms (hence the name), it expanded to include asymmetric algorithms starting in 2015. Since the Windows 10 1703 release, SymCrypt has been the primary crypto library for all algorithms in Windows. The library is also used in Azure Linux and other Microsoft products.

Key Features

Safe implementations of cryptographic algorithms
Runs on all CPU architectures supported by Windows
Good performance and minimal maintenance cost
FIPS 140 certification support
Symmetric and asymmetric algorithm support
High assurance through extensive unit tests

Pros & Cons

Pros
  • Comprehensive and safe cryptographic implementations
  • Wide algorithm coverage (symmetric and asymmetric)
  • Optimized for all Windows CPU architectures
  • FIPS 140 certification support
  • High assurance through extensive unit testing and comparison with other implementations
Cons
  • Primarily designed for Windows; cross-platform support is limited outside Windows ecosystem
  • External developers may need to follow specific build steps (e.g., cloning submodules like jitterentropy-library for Linux modules)
  • Some dependencies (e.g., RSA32, msbignum) are not publicly available, limiting full unit test reproducibility for external users

Best For

Primary cryptographic library in Windows operating systemUsed in Azure Linux and other Microsoft productsFIPS 140 certified products requiring cryptographic functionsGeneral-purpose cryptographic operations in Microsoft ecosystems

FAQ

What is SymCrypt?
SymCrypt is the core cryptographic function library used by Windows, providing safe implementations of cryptographic algorithms.
When was SymCrypt started?
SymCrypt was started in late 2006, with the first sources committed in February 2007.
How can I build SymCrypt?
The easiest way is to use the Python build script 'scripts/build.py' with the --help argument for details. For alternative build methods, see BUILD.md.
Does SymCrypt support FIPS 140?
Yes, SymCrypt is designed to support FIPS 140 certification of products that use it.