Пример #1
0
BigInt
BnetSRP3::getServerSecret(BigInt& A, BigInt& v)
{
    BigInt B = getServerSessionPublicKey(v);
    BigInt u = getScrambler(B);
    return ((A * v.powm(u, N)) % N).powm(b, N);
}
Пример #2
0
	void BnetSRP3::getServerSecret( mpz_ptr result, mpz_t& A, mpz_t& v )
	{
		mpz_t B_, u;
		getServerSessionPublicKey(B_, v);
		getScrambler(u, B_);
		mpz_init(result);
		mpz_powm(result, v, u, N);
		mpz_mul(result, result, A);
		mpz_mod(result, result, N);
		mpz_powm(result, result, b, N);
		mpz_clear(B_);
		mpz_clear(u);
	}