In my Rust implementation of a messaging system, I'm using currently two cryptographic primitives: ed25519_dalek and x25519_dalek. I use ed25519_dalek for DSA, while x25519_dalek for encryption of the message since I need to do a Diffie-Hellman key exchange. I wonder whether I could use the same primitive for both DSA and DH, and if not why? Also, some time ago Signal described the XEd25519 signature schema https://signal.org/docs/specifications/xeddsa/ which they say "XEdDSA enables the use of a single key pair format for both elliptic curve Diffie-Hellman and signatures". What is the relation between those primitives, can I for example convert ed25519_dalek and x25519_dalek keys into XEd25519?
Asked
Active
Viewed 95 times
1
-
1also, related Why Curve25519 for encryption but Ed25519 for signatures? – kelalaka Sep 02 '20 at 18:19
-
Yes, thank you! – Ziva Sep 04 '20 at 09:12