forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
crypto: xts: add interface for parallelized cipher implementations
Add xts_crypt() function that can be used by cipher implementations that can benefit from parallelized cipher operations. Signed-off-by: Jussi Kivilinna <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
- Loading branch information
Showing
2 changed files
with
100 additions
and
2 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
#ifndef _CRYPTO_XTS_H | ||
#define _CRYPTO_XTS_H | ||
|
||
#include <crypto/b128ops.h> | ||
|
||
struct scatterlist; | ||
struct blkcipher_desc; | ||
|
||
#define XTS_BLOCK_SIZE 16 | ||
|
||
struct xts_crypt_req { | ||
be128 *tbuf; | ||
unsigned int tbuflen; | ||
|
||
void *tweak_ctx; | ||
void (*tweak_fn)(void *ctx, u8* dst, const u8* src); | ||
void *crypt_ctx; | ||
void (*crypt_fn)(void *ctx, u8 *blks, unsigned int nbytes); | ||
}; | ||
|
||
#define XTS_TWEAK_CAST(x) ((void (*)(void *, u8*, const u8*))(x)) | ||
|
||
int xts_crypt(struct blkcipher_desc *desc, struct scatterlist *dst, | ||
struct scatterlist *src, unsigned int nbytes, | ||
struct xts_crypt_req *req); | ||
|
||
#endif /* _CRYPTO_XTS_H */ |