]> www.infradead.org Git - users/jedix/linux-maple.git/commit
crypto: sig - Introduce sig_alg backend
authorLukas Wunner <lukas@wunner.de>
Tue, 10 Sep 2024 14:30:12 +0000 (16:30 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 5 Oct 2024 05:22:04 +0000 (13:22 +0800)
commit65c4c93caaf1a9fca2855942e338530967162d25
tree3aba77dcafa73b58f82f79bbf0ef645a1174da5e
parentbeea320112e5763a053c77effa70a05dbbbd5e91
crypto: sig - Introduce sig_alg backend

Commit 6cb8815f41a9 ("crypto: sig - Add interface for sign/verify")
began a transition of asymmetric sign/verify operations from
crypto_akcipher to a new crypto_sig frontend.

Internally, the crypto_sig frontend still uses akcipher_alg as backend,
however:

   "The link between sig and akcipher is meant to be temporary.  The
    plan is to create a new low-level API for sig and then migrate
    the signature code over to that from akcipher."
    https://lore.kernel.org/r/ZrG6w9wsb-iiLZIF@gondor.apana.org.au/

   "having a separate alg for sig is definitely where we want to
    be since there is very little that the two types actually share."
    https://lore.kernel.org/r/ZrHlpz4qnre0zWJO@gondor.apana.org.au/

Take the next step of that migration and augment the crypto_sig frontend
with a sig_alg backend to which all algorithms can be moved.

During the migration, there will briefly be signature algorithms that
are still based on crypto_akcipher, whilst others are already based on
crypto_sig.  Allow for that by building a fork into crypto_sig_*() API
calls (i.e. crypto_sig_maxsize() and friends) such that one of the two
backends is selected based on the transform's cra_type.

Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Documentation/crypto/api-sig.rst [new file with mode: 0644]
Documentation/crypto/api.rst
Documentation/crypto/architecture.rst
crypto/sig.c
crypto/testmgr.c
crypto/testmgr.h
include/crypto/internal/sig.h
include/crypto/sig.h
include/uapi/linux/cryptouser.h