For the latest news and information visit The GNU Crypto project

## gnu.crypto.key.srp6
Class SRPPrivateKey

    java.lang.Object
      |
      +--gnu.crypto.key.srp6.SRPKey
            |
            +--gnu.crypto.key.srp6.SRPPrivateKey

All Implemented Interfaces:
  java.security.Key, java.security.PrivateKey, java.io.Serializable

public class SRPPrivateKey
extends SRPKey
implements java.security.PrivateKey

A representation of an SRP ephemeral private key.

Reference:

1. SRP Protocol Design
   Thomas J. Wu.

See Also:
  Serialized Form

Field Summary

Fields inherited from class gnu.crypto.key.srp6.SRPKey
`g, N`

Fields inherited from interface java.security.PrivateKey
`serialVersionUID`

Constructor Summary
`SRPPrivateKey(java.math.BigInteger N, java.math.BigInteger g, java.math.BigInteger x)` Public constructor for use from outside this package.
`SRPPrivateKey(java.math.BigInteger N, java.math.BigInteger g, java.math.BigInteger x, java.math.BigInteger v)` Public constructor for use from outside this package.

Method Summary
`boolean` `equals(java.lang.Object obj)` Returns `true` if the designated object is an instance of `SRPPrivateKey` and has the same SRP parameter values as this one.
`byte[]` `getEncoded(int format)` Returns the encoded form of this private key according to the designated format.
`java.math.BigInteger` `getV()` Returns the user's verifier as a `BigInteger`.
`java.math.BigInteger` `getX()` Returns the private exponent of the key as a `BigInteger`.
`static SRPPrivateKey` `valueOf(byte[] k)` A class method that takes the output of the `encodePrivateKey()` method of an SRP keypair codec object (an instance implementing `IKeyPairCodec` for DSS keys, and re-constructs an instance of this object.

Methods inherited from class gnu.crypto.key.srp6.SRPKey
`getAlgorithm, getEncoded, getFormat, getG, getN`

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

Methods inherited from interface java.security.Key
`getAlgorithm, getEncoded, getFormat`

Constructor Detail

### SRPPrivateKey

    public SRPPrivateKey(java.math.BigInteger N,
                         java.math.BigInteger g,
                         java.math.BigInteger x)

  Public constructor for use from outside this package.

Parameters:
  `N` - the public shared modulus.
  `g` - the generator.
  `x` - the private exponent of the ephemeral key.

### SRPPrivateKey

    public SRPPrivateKey(java.math.BigInteger N,
                         java.math.BigInteger g,
                         java.math.BigInteger x,
                         java.math.BigInteger v)

  Public constructor for use from outside this package.

Parameters:
  `N` - the public shared modulus.
  `g` - the generator.
  `x` - the private exponent of the ephemeral key.
  `v` - the user's verifier value (for the server side only).

Method Detail

### valueOf

    public static SRPPrivateKey valueOf(byte[] k)

  A class method that takes the output of the `encodePrivateKey()` method of an SRP keypair codec object (an instance implementing `IKeyPairCodec` for DSS keys, and re-constructs an instance of this object.

  Parameters:
    `k` - the contents of a previously encoded instance of this object.
  Throws:
    `java.lang.ArrayIndexOutOfBoundsException` - if there is not enough bytes, in `k`, to represent a valid encoding of an instance of this object.
    `java.lang.IllegalArgumentException` - if the byte sequence does not represent a valid encoding of an instance of this object.

### getX

    public java.math.BigInteger getX()

  Returns the private exponent of the key as a `BigInteger`.

  Returns:
    the private exponent of the key as a `BigInteger`.

### getV

    public java.math.BigInteger getV()

  Returns the user's verifier as a `BigInteger`.

  Returns:
    the user's verifier as a `BigInteger` if this is an SRP private key of a Host, or `null` if this is a private SRP key for a User.

### getEncoded

    public byte[] getEncoded(int format)

  Returns the encoded form of this private key according to the designated format.

  Specified by:
    `getEncoded` in class `SRPKey`
  Parameters:
    `format` - the desired format identifier of the resulting encoding.
  Returns:
    the byte sequence encoding this key according to the designated format.
  Throws:
    `java.lang.IllegalArgumentException` - if the format is not supported.

### equals

    public boolean equals(java.lang.Object obj)

  Returns `true` if the designated object is an instance of `SRPPrivateKey` and has the same SRP parameter values as this one.

  Overrides:
    `equals` in class `SRPKey`
  Parameters:
    `obj` - the other non-null SRP key to compare to.
  Returns:
    `true` if the designated object is of the same type and value as this one.

For the latest news and information visit The GNU Crypto project

Copyright © 2001, 2002, 2003, 2004 Free Software Foundation, Inc.