-
I wonder why not System.Security.Cryptography does not have Argon2id or Argon2? you've made aesgcm and chachapoly why would you do not add argon2? @vcsjones |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
.NET has a policy of not implementing cryptographic algorithms itself. Rather, it uses the platform to do it (That would be OpenSSL for Linux, CNG on Windows, and CryptoKit / CommonCrypto on macOS). As of writing, only OpenSSL implements Argon2. That makes it infeasible to implement it on Windows, macOS, or other platforms and would have a poor cross-platform experience. We do do this sometimes (e.g. SHA-3 is Windows / Linux only right now) but "two platforms" is generally the minimum before it would be considered. This is mostly to ensure we aren't taking a dependency on a platform-specific behavior.
AES-GCM and ChaCha20Poly1305 are broadly supported by all of the platforms. Windows, Linux, Apple, and Android all provide implementations for .NET to utilize. |
Beta Was this translation helpful? Give feedback.
.NET has a policy of not implementing cryptographic algorithms itself. Rather, it uses the platform to do it (That would be OpenSSL for Linux, CNG on Windows, and CryptoKit / CommonCrypto on macOS).
As of writing, only OpenSSL implements Argon2. That makes it infeasible to implement it on Windows, macOS, or other platforms and would have a poor cross-platform experience. We do do this sometimes (e.g. SHA-3 is Windows / Linux only right now) but "two platforms" is generally the minimum before it would be considered. This is mostly to ensure we aren't taking a dependency on a platform-specific behavior.
AES-GCM and ChaCh…