Please review EdDSA API

Adam Petcher adam.petcher at oracle.com
Wed Jul 25 14:29:41 UTC 2018


The draft CSR[1] for the EdDSA API[2] is ready for review. Please take a 
look and send me any feedback you may have. Here are a few high-level 
notes to explain the API:

1) Where possible, this API is similar to the API for X25519/X448. To 
get the complete background/motivation for the API design, you can 
review the discussion[3] on this topic.
2) Similar to X25519/X448, private keys are byte arrays, and public keys 
coordinates. Though we can't get by with a single BigInteger coordinate 
for EdDSA, so I am using the new EdPoint class to hold the coordinates.
3) EdDSA has multiple signature modes defined in the RFC[4], including 
some that "prehash" the input before signing. The draft API uses the 
EdDSAParameterSpec class to specify parameters of these modes. The 
standard does not allow an arbitrary choice of prehash function, so the 
API for EdDSA does not support algorithm names like "SHA256withEdDSA".

[1] https://wiki.openjdk.java.net/display/csr/Main
[2] https://bugs.openjdk.java.net/browse/JDK-8190219
[3] 
http://mail.openjdk.java.net/pipermail/security-dev/2017-September/016325.html
[4] https://tools.ietf.org/html/rfc8032



More information about the security-dev mailing list