# Questions tagged [ed25519]

Ed25519 is an algorithm for producing digital signatures. The algorithm is based on Edwards curves introduced by Bernstein et al. (2007) and named after mathematician Harold M. Edwards.

146 questions
Filter by
Sorted by
Tagged with
21k views

### Why Curve25519 for encryption but Ed25519 for signatures?

NaCl and libsodium libraries use Curve25519 for authenticated encryption (actually for sharing a key which is used for encryption) and Ed25519 for signatures. What is the purpose of using different ...
1k views

### HD (Hierarchical Deterministic) Keys using Safe Curves?

Bitcoin's HD (Hierarchical Deterministic) Keys as described in BIP32 allow for a master key to be created (a private key and a chain code) such that a tree of both public and private keys can be ...
214 views

### Representing Ed25519 p curve in hexadecimal byte string

I am interested in representing p = 2^255 - 19 in the Ed255519 curve as hexadecimal byte representation. When I was looking through the original NaCL source code written by DJB, I saw a code fragment ...
523 views

### Converting a C25519 curve into a NIST-supported curve for FIPS crypto

If I have a cryptosystem based on C25519 ECC crypto, is it possible to use the same public/private key pairs for key agreement in a FIPS compliant way by deterministically converting C25519 public and ...
401 views

### How Mutual authentication and Forward secrecy in The X3DH Key Agreement Protocol work?

Can someone explain the statement below from section 3.3 in The X3DH Key Agreement Protocol? DH1 = DH(IKA, SPKB) DH2 = DH(EKA, IKB) DH3 = DH(EKA, SPKB) DH4 = DH(EKA, OPKB) SK = ...
571 views

### Deniability and Prekey Security in X3DH Key Agreement Protocol

Can someone please explain the below paragraphs from The X3DH Key Agreement Protocol? 1st paragraph: What is deniability and how does it work here? Deniability X3DH doesn't give either Alice ...
342 views

### Cryptographic notation in X3DH Key Agreement Protocol

Can someone please explain the below paragraphs from section 2.2 in The X3DH Key Agreement Protocol? Please try to explain the whole paragraphs. 1st paragraph: I want to understand how the DH ...
181 views

### Performance consideration in XEdDSA and VXEdDSA Signature Schemes

Can someone please explain the below paragraph from section 7 in The XEdDSA and VXEdDSA Signature Schemes? The below para states that we are hashing twice (I am not able to get that). How pre-hashing ...
821 views

### Hash functions in XEdDSA and VXEdDSA Signature Schemes

Can someone please explain the below paragraph from section 2.5 in The XEdDSA and VXEdDSA Signature Schemes? Specifically I want to understand how we are defining the family of hash functions and how ...
1k views

### Can I use signature(hash(message)) instead of signature(message)?

Background: We use the TweetNaCl crypto library by Bernstein (tweetnacl.cr.yp.to) et al and we would like to stick to it. However, we have the need to sign large messages and the library does not ...
288 views

### what is the maximum size of the payload data when using ed25519

When using ed25519 what is the maximum size of the message/payload data? From the specs: The Diffie-Hellman key exchange is then defined as follows: each party generates a random number 1 <= ...
2k views

### Edwards / Montgomery ECC with Weierstrass Implementation?

So let's assume I want to perform Ed448 or Ed25519 digital signatures or want to perform a DH key-exchange. Assume further that those curves (Curve448 or Curve25519) are required. But the problem is, ...
3k views

### Using a single Ed25519 key for encryption and signature

The libsodium documentation contains a function crypto_sign_ed25519_pk_to_curve25519 that converts an Ed25519 key into a Curve25519 one, so it can be used for both ...
1k views

### Generate keys with k3d3 / ed25519-java

I'm trying to use a java implementation of ed25519. In the code, I can't find any functions that generate keys. My experience with cryptography is limited to about three weeks of asking questions on ...
685 views

### How can k3d3/ed25519-java's performance be improved?

I tried asking this on stackoverflow because I thought it might be a simple coding question and didn't want to clutter up this amazing stack, but I received no responses. CodesInChaos showed me that ...
144 views

### byte length and offset for k3d3/ed25519 byte[] variables?

I've discovered for myself that java's BigInteger is very slow, so I'm trying to weakly optimize this java implementation of ed25519 which I will fork and post if ...
450 views

845 views

### Point addition and doubling in Ed25519 (ref10)?

I just migrated CodesInChaos' C# port of Ed25519(ref10) to Java, and everything works fine. (I.e. I get the same results for key generation, signature and verification.) Now, I would like to do a ...
1k views

### Security benefits of Ed25519 generating signatures deterministically

I am reading on the Ed25519 curve, and I am trying to understand a claim. Here is the claim: Foolproof session keys. Signatures are generated deterministically; key generation consumes new ...
116 views

### Mapping integers to Ed25519 and back again?

I would like to map integer values to points on Ed25519, and then back again. Is there a technique that takes advantage of the specific structure of Ed25519?
1k views

### Non-standard signature security definition conforming ed25519 malleability

According to the paper “High-speed high-security signatures”… Malleability. We also see no relevance of "malleability" to the standard definition of signature security. Aside from the example, ...
1k views

### Is ed25519 a “hash signature”

Writing my last question, I saw the hash-signature tag. I tried to research it best I could, but I'm simply overwhelmed in this field. I don't think it means to simply hash data before signing, but ...
574 views

### Can a properly implemented ed25519 private key with public underlying data be cracked?

If the underlying data is public albeit hashed with SHA-512, does that make a difference on the strength of ed25519? Please quantify the extent. Can ed25519 be cracked after a certain amount of ...
3k views

### Why are the lower 3 bits of curve25519/ed25519 secret keys cleared during creation?

I am currently experimenting with ed25519 and I noticed that on secret key creation, bit 254 is always set and the lower 3 bits are always cleared. I found that bit 254 is always set to protect ...
915 views

### Is using Ed25519 parameters in ECDSA safe?

I recently discovered the Curve25519 key exchange lib and the Ed25519 signature lib. Due to the speculations about NIST-designed curves, there is a chance that I ditch them and use the curves above ...