summaryrefslogtreecommitdiff
path: root/crypto
diff options
context:
space:
mode:
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>2006-03-13 13:39:23 +0300
committerHerbert Xu <herbert@gondor.apana.org.au>2006-03-21 12:14:09 +0300
commit06b42aa94b65806b4f8c5fc893ef97a2f491fb32 (patch)
treef0d97bffb17bf4539c86bfcf1a38af3a441608bb /crypto
parent20ea340489ddee7b3a438ee58f32f2608cc145de (diff)
downloadlinux-06b42aa94b65806b4f8c5fc893ef97a2f491fb32.tar.xz
[CRYPTO] tcrypt: Fix key alignment
Force 32-bit alignment on keys in tcrypt test vectors. Also rearrange the structure to prevent unnecessary padding. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/tcrypt.h25
1 files changed, 13 insertions, 12 deletions
diff --git a/crypto/tcrypt.h b/crypto/tcrypt.h
index 733d07ed75e9..1f683ba794ee 100644
--- a/crypto/tcrypt.h
+++ b/crypto/tcrypt.h
@@ -26,37 +26,38 @@
#define MAX_IVLEN 32
struct hash_testvec {
+ /* only used with keyed hash algorithms */
+ char key[128] __attribute__ ((__aligned__(4)));
char plaintext[128];
- unsigned char psize;
char digest[MAX_DIGEST_SIZE];
- unsigned char np;
unsigned char tap[MAX_TAP];
- char key[128]; /* only used with keyed hash algorithms */
+ unsigned char psize;
+ unsigned char np;
unsigned char ksize;
};
struct hmac_testvec {
char key[128];
- unsigned char ksize;
char plaintext[128];
- unsigned char psize;
char digest[MAX_DIGEST_SIZE];
- unsigned char np;
unsigned char tap[MAX_TAP];
+ unsigned char ksize;
+ unsigned char psize;
+ unsigned char np;
};
struct cipher_testvec {
+ char key[MAX_KEYLEN] __attribute__ ((__aligned__(4)));
+ char iv[MAX_IVLEN];
+ char input[48];
+ char result[48];
+ unsigned char tap[MAX_TAP];
+ int np;
unsigned char fail;
unsigned char wk; /* weak key flag */
- char key[MAX_KEYLEN];
unsigned char klen;
- char iv[MAX_IVLEN];
- char input[48];
unsigned char ilen;
- char result[48];
unsigned char rlen;
- int np;
- unsigned char tap[MAX_TAP];
};
struct cipher_speed {