microsoft / SymCrypt

Cryptographic library
MIT License
660 stars 68 forks source link

Ask some project infomations #24

Closed helloobaby closed 1 year ago

helloobaby commented 1 year ago

What is the difference between the algorithm in this project and the algorithm in bcrypt.dll (usermode) and ksecdd.sys (kernelmode) (I guess it has better performance and more algorithms?)

mlindgren commented 1 year ago

Hi @helloobaby, SymCrypt is the low-level library that provides crypto implementations for other Windows components such as BCrypt, CNG and ksecdd. In other words, those components are built on top of SymCrypt. The primary differences are:

If your application is targeting Windows exclusively, generally we would still recommend using BCrypt or CNG for ease-of-use, and the convenience of having those shared libraries automatically serviced by Windows Update, meaning you don't have to worry about servicing the crypto code yourself. If you're working on an embedded or cross-platform application, then SymCrypt may be a good choice; in that case, you might also be interested in SCOSSL which is our OpenSSL engine that allows the use of SymCrypt via OpenSSL APIs.

Hope that helps - let us know if you have additional questions.