Package com.github.glusk.srp6_variables
Class SRP6ClientSharedSecret
- java.lang.Object
-
- com.github.glusk.srp6_variables.AbstractSRP6IntegerVariable
-
- com.github.glusk.srp6_variables.SRP6ClientSharedSecret
-
- All Implemented Interfaces:
SRP6IntegerVariable
public final class SRP6ClientSharedSecret extends AbstractSRP6IntegerVariable
SRP-6 Client Shared Secret (S).This variable is computed as:
S = (B - kg^x) ^ (a + ux)
where^is modular exponentiation moduloN.RFC 5054 also calls this value "premaster secret".
Refer to the
package docsfor more info on notation used.
-
-
Constructor Summary
Constructors Constructor Description SRP6ClientSharedSecret(SRP6IntegerVariable prime, SRP6IntegerVariable generator, SRP6IntegerVariable multiplier, SRP6IntegerVariable serverPublicKey, SRP6IntegerVariable privateKey, SRP6IntegerVariable scramblingParameter, SRP6IntegerVariable clientEphPrvtKey)Constructs a new SRP-6 Server Shared Secret from prime, generator, multiplier, server public key, private key, random scrambling parameter and client ephemeral private key.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Bytesbytes(ByteOrder preferredOrder)ReturnsthisSRP-6 Integer Variable as a byte sequence in the preferred byte order.-
Methods inherited from class com.github.glusk.srp6_variables.AbstractSRP6IntegerVariable
equals, hashCode
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.github.glusk.srp6_variables.SRP6IntegerVariable
asNonNegativeBigInteger, bytes
-
-
-
-
Constructor Detail
-
SRP6ClientSharedSecret
public SRP6ClientSharedSecret(SRP6IntegerVariable prime, SRP6IntegerVariable generator, SRP6IntegerVariable multiplier, SRP6IntegerVariable serverPublicKey, SRP6IntegerVariable privateKey, SRP6IntegerVariable scramblingParameter, SRP6IntegerVariable clientEphPrvtKey)
Constructs a new SRP-6 Server Shared Secret from prime, generator, multiplier, server public key, private key, random scrambling parameter and client ephemeral private key.- Parameters:
prime- SRP-6 Integer Variable: prime (N)generator- SRP-6 Integer Variable: generator (g)multiplier- SRP-6 Integer Variable: multiplier (k)serverPublicKey- SRP-6 Integer Variable: server public key (B)privateKey- SRP-6 Integer Variable: private key (x)scramblingParameter- SRP-6 Integer Variable: random scrambling parameter (u)clientEphPrvtKey- SRP-6 Integer Variable: client ephemeral private key (a)
-
-
Method Detail
-
bytes
public Bytes bytes(ByteOrder preferredOrder) throws IllegalStateException
ReturnsthisSRP-6 Integer Variable as a byte sequence in the preferred byte order.The representation returned must be minimal. That is, all leading (or trailing, depending on the
preferredOrder) zero bytes have to be trimmed.Number zero is hence defined as an empty byte sequence.
- Parameters:
preferredOrder- the preferred byte order of the byte sequence that representsthisSRP-6 Integer Variable- Returns:
- the byte sequence that represents
thisSRP-6 Integer Variable in the preferred byte order - Throws:
IllegalStateException- ifB == 0 (mod N)oru == 0
-
-