Stefan Berger 01474b70a7 crypto: ecdh - Initialize ctx->private_key in proper byte order
The private key in ctx->private_key is currently initialized in reverse
byte order in ecdh_set_secret and whenever the key is needed in proper
byte order the variable priv is introduced and the bytes from
ctx->private_key are copied into priv while being byte-swapped
(ecc_swap_digits). To get rid of the unnecessary byte swapping initialize
ctx->private_key in proper byte order and clean up all functions that were
previously using priv or were called with ctx->private_key:

- ecc_gen_privkey: Directly initialize the passed ctx->private_key with
  random bytes filling all the digits of the private key. Get rid of the
  priv variable. This function only has ecdh_set_secret as a caller to
  create NIST P192/256/384 private keys.

- crypto_ecdh_shared_secret: Called only from ecdh_compute_value with
  ctx->private_key. Get rid of the priv variable and work with the passed
  private_key directly.

- ecc_make_pub_key: Called only from ecdh_compute_value with
  ctx->private_key. Get rid of the priv variable and work with the passed
  private_key directly.

Cc: Salvatore Benedetto <salvatore.benedetto@intel.com>
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Acked-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2024-04-26 17:26:09 +08:00
..
2024-04-02 10:49:38 +08:00
2024-04-02 10:49:38 +08:00
2024-04-02 10:49:38 +08:00
2024-04-02 10:49:38 +08:00
2022-12-02 18:12:40 +08:00
2023-06-05 09:36:35 +02:00
2024-04-02 10:49:38 +08:00
2024-04-02 10:49:38 +08:00
2019-08-05 18:40:19 -04:00
2024-04-02 10:49:38 +08:00
2023-10-05 18:16:31 +08:00
2024-04-02 10:49:38 +08:00
2022-04-08 16:12:46 +08:00
2023-01-06 17:15:47 +08:00