| 407 | virtual ~DL_Algorithm_GDSA_ISO15946() {} |
| 408 | |
| 409 | void Sign(const DL_GroupParameters<T> ¶ms, const Integer &x, const Integer &k, const Integer &e, Integer &r, Integer &s) const |
| 410 | { |
| 411 | const Integer &q = params.GetSubgroupOrder(); |
| 412 | // r = x(k * G) mod q |
| 413 | r = params.ConvertElementToInteger(params.ExponentiateBase(k)) % q; |
| 414 | // s = (k * r − h(m)) * d_A mod q |
| 415 | s = (k * r - e) * x % q; |
| 416 | CRYPTOPP_ASSERT(!!r && !!s); |
| 417 | } |
| 418 | |
| 419 | bool Verify(const DL_GroupParameters<T> ¶ms, const DL_PublicKey<T> &publicKey, const Integer &e, const Integer &r, const Integer &s) const |
| 420 | { |
nothing calls this directly
no test coverage detected