Bouncy Castle Cryptography Library 1.85

org.bouncycastle.jcajce.spec
Class EdDSAParameterSpec

java.lang.Object
  extended byorg.bouncycastle.jcajce.spec.EdDSAParameterSpec
All Implemented Interfaces:
java.security.spec.AlgorithmParameterSpec

public class EdDSAParameterSpec
extends java.lang.Object
implements java.security.spec.AlgorithmParameterSpec

ParameterSpec for EdDSA signature algorithms.

As well as selecting the curve (for key pair generation) the spec can carry the RFC 8032 instance selectors used when signing or verifying: the prehash flag (Ed25519ph / Ed448ph) and an optional context (Ed25519ctx, or the context permitted by Ed448 / the prehash variants). A context, when supplied, must be at most 255 bytes (RFC 8032 sec. 5.1 / 5.2). When neither prehash nor a non-empty context is supplied the spec selects the pure variant, matching BC's historical behaviour for the curve-name-only constructor.


Field Summary
static java.lang.String Ed25519
           
static java.lang.String Ed448
           
 
Constructor Summary
EdDSAParameterSpec(java.lang.String curveName)
          Base constructor - pure variant, no context.
EdDSAParameterSpec(java.lang.String curveName, boolean prehash)
          Constructor specifying the prehash (Ed25519ph / Ed448ph) selector.
EdDSAParameterSpec(java.lang.String curveName, boolean prehash, byte[] context)
          Constructor specifying the prehash selector and a context.
 
Method Summary
 byte[] getContext()
          Return the RFC 8032 context, or null if none was specified.
 java.lang.String getCurveName()
          Return the curve name specified by this parameterSpec.
 boolean isPrehash()
          Return whether the prehash (ph) variant is selected.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

Ed25519

public static final java.lang.String Ed25519
See Also:
Constant Field Values

Ed448

public static final java.lang.String Ed448
See Also:
Constant Field Values
Constructor Detail

EdDSAParameterSpec

public EdDSAParameterSpec(java.lang.String curveName)
Base constructor - pure variant, no context.

Parameters:
curveName - name of the curve to specify.

EdDSAParameterSpec

public EdDSAParameterSpec(java.lang.String curveName,
                          boolean prehash)
Constructor specifying the prehash (Ed25519ph / Ed448ph) selector.

Parameters:
curveName - name of the curve to specify.
prehash - true to select the prehash (ph) variant.

EdDSAParameterSpec

public EdDSAParameterSpec(java.lang.String curveName,
                          boolean prehash,
                          byte[] context)
Constructor specifying the prehash selector and a context.

Parameters:
curveName - name of the curve to specify.
prehash - true to select the prehash (ph) variant.
context - the RFC 8032 context (at most 255 bytes), or null for none.
Method Detail

getCurveName

public java.lang.String getCurveName()
Return the curve name specified by this parameterSpec.

Returns:
the name of the curve this parameterSpec specifies.

isPrehash

public boolean isPrehash()
Return whether the prehash (ph) variant is selected.

Returns:
true if Ed25519ph / Ed448ph is selected, false for the pure / ctx variant.

getContext

public byte[] getContext()
Return the RFC 8032 context, or null if none was specified.

Returns:
a copy of the context, or null.

Bouncy Castle Cryptography Library 1.85