09 Nov, 2011
4 commits
-
Export gf128mul table initialization routines and add lrw_crypt() function
that can be used by cipher implementations that can benefit from parallelized
cipher operations.Signed-off-by: Jussi Kivilinna
Signed-off-by: Herbert Xu -
Split gf128mul initialization from setkey so that it can be used outside
lrw-module.Signed-off-by: Jussi Kivilinna
Signed-off-by: Herbert Xu -
LRW has fixed blocksize of 16. Define LRW_BLOCK_SIZE and use in place of
crypto_cipher_blocksize().Signed-off-by: Jussi Kivilinna
Signed-off-by: Herbert Xu -
LRW module leaks child cipher memory when init_tfm() fails because of child
block size not being 16.Signed-off-by: Jussi Kivilinna
Signed-off-by: Herbert Xu
17 Feb, 2009
1 commit
-
It turns out that LRW has never worked properly on big endian.
This was never discussed because nobody actually used it that
way. In fact, it was only discovered when Geert Uytterhoeven
loaded it through tcrypt which failed the test on it.The fix is straightforward, on big endian the to find the nth
bit we should be grouping them by words instead of bytes. So
setbit128_bbe should xor with 128 - BITS_PER_LONG instead of
128 - BITS_PER_BYTE == 0x78.Tested-by: Geert Uytterhoeven
Signed-off-by: Herbert Xu
21 Apr, 2008
1 commit
-
replace all:
big_endian_variable = cpu_to_beX(beX_to_cpu(big_endian_variable) +
expression_in_cpu_byteorder);
with:
beX_add_cpu(&big_endian_variable, expression_in_cpu_byteorder);Signed-off-by: Marcin Slusarz
Cc: David S. Miller
Cc: Roel Kluin
Signed-off-by: Herbert Xu
08 Feb, 2008
1 commit
-
Convert instances of ERR_PTR(PTR_ERR(p)) to ERR_CAST(p) using:
perl -spi -e 's/ERR_PTR[(]PTR_ERR[(](.*)[)][)]/ERR_CAST(\1)/' `grep -rl 'ERR_PTR[(]*PTR_ERR' fs crypto net security`
Signed-off-by: David Howells
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
02 May, 2007
1 commit
-
This patch passes the type/mask along when constructing instances of
templates. This is in preparation for templates that may support
multiple types of instances depending on what is requested. For example,
the planned software async crypto driver will use this construct.For the moment this allows us to check whether the instance constructed
is of the correct type and avoid returning success if the type does not
match.Signed-off-by: Herbert Xu
07 Feb, 2007
1 commit
-
This patch allows spawns of specific types (e.g., cipher) to be allocated.
Signed-off-by: Herbert Xu
07 Dec, 2006
2 commits
-
Fixes:
crypto/lrw.c:99: warning: conflicting types for built-in function ‘round’
Signed-off-by: David S. Miller
-
Main module, this implements the Liskov Rivest Wagner block cipher mode
in the new blockcipher API. The implementation is based on ecb.c.The LRW-32-AES specification I used can be found at:
http://grouper.ieee.org/groups/1619/email/pdf00017.pdfIt implements the optimization specified as optional in the
specification, and in addition it uses optimized multiplication
routines from gf128mul.c.Since gf128mul.[ch] is not tested on bigendian, this cipher mode
may currently fail badly on bigendian machines.Signed-off-by: Rik Snel
Signed-off-by: Herbert Xu