SRP6VerifierGenerator (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.crypto.agreement.srp

## Class SRP6VerifierGenerator

- java.lang.Object
- - org.bouncycastle.crypto.agreement.srp.SRP6VerifierGenerator

-     public class SRP6VerifierGenerator
      extends java.lang.Object

  Generates new SRP verifier for user

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Digest` | `digest`
    `protected java.math.BigInteger` | `g`
    `protected java.math.BigInteger` | `N`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SRP6VerifierGenerator()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.math.BigInteger` | `generateVerifier(byte[] salt, byte[] identity, byte[] password)` Creates a new SRP verifier
    `void` | `init(java.math.BigInteger N, java.math.BigInteger g, Digest digest)` Initialises generator to create new verifiers
    `void` | `init(SRP6GroupParameters group, Digest digest)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### N

          protected java.math.BigInteger N

    - #### g

          protected java.math.BigInteger g

    - #### digest

          protected Digest digest

  - ### Constructor Detail

    - #### SRP6VerifierGenerator

          public SRP6VerifierGenerator()

  - ### Method Detail

    - #### init

          public void init(java.math.BigInteger N,
                           java.math.BigInteger g,
                           Digest digest)

      Initialises generator to create new verifiers
      Parameters:
        `N` - The safe prime to use (see DHParametersGenerator)
        `g` - The group parameter to use (see DHParametersGenerator)
        `digest` - The digest to use. The same digest type will need to be used later for the actual authentication attempt. Also note that the final session key size is dependent on the chosen digest.

    - #### init

          public void init(SRP6GroupParameters group,
                           Digest digest)

    - #### generateVerifier

          public java.math.BigInteger generateVerifier(byte[] salt,
                                                       byte[] identity,
                                                       byte[] password)

      Creates a new SRP verifier
      Parameters:
        `salt` - The salt to use, generally should be large and random
        `identity` - The user's identifying information (eg. username)
        `password` - The user's password
      Returns:
        A new verifier for use in future SRP authentication