| 110 | } |
| 111 | |
| 112 | void RemotePassword::genServerKey(string& pubkey, const Firebird::UCharBuffer& verifier) |
| 113 | { |
| 114 | dumpIt("privateKey(S)", privateKey); |
| 115 | BigInteger gb(group->generator.modPow(privateKey, group->prime)); // g^b |
| 116 | dumpIt("gb", gb); |
| 117 | BigInteger v(verifier); // v |
| 118 | BigInteger kv = (group->k * v) % group->prime; |
| 119 | dumpIt("kv", kv); |
| 120 | serverPublicKey = (kv + gb) % group->prime; |
| 121 | serverPublicKey.getText(pubkey); |
| 122 | dumpIt("serverPublicKey", serverPublicKey); |
| 123 | } |
| 124 | |
| 125 | void RemotePassword::computeScramble() |
| 126 | { |