gnu.crypto.key.srp6

Class SRP6SaslClient

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.
Version:
$Revision: 1.4 $

Field Summary

Fields inherited from class gnu.crypto.key.srp6.SRP6KeyAgreement

GENERATOR, HASH_FUNCTION, HOST_PASSWORD_DB, K, N, SHARED_MODULUS, SOURCE_OF_RANDOMNESS, THREE, USER_IDENTITY, USER_PASSWORD, g, srp

Fields inherited from class gnu.crypto.key.BaseKeyAgreementParty

TWO, complete, initialised, irnd, name, rnd, step

Method Summary

protected OutgoingMessage
computeSharedSecret(IncomingMessage in)

Methods inherited from class gnu.crypto.key.srp6.SRP6TLSClient

computeSharedSecret, engineInit, engineProcessMessage, engineReset

Methods inherited from class gnu.crypto.key.srp6.SRP6KeyAgreement

engineReset, engineSharedSecret, uValue

Methods inherited from class gnu.crypto.key.BaseKeyAgreementParty

engineInit, engineProcessMessage, engineReset, engineSharedSecret, getSharedSecret, init, isComplete, name, nextRandomBytes, processMessage, reset

Method Details

computeSharedSecret

protected OutgoingMessage computeSharedSecret(IncomingMessage in)
            throws KeyAgreementException
Overrides:
computeSharedSecret in interface SRP6TLSClient

Copyright © 2001, 2002, 2003 Free Software Foundation, Inc. All Rights Reserved.