-
Notifications
You must be signed in to change notification settings - Fork 810
[v6] crypto-refresh
: add support for Ed448/X448
#1625
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
crypto-refresh
: add support for Ed488/X448crypto-refresh
: add support for Ed448/X448
9115132
to
23d2d52
Compare
What is your policy with regards to browser versions? I notice you support Safari 13. The browser is used by 0.38%+0.77% of users globally, as per caniuse. v13 was last updated with 13.1.2 on July 15, 2020 - around 3 years ago. Safari 13 has following vulnerabilities:
Also, the bn.js shim has likely not been audited and fuzzed properly. |
Hey @paulmillr , we've confirmed with internal stats that around 1% of our end users are on Safari 13 (desktop or mobile), and that's too large a chunk for us to drop support, considering that BigInt cannot be polyfilled. Hopefully the usage goes down enough in the next year and we can require BigInt in OpenPGP.js v7. As for bn.js, it's a library that OpenPGP.js has used for a while, both directly and as part of elliptic.js, and while this is certainly no guarantee of security, we are positive about its stability. Unlike previous versions of OpenPGP.js, once we switch to noble-curves, bn.js will only be used as fallback for legacy browsers and the Brainpool curves. Plus, thanks to the design of the BigInteger interface, if we find a better fallback library it'll be easy to switch out bn.js for that. |
Understood. Thanks for clarification. |
00794d4
to
2a3b7b0
Compare
crypto-refresh
: add support for Ed448/X448crypto-refresh
: add support for Ed448/X448
795b4ba
to
bde8d11
Compare
…atures Detect extra bytes in secret key material, as well as missing bytes in other parameters.
This addition is backwards compatible. We offer no way to generate v4 keys in the new format, since existing implementations might not support them.
TODO:
crypto-refresh
: add support for new Ed25519/X25519 keys, signatures and messages #1620bigint
)add key generation (in generateKey)done in [v6]crypto-refresh
: support generating Curve448 and Curve25519 keys (new format) #1676@openpgp/noble-curves
add Node Crypto support(TODO in separate PR, as it's not a priority nor a breaking change)