summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
Diffstat (limited to 'crypto')
-rw-r--r--crypto/842.c11
-rw-r--r--crypto/Kconfig39
-rw-r--r--crypto/Makefile3
-rw-r--r--crypto/ablkcipher.c7
-rw-r--r--crypto/acompress.c7
-rw-r--r--crypto/aead.c43
-rw-r--r--crypto/aes_ti.c5
-rw-r--r--crypto/af_alg.c7
-rw-r--r--crypto/ahash.c7
-rw-r--r--crypto/akcipher.c7
-rw-r--r--crypto/algapi.c42
-rw-r--r--crypto/algboss.c7
-rw-r--r--crypto/algif_aead.c6
-rw-r--r--crypto/algif_hash.c7
-rw-r--r--crypto/algif_skcipher.c6
-rw-r--r--crypto/anubis.c1
-rw-r--r--crypto/api.c7
-rw-r--r--crypto/arc4.c132
-rw-r--r--crypto/asymmetric_keys/Kconfig3
-rw-r--r--crypto/asymmetric_keys/asymmetric_type.c2
-rw-r--r--crypto/async_tx/async_memcpy.c15
-rw-r--r--crypto/async_tx/async_tx.c15
-rw-r--r--crypto/async_tx/async_xor.c15
-rw-r--r--crypto/async_tx/raid6test.c15
-rw-r--r--crypto/authenc.c7
-rw-r--r--crypto/authencesn.c7
-rw-r--r--crypto/blkcipher.c7
-rw-r--r--crypto/blowfish_common.c7
-rw-r--r--crypto/blowfish_generic.c7
-rw-r--r--crypto/cast5_generic.c9
-rw-r--r--crypto/cast6_generic.c9
-rw-r--r--crypto/cbc.c7
-rw-r--r--crypto/ccm.c8
-rw-r--r--crypto/chacha20poly1305.c79
-rw-r--r--crypto/chacha_generic.c10
-rw-r--r--crypto/cipher.c7
-rw-r--r--crypto/cmac.c7
-rw-r--r--crypto/compress.c7
-rw-r--r--crypto/crc32c_generic.c7
-rw-r--r--crypto/cryptd.c34
-rw-r--r--crypto/crypto_engine.c7
-rw-r--r--crypto/crypto_null.c10
-rw-r--r--crypto/crypto_user_base.c17
-rw-r--r--crypto/crypto_wq.c40
-rw-r--r--crypto/ctr.c7
-rw-r--r--crypto/deflate.c7
-rw-r--r--crypto/des_generic.c7
-rw-r--r--crypto/dh.c6
-rw-r--r--crypto/dh_helper.c6
-rw-r--r--crypto/drbg.c94
-rw-r--r--crypto/ecb.c7
-rw-r--r--crypto/ecdh.c6
-rw-r--r--crypto/ecdh_helper.c6
-rw-r--r--crypto/echainiv.c7
-rw-r--r--crypto/fcrypt.c1
-rw-r--r--crypto/fips.c7
-rw-r--r--crypto/gcm.c5
-rw-r--r--crypto/ghash-generic.c13
-rw-r--r--crypto/hash_info.c7
-rw-r--r--crypto/hmac.c11
-rw-r--r--crypto/internal.h7
-rw-r--r--crypto/jitterentropy-kcapi.c7
-rw-r--r--crypto/jitterentropy.c305
-rw-r--r--crypto/khazad.c1
-rw-r--r--crypto/kpp.c7
-rw-r--r--crypto/lrw.c8
-rw-r--r--crypto/lz4.c16
-rw-r--r--crypto/lz4hc.c16
-rw-r--r--crypto/lzo-rle.c16
-rw-r--r--crypto/lzo.c16
-rw-r--r--crypto/md4.c7
-rw-r--r--crypto/md5.c7
-rw-r--r--crypto/michael_mic.c6
-rw-r--r--crypto/pcbc.c7
-rw-r--r--crypto/pcrypt.c14
-rw-r--r--crypto/proc.c7
-rw-r--r--crypto/rmd128.c8
-rw-r--r--crypto/rmd160.c8
-rw-r--r--crypto/rmd256.c8
-rw-r--r--crypto/rmd320.c8
-rw-r--r--crypto/rng.c7
-rw-r--r--crypto/rsa-pkcs1pad.c6
-rw-r--r--crypto/rsa_helper.c7
-rw-r--r--crypto/scatterwalk.c7
-rw-r--r--crypto/scompress.c7
-rw-r--r--crypto/seed.c6
-rw-r--r--crypto/seqiv.c7
-rw-r--r--crypto/serpent_generic.c15
-rw-r--r--crypto/sha1_generic.c7
-rw-r--r--crypto/sha256_generic.c7
-rw-r--r--crypto/sha3_generic.c7
-rw-r--r--crypto/shash.c7
-rw-r--r--crypto/skcipher.c41
-rw-r--r--crypto/sm3_generic.c13
-rw-r--r--crypto/tcrypt.c7
-rw-r--r--crypto/tcrypt.h7
-rw-r--r--crypto/tea.c10
-rw-r--r--crypto/testmgr.c485
-rw-r--r--crypto/testmgr.h123
-rw-r--r--crypto/tgr192.c28
-rw-r--r--crypto/wp512.c21
-rw-r--r--crypto/xts.c6
-rw-r--r--crypto/xxhash_generic.c108
-rw-r--r--crypto/zstd.c11
104 files changed, 1127 insertions, 1201 deletions
diff --git a/crypto/842.c b/crypto/842.c
index 5f98393b65d1..e59e54d76960 100644
--- a/crypto/842.c
+++ b/crypto/842.c
@@ -1,16 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Cryptographic API for the 842 software compression algorithm.
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
* Copyright (C) IBM Corporation, 2011-2015
*
* Original Authors: Robert Jennings <rcj@linux.vnet.ibm.com>
diff --git a/crypto/Kconfig b/crypto/Kconfig
index 3d056e7da65f..e801450bcb1c 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -61,7 +61,6 @@ config CRYPTO_BLKCIPHER2
tristate
select CRYPTO_ALGAPI2
select CRYPTO_RNG2
- select CRYPTO_WORKQUEUE
config CRYPTO_HASH
tristate
@@ -137,10 +136,11 @@ config CRYPTO_USER
Userspace configuration for cryptographic instantiations such as
cbc(aes).
+if CRYPTO_MANAGER2
+
config CRYPTO_MANAGER_DISABLE_TESTS
bool "Disable run-time self tests"
default y
- depends on CRYPTO_MANAGER2
help
Disable run-time self tests that normally take place at
algorithm registration.
@@ -155,14 +155,10 @@ config CRYPTO_MANAGER_EXTRA_TESTS
This is intended for developer use only, as these tests take much
longer to run than the normal self tests.
+endif # if CRYPTO_MANAGER2
+
config CRYPTO_GF128MUL
- tristate "GF(2^128) multiplication functions"
- help
- Efficient table driven implementation of multiplications in the
- field GF(2^128). This is needed by some cypher modes. This
- option will be selected automatically if you select such a
- cipher mode. Only select this option by hand if you expect to load
- an external module that requires these functions.
+ tristate
config CRYPTO_NULL
tristate "Null algorithms"
@@ -186,15 +182,11 @@ config CRYPTO_PCRYPT
This converts an arbitrary crypto algorithm into a parallel
algorithm that executes in kernel threads.
-config CRYPTO_WORKQUEUE
- tristate
-
config CRYPTO_CRYPTD
tristate "Software async crypto daemon"
select CRYPTO_BLKCIPHER
select CRYPTO_HASH
select CRYPTO_MANAGER
- select CRYPTO_WORKQUEUE
help
This is a generic software asynchronous crypto daemon that
converts an arbitrary synchronous software crypto algorithm
@@ -279,6 +271,7 @@ config CRYPTO_CCM
select CRYPTO_CTR
select CRYPTO_HASH
select CRYPTO_AEAD
+ select CRYPTO_MANAGER
help
Support for Counter with CBC MAC. Required for IPsec.
@@ -288,6 +281,7 @@ config CRYPTO_GCM
select CRYPTO_AEAD
select CRYPTO_GHASH
select CRYPTO_NULL
+ select CRYPTO_MANAGER
help
Support for Galois/Counter Mode (GCM) and Galois Message
Authentication Code (GMAC). Required for IPSec.
@@ -297,6 +291,7 @@ config CRYPTO_CHACHA20POLY1305
select CRYPTO_CHACHA20
select CRYPTO_POLY1305
select CRYPTO_AEAD
+ select CRYPTO_MANAGER
help
ChaCha20-Poly1305 AEAD support, RFC7539.
@@ -411,6 +406,7 @@ config CRYPTO_SEQIV
select CRYPTO_BLKCIPHER
select CRYPTO_NULL
select CRYPTO_RNG_DEFAULT
+ select CRYPTO_MANAGER
help
This IV generator generates an IV based on a sequence number by
xoring it with a salt. This algorithm is mainly useful for CTR
@@ -420,7 +416,7 @@ config CRYPTO_ECHAINIV
select CRYPTO_AEAD
select CRYPTO_NULL
select CRYPTO_RNG_DEFAULT
- default m
+ select CRYPTO_MANAGER
help
This IV generator generates an IV based on the encryption of
a sequence number xored with a salt. This is the default
@@ -456,6 +452,7 @@ config CRYPTO_CTR
config CRYPTO_CTS
tristate "CTS support"
select CRYPTO_BLKCIPHER
+ select CRYPTO_MANAGER
help
CTS: Cipher Text Stealing
This is the Cipher Text Stealing mode as described by
@@ -521,6 +518,7 @@ config CRYPTO_XTS
config CRYPTO_KEYWRAP
tristate "Key wrapping support"
select CRYPTO_BLKCIPHER
+ select CRYPTO_MANAGER
help
Support for key wrapping (NIST SP800-38F / RFC3394) without
padding.
@@ -551,6 +549,7 @@ config CRYPTO_ADIANTUM
select CRYPTO_CHACHA20
select CRYPTO_POLY1305
select CRYPTO_NHPOLY1305
+ select CRYPTO_MANAGER
help
Adiantum is a tweakable, length-preserving encryption mode
designed for fast and secure disk encryption, especially on
@@ -684,6 +683,14 @@ config CRYPTO_CRC32_MIPS
instructions, when available.
+config CRYPTO_XXHASH
+ tristate "xxHash hash algorithm"
+ select CRYPTO_HASH
+ select XXHASH
+ help
+ xxHash non-cryptographic hash algorithm. Extremely fast, working at
+ speeds close to RAM limits.
+
config CRYPTO_CRCT10DIF
tristate "CRCT10DIF algorithm"
select CRYPTO_HASH
@@ -1230,9 +1237,13 @@ config CRYPTO_ANUBIS
<https://www.cosic.esat.kuleuven.be/nessie/reports/>
<http://www.larc.usp.br/~pbarreto/AnubisPage.html>
+config CRYPTO_LIB_ARC4
+ tristate
+
config CRYPTO_ARC4
tristate "ARC4 cipher algorithm"
select CRYPTO_BLKCIPHER
+ select CRYPTO_LIB_ARC4
help
ARC4 cipher algorithm.
diff --git a/crypto/Makefile b/crypto/Makefile
index 266a4cdbb9e2..9479e1a45d8c 100644
--- a/crypto/Makefile
+++ b/crypto/Makefile
@@ -6,8 +6,6 @@
obj-$(CONFIG_CRYPTO) += crypto.o
crypto-y := api.o cipher.o compress.o memneq.o
-obj-$(CONFIG_CRYPTO_WORKQUEUE) += crypto_wq.o
-
obj-$(CONFIG_CRYPTO_ENGINE) += crypto_engine.o
obj-$(CONFIG_CRYPTO_FIPS) += fips.o
@@ -131,6 +129,7 @@ obj-$(CONFIG_CRYPTO_AUTHENC) += authenc.o authencesn.o
obj-$(CONFIG_CRYPTO_LZO) += lzo.o lzo-rle.o
obj-$(CONFIG_CRYPTO_LZ4) += lz4.o
obj-$(CONFIG_CRYPTO_LZ4HC) += lz4hc.o
+obj-$(CONFIG_CRYPTO_XXHASH) += xxhash_generic.o
obj-$(CONFIG_CRYPTO_842) += 842.o
obj-$(CONFIG_CRYPTO_RNG2) += rng.o
obj-$(CONFIG_CRYPTO_ANSI_CPRNG) += ansi_cprng.o
diff --git a/crypto/ablkcipher.c b/crypto/ablkcipher.c
index b339587073c3..072b5646a0a3 100644
--- a/crypto/ablkcipher.c
+++ b/crypto/ablkcipher.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Asynchronous block chaining cipher operations.
*
@@ -5,12 +6,6 @@
* via a callback.
*
* Copyright (c) 2006 Herbert Xu <herbert@gondor.apana.org.au>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
*/
#include <crypto/internal/skcipher.h>
diff --git a/crypto/acompress.c b/crypto/acompress.c
index 0c5bedd06e70..abadcb035a41 100644
--- a/crypto/acompress.c
+++ b/crypto/acompress.c
@@ -1,15 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Asynchronous Compression operations
*
* Copyright (c) 2016, Intel Corporation
* Authors: Weigang Li <weigang.li@intel.com>
* Giovanni Cabiddu <giovanni.cabiddu@intel.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
*/
#include <linux/errno.h>
#include <linux/kernel.h>
diff --git a/crypto/aead.c b/crypto/aead.c
index 4908b5e846f0..fbf0ec93bc8e 100644
--- a/crypto/aead.c
+++ b/crypto/aead.c
@@ -1,15 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
/*
* AEAD: Authenticated Encryption with Associated Data
*
* This file provides API support for AEAD algorithms.
*
* Copyright (c) 2007-2015 Herbert Xu <herbert@gondor.apana.org.au>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
*/