microsoft / SymCrypt-OpenSSL

OpenSSL engine for use with SymCrypt cryptographic library
MIT License
43 stars 11 forks source link

Provider Ciphers and Rand #60

Closed mamckee closed 1 year ago

mamckee commented 1 year ago

This PR adds cipher and RNG implementations to the Symcrypt Provider. The source files for the SymCrypt engine have all been prefixed with "e_" to avoid confusion with common source files.

The implementation for GCM and CCM has been refactored into common code shared between the provider and engine.

The following ciphers have been added:

samuel-lee-msft commented 1 year ago
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/ossl-modules"

Probably a good plan to use a new variable like OPENSSL_PROVIDERS, like: https://github.com/microsoft/SymCrypt-OpenSSL/pull/58/files#diff-f79d526d98446e8093575181d6dec16feb7cf2cd4c3882cc9bee910fa54fd5ce


Refers to: SymCryptProvider/CMakeLists.txt:50 in d5c545f. [](commit_id = d5c545f7c790636e5c7a99a21900a7dbbe004214, deletion_comment = False)

mamckee commented 1 year ago

@samuel-lee-msft, I added CFB to this PR. SymCrypt only supports 128- and 8-bit shifts, but OpenSSL also supports 1-bit shifts registered as separate algorithms. Is this something we need to support in the SymCrypt provider or can we fall back to the default provider?


In reply to: 1500728890

samuel-lee-msft commented 1 year ago

Fine to fallback here - but when we update the README it should be clear.


In reply to: 1500728890