Take the 2-minute tour ×
Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It's 100% free, no registration required.

Can curve25519 keys be used with ed25519?

I'd prefer to use ed25519, but there isn't a fast java version. For my application, I'd like to use curve25519 until I can get a faster ed25519 for java.

At the very least can the curve25519 keys be restricted if some can be converted ed25519?

share|improve this question
1  
The problem is that you don't get the y part of the coordinate when using a montgomery ladder to compute the public key. –  CodesInChaos Jan 22 at 20:26
    
@CodesInChaos Thank you CodesInChaos! Is there any way you could help with this? Thank you so very, very much in advance! crypto.stackexchange.com/questions/12949/… –  Gracchus Jan 22 at 20:29
add comment

1 Answer

up vote 3 down vote accepted

AFAIK, no. However, Ed25519 keys can be converted to Curve25519 keys. My Ed25519 library supports this (or well, it supports DH with Ed25519 keys).

Whether it is secure to use the same key for both signing and Diffie-Hellman, I don't exactly know. This answer suggests that it is very likely, but it still needs more study.

share|improve this answer
    
Thank you nightcracker! I think I either have to use Curve25519 at this point or another digital signature algorithm unless if you can help with this. Thank you so very very much in advance! crypto.stackexchange.com/questions/12949/… –  Gracchus Jan 22 at 20:42
1  
@Gracchus I think you should look into using a C library from Java - there are almost no cryptographers writing libraries in Java. –  nightcracker Jan 22 at 21:08
    
Thank you nightcracker! I've noticed. ;)) I do appreciate your help! –  Gracchus Jan 22 at 21:33
1  
@nightcracker Come again? Sun JCE, PKCS11 & JSSE + ECC. Then there are Bouncy Castle, IAIK libraries, BSAFE... If you want support for a specific curve, ask on the Bouncy mailing list! Or add it yourself of course! –  owlstead Jan 23 at 15:21
    
@owlstead Sorry, I meant the cryptographers that develop the primitives themselves - they almost never release a Java library. There are a few "cryptography suites" as you've cited, that implement many primitives, but outside of those big suites there isn't much high-quality Java cryptography software available. This means that if you want to use modern cryptography, like Ed/Curve25519, ChaCha, Keccak, BLAKE, Poly1305, that you'll either have to implement it yourself or trust an often badly performing non-scrutinized third-party implementation. –  nightcracker Jan 24 at 8:06
show 4 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.