For the latest news and information visit The GNU Crypto project

## gnu.crypto.key.srp6
Class SRP6SaslClient

    java.lang.Object
      |
      +--gnu.crypto.key.BaseKeyAgreementParty
            |
            +--gnu.crypto.key.srp6.SRP6KeyAgreement
                  |
                  +--gnu.crypto.key.srp6.SRP6TLSClient
                        |
                        +--gnu.crypto.key.srp6.SRP6SaslClient

All Implemented Interfaces:
  IKeyAgreementParty

public class SRP6SaslClient
extends SRP6TLSClient

A variation of the SRP-6 protocol as used in the SASL-SRP mechanism, for the User (client side).

In this alternative, the exchange goes as follows:

        C -> S:  I                      (identifies self)
        S -> C:  N, g, s, B = 3v + g^b  (sends salt, b = random number)
        C -> S:  A = g^a                (a = random number)

All elements are computed the same way as in the standard version.

Reference:

1. Secure Remote Password Authentication Mechanism
   K. Burdis, R. Naffah.
2. SRP Protocol Design
   Thomas J. Wu.

Field Summary

Fields inherited from class gnu.crypto.key.srp6.SRP6KeyAgreement
`g, GENERATOR, HASH_FUNCTION, HOST_PASSWORD_DB, K, N, SHARED_MODULUS, SOURCE_OF_RANDOMNESS, srp, THREE, USER_IDENTITY, USER_PASSWORD`

Fields inherited from class gnu.crypto.key.BaseKeyAgreementParty
`complete, initialised, irnd, name, rnd, step, TWO`

Constructor Summary
`SRP6SaslClient()`

Method Summary
`protected OutgoingMessage` `computeSharedSecret(IncomingMessage in)`

Methods inherited from class gnu.crypto.key.srp6.SRP6TLSClient
`engineInit, engineProcessMessage, engineReset`

Methods inherited from class gnu.crypto.key.srp6.SRP6KeyAgreement
`engineSharedSecret, uValue`

Methods inherited from class gnu.crypto.key.BaseKeyAgreementParty
`getSharedSecret, init, isComplete, name, nextRandomBytes, processMessage, reset`

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

Constructor Detail

### SRP6SaslClient

    public SRP6SaslClient()

Method Detail

### computeSharedSecret

    protected OutgoingMessage computeSharedSecret(IncomingMessage in)
                                           throws KeyAgreementException

  Overrides:
    `computeSharedSecret` in class `SRP6TLSClient`
    `KeyAgreementException`

For the latest news and information visit The GNU Crypto project

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