Ard Biesheuvel
5fb8ef2580
crypto: chacha - move existing library code into lib/crypto
...
Currently, our generic ChaCha implementation consists of a permute
function in lib/chacha.c that operates on the 64-byte ChaCha state
directly [and which is always included into the core kernel since it
is used by the /dev/random driver], and the crypto API plumbing to
expose it as a skcipher.
In order to support in-kernel users that need the ChaCha streamcipher
but have no need [or tolerance] for going through the abstractions of
the crypto API, let's expose the streamcipher bits via a library API
as well, in a way that permits the implementation to be superseded by
an architecture specific one if provided.
So move the streamcipher code into a separate module in lib/crypto,
and expose the init() and crypt() routines to users of the library.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
2019-11-17 09:02:39 +08:00
..
2019-09-28 08:14:15 -07:00
2019-06-05 17:37:06 +02:00
2019-05-30 11:26:37 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-04-25 15:38:12 +08:00
2019-11-17 09:02:38 +08:00
2019-10-26 02:06:05 +11:00
2019-10-26 02:06:05 +11:00
2019-10-26 02:06:05 +11:00
2019-08-30 18:05:30 +10:00
2019-08-15 21:52:14 +10:00
2019-07-26 14:55:33 +10:00
2019-10-10 23:42:45 +11:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-07-08 20:57:08 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2018-05-26 09:16:44 +02:00
2019-10-05 01:04:31 +10:00
2019-05-24 17:27:12 +02:00
2019-06-13 14:31:39 +08:00
2019-11-17 09:02:38 +08:00
2019-07-08 20:57:08 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-11-01 13:38:31 +08:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-21 11:28:45 +02:00
2019-05-30 11:25:16 -07:00
2019-05-30 11:25:16 -07:00
2019-05-24 17:27:12 +02:00
2019-05-30 11:26:32 -07:00
2019-06-18 08:52:34 +02:00
2019-04-18 22:15:03 +08:00
2019-07-08 20:57:08 -07:00
2019-11-17 09:02:39 +08:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-04-18 22:15:03 +08:00
2019-05-30 11:26:32 -07:00
2013-09-12 15:31:34 +10:00
2019-04-18 22:15:03 +08:00
2019-11-01 13:38:32 +08:00
2019-08-09 15:11:52 +10:00
2019-07-08 20:57:08 -07:00
2019-10-10 23:42:45 +11:00
2019-11-01 13:38:32 +08:00
2019-05-30 11:26:32 -07:00
2019-04-18 22:15:03 +08:00
2019-07-08 20:57:08 -07:00
2019-08-22 14:57:33 +10:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-23 14:01:06 +08:00
2019-05-30 11:26:32 -07:00
2019-04-18 22:15:02 +08:00
2019-11-01 13:38:31 +08:00
2019-04-18 22:15:02 +08:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-04-18 22:15:02 +08:00
2019-04-18 22:15:02 +08:00
2019-04-18 22:15:02 +08:00
2019-04-18 22:15:02 +08:00
2019-11-01 13:38:32 +08:00
2019-06-13 14:31:39 +08:00
2019-07-26 14:51:57 +10:00
2019-08-09 15:11:58 +10:00
2019-11-17 09:02:38 +08:00
2017-12-22 19:52:40 +11:00
2019-07-27 21:08:38 +10:00
2019-05-30 11:26:32 -07:00
2019-06-06 13:10:49 -07:00
2019-05-30 11:26:32 -07:00
2019-10-18 18:49:40 +11:00
2019-10-18 18:49:40 +11:00
2019-10-18 18:49:40 +11:00
2019-11-17 09:02:39 +08:00
2019-04-18 22:15:03 +08:00
2019-06-13 14:31:39 +08:00
2019-05-30 11:26:32 -07:00
2019-07-08 20:57:08 -07:00
2019-07-08 20:57:08 -07:00
2019-07-08 20:57:08 -07:00
2019-07-08 20:57:08 -07:00
2019-07-08 20:57:08 -07:00
2019-11-17 09:02:38 +08:00
2019-06-13 14:31:39 +08:00
2019-06-13 14:31:39 +08:00
2013-12-09 20:09:12 +08:00
2019-07-08 20:57:08 -07:00
2019-04-18 22:15:03 +08:00
2019-04-18 22:15:03 +08:00
2019-05-30 11:26:32 -07:00
2019-09-13 21:15:40 +10:00
2019-04-18 22:15:03 +08:00
2019-05-30 11:26:32 -07:00
2017-11-02 11:10:55 +01:00
2019-07-08 20:57:08 -07:00
2019-07-08 20:57:08 -07:00
2019-07-08 20:57:08 -07:00
2019-07-08 20:57:08 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-24 17:27:11 +02:00
2016-07-05 23:05:26 +08:00
2015-10-14 22:23:16 +08:00
2019-04-18 22:15:03 +08:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-07-08 20:57:08 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-09-05 14:54:54 +10:00
2019-05-24 17:27:12 +02:00
2019-05-30 11:26:32 -07:00
2019-05-21 11:28:45 +02:00
2019-11-01 13:38:32 +08:00
2019-06-19 17:09:07 +02:00
2019-04-18 22:15:03 +08:00
2019-08-15 21:52:14 +10:00
2019-08-30 18:05:27 +10:00
2019-05-30 11:26:32 -07:00
2019-07-08 20:57:08 -07:00
2019-11-01 13:38:31 +08:00
2019-11-01 13:38:31 +08:00
2019-11-15 13:44:17 +08:00
2019-05-21 11:28:45 +02:00
2019-05-21 11:28:45 +02:00
2019-04-18 22:15:03 +08:00
2019-06-13 14:31:39 +08:00
2019-05-21 11:28:45 +02:00
2019-05-24 17:27:13 +02:00
2019-08-15 21:52:14 +10:00
2019-06-06 14:38:57 +08:00
2019-07-08 20:57:08 -07:00