| From | Stephan Müller <> | Subject | Re: [PATCH 16/18] crypto: dh - calculate Q from P for the full public key verification | Date | Sun, 05 Dec 2021 07:07:11 +0100 |
| |
Am Mittwoch, 1. Dezember 2021, 01:48:56 CET schrieb Nicolai Stange:
Hi Nicolai,
> As the ->q in struct dh_ctx gets never set anywhere, the code > in dh_is_pubkey_valid() for doing the full public key validation in > accordance to SP800-56Arev3 is effectively dead. > > However, for safe-prime groups, Q = (P - 1)/2 by definition and this > enables dh_is_pubkey_valid() to calculate Q on the fly for these groups. > Implement this. > > With this change, the last code accessing struct dh_ctx's ->q is now gone. > Remove this member from struct dh_ctx.
Isn't it expensive to always calculate Q for a-priori known values? Why not add Q to the safe-prime definitions and do not do this operation here?
If you need Q for all of those safe-primes, you may get them from [1] and following lines.
[1] https://github.com/smuellerDD/acvpparser/blob/master/parser/ safeprimes.h#L346
Ciao Stephan
|