Releases: str4d/ed25519-java
Releases · str4d/ed25519-java
EdDSA 0.3.0
Notable changes in this release:
- The library has been extensively profiled for contention issues in a multi-threaded environment. The only remaining potential contention is in
EdDSANamedCurveTable.defineCurve()
, which will be rarely called. - The public constant for the curve name has returned as
ED_25519
, and the curve specification has a public constantED_25519_CURVE_SPEC
to avoid repeated lookups when converting to and from encoded form for the public or private keys. GroupElement
is now completely immutable, and all fields final, to avoid the need forsynchronized
blocks over mutable fields. This required some new constructors and paths to construction.EdDSAPublicKeySpec.getNegativeA()
andEdDSAPublicKey.getNegativeA()
now evaluate lazily, taking advantage of the immutability ofGroupElement.negate()
. This boosts the performance of the public key constructor when the key is just being passed around rather than used.- Support for X509Key wrapped EdDSA public keys.
For all details, see the milestone.
EdDSA 0.2.0
Notable changes in this release:
- The OIDs and PKI encodings of public and private keys have changed to match draft-ietf-curdle-pkix-04.
- The previous encoding can still be read, but only the new encoding will be written out.
- The named curve spec now uses the canonical name
Ed25519
per RFC 8032 and draft-ietf-curdle-pkix-04. - The library contains a JCA security provider (named
EdDSA
). - A constant-time issue has been fixed (#31).
For all details, see the milestone.
EdDSA 0.1.0
This is the first release of the library. Features:
- Ed25519-specific implementation
- Based on ref10 with constant-time signing
- Generic
BigInteger
-based implementation- Supports any EdDSA parameter specification
- Not constant-time
- JCA-compatible
- Instantiate
EdDSAEngine
as aSignature
- Instantiate
- One-shot signing methods
- Instantiate
EdDSAEngine
directly
- Instantiate