• Vladis Dronov's avatar
    crypto: s390 - add crypto library interface for ChaCha20 · 349d03ff
    Vladis Dronov authored
    Implement a crypto library interface for the s390-native ChaCha20 cipher
    algorithm. This allows us to stop to select CRYPTO_CHACHA20 and instead
    select CRYPTO_ARCH_HAVE_LIB_CHACHA. This allows BIG_KEYS=y not to build
    a whole ChaCha20 crypto infrastructure as a built-in, but build a smaller
    CRYPTO_LIB_CHACHA instead.
    
    Make CRYPTO_CHACHA_S390 config entry to look like similar ones on other
    architectures. Remove CRYPTO_ALGAPI select as anyway it is selected by
    CRYPTO_SKCIPHER.
    
    Add a new test module and a test script for ChaCha20 cipher and its
    interfaces. Here are test results on an idle z15 machine:
    
    Data | Generic crypto TFM |  s390 crypto TFM |    s390 lib
    size |      enc      dec  |     enc     dec  |     enc     dec
    -----+--------------------+------------------+----------------
    512b |   1545ns   1295ns  |   604ns   446ns  |   430ns  407ns
    4k   |   9536ns   9463ns  |  2329ns  2174ns  |  2170ns  2154ns
    64k  |  149.6us  149.3us  |  34.4us  34.5us  |  33.9us  33.1us
    6M   |  23.61ms  23.11ms  |  4223us  4160us  |  3951us  4008us
    60M  |  143.9ms  143.9ms  |  33.5ms  33.2ms  |  32.2ms  32.1ms
    Signed-off-by: default avatarVladis Dronov <vdronov@redhat.com>
    Reviewed-by: default avatarHarald Freudenberger <freude@linux.ibm.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    349d03ff
Kconfig 27.2 KB