A Factory class that returns SRP Singletons that know all SRP-related
mathematical computations and protocol-related operations for both the
client- and server-sides.
computeX
public byte[] computeX(byte[] s,
String user,
String password)
throws UnsupportedEncodingException
computeX
public byte[] computeX(byte[] s,
String user,
byte[] p)
throws UnsupportedEncodingException
digest
public byte[] digest(String src)
throws UnsupportedEncodingException
Convenience method to return the result of digesting the designated
input with a new instance of the SRP message digest algorithm.
src
- a String whose bytes (using US-ASCII encoding) are to be
digested.
- the bytes constituting the result of digesting the designated
input with a new instance of the SRP message digest algorithm.
digest
public byte[] digest(byte[] src)
Convenience method to return the result of digesting the designated
input with a new instance of the SRP message digest algorithm.
src
- some bytes to digest.
- the bytes constituting the result of digesting the designated
input with a new instance of the SRP message digest algorithm.
generateKn
public byte[] generateKn(byte[] K,
byte[] cn,
byte[] sn)
generateM1
public byte[] generateM1(BigInteger N,
BigInteger g,
String U,
byte[] s,
BigInteger A,
BigInteger B,
byte[] K,
String I,
String L,
byte[] cn,
byte[] cCB)
throws UnsupportedEncodingException
generateM2
public byte[] generateM2(BigInteger A,
byte[] M1,
byte[] K,
String U,
String I,
String o,
byte[] sid,
int ttl,
byte[] cIV,
byte[] sIV,
byte[] sCB)
throws UnsupportedEncodingException
getAlgorithm
public String getAlgorithm()
- the message digest algorithm name used by this instance.
instance
public static SRP instance(String mdName)
Returns an instance of this object that uses the designated message
digest algorithm as its digest function.
- an instance of this object for the designated digest name.
newDigest
public IMessageDigest newDigest()
Returns a new instance of the SRP message digest algorithm --which is
SHA-160 by default, but could be anything else provided the proper
conditions as specified in the SRP specifications.
- a new instance of the underlying SRP message digest algorithm.
xor
public byte[] xor(byte[] a,
byte[] b)
Convenience method to XOR N bytes from two arrays; N being the output
size of the SRP message digest algorithm.
a
- the first byte array.b
- the second one.
- N bytes which are the result of the XOR operations on the first N
bytes from the designated arrays. N is the size of the SRP message digest
algorithm; eg. 20 for SHA-160.