Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[sfrench/cifs-2.6.git] / crypto / testmgr.h
index 34e4a3db39917eab258e58336c84da806e0b518d..96eb7ce9f81be7a5342a418ba72559bbb3468ef9 100644 (file)
@@ -2685,7 +2685,6 @@ static const struct kpp_testvec curve25519_tv_template[] = {
 }
 };
 
-#ifndef CONFIG_CRYPTO_FIPS
 static const struct kpp_testvec ecdh_p192_tv_template[] = {
        {
        .secret =
@@ -2719,13 +2718,12 @@ static const struct kpp_testvec ecdh_p192_tv_template[] = {
        "\xf4\x57\xcc\x4f\x1f\x4e\x31\xcc"
        "\xe3\x40\x60\xc8\x06\x93\xc6\x2e"
        "\x99\x80\x81\x28\xaf\xc5\x51\x74",
-       .secret_size = 32,
+       .secret_size = 30,
        .b_public_size = 48,
        .expected_a_public_size = 48,
        .expected_ss_size = 24
        }
 };
-#endif
 
 static const struct kpp_testvec ecdh_p256_tv_template[] = {
        {
@@ -2766,7 +2764,7 @@ static const struct kpp_testvec ecdh_p256_tv_template[] = {
        "\x9f\x4a\x38\xcc\xc0\x2c\x49\x2f"
        "\xb1\x32\xbb\xaf\x22\x61\xda\xcb"
        "\x6f\xdb\xa9\xaa\xfc\x77\x81\xf3",
-       .secret_size = 40,
+       .secret_size = 38,
        .b_public_size = 64,
        .expected_a_public_size = 64,
        .expected_ss_size = 32
@@ -2804,8 +2802,8 @@ static const struct kpp_testvec ecdh_p256_tv_template[] = {
        "\x37\x08\xcc\x40\x5e\x7a\xfd\x6a"
        "\x6a\x02\x6e\x41\x87\x68\x38\x77"
        "\xfa\xa9\x44\x43\x2d\xef\x09\xdf",
-       .secret_size = 8,
-       .b_secret_size = 40,
+       .secret_size = 6,
+       .b_secret_size = 38,
        .b_public_size = 64,
        .expected_a_public_size = 64,
        .expected_ss_size = 32,
@@ -2813,6 +2811,67 @@ static const struct kpp_testvec ecdh_p256_tv_template[] = {
        }
 };
 
+/*
+ * NIST P384 test vectors from RFC5903
+ */
+static const struct kpp_testvec ecdh_p384_tv_template[] = {
+       {
+       .secret =
+#ifdef __LITTLE_ENDIAN
+       "\x02\x00" /* type */
+       "\x36\x00" /* len */
+       "\x30\x00" /* key_size */
+#else
+       "\x00\x02" /* type */
+       "\x00\x36" /* len */
+       "\x00\x30" /* key_size */
+#endif
+       "\x09\x9F\x3C\x70\x34\xD4\xA2\xC6"
+       "\x99\x88\x4D\x73\xA3\x75\xA6\x7F"
+       "\x76\x24\xEF\x7C\x6B\x3C\x0F\x16"
+       "\x06\x47\xB6\x74\x14\xDC\xE6\x55"
+       "\xE3\x5B\x53\x80\x41\xE6\x49\xEE"
+       "\x3F\xAE\xF8\x96\x78\x3A\xB1\x94",
+       .b_public =
+       "\xE5\x58\xDB\xEF\x53\xEE\xCD\xE3"
+       "\xD3\xFC\xCF\xC1\xAE\xA0\x8A\x89"
+       "\xA9\x87\x47\x5D\x12\xFD\x95\x0D"
+       "\x83\xCF\xA4\x17\x32\xBC\x50\x9D"
+       "\x0D\x1A\xC4\x3A\x03\x36\xDE\xF9"
+       "\x6F\xDA\x41\xD0\x77\x4A\x35\x71"
+       "\xDC\xFB\xEC\x7A\xAC\xF3\x19\x64"
+       "\x72\x16\x9E\x83\x84\x30\x36\x7F"
+       "\x66\xEE\xBE\x3C\x6E\x70\xC4\x16"
+       "\xDD\x5F\x0C\x68\x75\x9D\xD1\xFF"
+       "\xF8\x3F\xA4\x01\x42\x20\x9D\xFF"
+       "\x5E\xAA\xD9\x6D\xB9\xE6\x38\x6C",
+       .expected_a_public =
+       "\x66\x78\x42\xD7\xD1\x80\xAC\x2C"
+       "\xDE\x6F\x74\xF3\x75\x51\xF5\x57"
+       "\x55\xC7\x64\x5C\x20\xEF\x73\xE3"
+       "\x16\x34\xFE\x72\xB4\xC5\x5E\xE6"
+       "\xDE\x3A\xC8\x08\xAC\xB4\xBD\xB4"
+       "\xC8\x87\x32\xAE\xE9\x5F\x41\xAA"
+       "\x94\x82\xED\x1F\xC0\xEE\xB9\xCA"
+       "\xFC\x49\x84\x62\x5C\xCF\xC2\x3F"
+       "\x65\x03\x21\x49\xE0\xE1\x44\xAD"
+       "\xA0\x24\x18\x15\x35\xA0\xF3\x8E"
+       "\xEB\x9F\xCF\xF3\xC2\xC9\x47\xDA"
+       "\xE6\x9B\x4C\x63\x45\x73\xA8\x1C",
+       .expected_ss =
+       "\x11\x18\x73\x31\xC2\x79\x96\x2D"
+       "\x93\xD6\x04\x24\x3F\xD5\x92\xCB"
+       "\x9D\x0A\x92\x6F\x42\x2E\x47\x18"
+       "\x75\x21\x28\x7E\x71\x56\xC5\xC4"
+       "\xD6\x03\x13\x55\x69\xB9\xE9\xD0"
+       "\x9C\xF5\xD4\xA2\x70\xF5\x97\x46",
+       .secret_size = 54,
+       .b_public_size = 96,
+       .expected_a_public_size = 96,
+       .expected_ss_size = 48
+       }
+};
+
 /*
  * MD4 test vectors from RFC1320
  */