Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.85
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.bouncycastle.crypto.signers
Class ECDSASigner

    java.lang.Object
      org.bouncycastle.crypto.signers.ECDSASigner

All Implemented Interfaces:
  DSA, DSAExt, ECConstants

public class ECDSASigner
extends java.lang.Object
implements ECConstants, DSAExt

EC-DSA as described in X9.62

Field Summary

Fields inherited from interface org.bouncycastle.math.ec.ECConstants
`EIGHT, FOUR, ONE, THREE, TWO, ZERO`

Constructor Summary
`ECDSASigner()` Default configuration, random K values.
`ECDSASigner(DSAKCalculator kCalculator)` Configuration with an alternate, possibly deterministic calculator of K.

Method Summary
`protected java.math.BigInteger` | `calculateE(java.math.BigInteger n, byte[] message)`
`protected ECMultiplier` | `createBasePointMultiplier()`
`java.math.BigInteger[]` | `generateSignature(byte[] message)` generate a signature for the given message using the key we were initialised with.
`protected ECFieldElement` | `getDenominator(int coordinateSystem, ECPoint p)`
`java.math.BigInteger` | `getOrder()` Get the order of the group that the r, s values in signatures belong to.
`void` | `init(boolean forSigning, CipherParameters param)` initialise the signer for signature generation or signature verification.
`protected java.security.SecureRandom` | `initSecureRandom(boolean needed, java.security.SecureRandom provided)`
`boolean` | `verifySignature(byte[] message, java.math.BigInteger r, java.math.BigInteger s)` return true if the value r and s represent a DSA signature for the passed in message (for standard DSA the message should be a SHA-1 hash of the real message to be verified).

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ECDSASigner

    public ECDSASigner()

  Default configuration, random K values.

### ECDSASigner

    public ECDSASigner(DSAKCalculator kCalculator)

  Configuration with an alternate, possibly deterministic calculator of K.

Parameters:
  `kCalculator` - a K value calculator.

Method Detail

### init

    public void init(boolean forSigning,
                     CipherParameters param)

  Description copied from interface: `DSA`
  initialise the signer for signature generation or signature verification.

  Specified by:
    `init` in interface `DSA`
  Parameters:
    `forSigning` - true if we are generating a signature, false otherwise.
    `param` - key parameters for signature generation.

### getOrder

    public java.math.BigInteger getOrder()

  Description copied from interface: `DSAExt`
  Get the order of the group that the r, s values in signatures belong to.

  Specified by:
    `getOrder` in interface `DSAExt`

### generateSignature

    public java.math.BigInteger[] generateSignature(byte[] message)

  generate a signature for the given message using the key we were initialised with. For conventional DSA the message should be a SHA-1 hash of the message of interest.

  Specified by:
    `generateSignature` in interface `DSA`
  Parameters:
    `message` - the message that will be verified later.
  Returns:
    two big integers representing the r and s values respectively.

### verifySignature

    public boolean verifySignature(byte[] message,
                                   java.math.BigInteger r,
                                   java.math.BigInteger s)

  return true if the value r and s represent a DSA signature for the passed in message (for standard DSA the message should be a SHA-1 hash of the real message to be verified).

  Specified by:
    `verifySignature` in interface `DSA`
  Parameters:
    `message` - the message that was supposed to have been signed.
    `r` - the r signature value.
    `s` - the s signature value.

### calculateE

    protected java.math.BigInteger calculateE(java.math.BigInteger n,
                                              byte[] message)

### createBasePointMultiplier

    protected ECMultiplier createBasePointMultiplier()

### getDenominator

    protected ECFieldElement getDenominator(int coordinateSystem,
                                            ECPoint p)

### initSecureRandom

    protected java.security.SecureRandom initSecureRandom(boolean needed,
                                                          java.security.SecureRandom provided)

Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.85
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD