crypto: add CFRG curves to Web Crypto API
As per https://wicg.github.io/webcrypto-secure-curves and https://github.com/WICG/proposals/issues/46
This
- Adds Ed25519, X25519, and X448 in full as described by https://wicg.github.io/webcrypto-secure-curves as of May 2022
- Adds Ed448 as described by https://wicg.github.io/webcrypto-secure-curves as of May 2022 with the exception of its sign/verify optional
context
algorithm property which it only accepts as a zero-length value, otherwise throws "not implemented" due to lack of this option in the underlying C++ implementation. - removes NODE-ED25518 and NODE-ED448 algorithms (replaced by Ed25519 and Ed448)
- removes NODE-X25519 and NODE-X448 ECDH namedCurve values (replaced by X25519 and X448 algorithms)
- simplifies the webcrypto docs by utilizing the
AlgorithmIdentifier
"class". This means that other than the otherNODE-*
extensions the only "classes" documented follow the defined WebCryptoAPI dictionaries.