]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - crypto/tcrypt.h
Merge master.kernel.org:/home/rmk/linux-2.6-serial
[karo-tx-linux.git] / crypto / tcrypt.h
index 733d07ed75e91c874ff81e38255d988416be9c2a..1fac5602f633182f648e54f83fe0e60f50a0f56f 100644 (file)
 #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 {
@@ -64,6 +65,11 @@ struct cipher_speed {
        unsigned int blen;
 };
 
+struct digest_speed {
+       unsigned int blen;      /* buffer length */
+       unsigned int plen;      /* per-update length */
+};
+
 /*
  * MD4 test vectors from RFC1320
  */
@@ -2974,4 +2980,35 @@ static struct cipher_speed des_speed_template[] = {
        {  .klen = 0, .blen = 0, }
 };
 
+/*
+ * Digest speed tests
+ */
+static struct digest_speed generic_digest_speed_template[] = {
+       { .blen = 16,   .plen = 16, },
+       { .blen = 64,   .plen = 16, },
+       { .blen = 64,   .plen = 64, },
+       { .blen = 256,  .plen = 16, },
+       { .blen = 256,  .plen = 64, },
+       { .blen = 256,  .plen = 256, },
+       { .blen = 1024, .plen = 16, },
+       { .blen = 1024, .plen = 256, },
+       { .blen = 1024, .plen = 1024, },
+       { .blen = 2048, .plen = 16, },
+       { .blen = 2048, .plen = 256, },
+       { .blen = 2048, .plen = 1024, },
+       { .blen = 2048, .plen = 2048, },
+       { .blen = 4096, .plen = 16, },
+       { .blen = 4096, .plen = 256, },
+       { .blen = 4096, .plen = 1024, },
+       { .blen = 4096, .plen = 4096, },
+       { .blen = 8192, .plen = 16, },
+       { .blen = 8192, .plen = 256, },
+       { .blen = 8192, .plen = 1024, },
+       { .blen = 8192, .plen = 4096, },
+       { .blen = 8192, .plen = 8192, },
+
+       /* End marker */
+       {  .blen = 0,   .plen = 0, }
+};
+
 #endif /* _CRYPTO_TCRYPT_H */