Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

gnu.javax.crypto.key.srp6
Class SRP6SaslClient  view SRP6SaslClient download SRP6SaslClient.java

java.lang.Object
  extended bygnu.javax.crypto.key.BaseKeyAgreementParty
      extended bygnu.javax.crypto.key.srp6.SRP6KeyAgreement
          extended bygnu.javax.crypto.key.srp6.SRP6TLSClient
              extended bygnu.javax.crypto.key.srp6.SRP6SaslClient
All Implemented Interfaces:
gnu.javax.crypto.key.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.javax.crypto.key.srp6.SRP6TLSClient
 
Fields inherited from class gnu.javax.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.javax.crypto.key.BaseKeyAgreementParty
complete, initialised, irnd, name, rnd, step, TWO
 
Constructor Summary
SRP6SaslClient()
           
 
Method Summary
protected  gnu.javax.crypto.key.OutgoingMessage computeSharedSecret(gnu.javax.crypto.key.IncomingMessage in)
           
 
Methods inherited from class gnu.javax.crypto.key.srp6.SRP6TLSClient
engineInit, engineProcessMessage, engineReset
 
Methods inherited from class gnu.javax.crypto.key.srp6.SRP6KeyAgreement
engineSharedSecret, uValue
 
Methods inherited from class gnu.javax.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 gnu.javax.crypto.key.OutgoingMessage computeSharedSecret(gnu.javax.crypto.key.IncomingMessage in)
                                                            throws gnu.javax.crypto.key.KeyAgreementException
Overrides:
computeSharedSecret in class SRP6TLSClient