0
$\begingroup$

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

$\endgroup$
2
  • $\begingroup$ Welcome to Cryptography. To whoever casted a close vote; this is on-topic on our sife. $\endgroup$
    – kelalaka
    May 21 at 12:55
  • $\begingroup$ @kelalaka I know this is on-topic, but what is "sife"? $\endgroup$
    – DannyNiu
    Jun 23 at 6:56

2 Answers 2

1
$\begingroup$

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".

$\endgroup$
8
  • $\begingroup$ This is not a test vector. Test vectors are officially output from the designers or standard institutions. This question was asked before in Stack Overflow and I couldn't find one except for some Magma codes from the E382 paper $\endgroup$
    – kelalaka
    May 21 at 15:09
  • $\begingroup$ @kelalaka To avoid ambiguity, I've reworded my answer to avoid the term completely when referring to the implementation linked to in the answer. $\endgroup$
    – knaccc
    May 21 at 15:40
  • $\begingroup$ 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 $\endgroup$
    – 1chenar
    May 22 at 4:22
  • $\begingroup$ @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? $\endgroup$
    – knaccc
    May 22 at 11:28
  • $\begingroup$ I mean I want an input data, private and public key and resulting signature to verify my implementation for these curves. $\endgroup$
    – 1chenar
    May 23 at 12:49
1
$\begingroup$

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.)

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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