Score:0

E382 and E521 edward curves test vector

cn flag

I need test vectors for E382 and E521 edward curves in order to test signature and verification process of a software.

kelalaka avatar
in flag
Welcome to [cryptography.se]. To whoever casted a close vote; this is on-topic on our sife.
Score:0
tr flag

There aren't any that I'm aware of. Your best bet is generating them yourself. For example, you can get the reference Python implementation from RFC 8032 and parametrize it with the desired curves.

Ed521 has been standardized by the Brazilian government CA, you can see the parametrization in page 12 of this PDF. So you could plug those parameters in the RFC script and generate test vectors. (Or choose the parameters yourself.)

Score:0
es flag

E382 and E521 are just curves, just like Ed448-Goldilocks is just a curve.

To implement a signature scheme, design decisions need to be made. For example, "Ed448" is the name given to a standard as documented in RFC 8032. One of those design decisions, for example, was to have 57-byte private keys, even though the most significant byte would always contain zeroes.

Another design decision is the choice of hash. Ed25519 uses SHA-512, but Ed448 chooses SHAKE-256. RFC 8032 references the paper EdDSA for more curves which mentions SHAKE-256 but then decides to use SHA-512 because of its "widespread deployment".

The bottom line is that until there is a signing standard for E382 and E521, such as an EdDSA variant, there cannot be any official test vectors for signing. If you are looking for a way to test the output of your basic curve operations, here is an implementation of E521 you can compare your results with which claims to be "fully tested and debugged".

kelalaka avatar
in flag
This is not a test vector. Test vectors are officially output from the designers or standard institutions. This question was asked before in [so] and I couldn't find one except for some Magma codes from the [E382 paper](https://eprint.iacr.org/2013/647.pdf)
knaccc avatar
es flag
@kelalaka To avoid ambiguity, I've reworded my answer to avoid the term completely when referring to the implementation linked to in the answer.
1chenar avatar
cn flag
Thanks for description. I only want test vector to test the code, there is not necessity to be the official test vector. if it works, it's fine
knaccc avatar
es flag
@1chenar I interpreted your question as meaning you wanted test vectors for a signature. These can't exist until design decisions are made and someone writes an implementation. Maybe you were only looking for basic curve operation results to test against, like scalar multiplication? If so, which operations?
1chenar avatar
cn flag
I mean I want an input data, private and public key and resulting signature to verify my implementation for these curves.
knaccc avatar
es flag
@1chenar ah ok, that's what I thought. As I've described, it's impossible to verify your implementation against a standard that does not exist.
1chenar avatar
cn flag
you mean there is not standard for edward curves digital signature? but there are implementations in bouncy castle library for EDDSA.
knaccc avatar
es flag
@1chenar as I explained in my answer, EdDSA on the ed25519 curve uses SHA-512 as the hash. EdDSA on the ed448-goldilocks curve uses SHAKE256 as the hash. No one has decided on any standard for what the EdDSA hash should be for E382 or E521.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.