forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
crypto: chacha20 - Export common ChaCha20 helpers
As architecture specific drivers need a software fallback, export a ChaCha20 en-/decryption function together with some helpers in a header file. Signed-off-by: Martin Willi <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
- Loading branch information
1 parent
2dce063
commit 31d7247
Showing
3 changed files
with
38 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
/* | ||
* Common values for the ChaCha20 algorithm | ||
*/ | ||
|
||
#ifndef _CRYPTO_CHACHA20_H | ||
#define _CRYPTO_CHACHA20_H | ||
|
||
#include <linux/types.h> | ||
#include <linux/crypto.h> | ||
|
||
#define CHACHA20_IV_SIZE 16 | ||
#define CHACHA20_KEY_SIZE 32 | ||
#define CHACHA20_BLOCK_SIZE 64 | ||
|
||
struct chacha20_ctx { | ||
u32 key[8]; | ||
}; | ||
|
||
void crypto_chacha20_init(u32 *state, struct chacha20_ctx *ctx, u8 *iv); | ||
int crypto_chacha20_setkey(struct crypto_tfm *tfm, const u8 *key, | ||
unsigned int keysize); | ||
int crypto_chacha20_crypt(struct blkcipher_desc *desc, struct scatterlist *dst, | ||
struct scatterlist *src, unsigned int nbytes); | ||
|
||
#endif |