-
Notifications
You must be signed in to change notification settings - Fork 4
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
Replace node-forge RSA Keypair With ed25519/x25519 Keypair #168
Comments
There's a current open PR on the node-forge repo regarding ed25519 in PEM: digitalbazaar/forge#851. This will make this transition much easier. |
Resolving this issue requires us to fully plan out #155. Because if we modify or change our underlying crypto library which is currently |
Webcrypto issue has been moved to #270. |
Another library worth checking out noble-ed25519. Other libraries here: https://paulmillr.com/noble/ |
We successfully did this in several stages:
After exploring each of the 4 stages above. At this point we have a fully implemented However after realising libsodium is the standard for ECIES and other elliptic curve algos (the non-NIST ones), I've come to the decision to revisit the Due to our initial work on integration 2., 3. into In terms of work, it should 2 days to migrate the existing Downstream impact is on |
I suspect only 2 points of ETA left here. |
Created by robert-cronin
This issue is about specifying how we actually intend to use asymmetric crypto to:
The 2 modern algorithms for signing and encryption/decryption are:
AKA: "Ed25519" or "X25519".
See: https://crypto.stackexchange.com/questions/27866/why-curve25519-for-encryption-but-ed25519-for-signatures
We currently use node-forge's implementation of RSA keys, with a 4096 bit keypair. In doing so, we're limited in how transferable our public keys are. For example, the node ID of a keynode is required to be translated to a 'public key fingerprint' (a base64 encoding of a sha256 sum of the ASN.1
SubjectPublicKeyInfo
encoding of the RSA public key) in order to be transferable as an ID Once we transition to ed25519, we can simply use the public key (256 bits) as the node ID. This would also simplify the process of #148.The text was updated successfully, but these errors were encountered: