Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
x86
include
asm
crypto
twofish.h
Go to the documentation of this file.
1
#ifndef ASM_X86_TWOFISH_H
2
#define ASM_X86_TWOFISH_H
3
4
#include <
linux/crypto.h
>
5
#include <crypto/twofish.h>
6
#include <
crypto/lrw.h
>
7
#include <
crypto/b128ops.h
>
8
9
struct
twofish_lrw_ctx
{
10
struct
lrw_table_ctx
lrw_table
;
11
struct
twofish_ctx
twofish_ctx
;
12
};
13
14
struct
twofish_xts_ctx
{
15
struct
twofish_ctx
tweak_ctx
;
16
struct
twofish_ctx
crypt_ctx
;
17
};
18
19
/* regular block cipher functions from twofish_x86_64 module */
20
asmlinkage
void
twofish_enc_blk
(
struct
twofish_ctx
*
ctx
,
u8
*
dst
,
21
const
u8
*
src
);
22
asmlinkage
void
twofish_dec_blk
(
struct
twofish_ctx
*
ctx
,
u8
*
dst
,
23
const
u8
*
src
);
24
25
/* 3-way parallel cipher functions */
26
asmlinkage
void
__twofish_enc_blk_3way
(
struct
twofish_ctx
*
ctx
,
u8
*
dst
,
27
const
u8
*
src
,
bool
xor
);
28
asmlinkage
void
twofish_dec_blk_3way
(
struct
twofish_ctx
*
ctx
,
u8
*
dst
,
29
const
u8
*
src
);
30
31
/* helpers from twofish_x86_64-3way module */
32
extern
void
twofish_dec_blk_cbc_3way
(
void
*
ctx
,
u128
*
dst
,
const
u128
*
src
);
33
extern
void
twofish_enc_blk_ctr
(
void
*
ctx
,
u128
*
dst
,
const
u128
*
src
,
34
u128
*
iv
);
35
extern
void
twofish_enc_blk_ctr_3way
(
void
*
ctx
,
u128
*
dst
,
const
u128
*
src
,
36
u128
*
iv
);
37
38
extern
int
lrw_twofish_setkey
(
struct
crypto_tfm
*tfm,
const
u8
*
key
,
39
unsigned
int
keylen);
40
41
extern
void
lrw_twofish_exit_tfm
(
struct
crypto_tfm
*tfm);
42
43
extern
int
xts_twofish_setkey
(
struct
crypto_tfm
*tfm,
const
u8
*
key
,
44
unsigned
int
keylen);
45
46
#endif
/* ASM_X86_TWOFISH_H */
Generated on Thu Jan 10 2013 13:20:00 for Linux Kernel by
1.8.2