step1 method
Implementation
BigInt step1(final String userID, final BigInt s, final BigInt v) {
// Check arguments
if (userID.trim().isEmpty) {
throw IllegalArgumentException(
"The user identity 'I' must not be null or empty");
}
this.userID = userID;
this.s = s;
this.v = v;
if (state != SrpState.init) {
throw IllegalStateException(
"State violation: Session must be in INIT state");
}
Hash digest = config!.getMessageDigestInstance();
k = SRP6Routines.computeK(digest, config!.N, config!.g);
b = SRP6Routines.generatePrivateValue(config!.N, random);
B = SRP6Routines.computePublicServerValue(config!.N, config!.g, k!, v, b!);
state = SrpState.step1;
updateLastActivityTime();
return B!;
}