 18482053f9
			
		
	
	
	18482053f9
	
	
	
		
			
			Patch adds LRW support for serpent-sse2 by using lrw_crypt(). Patch has been tested with tcrypt and automated filesystem tests. Tcrypt benchmarks results (serpent-sse2/serpent_generic speed ratios): Benchmark results with tcrypt: Intel Celeron T1600 (x86_64) (fam:6, model:15, step:13): size lrw-enc lrw-dec 16B 1.00x 0.96x 64B 1.01x 1.01x 256B 3.01x 2.97x 1024B 3.39x 3.33x 8192B 3.35x 3.33x AMD Phenom II 1055T (x86_64) (fam:16, model:10): size lrw-enc lrw-dec 16B 0.98x 1.03x 64B 1.01x 1.04x 256B 2.10x 2.14x 1024B 2.28x 2.33x 8192B 2.30x 2.33x Intel Atom N270 (i586): size lrw-enc lrw-dec 16B 0.97x 0.97x 64B 1.47x 1.50x 256B 1.72x 1.69x 1024B 1.88x 1.81x 8192B 1.84x 1.79x Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
		
			
				
	
	
		
			27 lines
		
	
	
	
		
			673 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			673 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Common values for serpent algorithms
 | |
|  */
 | |
| 
 | |
| #ifndef _CRYPTO_SERPENT_H
 | |
| #define _CRYPTO_SERPENT_H
 | |
| 
 | |
| #include <linux/types.h>
 | |
| #include <linux/crypto.h>
 | |
| 
 | |
| #define SERPENT_MIN_KEY_SIZE		  0
 | |
| #define SERPENT_MAX_KEY_SIZE		 32
 | |
| #define SERPENT_EXPKEY_WORDS		132
 | |
| #define SERPENT_BLOCK_SIZE		 16
 | |
| 
 | |
| struct serpent_ctx {
 | |
| 	u32 expkey[SERPENT_EXPKEY_WORDS];
 | |
| };
 | |
| 
 | |
| int __serpent_setkey(struct serpent_ctx *ctx, const u8 *key,
 | |
| 		     unsigned int keylen);
 | |
| int serpent_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int keylen);
 | |
| 
 | |
| void __serpent_encrypt(struct serpent_ctx *ctx, u8 *dst, const u8 *src);
 | |
| void __serpent_decrypt(struct serpent_ctx *ctx, u8 *dst, const u8 *src);
 | |
| 
 | |
| #endif
 |