[PATCH 0/5] crypto: remove blkcipher

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Now that all "blkcipher" algorithms have been converted to "skcipher",
this series removes the blkcipher algorithm type.

The skcipher (symmetric key cipher) algorithm type was introduced a few
years ago to replace both blkcipher and ablkcipher (synchronous and
asynchronous block cipher).  The advantages of skcipher include:

  - A much less confusing name, since none of these algorithm types have
    ever actually been for raw block ciphers, but rather for all
    length-preserving encryption modes including block cipher modes of
    operation, stream ciphers, and other length-preserving modes.

  - It unified blkcipher and ablkcipher into a single algorithm type
    which supports both synchronous and asynchronous implementations.
    Note, blkcipher already operated only on scatterlists, so the fact
    that skcipher does too isn't a regression in functionality.

  - Better type safety by using struct skcipher_alg, struct
    crypto_skcipher, etc. instead of crypto_alg, crypto_tfm, etc.

  - It sometimes simplifies the implementations of algorithms.

Also, the blkcipher API was no longer being tested.

Eric Biggers (5):
  crypto: unify the crypto_has_skcipher*() functions
  crypto: remove crypto_has_ablkcipher()
  crypto: rename crypto_skcipher_type2 to crypto_skcipher_type
  crypto: remove the "blkcipher" algorithm type
  crypto: rename the crypto_blkcipher module and kconfig option

 Documentation/crypto/api-skcipher.rst |  13 +-
 Documentation/crypto/architecture.rst |   2 -
 Documentation/crypto/devel-algos.rst  |  27 +-
 arch/arm/crypto/Kconfig               |   6 +-
 arch/arm64/crypto/Kconfig             |   8 +-
 crypto/Kconfig                        |  84 ++--
 crypto/Makefile                       |   7 +-
 crypto/api.c                          |   2 +-
 crypto/blkcipher.c                    | 548 --------------------------
 crypto/cryptd.c                       |   2 +-
 crypto/crypto_user_stat.c             |   4 -
 crypto/essiv.c                        |   6 +-
 crypto/skcipher.c                     | 124 +-----
 drivers/crypto/Kconfig                |  52 +--
 drivers/crypto/amlogic/Kconfig        |   2 +-
 drivers/crypto/caam/Kconfig           |   6 +-
 drivers/crypto/cavium/nitrox/Kconfig  |   2 +-
 drivers/crypto/ccp/Kconfig            |   2 +-
 drivers/crypto/hisilicon/Kconfig      |   2 +-
 drivers/crypto/qat/Kconfig            |   2 +-
 drivers/crypto/ux500/Kconfig          |   2 +-
 drivers/crypto/virtio/Kconfig         |   2 +-
 drivers/net/wireless/cisco/Kconfig    |   2 +-
 include/crypto/algapi.h               |  74 ----
 include/crypto/internal/skcipher.h    |  12 -
 include/crypto/skcipher.h             |  27 +-
 include/linux/crypto.h                | 426 +-------------------
 net/bluetooth/Kconfig                 |   2 +-
 net/rxrpc/Kconfig                     |   2 +-
 net/xfrm/Kconfig                      |   2 +-
 net/xfrm/xfrm_algo.c                  |   4 +-
 31 files changed, 124 insertions(+), 1332 deletions(-)
 delete mode 100644 crypto/blkcipher.c

-- 
2.23.0




[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux