[PATCH 3/8] tests/t-mpi-point: add NIST curve multiplication test vectors

Jussi Kivilinna jussi.kivilinna at iki.fi
Mon Apr 26 23:00:41 CEST 2021


* tests/t-mpi-point.c (mpi_base10_scan, check_ec_mul): New.
(main): Call 'check_ec_mul'.
--

These vectors are from: http://point-at-infinity.org/ecc/nisttv

Signed-off-by: Jussi Kivilinna <jussi.kivilinna at iki.fi>
---
 tests/t-mpi-point.c | 1998 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 1997 insertions(+), 1 deletion(-)

diff --git a/tests/t-mpi-point.c b/tests/t-mpi-point.c
index 4e555290..0c4d8905 100644
--- a/tests/t-mpi-point.c
+++ b/tests/t-mpi-point.c
@@ -29,7 +29,7 @@
 #define PGM "t-mpi-point"
 #include "t-common.h"
 
-static struct
+static const struct
 {
   const char *desc;           /* Description of the curve.  */
   const char *p;              /* Order of the prime field.  */
@@ -1287,6 +1287,2001 @@ point_on_curve (void)
 }
 
 
+static gcry_mpi_t
+mpi_base10_scan (const char *str)
+{
+  gcry_mpi_t k;
+
+  k = gcry_mpi_new (0);
+
+  while (*str)
+    {
+      gcry_mpi_mul_ui (k, k, 10);
+      gcry_mpi_add_ui (k, k, *str - '0');
+      str++;
+    }
+
+  return k;
+}
+
+
+static void
+check_ec_mul (void)
+{
+  static struct {
+    const char *curve;
+    const char *k_base10;
+    const char *qx;
+    const char *qy;
+  } tv[] = {
+    /* NIST EC test vectors from http://point-at-infinity.org/ecc/nisttv */
+    { /* tv 0 */
+      "NIST P-192",
+      "1",
+      "188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012",
+      "07192B95FFC8DA78631011ED6B24CDD573F977A11E794811"
+    },
+    { /* tv 1 */
+      "NIST P-192",
+      "2",
+      "DAFEBF5828783F2AD35534631588A3F629A70FB16982A888",
+      "DD6BDA0D993DA0FA46B27BBC141B868F59331AFA5C7E93AB"
+    },
+    { /* tv 2 */
+      "NIST P-192",
+      "3",
+      "76E32A2557599E6EDCD283201FB2B9AADFD0D359CBB263DA",
+      "782C37E372BA4520AA62E0FED121D49EF3B543660CFD05FD"
+    },
+    { /* tv 3 */
+      "NIST P-192",
+      "4",
+      "35433907297CC378B0015703374729D7A4FE46647084E4BA",
+      "A2649984F2135C301EA3ACB0776CD4F125389B311DB3BE32"
+    },
+    { /* tv 4 */
+      "NIST P-192",
+      "5",
+      "10BB8E9840049B183E078D9C300E1605590118EBDD7FF590",
+      "31361008476F917BADC9F836E62762BE312B72543CCEAEA1"
+    },
+    { /* tv 5 */
+      "NIST P-192",
+      "6",
+      "A37ABC6C431F9AC398BF5BD1AA6678320ACE8ECB93D23F2A",
+      "851B3CAEC99908DBFED7040A1BBDA90E081F7C5710BC68F0"
+    },
+    { /* tv 6 */
+      "NIST P-192",
+      "7",
+      "8DA75A1F75DDCD7660F923243060EDCE5DE37F007011FCFD",
+      "57CB5FCF6860B35418240DB8FDB3C01DD4B702F96409FFB5"
+    },
+    { /* tv 7 */
+      "NIST P-192",
+      "8",
+      "2FA1F92D1ECCE92014771993CC14899D4B5977883397EDDE",
+      "A338AFDEF78B7214273B8B5978EF733FF2DD8A8E9738F6C0"
+    },
+    { /* tv 8 */
+      "NIST P-192",
+      "9",
+      "818A4D308B1CABB74E9E8F2BA8D27C9E1D9D375AB980388F",
+      "01D1AA5E208D87CD7C292F7CBB457CDF30EA542176C8E739"
+    },
+    { /* tv 9 */
+      "NIST P-192",
+      "10",
+      "AA7C4F9EF99E3E96D1AEDE2BD9238842859BB150D1FE9D85",
+      "3212A36547EDC62901EE3658B2F4859460EB5EB2491397B0"
+    },
+    { /* tv 10 */
+      "NIST P-192",
+      "11",
+      "1C995995EB76324F1844F7164D22B652280940370628A2AA",
+      "EF1765CE37E9EB73029F556400FA77BDB34CB8611AAA9C04"
+    },
+    { /* tv 11 */
+      "NIST P-192",
+      "12",
+      "1061343F3D456D0ECA013877F8C9E7B28FCCDCDA67EEB8AB",
+      "5A064CAA2EA6B03798FEF8E3E7A48648681EAC020B27293F"
+    },
+    { /* tv 12 */
+      "NIST P-192",
+      "13",
+      "112AF141D33EFB9F2F68821E051E4EA004144A363C4A090A",
+      "6E0CBE3BFC5293F72A2C1726E081E09E7F10A094432B1C1E"
+    },
+    { /* tv 13 */
+      "NIST P-192",
+      "14",
+      "13B9310646EBC93B591746B3F7C64E05DEE08843DE1081C1",
+      "1EDCEA63B44142DD15F3B427EC41A1EC4FBACA95E186E6B4"
+    },
+    { /* tv 14 */
+      "NIST P-192",
+      "15",
+      "8C9595E63B56B633BA3546B2B5414DE736DE4A9E7578B1E7",
+      "266B762A934F00C17CF387993AA566B6AD7537CDD98FC7B1"
+    },
+    { /* tv 15 */
+      "NIST P-192",
+      "16",
+      "B7310B4548FBFDBD29005092A5355BFCD99473733048AFDF",
+      "FF9EAE9EDCD27C1E42D8585C4546D9491845C56629CF2290"
+    },
+    { /* tv 16 */
+      "NIST P-192",
+      "17",
+      "44275CD2E1F46DC3F9F57636C2B4213B8BB445930510FF8A",
+      "EFAD8348FDE30C87DE438612A818E98D9B76A67AD25DDFD0"
+    },
+    { /* tv 17 */
+      "NIST P-192",
+      "18",
+      "C1B4DB0227210613A6CA15C428024E40B6513365D72591A3",
+      "1E26B286BCA1D08F4FE8F801267DF9FD7782EC3EC3F47F53"
+    },
+    { /* tv 18 */
+      "NIST P-192",
+      "19",
+      "C0626BCF247DE5D307FD839238D72688774FC97A1CF8AD1B",
+      "9CDC99D753973DC197E12778E829C804EC1A6B4E71FAA20A"
+    },
+    { /* tv 19 */
+      "NIST P-192",
+      "20",
+      "BB6F082321D34DBD786A1566915C6DD5EDF879AB0F5ADD67",
+      "91E4DD8A77C4531C8B76DEF2E5339B5EB95D5D9479DF4C8D"
+    },
+    { /* tv 20 */
+      "NIST P-192",
+      "112233445566778899",
+      "81E6E0F14C9302C8A8DCA8A038B73165E9687D0490CD9F85",
+      "F58067119EED8579388C4281DC645A27DB7764750E812477"
+    },
+    { /* tv 21 */
+      "NIST P-192",
+      "112233445566778899112233445566778899",
+      "B357B10AC985C891B29FB37DA56661CCCF50CEC21128D4F6",
+      "BA20DC2FA1CC228D3C2D8B538C2177C2921884C6B7F0D96F"
+    },
+    { /* tv 22 */
+      "NIST P-192",
+      "1618292094200346491064154703205151664562462359653015613567",
+      "74FEC215F253C6BD845831E059B318C87F727B136A700B91",
+      "4B702B15B126A703E7A7CEC3E0EC81F8DFCA73A59F5D88B9"
+    },
+    { /* tv 23 */
+      "NIST P-192",
+      "1484605055214526729816930749766694384906446681761906688",
+      "0C40230F9C4B8C0FD91F2C604FCBA9B87C2DFA153F010B4F",
+      "5FC4F5771F467971B2C82752413833A68CE00F4A9A692B02"
+    },
+    { /* tv 24 */
+      "NIST P-192",
+      "1569275434166462877105627261392580354519833538813866540831",
+      "28783BBF6208E1FF0F965FD8DC0C26FF1D8E02B433EDF2F7",
+      "A5852BBC44FD8164C1ABA9A3EC7A88E461D5D77ABD743E87"
+    },
+    { /* tv 25 */
+      "NIST P-192",
+      "3138550867681922400546388175470823984762234518836963313664",
+      "45DAF0A306121BDB3B82E734CB44FDF65C9930F0E4FD2068",
+      "F039FACE58EB7DE34E3374ADB28DF81F019C4548BAA75B64"
+    },
+    { /* tv 26 */
+      "NIST P-192",
+      "3138550119404545973088374812479323842475901485681169401600",
+      "1D5EC85004EA2ABA905CEF98A818A8C3516D7CB69A6FD575",
+      "4008F35F5820F66C902195644162E5AA231DD69C9E1ECC97"
+    },
+    { /* tv 27 */
+      "NIST P-192",
+      "24519928471166604179655321383971467003990211439919824896",
+      "F063727C2EA4D358AB02F6B0BEEB14DBEAF2E8A1DB3208EE",
+      "427418C015553361769B6A0C42923C4CA103740B6DCD9703"
+    },
+    { /* tv 28 */
+      "NIST P-192",
+      "46756768218837031708063422466358611246556475572231",
+      "DC81D33CA6604B1EFE49386CD492979EF807B8BAEB8566E3",
+      "D454247FF478514556333B3901C9F1CCC18DBC9AB938CFA0"
+    },
+    { /* tv 29 */
+      "NIST P-192",
+      "3138502977207688322901699644928655553044791844086883549215",
+      "D932741DF6AA0E1EED24279150436C752AA5ADCFD0698D72",
+      "9759B6D2EF21D885E94CDFF219F17004D8763401DAB021B5"
+    },
+    { /* tv 30 */
+      "NIST P-192",
+      "47890485652059026491391979477371914515865621847605503",
+      "571477E9D9F2A628780742257F7250C4224C483B30F3A97E",
+      "1AD35EE3177D22DD5F01B5A46FFDEC547B6A41786EBB8C8F"
+    },
+    { /* tv 31 */
+      "NIST P-192",
+      "3138549376958826959341570842566593375326996431013993775615",
+      "4C69939642792776C826DB8B4EBF4BD8C03FC9DFA2AEC822",
+      "29BF35BE52A6036E07EBA5741CFEB4C143310216EF1B9A2E"
+    },
+    { /* tv 32 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284061",
+      "BB6F082321D34DBD786A1566915C6DD5EDF879AB0F5ADD67",
+      "6E1B2275883BACE37489210D1ACC64A046A2A26B8620B372"
+    },
+    { /* tv 33 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284062",
+      "C0626BCF247DE5D307FD839238D72688774FC97A1CF8AD1B",
+      "63236628AC68C23E681ED88717D637FA13E594B18E055DF5"
+    },
+    { /* tv 34 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284063",
+      "C1B4DB0227210613A6CA15C428024E40B6513365D72591A3",
+      "E1D94D79435E2F70B01707FED9820601887D13C13C0B80AC"
+    },
+    { /* tv 35 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284064",
+      "44275CD2E1F46DC3F9F57636C2B4213B8BB445930510FF8A",
+      "10527CB7021CF37821BC79ED57E71671648959852DA2202F"
+    },
+    { /* tv 36 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284065",
+      "B7310B4548FBFDBD29005092A5355BFCD99473733048AFDF",
+      "00615161232D83E1BD27A7A3BAB926B5E7BA3A99D630DD6F"
+    },
+    { /* tv 37 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284066",
+      "8C9595E63B56B633BA3546B2B5414DE736DE4A9E7578B1E7",
+      "D99489D56CB0FF3E830C7866C55A9948528AC8322670384E"
+    },
+    { /* tv 38 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284067",
+      "13B9310646EBC93B591746B3F7C64E05DEE08843DE1081C1",
+      "E123159C4BBEBD22EA0C4BD813BE5E12B045356A1E79194B"
+    },
+    { /* tv 39 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284068",
+      "112AF141D33EFB9F2F68821E051E4EA004144A363C4A090A",
+      "91F341C403AD6C08D5D3E8D91F7E1F6080EF5F6BBCD4E3E1"
+    },
+    { /* tv 40 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284069",
+      "1061343F3D456D0ECA013877F8C9E7B28FCCDCDA67EEB8AB",
+      "A5F9B355D1594FC86701071C185B79B697E153FDF4D8D6C0"
+    },
+    { /* tv 41 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284070",
+      "1C995995EB76324F1844F7164D22B652280940370628A2AA",
+      "10E89A31C816148CFD60AA9BFF0588414CB3479EE55563FB"
+    },
+    { /* tv 42 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284071",
+      "AA7C4F9EF99E3E96D1AEDE2BD9238842859BB150D1FE9D85",
+      "CDED5C9AB81239D6FE11C9A74D0B7A6A9F14A14DB6EC684F"
+    },
+    { /* tv 43 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284072",
+      "818A4D308B1CABB74E9E8F2BA8D27C9E1D9D375AB980388F",
+      "FE2E55A1DF72783283D6D08344BA831FCF15ABDE893718C6"
+    },
+    { /* tv 44 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284073",
+      "2FA1F92D1ECCE92014771993CC14899D4B5977883397EDDE",
+      "5CC7502108748DEBD8C474A687108CBF0D22757168C7093F"
+    },
+    { /* tv 45 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284074",
+      "8DA75A1F75DDCD7660F923243060EDCE5DE37F007011FCFD",
+      "A834A030979F4CABE7DBF247024C3FE12B48FD069BF6004A"
+    },
+    { /* tv 46 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284075",
+      "A37ABC6C431F9AC398BF5BD1AA6678320ACE8ECB93D23F2A",
+      "7AE4C3513666F7240128FBF5E44256F0F7E083A8EF43970F"
+    },
+    { /* tv 47 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284076",
+      "10BB8E9840049B183E078D9C300E1605590118EBDD7FF590",
+      "CEC9EFF7B8906E84523607C919D89D40CED48DABC331515E"
+    },
+    { /* tv 48 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284077",
+      "35433907297CC378B0015703374729D7A4FE46647084E4BA",
+      "5D9B667B0DECA3CFE15C534F88932B0DDAC764CEE24C41CD"
+    },
+    { /* tv 49 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284078",
+      "76E32A2557599E6EDCD283201FB2B9AADFD0D359CBB263DA",
+      "87D3C81C8D45BADF559D1F012EDE2B600C4ABC99F302FA02"
+    },
+    { /* tv 50 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284079",
+      "DAFEBF5828783F2AD35534631588A3F629A70FB16982A888",
+      "229425F266C25F05B94D8443EBE4796FA6CCE505A3816C54"
+    },
+    { /* tv 51 */
+      "NIST P-192",
+      "6277101735386680763835789423176059013767194773182842284080",
+      "188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012",
+      "F8E6D46A003725879CEFEE1294DB32298C06885EE186B7EE"
+    },
+    { /* tv 52 */
+      "NIST P-224",
+      "1",
+      "B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21",
+      "BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34"
+    },
+    { /* tv 53 */
+      "NIST P-224",
+      "2",
+      "706A46DC76DCB76798E60E6D89474788D16DC18032D268FD1A704FA6",
+      "1C2B76A7BC25E7702A704FA986892849FCA629487ACF3709D2E4E8BB"
+    },
+    { /* tv 54 */
+      "NIST P-224",
+      "3",
+      "DF1B1D66A551D0D31EFF822558B9D2CC75C2180279FE0D08FD896D04",
+      "A3F7F03CADD0BE444C0AA56830130DDF77D317344E1AF3591981A925"
+    },
+    { /* tv 55 */
+      "NIST P-224",
+      "4",
+      "AE99FEEBB5D26945B54892092A8AEE02912930FA41CD114E40447301",
+      "0482580A0EC5BC47E88BC8C378632CD196CB3FA058A7114EB03054C9"
+    },
+    { /* tv 56 */
+      "NIST P-224",
+      "5",
+      "31C49AE75BCE7807CDFF22055D94EE9021FEDBB5AB51C57526F011AA",
+      "27E8BFF1745635EC5BA0C9F1C2EDE15414C6507D29FFE37E790A079B"
+    },
+    { /* tv 57 */
+      "NIST P-224",
+      "6",
+      "1F2483F82572251FCA975FEA40DB821DF8AD82A3C002EE6C57112408",
+      "89FAF0CCB750D99B553C574FAD7ECFB0438586EB3952AF5B4B153C7E"
+    },
+    { /* tv 58 */
+      "NIST P-224",
+      "7",
+      "DB2F6BE630E246A5CF7D99B85194B123D487E2D466B94B24A03C3E28",
+      "0F3A30085497F2F611EE2517B163EF8C53B715D18BB4E4808D02B963"
+    },
+    { /* tv 59 */
+      "NIST P-224",
+      "8",
+      "858E6F9CC6C12C31F5DF124AA77767B05C8BC021BD683D2B55571550",
+      "046DCD3EA5C43898C5C5FC4FDAC7DB39C2F02EBEE4E3541D1E78047A"
+    },
+    { /* tv 60 */
+      "NIST P-224",
+      "9",
+      "2FDCCCFEE720A77EF6CB3BFBB447F9383117E3DAA4A07E36ED15F78D",
+      "371732E4F41BF4F7883035E6A79FCEDC0E196EB07B48171697517463"
+    },
+    { /* tv 61 */
+      "NIST P-224",
+      "10",
+      "AEA9E17A306517EB89152AA7096D2C381EC813C51AA880E7BEE2C0FD",
+      "39BB30EAB337E0A521B6CBA1ABE4B2B3A3E524C14A3FE3EB116B655F"
+    },
+    { /* tv 62 */
+      "NIST P-224",
+      "11",
+      "EF53B6294ACA431F0F3C22DC82EB9050324F1D88D377E716448E507C",
+      "20B510004092E96636CFB7E32EFDED8265C266DFB754FA6D6491A6DA"
+    },
+    { /* tv 63 */
+      "NIST P-224",
+      "12",
+      "6E31EE1DC137F81B056752E4DEAB1443A481033E9B4C93A3044F4F7A",
+      "207DDDF0385BFDEAB6E9ACDA8DA06B3BBEF224A93AB1E9E036109D13"
+    },
+    { /* tv 64 */
+      "NIST P-224",
+      "13",
+      "34E8E17A430E43289793C383FAC9774247B40E9EBD3366981FCFAECA",
+      "252819F71C7FB7FBCB159BE337D37D3336D7FEB963724FDFB0ECB767"
+    },
+    { /* tv 65 */
+      "NIST P-224",
+      "14",
+      "A53640C83DC208603DED83E4ECF758F24C357D7CF48088B2CE01E9FA",
+      "D5814CD724199C4A5B974A43685FBF5B8BAC69459C9469BC8F23CCAF"
+    },
+    { /* tv 66 */
+      "NIST P-224",
+      "15",
+      "BAA4D8635511A7D288AEBEEDD12CE529FF102C91F97F867E21916BF9",
+      "979A5F4759F80F4FB4EC2E34F5566D595680A11735E7B61046127989"
+    },
+    { /* tv 67 */
+      "NIST P-224",
+      "16",
+      "0B6EC4FE1777382404EF679997BA8D1CC5CD8E85349259F590C4C66D",
+      "3399D464345906B11B00E363EF429221F2EC720D2F665D7DEAD5B482"
+    },
+    { /* tv 68 */
+      "NIST P-224",
+      "17",
+      "B8357C3A6CEEF288310E17B8BFEFF9200846CA8C1942497C484403BC",
+      "FF149EFA6606A6BD20EF7D1B06BD92F6904639DCE5174DB6CC554A26"
+    },
+    { /* tv 69 */
+      "NIST P-224",
+      "18",
+      "C9FF61B040874C0568479216824A15EAB1A838A797D189746226E4CC",
+      "EA98D60E5FFC9B8FCF999FAB1DF7E7EF7084F20DDB61BB045A6CE002"
+    },
+    { /* tv 70 */
+      "NIST P-224",
+      "19",
+      "A1E81C04F30CE201C7C9ACE785ED44CC33B455A022F2ACDBC6CAE83C",
+      "DCF1F6C3DB09C70ACC25391D492FE25B4A180BABD6CEA356C04719CD"
+    },
+    { /* tv 71 */
+      "NIST P-224",
+      "20",
+      "FCC7F2B45DF1CD5A3C0C0731CA47A8AF75CFB0347E8354EEFE782455",
+      "0D5D7110274CBA7CDEE90E1A8B0D394C376A5573DB6BE0BF2747F530"
+    },
+    { /* tv 72 */
+      "NIST P-224",
+      "112233445566778899",
+      "61F077C6F62ED802DAD7C2F38F5C67F2CC453601E61BD076BB46179E",
+      "2272F9E9F5933E70388EE652513443B5E289DD135DCC0D0299B225E4"
+    },
+    { /* tv 73 */
+      "NIST P-224",
+      "112233445566778899112233445566778899",
+      "029895F0AF496BFC62B6EF8D8A65C88C613949B03668AAB4F0429E35",
+      "3EA6E53F9A841F2019EC24BDE1A75677AA9B5902E61081C01064DE93"
+    },
+    { /* tv 74 */
+      "NIST P-224",
+      "6950511619965839450988900688150712778015737983940691968051900319680",
+      "AB689930BCAE4A4AA5F5CB085E823E8AE30FD365EB1DA4ABA9CF0379",
+      "3345A121BBD233548AF0D210654EB40BAB788A03666419BE6FBD34E7"
+    },
+    { /* tv 75 */
+      "NIST P-224",
+      "13479972933410060327035789020509431695094902435494295338570602119423",
+      "BDB6A8817C1F89DA1C2F3DD8E97FEB4494F2ED302A4CE2BC7F5F4025",
+      "4C7020D57C00411889462D77A5438BB4E97D177700BF7243A07F1680"
+    },
+    { /* tv 76 */
+      "NIST P-224",
+      "13479971751745682581351455311314208093898607229429740618390390702079",
+      "D58B61AA41C32DD5EBA462647DBA75C5D67C83606C0AF2BD928446A9",
+      "D24BA6A837BE0460DD107AE77725696D211446C5609B4595976B16BD"
+    },
+    { /* tv 77 */
+      "NIST P-224",
+      "13479972931865328106486971546324465392952975980343228160962702868479",
+      "DC9FA77978A005510980E929A1485F63716DF695D7A0C18BB518DF03",
+      "EDE2B016F2DDFFC2A8C015B134928275CE09E5661B7AB14CE0D1D403"
+    },
+    { /* tv 78 */
+      "NIST P-224",
+      "11795773708834916026404142434151065506931607341523388140225443265536",
+      "499D8B2829CFB879C901F7D85D357045EDAB55028824D0F05BA279BA",
+      "BF929537B06E4015919639D94F57838FA33FC3D952598DCDBB44D638"
+    },
+    { /* tv 79 */
+      "NIST P-224",
+      "784254593043826236572847595991346435467177662189391577090",
+      "8246C999137186632C5F9EDDF3B1B0E1764C5E8BD0E0D8A554B9CB77",
+      "E80ED8660BC1CB17AC7D845BE40A7A022D3306F116AE9F81FEA65947"
+    },
+    { /* tv 80 */
+      "NIST P-224",
+      "13479767645505654746623887797783387853576174193480695826442858012671",
+      "6670C20AFCCEAEA672C97F75E2E9DD5C8460E54BB38538EBB4BD30EB",
+      "F280D8008D07A4CAF54271F993527D46FF3FF46FD1190A3F1FAA4F74"
+    },
+    { /* tv 81 */
+      "NIST P-224",
+      "205688069665150753842126177372015544874550518966168735589597183",
+      "000ECA934247425CFD949B795CB5CE1EFF401550386E28D1A4C5A8EB",
+      "D4C01040DBA19628931BC8855370317C722CBD9CA6156985F1C2E9CE"
+    },
+    { /* tv 82 */
+      "NIST P-224",
+      "13479966930919337728895168462090683249159702977113823384618282123295",
+      "EF353BF5C73CD551B96D596FBC9A67F16D61DD9FE56AF19DE1FBA9CD",
+      "21771B9CDCE3E8430C09B3838BE70B48C21E15BC09EE1F2D7945B91F"
+    },
+    { /* tv 83 */
+      "NIST P-224",
+      "50210731791415612487756441341851895584393717453129007497216",
+      "4036052A3091EB481046AD3289C95D3AC905CA0023DE2C03ECD451CF",
+      "D768165A38A2B96F812586A9D59D4136035D9C853A5BF2E1C86A4993"
+    },
+    { /* tv 84 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368041",
+      "FCC7F2B45DF1CD5A3C0C0731CA47A8AF75CFB0347E8354EEFE782455",
+      "F2A28EEFD8B345832116F1E574F2C6B2C895AA8C24941F40D8B80AD1"
+    },
+    { /* tv 85 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368042",
+      "A1E81C04F30CE201C7C9ACE785ED44CC33B455A022F2ACDBC6CAE83C",
+      "230E093C24F638F533DAC6E2B6D01DA3B5E7F45429315CA93FB8E634"
+    },
+    { /* tv 86 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368043",
+      "C9FF61B040874C0568479216824A15EAB1A838A797D189746226E4CC",
+      "156729F1A003647030666054E208180F8F7B0DF2249E44FBA5931FFF"
+    },
+    { /* tv 87 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368044",
+      "B8357C3A6CEEF288310E17B8BFEFF9200846CA8C1942497C484403BC",
+      "00EB610599F95942DF1082E4F9426D086FB9C6231AE8B24933AAB5DB"
+    },
+    { /* tv 88 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368045",
+      "0B6EC4FE1777382404EF679997BA8D1CC5CD8E85349259F590C4C66D",
+      "CC662B9BCBA6F94EE4FF1C9C10BD6DDD0D138DF2D099A282152A4B7F"
+    },
+    { /* tv 89 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368046",
+      "BAA4D8635511A7D288AEBEEDD12CE529FF102C91F97F867E21916BF9",
+      "6865A0B8A607F0B04B13D1CB0AA992A5A97F5EE8CA1849EFB9ED8678"
+    },
+    { /* tv 90 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368047",
+      "A53640C83DC208603DED83E4ECF758F24C357D7CF48088B2CE01E9FA",
+      "2A7EB328DBE663B5A468B5BC97A040A3745396BA636B964370DC3352"
+    },
+    { /* tv 91 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368048",
+      "34E8E17A430E43289793C383FAC9774247B40E9EBD3366981FCFAECA",
+      "DAD7E608E380480434EA641CC82C82CBC92801469C8DB0204F13489A"
+    },
+    { /* tv 92 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368049",
+      "6E31EE1DC137F81B056752E4DEAB1443A481033E9B4C93A3044F4F7A",
+      "DF82220FC7A4021549165325725F94C3410DDB56C54E161FC9EF62EE"
+    },
+    { /* tv 93 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368050",
+      "EF53B6294ACA431F0F3C22DC82EB9050324F1D88D377E716448E507C",
+      "DF4AEFFFBF6D1699C930481CD102127C9A3D992048AB05929B6E5927"
+    },
+    { /* tv 94 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368051",
+      "AEA9E17A306517EB89152AA7096D2C381EC813C51AA880E7BEE2C0FD",
+      "C644CF154CC81F5ADE49345E541B4D4B5C1ADB3EB5C01C14EE949AA2"
+    },
+    { /* tv 95 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368052",
+      "2FDCCCFEE720A77EF6CB3BFBB447F9383117E3DAA4A07E36ED15F78D",
+      "C8E8CD1B0BE40B0877CFCA1958603122F1E6914F84B7E8E968AE8B9E"
+    },
+    { /* tv 96 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368053",
+      "858E6F9CC6C12C31F5DF124AA77767B05C8BC021BD683D2B55571550",
+      "FB9232C15A3BC7673A3A03B0253824C53D0FD1411B1CABE2E187FB87"
+    },
+    { /* tv 97 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368054",
+      "DB2F6BE630E246A5CF7D99B85194B123D487E2D466B94B24A03C3E28",
+      "F0C5CFF7AB680D09EE11DAE84E9C1072AC48EA2E744B1B7F72FD469E"
+    },
+    { /* tv 98 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368055",
+      "1F2483F82572251FCA975FEA40DB821DF8AD82A3C002EE6C57112408",
+      "76050F3348AF2664AAC3A8B05281304EBC7A7914C6AD50A4B4EAC383"
+    },
+    { /* tv 99 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368056",
+      "31C49AE75BCE7807CDFF22055D94EE9021FEDBB5AB51C57526F011AA",
+      "D817400E8BA9CA13A45F360E3D121EAAEB39AF82D6001C8186F5F866"
+    },
+    { /* tv 100 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368057",
+      "AE99FEEBB5D26945B54892092A8AEE02912930FA41CD114E40447301",
+      "FB7DA7F5F13A43B81774373C879CD32D6934C05FA758EEB14FCFAB38"
+    },
+    { /* tv 101 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368058",
+      "DF1B1D66A551D0D31EFF822558B9D2CC75C2180279FE0D08FD896D04",
+      "5C080FC3522F41BBB3F55A97CFECF21F882CE8CBB1E50CA6E67E56DC"
+    },
+    { /* tv 102 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368059",
+      "706A46DC76DCB76798E60E6D89474788D16DC18032D268FD1A704FA6",
+      "E3D4895843DA188FD58FB0567976D7B50359D6B78530C8F62D1B1746"
+    },
+    { /* tv 103 */
+      "NIST P-224",
+      "26959946667150639794667015087019625940457807714424391721682722368060",
+      "B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21",
+      "42C89C774A08DC04B3DD201932BC8A5EA5F8B89BBB2A7E667AFF81CD"
+    },
+    { /* tv 104 */
+      "NIST P-256",
+      "1",
+      "6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296",
+      "4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5"
+    },
+    { /* tv 105 */
+      "NIST P-256",
+      "2",
+      "7CF27B188D034F7E8A52380304B51AC3C08969E277F21B35A60B48FC47669978",
+      "07775510DB8ED040293D9AC69F7430DBBA7DADE63CE982299E04B79D227873D1"
+    },
+    { /* tv 106 */
+      "NIST P-256",
+      "3",
+      "5ECBE4D1A6330A44C8F7EF951D4BF165E6C6B721EFADA985FB41661BC6E7FD6C",
+      "8734640C4998FF7E374B06CE1A64A2ECD82AB036384FB83D9A79B127A27D5032"
+    },
+    { /* tv 107 */
+      "NIST P-256",
+      "4",
+      "E2534A3532D08FBBA02DDE659EE62BD0031FE2DB785596EF509302446B030852",
+      "E0F1575A4C633CC719DFEE5FDA862D764EFC96C3F30EE0055C42C23F184ED8C6"
+    },
+    { /* tv 108 */
+      "NIST P-256",
+      "5",
+      "51590B7A515140D2D784C85608668FDFEF8C82FD1F5BE52421554A0DC3D033ED",
+      "E0C17DA8904A727D8AE1BF36BF8A79260D012F00D4D80888D1D0BB44FDA16DA4"
+    },
+    { /* tv 109 */
+      "NIST P-256",
+      "6",
+      "B01A172A76A4602C92D3242CB897DDE3024C740DEBB215B4C6B0AAE93C2291A9",
+      "E85C10743237DAD56FEC0E2DFBA703791C00F7701C7E16BDFD7C48538FC77FE2"
+    },
+    { /* tv 110 */
+      "NIST P-256",
+      "7",
+      "8E533B6FA0BF7B4625BB30667C01FB607EF9F8B8A80FEF5B300628703187B2A3",
+      "73EB1DBDE03318366D069F83A6F5900053C73633CB041B21C55E1A86C1F400B4"
+    },
+    { /* tv 111 */
+      "NIST P-256",
+      "8",
+      "62D9779DBEE9B0534042742D3AB54CADC1D238980FCE97DBB4DD9DC1DB6FB393",
+      "AD5ACCBD91E9D8244FF15D771167CEE0A2ED51F6BBE76A78DA540A6A0F09957E"
+    },
+    { /* tv 112 */
+      "NIST P-256",
+      "9",
+      "EA68D7B6FEDF0B71878938D51D71F8729E0ACB8C2C6DF8B3D79E8A4B90949EE0",
+      "2A2744C972C9FCE787014A964A8EA0C84D714FEAA4DE823FE85A224A4DD048FA"
+    },
+    { /* tv 113 */
+      "NIST P-256",
+      "10",
+      "CEF66D6B2A3A993E591214D1EA223FB545CA6C471C48306E4C36069404C5723F",
+      "878662A229AAAE906E123CDD9D3B4C10590DED29FE751EEECA34BBAA44AF0773"
+    },
+    { /* tv 114 */
+      "NIST P-256",
+      "11",
+      "3ED113B7883B4C590638379DB0C21CDA16742ED0255048BF433391D374BC21D1",
+      "9099209ACCC4C8A224C843AFA4F4C68A090D04DA5E9889DAE2F8EEFCE82A3740"
+    },
+    { /* tv 115 */
+      "NIST P-256",
+      "12",
+      "741DD5BDA817D95E4626537320E5D55179983028B2F82C99D500C5EE8624E3C4",
+      "0770B46A9C385FDC567383554887B1548EEB912C35BA5CA71995FF22CD4481D3"
+    },
+    { /* tv 116 */
+      "NIST P-256",
+      "13",
+      "177C837AE0AC495A61805DF2D85EE2FC792E284B65EAD58A98E15D9D46072C01",
+      "63BB58CD4EBEA558A24091ADB40F4E7226EE14C3A1FB4DF39C43BBE2EFC7BFD8"
+    },
+    { /* tv 117 */
+      "NIST P-256",
+      "14",
+      "54E77A001C3862B97A76647F4336DF3CF126ACBE7A069C5E5709277324D2920B",
+      "F599F1BB29F4317542121F8C05A2E7C37171EA77735090081BA7C82F60D0B375"
+    },
+    { /* tv 118 */
+      "NIST P-256",
+      "15",
+      "F0454DC6971ABAE7ADFB378999888265AE03AF92DE3A0EF163668C63E59B9D5F",
+      "B5B93EE3592E2D1F4E6594E51F9643E62A3B21CE75B5FA3F47E59CDE0D034F36"
+    },
+    { /* tv 119 */
+      "NIST P-256",
+      "16",
+      "76A94D138A6B41858B821C629836315FCD28392EFF6CA038A5EB4787E1277C6E",
+      "A985FE61341F260E6CB0A1B5E11E87208599A0040FC78BAA0E9DDD724B8C5110"
+    },
+    { /* tv 120 */
+      "NIST P-256",
+      "17",
+      "47776904C0F1CC3A9C0984B66F75301A5FA68678F0D64AF8BA1ABCE34738A73E",
+      "AA005EE6B5B957286231856577648E8381B2804428D5733F32F787FF71F1FCDC"
+    },
+    { /* tv 121 */
+      "NIST P-256",
+      "18",
+      "1057E0AB5780F470DEFC9378D1C7C87437BB4C6F9EA55C63D936266DBD781FDA",
+      "F6F1645A15CBE5DC9FA9B7DFD96EE5A7DCC11B5C5EF4F1F78D83B3393C6A45A2"
+    },
+    { /* tv 122 */
+      "NIST P-256",
+      "19",
+      "CB6D2861102C0C25CE39B7C17108C507782C452257884895C1FC7B74AB03ED83",
+      "58D7614B24D9EF515C35E7100D6D6CE4A496716E30FA3E03E39150752BCECDAA"
+    },
+    { /* tv 123 */
+      "NIST P-256",
+      "20",
+      "83A01A9378395BAB9BCD6A0AD03CC56D56E6B19250465A94A234DC4C6B28DA9A",
+      "76E49B6DE2F73234AE6A5EB9D612B75C9F2202BB6923F54FF8240AAA86F640B8"
+    },
+    { /* tv 124 */
+      "NIST P-256",
+      "112233445566778899",
+      "339150844EC15234807FE862A86BE77977DBFB3AE3D96F4C22795513AEAAB82F",
+      "B1C14DDFDC8EC1B2583F51E85A5EB3A155840F2034730E9B5ADA38B674336A21"
+    },
+    { /* tv 125 */
+      "NIST P-256",
+      "112233445566778899112233445566778899",
+      "1B7E046A076CC25E6D7FA5003F6729F665CC3241B5ADAB12B498CD32F2803264",
+      "BFEA79BE2B666B073DB69A2A241ADAB0738FE9D2DD28B5604EB8C8CF097C457B"
+    },
+    { /* tv 126 */
+      "NIST P-256",
+      "29852220098221261079183923314599206100666902414330245206392788703677"
+      "545185283",
+      "9EACE8F4B071E677C5350B02F2BB2B384AAE89D58AA72CA97A170572E0FB222F",
+      "1BBDAEC2430B09B93F7CB08678636CE12EAAFD58390699B5FD2F6E1188FC2A78"
+    },
+    { /* tv 127 */
+      "NIST P-256",
+      "57896042899961394862005778464643882389978449576758748073725983489954"
+      "366354431",
+      "878F22CC6DB6048D2B767268F22FFAD8E56AB8E2DC615F7BD89F1E350500DD8D",
+      "714A5D7BB901C9C5853400D12341A892EF45D87FC553786756C4F0C9391D763E"
+    },
+    { /* tv 128 */
+      "NIST P-256",
+      "17668453929457101515018891057290498829976600048248489159554196603666"
+      "36031",
+      "659A379625AB122F2512B8DADA02C6348D53B54452DFF67AC7ACE4E8856295CA",
+      "49D81AB97B648464D0B4A288BD7818FAB41A16426E943527C4FED8736C53D0F6"
+    },
+    { /* tv 129 */
+      "NIST P-256",
+      "28948025760307534517734791687894775804466072615242963443097661355606"
+      "862201087",
+      "CBCEAAA8A4DD44BBCE58E8DB7740A5510EC2CB7EA8DA8D8F036B3FB04CDA4DE4",
+      "4BD7AA301A80D7F59FD983FEDBE59BB7B2863FE46494935E3745B360E32332FA"
+    },
+    { /* tv 130 */
+      "NIST P-256",
+      "11307821046087054894481169596029064497322922462583843642447709583464"
+      "5696384",
+      "F0C4A0576154FF3A33A3460D42EAED806E854DFA37125221D37935124BA462A4",
+      "5B392FA964434D29EEC6C9DBC261CF116796864AA2FAADB984A2DF38D1AEF7A3"
+    },
+    { /* tv 131 */
+      "NIST P-256",
+      "12078056106883488161242983286051341125085761470677906721917479268909"
+      "056",
+      "5E6C8524B6369530B12C62D31EC53E0288173BD662BDF680B53A41ECBCAD00CC",
+      "447FE742C2BFEF4D0DB14B5B83A2682309B5618E0064A94804E9282179FE089F"
+    },
+    { /* tv 132 */
+      "NIST P-256",
+      "57782969857385448082319957860328652998540760998293976083718804450708"
+      "503920639",
+      "03792E541BC209076A3D7920A915021ECD396A6EB5C3960024BE5575F3223484",
+      "FC774AE092403101563B712F68170312304F20C80B40C06282063DB25F268DE4"
+    },
+    { /* tv 133 */
+      "NIST P-256",
+      "57896017119460046759583662757090100341435943767777707906455551163257"
+      "755533312",
+      "2379FF85AB693CDF901D6CE6F2473F39C04A2FE3DCD842CE7AAB0E002095BCF8",
+      "F8B476530A634589D5129E46F322B02FBC610A703D80875EE70D7CE1877436A1"
+    },
+    { /* tv 134 */
+      "NIST P-256",
+      "45231284837428728468128217101764741272643368423846421299930586483716"
+      "0993279",
+      "C1E4072C529BF2F44DA769EFC934472848003B3AF2C0F5AA8F8DDBD53E12ED7C",
+      "39A6EE77812BB37E8079CD01ED649D3830FCA46F718C1D3993E4A591824ABCDB"
+    },
+    { /* tv 135 */
+      "NIST P-256",
+      "90457133917406513429363440794605400077474605586691772987667636755846"
+      "9746684",
+      "34DFBC09404C21E250A9B40FA8772897AC63A094877DB65862B61BD1507B34F3",
+      "CF6F8A876C6F99CEAEC87148F18C7E1E0DA6E165FFC8ED82ABB65955215F77D3"
+    },
+    { /* tv 136 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044349",
+      "83A01A9378395BAB9BCD6A0AD03CC56D56E6B19250465A94A234DC4C6B28DA9A",
+      "891B64911D08CDCC5195A14629ED48A360DDFD4596DC0AB007DBF5557909BF47"
+    },
+    { /* tv 137 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044350",
+      "CB6D2861102C0C25CE39B7C17108C507782C452257884895C1FC7B74AB03ED83",
+      "A7289EB3DB2610AFA3CA18EFF292931B5B698E92CF05C1FC1C6EAF8AD4313255"
+    },
+    { /* tv 138 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044351",
+      "1057E0AB5780F470DEFC9378D1C7C87437BB4C6F9EA55C63D936266DBD781FDA",
+      "090E9BA4EA341A246056482026911A58233EE4A4A10B0E08727C4CC6C395BA5D"
+    },
+    { /* tv 139 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044352",
+      "47776904C0F1CC3A9C0984B66F75301A5FA68678F0D64AF8BA1ABCE34738A73E",
+      "55FFA1184A46A8D89DCE7A9A889B717C7E4D7FBCD72A8CC0CD0878008E0E0323"
+    },
+    { /* tv 140 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044353",
+      "76A94D138A6B41858B821C629836315FCD28392EFF6CA038A5EB4787E1277C6E",
+      "567A019DCBE0D9F2934F5E4A1EE178DF7A665FFCF0387455F162228DB473AEEF"
+    },
+    { /* tv 141 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044354",
+      "F0454DC6971ABAE7ADFB378999888265AE03AF92DE3A0EF163668C63E59B9D5F",
+      "4A46C11BA6D1D2E1B19A6B1AE069BC19D5C4DE328A4A05C0B81A6321F2FCB0C9"
+    },
+    { /* tv 142 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044355",
+      "54E77A001C3862B97A76647F4336DF3CF126ACBE7A069C5E5709277324D2920B",
+      "0A660E43D60BCE8BBDEDE073FA5D183C8E8E15898CAF6FF7E45837D09F2F4C8A"
+    },
+    { /* tv 143 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044356",
+      "177C837AE0AC495A61805DF2D85EE2FC792E284B65EAD58A98E15D9D46072C01",
+      "9C44A731B1415AA85DBF6E524BF0B18DD911EB3D5E04B20C63BC441D10384027"
+    },
+    { /* tv 144 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044357",
+      "741DD5BDA817D95E4626537320E5D55179983028B2F82C99D500C5EE8624E3C4",
+      "F88F4B9463C7A024A98C7CAAB7784EAB71146ED4CA45A358E66A00DD32BB7E2C"
+    },
+    { /* tv 145 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044358",
+      "3ED113B7883B4C590638379DB0C21CDA16742ED0255048BF433391D374BC21D1",
+      "6F66DF64333B375EDB37BC505B0B3975F6F2FB26A16776251D07110317D5C8BF"
+    },
+    { /* tv 146 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044359",
+      "CEF66D6B2A3A993E591214D1EA223FB545CA6C471C48306E4C36069404C5723F",
+      "78799D5CD655517091EDC32262C4B3EFA6F212D7018AE11135CB4455BB50F88C"
+    },
+    { /* tv 147 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044360",
+      "EA68D7B6FEDF0B71878938D51D71F8729E0ACB8C2C6DF8B3D79E8A4B90949EE0",
+      "D5D8BB358D36031978FEB569B5715F37B28EB0165B217DC017A5DDB5B22FB705"
+    },
+    { /* tv 148 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044361",
+      "62D9779DBEE9B0534042742D3AB54CADC1D238980FCE97DBB4DD9DC1DB6FB393",
+      "52A533416E1627DCB00EA288EE98311F5D12AE0A4418958725ABF595F0F66A81"
+    },
+    { /* tv 149 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044362",
+      "8E533B6FA0BF7B4625BB30667C01FB607EF9F8B8A80FEF5B300628703187B2A3",
+      "8C14E2411FCCE7CA92F9607C590A6FFFAC38C9CD34FBE4DE3AA1E5793E0BFF4B"
+    },
+    { /* tv 150 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044363",
+      "B01A172A76A4602C92D3242CB897DDE3024C740DEBB215B4C6B0AAE93C2291A9",
+      "17A3EF8ACDC8252B9013F1D20458FC86E3FF0890E381E9420283B7AC7038801D"
+    },
+    { /* tv 151 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044364",
+      "51590B7A515140D2D784C85608668FDFEF8C82FD1F5BE52421554A0DC3D033ED",
+      "1F3E82566FB58D83751E40C9407586D9F2FED1002B27F7772E2F44BB025E925B"
+    },
+    { /* tv 152 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044365",
+      "E2534A3532D08FBBA02DDE659EE62BD0031FE2DB785596EF509302446B030852",
+      "1F0EA8A4B39CC339E62011A02579D289B103693D0CF11FFAA3BD3DC0E7B12739"
+    },
+    { /* tv 153 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044366",
+      "5ECBE4D1A6330A44C8F7EF951D4BF165E6C6B721EFADA985FB41661BC6E7FD6C",
+      "78CB9BF2B6670082C8B4F931E59B5D1327D54FCAC7B047C265864ED85D82AFCD"
+    },
+    { /* tv 154 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044367",
+      "7CF27B188D034F7E8A52380304B51AC3C08969E277F21B35A60B48FC47669978",
+      "F888AAEE24712FC0D6C26539608BCF244582521AC3167DD661FB4862DD878C2E"
+    },
+    { /* tv 155 */
+      "NIST P-256",
+      "11579208921035624876269744694940757352999695522413576034242225906106"
+      "8512044368",
+      "6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296",
+      "B01CBD1C01E58065711814B583F061E9D431CCA994CEA1313449BF97C840AE0A"
+    },
+    { /* tv 156 */
+      "NIST P-384",
+      "1",
+      "AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502"
+      "F25DBF55296C3A545E3872760AB7",
+      "3617DE4A96262C6F5D9E98BF9292DC29F8F41DBD289A147CE9DA3113B5F0B8C00A60"
+      "B1CE1D7E819D7A431D7C90EA0E5F"
+    },
+    { /* tv 157 */
+      "NIST P-384",
+      "2",
+      "08D999057BA3D2D969260045C55B97F089025959A6F434D651D207D19FB96E9E4FE0"
+      "E86EBE0E64F85B96A9C75295DF61",
+      "8E80F1FA5B1B3CEDB7BFE8DFFD6DBA74B275D875BC6CC43E904E505F256AB4255FFD"
+      "43E94D39E22D61501E700A940E80"
+    },
+    { /* tv 158 */
+      "NIST P-384",
+      "3",
+      "077A41D4606FFA1464793C7E5FDC7D98CB9D3910202DCD06BEA4F240D3566DA6B408"
+      "BBAE5026580D02D7E5C70500C831",
+      "C995F7CA0B0C42837D0BBE9602A9FC998520B41C85115AA5F7684C0EDC111EACC24A"
+      "BD6BE4B5D298B65F28600A2F1DF1"
+    },
+    { /* tv 159 */
+      "NIST P-384",
+      "4",
+      "138251CD52AC9298C1C8AAD977321DEB97E709BD0B4CA0ACA55DC8AD51DCFC9D1589"
+      "A1597E3A5120E1EFD631C63E1835",
+      "CACAE29869A62E1631E8A28181AB56616DC45D918ABC09F3AB0E63CF792AA4DCED73"
+      "87BE37BBA569549F1C02B270ED67"
+    },
+    { /* tv 160 */
+      "NIST P-384",
+      "5",
+      "11DE24A2C251C777573CAC5EA025E467F208E51DBFF98FC54F6661CBE56583B03788"
+      "2F4A1CA297E60ABCDBC3836D84BC",
+      "8FA696C77440F92D0F5837E90A00E7C5284B447754D5DEE88C986533B6901AEB3177"
+      "686D0AE8FB33184414ABE6C1713A"
+    },
+    { /* tv 161 */
+      "NIST P-384",
+      "6",
+      "627BE1ACD064D2B2226FE0D26F2D15D3C33EBCBB7F0F5DA51CBD41F2625738302131"
+      "7D7202FF30E50937F0854E35C5DF",
+      "09766A4CB3F8B1C21BE6DDA6C14F1575B2C95352644F774C99864F613715441604C4"
+      "5B8D84E165311733A408D3F0F934"
+    },
+    { /* tv 162 */
+      "NIST P-384",
+      "7",
+      "283C1D7365CE4788F29F8EBF234EDFFEAD6FE997FBEA5FFA2D58CC9DFA7B1C508B05"
+      "526F55B9EBB2040F05B48FB6D0E1",
+      "9475C99061E41B88BA52EFDB8C1690471A61D867ED799729D9C92CD01DBD225630D8"
+      "4EDE32A78F9E64664CDAC512EF8C"
+    },
+    { /* tv 163 */
+      "NIST P-384",
+      "8",
+      "1692778EA596E0BE75114297A6FA383445BF227FBE58190A900C3C73256F11FB5A32"
+      "58D6F403D5ECE6E9B269D822C87D",
+      "DCD2365700D4106A835388BA3DB8FD0E22554ADC6D521CD4BD1C30C2EC0EEC196BAD"
+      "E1E9CDD1708D6F6ABFA4022B0AD2"
+    },
+    { /* tv 164 */
+      "NIST P-384",
+      "9",
+      "8F0A39A4049BCB3EF1BF29B8B025B78F2216F7291E6FD3BAC6CB1EE285FB6E21C388"
+      "528BFEE2B9535C55E4461079118B",
+      "62C77E1438B601D6452C4A5322C3A9799A9B3D7CA3C400C6B7678854AED9B3029E74"
+      "3EFEDFD51B68262DA4F9AC664AF8"
+    },
+    { /* tv 165 */
+      "NIST P-384",
+      "10",
+      "A669C5563BD67EEC678D29D6EF4FDE864F372D90B79B9E88931D5C29291238CCED8E"
+      "85AB507BF91AA9CB2D13186658FB",
+      "A988B72AE7C1279F22D9083DB5F0ECDDF70119550C183C31C502DF78C3B705A8296D"
+      "8195248288D997784F6AB73A21DD"
+    },
+    { /* tv 166 */
+      "NIST P-384",
+      "11",
+      "099056E27DA7B998DA1EEEC2904816C57FE935ED5837C37456C9FD14892D3F8C4749"
+      "B66E3AFB81D626356F3B55B4DDD8",
+      "2E4C0C234E30AB96688505544AC5E0396FC4EED8DFC363FD43FF93F41B52A3255466"
+      "D51263AAFF357D5DBA8138C5E0BB"
+    },
+    { /* tv 167 */
+      "NIST P-384",
+      "12",
+      "952A7A349BD49289AB3AC421DCF683D08C2ED5E41F6D0E21648AF2691A481406DA4A"
+      "5E22DA817CB466DA2EA77D2A7022",
+      "A0320FAF84B5BC0563052DEAE6F66F2E09FB8036CE18A0EBB9028B096196B50D031A"
+      "A64589743E229EF6BACCE21BD16E"
+    },
+    { /* tv 168 */
+      "NIST P-384",
+      "13",
+      "A567BA97B67AEA5BAFDAF5002FFCC6AB9632BFF9F01F873F6267BCD1F0F11C139EE5"
+      "F441ABD99F1BAAF1CA1E3B5CBCE7",
+      "DE1B38B3989F3318644E4147AF164ECC5185595046932EC086329BE057857D66776B"
+      "CB8272218A7D6423A12736F429CC"
+    },
+    { /* tv 169 */
+      "NIST P-384",
+      "14",
+      "E8C8F94D44FBC2396BBEAC481B89D2B0877B1DFFD23E7DC95DE541EB651CCA2C41AB"
+      "A24DBC02DE6637209ACCF0F59EA0",
+      "891AE44356FC8AE0932BCBF6DE52C8A933B86191E7728D79C8319413A09D0F48FC46"
+      "8BA05509DE22D7EE5C9E1B67B888"
+    },
+    { /* tv 170 */
+      "NIST P-384",
+      "15",
+      "B3D13FC8B32B01058CC15C11D813525522A94156FFF01C205B21F9F7DA7C4E9CA849"
+      "557A10B6383B4B88701A9606860B",
+      "152919E7DF9162A61B049B2536164B1BEEBAC4A11D749AF484D1114373DFBFD9838D"
+      "24F8B284AF50985D588D33F7BD62"
+    },
+    { /* tv 171 */
+      "NIST P-384",
+      "16",
+      "D5D89C3B5282369C5FBD88E2B231511A6B80DFF0E5152CF6A464FA9428A8583BAC8E"
+      "BC773D157811A462B892401DAFCF",
+      "D815229DE12906D241816D5E9A9448F1D41D4FC40E2A3BDB9CABA57E440A7ABAD121"
+      "0CB8F49BF2236822B755EBAB3673"
+    },
+    { /* tv 172 */
+      "NIST P-384",
+      "17",
+      "4099952208B4889600A5EBBCB13E1A32692BEFB0733B41E6DCC614E42E5805F81701"
+      "2A991AF1F486CAF3A9ADD9FFCC03",
+      "5ECF94777833059839474594AF603598163AD3F8008AD0CD9B797D277F2388B304DA"
+      "4D2FAA9680ECFA650EF5E23B09A0"
+    },
+    { /* tv 173 */
+      "NIST P-384",
+      "18",
+      "DFB1FE3A40F7AC9B64C41D39360A7423828B97CB088A4903315E402A7089FA0F8B6C"
+      "2355169CC9C99DFB44692A9B93DD",
+      "453ACA1243B5EC6B423A68A25587E1613A634C1C42D2EE7E6C57F449A1C91DC89168"
+      "B7036EC0A7F37A366185233EC522"
+    },
+    { /* tv 174 */
+      "NIST P-384",
+      "19",
+      "8D481DAB912BC8AB16858A211D750B77E07DBECCA86CD9B012390B430467AABF59C8"
+      "651060801C0E9599E68713F5D41B",
+      "A1592FF0121460857BE99F2A60669050B2291B68A1039AA0594B32FD7ADC0E8C11FF"
+      "BA5608004E646995B07E75E52245"
+    },
+    { /* tv 175 */
+      "NIST P-384",
+      "20",
+      "605508EC02C534BCEEE9484C86086D2139849E2B11C1A9CA1E2808DEC2EAF161AC8A"
+      "105D70D4F85C50599BE5800A623F",
+      "5158EE87962AC6B81F00A103B8543A07381B7639A3A65F1353AEF11B733106DDE92E"
+      "99B78DE367B48E238C38DAD8EEDD"
+    },
+    { /* tv 176 */
+      "NIST P-384",
+      "112233445566778899",
+      "A499EFE48839BC3ABCD1C5CEDBDD51904F9514DB44F4686DB918983B0C9DC3AEE05A"
+      "88B72433E9515F91A329F5F4FA60",
+      "3B7CA28EF31F809C2F1BA24AAED847D0F8B406A4B8968542DE139DB5828CA410E615"
+      "D1182E25B91B1131E230B727D36A"
+    },
+    { /* tv 177 */
+      "NIST P-384",
+      "112233445566778899112233445566778899",
+      "90A0B1CAC601676B083F21E07BC7090A3390FE1B9C7F61D842D27FA315FB38D83667"
+      "A11A71438773E483F2A114836B24",
+      "3197D3C6123F0D6CD65D5F0DE106FEF36656CB16DC7CD1A6817EB1D51510135A8F49"
+      "2F72665CFD1053F75ED03A7D04C9"
+    },
+    { /* tv 178 */
+      "NIST P-384",
+      "10158184112867540819754776755819761756724522948540419979637868435924"
+      "061464745859402573149498125806098880003248619520",
+      "F2A066BD332DC59BBC3D01DA1B124C687D8BB44611186422DE94C1DA4ECF150E664D"
+      "353CCDB5CB2652685F8EB4D2CD49",
+      "D6ED0BF75FDD8E53D87765FA746835B673881D6D1907163A2C43990D75B454294F94"
+      "2EC571AD5AAE1806CAF2BB8E9A4A"
+    },
+    { /* tv 179 */
+      "NIST P-384",
+      "98505015511059910282450526050569921398100949089127992541158476838813"
+      "57749738726091734403950439157209401153690566655",
+      "5C7F9845D1C4AA44747F9137B6F9C39B36B26B8A62E8AF97290434D5F3B214F5A013"
+      "1550ADB19058DC4C8780C4165C4A",
+      "712F7FCCC86F647E70DB8798228CB16344AF3D00B139B6F8502939C2A965AF0EB4E3"
+      "9E2E16AB8F597B8D5630A50C9D85"
+    },
+    { /* tv 180 */
+      "NIST P-384",
+      "98505027234057470973172711947633104824627514551856996305716616579463"
+      "08788426092983270628740691202018691293898608608",
+      "DD5838F7EC3B8ACF1BECFD746F8B668C577107E93548ED93ED0D254C112E76B10F05"
+      "3109EF8428BFCD50D38C4C030C57",
+      "33244F479CDAC34F160D9E4CE2D19D2FF0E3305B5BF0EEF29E91E9DE6E28F678C61B"
+      "773AA7E3C03740E1A49D1AA2493C"
+    },
+    { /* tv 181 */
+      "NIST P-384",
+      "11461893718178329909476114004508894060702157352553702808117365878450"
+      "16396640969656447803207438173695115264",
+      "CB8ED893530BFBA04B4CA655923AAAD109A62BC8411D5925316C32D33602459C3305"
+      "7A1FBCB5F70AEB295D90F9165FBC",
+      "426AEE3E91B08420F9B357B66D5AFCBCF3956590BF5564DBF9086042EB880493D19D"
+      "A39AAA6436C6B5FC66CE5596B43F"
+    },
+    { /* tv 182 */
+      "NIST P-384",
+      "96193414382170976418653902971897088589380179864261526226395001797746"
+      "24579127744608993294698873437325090751520764",
+      "67F714012B6B070182122DDD435CC1C2262A1AB88939BC6A2906CB2B4137C5E82B45"
+      "82160F6403CAB887ACDF5786A268",
+      "90E31CF398CE2F8C5897C7380BF541075D1B4D3CB70547262B7095731252F181AC05"
+      "97C66AF8311C7780DB39DEC0BD32"
+    },
+    { /* tv 183 */
+      "NIST P-384",
+      "12313079966238337423874003523801725660779274151368132827356419183955"
+      "85376659282194317590461518639141730493780722175",
+      "55A79DF7B53A99D31462C7E1A5ED5623970715BB1021098CB973A7520CBD6365E613"
+      "E4B2467486FB37E86E01CEE09B8F",
+      "B95AEB71693189911661B709A886A1867F056A0EFE401EE11C06030E46F7A87731DA"
+      "4575863178012208707DD666727C"
+    },
+    { /* tv 184 */
+      "NIST P-384",
+      "58711883885468380094290672250481034308669902145190694600327412897305"
+      "8942197377013128840514404789143516741631",
+      "9539A968CF819A0E52E10EEA3BACA1B6480D7E4DF69BC07002C568569047110EE4FE"
+      "72FCA423FDD5179D6E0E19C44844",
+      "A7728F37A0AE0DF2716061900D83A4DA149144129F89A214A8260464BAB609BB322E"
+      "4E67DE5E4C4C6CB8D25983EC19B0"
+    },
+    { /* tv 185 */
+      "NIST P-384",
+      "15391407753067173966379507087689476645146601937464415054145255714789"
+      "0542143280855693795882295846834387672681660416",
+      "933FC13276672AB360D909161CD02D830B1628935DF0D800C6ED602C59D575A86A8A"
+      "97E3A2D697E3ED06BE741C0097D6",
+      "F35296BD7A6B4C6C025ED6D84338CCCC7522A45C5D4FBDB1442556CAEFB598128FA1"
+      "88793ADA510EB5F44E90A4E4BEF1"
+    },
+    { /* tv 186 */
+      "NIST P-384",
+      "75148784606135150476268171850082176256856776750560539466196504390587"
+      "921789283134009866871754361028131485122560",
+      "0CE31E1C4A937071E6EBACA026A93D783848BCC0C1585DAF639518125FCD1F1629D6"
+      "3041ABFB11FFC8F03FA8B6FCF6BF",
+      "A69EA55BE4BEAB2D5224050FEBFFBDFCFD614624C3B4F228909EB80012F003756D1C"
+      "377E52F04FA539237F24DD080E2E"
+    },
+    { /* tv 187 */
+      "NIST P-384",
+      "19691383761310193665095292424754807745686799029814707849273381514021"
+      "788371252213000473497648851202400395528761229312",
+      "6842CFE3589AC268818291F31D44177A9168DCBC19F321ED66D81ECF59E31B54CCA0"
+      "DDFD4C4136780171748D69A91C54",
+      "E3A5ECD5AC725F13DBC631F358C6E817EDCF3A613B83832741A9DB591A0BAE767FC7"
+      "14F70C2E7EA891E4312047DECCC0"
+    },
+    { /* tv 188 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942623",
+      "605508EC02C534BCEEE9484C86086D2139849E2B11C1A9CA1E2808DEC2EAF161AC8A"
+      "105D70D4F85C50599BE5800A623F",
+      "AEA7117869D53947E0FF5EFC47ABC5F8C7E489C65C59A0ECAC510EE48CCEF92116D1"
+      "6647721C984B71DC73C825271122"
+    },
+    { /* tv 189 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942624",
+      "8D481DAB912BC8AB16858A211D750B77E07DBECCA86CD9B012390B430467AABF59C8"
+      "651060801C0E9599E68713F5D41B",
+      "5EA6D00FEDEB9F7A841660D59F996FAF4DD6E4975EFC655FA6B4CD028523F172EE00"
+      "45A8F7FFB19B966A4F828A1ADDBA"
+    },
+    { /* tv 190 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942625",
+      "DFB1FE3A40F7AC9B64C41D39360A7423828B97CB088A4903315E402A7089FA0F8B6C"
+      "2355169CC9C99DFB44692A9B93DD",
+      "BAC535EDBC4A1394BDC5975DAA781E9EC59CB3E3BD2D118193A80BB65E36E2366E97"
+      "48FB913F580C85C99E7BDCC13ADD"
+    },
+    { /* tv 191 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942626",
+      "4099952208B4889600A5EBBCB13E1A32692BEFB0733B41E6DCC614E42E5805F81701"
+      "2A991AF1F486CAF3A9ADD9FFCC03",
+      "A1306B8887CCFA67C6B8BA6B509FCA67E9C52C07FF752F32648682D880DC774BFB25"
+      "B2CF55697F13059AF10B1DC4F65F"
+    },
+    { /* tv 192 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942627",
+      "D5D89C3B5282369C5FBD88E2B231511A6B80DFF0E5152CF6A464FA9428A8583BAC8E"
+      "BC773D157811A462B892401DAFCF",
+      "27EADD621ED6F92DBE7E92A1656BB70E2BE2B03BF1D5C42463545A81BBF585442EDE"
+      "F3460B640DDC97DD48AB1454C98C"
+    },
+    { /* tv 193 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942628",
+      "B3D13FC8B32B01058CC15C11D813525522A94156FFF01C205B21F9F7DA7C4E9CA849"
+      "557A10B6383B4B88701A9606860B",
+      "EAD6E618206E9D59E4FB64DAC9E9B4E411453B5EE28B650B7B2EEEBC8C2040257C72"
+      "DB064D7B50AF67A2A773CC08429D"
+    },
+    { /* tv 194 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942629",
+      "E8C8F94D44FBC2396BBEAC481B89D2B0877B1DFFD23E7DC95DE541EB651CCA2C41AB"
+      "A24DBC02DE6637209ACCF0F59EA0",
+      "76E51BBCA903751F6CD4340921AD3756CC479E6E188D728637CE6BEC5F62F0B603B9"
+      "745EAAF621DD2811A362E4984777"
+    },
+    { /* tv 195 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942630",
+      "A567BA97B67AEA5BAFDAF5002FFCC6AB9632BFF9F01F873F6267BCD1F0F11C139EE5"
+      "F441ABD99F1BAAF1CA1E3B5CBCE7",
+      "21E4C74C6760CCE79BB1BEB850E9B133AE7AA6AFB96CD13F79CD641FA87A82988894"
+      "347C8DDE75829BDC5ED9C90BD633"
+    },
+    { /* tv 196 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942631",
+      "952A7A349BD49289AB3AC421DCF683D08C2ED5E41F6D0E21648AF2691A481406DA4A"
+      "5E22DA817CB466DA2EA77D2A7022",
+      "5FCDF0507B4A43FA9CFAD215190990D1F6047FC931E75F1446FD74F69E694AF1FCE5"
+      "59B9768BC1DD610945341DE42E91"
+    },
+    { /* tv 197 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942632",
+      "099056E27DA7B998DA1EEEC2904816C57FE935ED5837C37456C9FD14892D3F8C4749"
+      "B66E3AFB81D626356F3B55B4DDD8",
+      "D1B3F3DCB1CF5469977AFAABB53A1FC6903B1127203C9C02BC006C0BE4AD5CD9AB99"
+      "2AEC9C5500CA82A2457FC73A1F44"
+    },
+    { /* tv 198 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942633",
+      "A669C5563BD67EEC678D29D6EF4FDE864F372D90B79B9E88931D5C29291238CCED8E"
+      "85AB507BF91AA9CB2D13186658FB",
+      "567748D5183ED860DD26F7C24A0F132208FEE6AAF3E7C3CE3AFD20873C48FA56D692"
+      "7E69DB7D77266887B09648C5DE22"
+    },
+    { /* tv 199 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942634",
+      "8F0A39A4049BCB3EF1BF29B8B025B78F2216F7291E6FD3BAC6CB1EE285FB6E21C388"
+      "528BFEE2B9535C55E4461079118B",
+      "9D3881EBC749FE29BAD3B5ACDD3C56866564C2835C3BFF39489877AB51264CFC618B"
+      "C100202AE497D9D25B075399B507"
+    },
+    { /* tv 200 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942635",
+      "1692778EA596E0BE75114297A6FA383445BF227FBE58190A900C3C73256F11FB5A32"
+      "58D6F403D5ECE6E9B269D822C87D",
+      "232DC9A8FF2BEF957CAC7745C24702F1DDAAB52392ADE32B42E3CF3D13F113E59452"
+      "1E15322E8F729095405CFDD4F52D"
+    },
+    { /* tv 201 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942636",
+      "283C1D7365CE4788F29F8EBF234EDFFEAD6FE997FBEA5FFA2D58CC9DFA7B1C508B05"
+      "526F55B9EBB2040F05B48FB6D0E1",
+      "6B8A366F9E1BE47745AD102473E96FB8E59E2798128668D62636D32FE242DDA8CF27"
+      "B120CD5870619B99B3263AED1073"
+    },
+    { /* tv 202 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942637",
+      "627BE1ACD064D2B2226FE0D26F2D15D3C33EBCBB7F0F5DA51CBD41F2625738302131"
+      "7D7202FF30E50937F0854E35C5DF",
+      "F68995B34C074E3DE41922593EB0EA8A4D36ACAD9BB088B36679B09EC8EABBE8FB3B"
+      "A4717B1E9ACEE8CC5BF82C0F06CB"
+    },
+    { /* tv 203 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942638",
+      "11DE24A2C251C777573CAC5EA025E467F208E51DBFF98FC54F6661CBE56583B03788"
+      "2F4A1CA297E60ABCDBC3836D84BC",
+      "705969388BBF06D2F0A7C816F5FF183AD7B4BB88AB2A211773679ACC496FE513CE88"
+      "9791F51704CCE7BBEB55193E8EC5"
+    },
+    { /* tv 204 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942639",
+      "138251CD52AC9298C1C8AAD977321DEB97E709BD0B4CA0ACA55DC8AD51DCFC9D1589"
+      "A1597E3A5120E1EFD631C63E1835",
+      "35351D679659D1E9CE175D7E7E54A99E923BA26E7543F60C54F19C3086D55B22128C"
+      "7840C8445A96AB60E3FE4D8F1298"
+    },
+    { /* tv 205 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942640",
+      "077A41D4606FFA1464793C7E5FDC7D98CB9D3910202DCD06BEA4F240D3566DA6B408"
+      "BBAE5026580D02D7E5C70500C831",
+      "366A0835F4F3BD7C82F44169FD5603667ADF4BE37AEEA55A0897B3F123EEE1523DB5"
+      "42931B4A2D6749A0D7A0F5D0E20E"
+    },
+    { /* tv 206 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942641",
+      "08D999057BA3D2D969260045C55B97F089025959A6F434D651D207D19FB96E9E4FE0"
+      "E86EBE0E64F85B96A9C75295DF61",
+      "717F0E05A4E4C312484017200292458B4D8A278A43933BC16FB1AFA0DA954BD9A002"
+      "BC15B2C61DD29EAFE190F56BF17F"
+    },
+    { /* tv 207 */
+      "NIST P-384",
+      "39402006196394479212279040100143613805079739270465446667946905279627"
+      "659399113263569398956308152294913554433653942642",
+      "AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502"
+      "F25DBF55296C3A545E3872760AB7",
+      "C9E821B569D9D390A26167406D6D23D6070BE242D765EB831625CEEC4A0F473EF59F"
+      "4E30E2817E6285BCE2846F15F1A0"
+    },
+    { /* tv 208 */
+      "NIST P-521",
+      "1",
+      "00C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBA"
+      "A14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66",
+      "011839296A789A3BC0045C8A5FB42C7D1BD998F54449579B446817AFBD17273E662C"
+      "97EE72995EF42640C550B9013FAD0761353C7086A272C24088BE94769FD16650"
+    },
+    { /* tv 209 */
+      "NIST P-521",
+      "2",
+      "00433C219024277E7E682FCB288148C282747403279B1CCC06352C6E5505D769BE97"
+      "B3B204DA6EF55507AA104A3A35C5AF41CF2FA364D60FD967F43E3933BA6D783D",
+      "00F4BB8CC7F86DB26700A7F3ECEEEED3F0B5C6B5107C4DA97740AB21A29906C42DBB"
+      "B3E377DE9F251F6B93937FA99A3248F4EAFCBE95EDC0F4F71BE356D661F41B02"
+    },
+    { /* tv 210 */
+      "NIST P-521",
+      "3",
+      "01A73D352443DE29195DD91D6A64B5959479B52A6E5B123D9AB9E5AD7A112D7A8DD1"
+      "AD3F164A3A4832051DA6BD16B59FE21BAEB490862C32EA05A5919D2EDE37AD7D",
+      "013E9B03B97DFA62DDD9979F86C6CAB814F2F1557FA82A9D0317D2F8AB1FA355CEEC"
+      "2E2DD4CF8DC575B02D5ACED1DEC3C70CF105C9BC93A590425F588CA1EE86C0E5"
+    },
+    { /* tv 211 */
+      "NIST P-521",
+      "4",
+      "0035B5DF64AE2AC204C354B483487C9070CDC61C891C5FF39AFC06C5D55541D3CEAC"
+      "8659E24AFE3D0750E8B88E9F078AF066A1D5025B08E5A5E2FBC87412871902F3",
+      "0082096F84261279D2B673E0178EB0B4ABB65521AEF6E6E32E1B5AE63FE2F19907F2"
+      "79F283E54BA385405224F750A95B85EEBB7FAEF04699D1D9E21F47FC346E4D0D"
+    },
+    { /* tv 212 */
+      "NIST P-521",
+      "5",
+      "00652BF3C52927A432C73DBC3391C04EB0BF7A596EFDB53F0D24CF03DAB8F177ACE4"
+      "383C0C6D5E3014237112FEAF137E79A329D7E1E6D8931738D5AB5096EC8F3078",
+      "015BE6EF1BDD6601D6EC8A2B73114A8112911CD8FE8E872E0051EDD817C9A0347087"
+      "BB6897C9072CF374311540211CF5FF79D1F007257354F7F8173CC3E8DEB090CB"
+    },
+    { /* tv 213 */
+      "NIST P-521",
+      "6",
+      "01EE4569D6CDB59219532EFF34F94480D195623D30977FD71CF3981506ADE4AB0152"
+      "5FBCCA16153F7394E0727A239531BE8C2F66E95657F380AE23731BEDF79206B9",
+      "01DE0255AD0CC64F586AE2DD270546E3B1112AABBB73DA5A808E7240A926201A8A96"
+      "CAB72D0E56648C9DF96C984DE274F2203DC7B8B55CA0DADE1EACCD7858D44F17"
+    },
+    { /* tv 214 */
+      "NIST P-521",
+      "7",
+      "0056D5D1D99D5B7F6346EEB65FDA0B073A0C5F22E0E8F5483228F018D2C2F7114C5D"
+      "8C308D0ABFC698D8C9A6DF30DCE3BBC46F953F50FDC2619A01CEAD882816ECD4",
+      "003D2D1B7D9BAAA2A110D1D8317A39D68478B5C582D02824F0DD71DBD98A26CBDE55"
+      "6BD0F293CDEC9E2B9523A34591CE1A5F9E76712A5DDEFC7B5C6B8BC90525251B"
+    },
+    { /* tv 215 */
+      "NIST P-521",
+      "8",
+      "000822C40FB6301F7262A8348396B010E25BD4E29D8A9B003E0A8B8A3B05F826298F"
+      "5BFEA5B8579F49F08B598C1BC8D79E1AB56289B5A6F4040586F9EA54AA78CE68",
+      "016331911D5542FC482048FDAB6E78853B9A44F8EDE9E2C0715B5083DE610677A8F1"
+      "89E9C0AA5911B4BFF0BA0DF065C578699F3BA940094713538AD642F11F17801C"
+    },
+    { /* tv 216 */
+      "NIST P-521",
+      "9",
+      "01585389E359E1E21826A2F5BF157156D488ED34541B988746992C4AB145B8C6B665"
+      "7429E1396134DA35F3C556DF725A318F4F50BABD85CD28661F45627967CBE207",
+      "002A2E618C9A8AEDF39F0B55557A27AE938E3088A654EE1CEBB6C825BA263DDB446E"
+      "0D69E5756057AC840FF56ECF4ABFD87D736C2AE928880F343AA0EA86B9AD2A4E"
+    },
+    { /* tv 217 */
+      "NIST P-521",
+      "10",
+      "0190EB8F22BDA61F281DFCFE7BB6721EC4CD901D879AC09AC7C34A9246B11ADA8910"
+      "A2C7C178FCC263299DAA4DA9842093F37C2E411F1A8E819A87FF09A04F2F3320",
+      "01EB5D96B8491614BA9DBAEAB3B0CA2BA760C2EEB2144251B20BA97FD78A62EF62D2"
+      "BF5349D44D9864BB536F6163DC57EBEFF3689639739FAA172954BC98135EC759"
+    },
+    { /* tv 218 */
+      "NIST P-521",
+      "11",
+      "008A75841259FDEDFF546F1A39573B4315CFED5DC7ED7C17849543EF2C54F2991652"
+      "F3DBC5332663DA1BD19B1AEBE3191085015C024FA4C9A902ECC0E02DDA0CDB9A",
+      "0096FB303FCBBA2129849D0CA877054FB2293ADD566210BD0493ED2E95D4E0B9B82B"
+      "1BC8A90E8B42A4AB3892331914A95336DCAC80E3F4819B5D58874F92CE48C808"
+    },
+    { /* tv 219 */
+      "NIST P-521",
+      "12",
+      "01C0D9DCEC93F8221C5DE4FAE9749C7FDE1E81874157958457B6107CF7A5967713A6"
+      "44E90B7C3FB81B31477FEE9A60E938013774C75C530928B17BE69571BF842D8C",
+      "014048B5946A4927C0FE3CE1D103A682CA4763FE65AB71494DA45E404ABF6A17C097"
+      "D6D18843D86FCDB6CC10A6F951B9B630884BA72224F5AE6C79E7B1A3281B17F0"
+    },
+    { /* tv 220 */
+      "NIST P-521",
+      "13",
+      "007E3E98F984C396AD9CD7865D2B4924861A93F736CDE1B4C2384EEDD2BEAF5B8661"
+      "32C45908E03C996A3550A5E79AB88EE94BEC3B00AB38EFF81887848D32FBCDA7",
+      "0108EE58EB6D781FEDA91A1926DAA3ED5A08CED50A386D5421C69C7A67AE5C1E212A"
+      "C1BD5D5838BC763F26DFDD351CBFBBC36199EAAF9117E9F7291A01FB022A71C9"
+    },
+    { /* tv 221 */
+      "NIST P-521",
+      "14",
+      "01875BC7DC551B1B65A9E1B8CCFAAF84DED1958B401494116A2FD4FB0BABE0B31999"
+      "74FC06C8B897222D79DF3E4B7BC744AA6767F6B812EFBF5D2C9E682DD3432D74",
+      "005CA4923575DACB5BD2D66290BBABB4BDFB8470122B8E51826A0847CE9B86D7ED62"
+      "D07781B1B4F3584C11E89BF1D133DC0D5B690F53A87C84BE41669F852700D54A"
+    },
+    { /* tv 222 */
+      "NIST P-521",
+      "15",
+      "006B6AD89ABCB92465F041558FC546D4300FB8FBCC30B40A0852D697B532DF128E11"
+      "B91CCE27DBD00FFE7875BD1C8FC0331D9B8D96981E3F92BDE9AFE337BCB8DB55",
+      "01B468DA271571391D6A7CE64D2333EDBF63DF0496A9BAD20CBA4B62106997485ED5"
+      "7E9062C899470A802148E2232C96C99246FD90CC446ABDD956343480A1475465"
+    },
+    { /* tv 223 */
+      "NIST P-521",
+      "16",
+      "01D17D10D8A89C8AD05DDA97DA26AC743B0B2A87F66192FD3F3DD632F8D20B188A52"
+      "943FF18861CA00A0E5965DA7985630DF0DBF5C8007DCDC533A6C508F81A8402F",
+      "007A37343C582D77001FC714B18D3D3E69721335E4C3B800D50EC7CA30C94B6B82C1"
+      "C182E1398DB547AA0B3075AC9D9988529E3004D28D18633352E272F89BC73ABE"
+    },
+    { /* tv 224 */
+      "NIST P-521",
+      "17",
+      "01B00DDB707F130EDA13A0B874645923906A99EE9E269FA2B3B4D66524F269250858"
+      "760A69E674FE0287DF4E799B5681380FF8C3042AF0D1A41076F817A853110AE0",
+      "0085683F1D7DB16576DBC111D4E4AEDDD106B799534CF69910A98D68AC2B22A1323D"
+      "F9DA564EF6DD0BF0D2F6757F16ADF420E6905594C2B755F535B9CB7C70E64647"
+    },
+    { /* tv 225 */
+      "NIST P-521",
+      "18",
+      "01BC33425E72A12779EACB2EDCC5B63D1281F7E86DBC7BF99A7ABD0CFE367DE4666D"
+      "6EDBB8525BFFE5222F0702C3096DEC0884CE572F5A15C423FDF44D01DD99C61D",
+      "010D06E999885B63535DE3E74D33D9E63D024FB07CE0D196F2552C8E4A00AC84C044"
+      "234AEB201F7A9133915D1B4B45209B9DA79FE15B19F84FD135D841E2D8F9A86A"
+    },
+    { /* tv 226 */
+      "NIST P-521",
+      "19",
+      "00998DCCE486419C3487C0F948C2D5A1A07245B77E0755DF547EFFF0ACDB3790E7F1"
+      "FA3B3096362669679232557D7A45970DFECF431E725BBDE478FF0B2418D6A19B",
+      "0137D5DA0626A021ED5CC3942497535B245D67D28AEE2B7BCF4ACC50EEE365457727"
+      "73AD963FF2EB8CF9B0EC39991631C377F5A4D89EA9FBFE44A9091A695BFD0575"
+    },
+    { /* tv 227 */
+      "NIST P-521",
+      "20",
+      "018BDD7F1B889598A4653DEEAE39CC6F8CC2BD767C2AB0D93FB12E968FBED342B517"
+      "09506339CB1049CB11DD48B9BDB3CD5CAD792E43B74E16D8E2603BFB11B0344F",
+      "00C5AADBE63F68CA5B6B6908296959BF0AF89EE7F52B410B9444546C550952D31120"
+      "4DA3BDDDC6D4EAE7EDFAEC1030DA8EF837CCB22EEE9CFC94DD3287FED0990F94"
+    },
+    { /* tv 228 */
+      "NIST P-521",
+      "112233445566778899",
+      "01650048FBD63E8C30B305BF36BD7643B91448EF2206E8A0CA84A140789A99B0423A"
+      "0A2533EA079CA7E049843E69E5FA2C25A163819110CEC1A30ACBBB3A422A40D8",
+      "010C9C64A0E0DB6052DBC5646687D06DECE5E9E0703153EFE9CB816FE025E85354D3"
+      "C5F869D6DB3F4C0C01B5F97919A5E72CEEBE03042E5AA99112691CFFC2724828"
+    },
+    { /* tv 229 */
+      "NIST P-521",
+      "112233445566778899112233445566778899",
+      "017E1370D39C9C63925DAEEAC571E21CAAF60BD169191BAEE8352E0F54674443B297"
+      "86243564ABB705F6FC0FE5FC5D3F98086B67CA0BE7AC8A9DEC421D9F1BC6B37F",
+      "01CD559605EAD19FBD99E83600A6A81A0489E6F20306EE0789AE00CE16A6EFEA2F42"
+      "F7534186CF1C60DF230BD9BCF8CB95E5028AD9820B2B1C0E15597EE54C4614A6"
+    },
+    { /* tv 230 */
+      "NIST P-521",
+      "17698052779751630352537759308423671290937417867253767860073493326533"
+      "23812656658291413435033257677579095366632521448854141275926144187294"
+      "499863933403633025023",
+      "00B45CB84651C9D4F08858B867F82D816E84E94FE4CAE3DA5F65E420B08398D0C5BF"
+      "019253A6C26D20671BDEF0B8E6C1D348A4B0734687F73AC6A4CBB2E085C68B3F",
+      "01C84942BBF538903062170A4BA8B3410D385719BA2037D29CA5248BFCBC8478220F"
+      "EC79244DCD45D31885A1764DEE479CE20B12CEAB62F9001C7AA4282CE4BE7F56"
+    },
+    { /* tv 231 */
+      "NIST P-521",
+      "10474840033715746231626262792913259631724379050679813326769821870752"
+      "87502926828892214143101559079638247121149165524401608805506660439970"
+      "30661040721887239",
+      "01CCEF4CDA108CEBE6568820B54A3CA3A3997E4EF0EDA6C350E7ED3DBB1861EDD801"
+      "81C650CEBE5440FEBA880F9C8A7A86F8B82659794F6F5B88E501E5DD84E65D7E",
+      "01026565F8B195D03C3F6139C3A63EAA1C29F7090AB2A8F75027939EC05109035F1B"
+      "38E6C508E0C14CE53AB7E2DA33AA28140EDBF3964862FB157119517454E60F07"
+    },
+    { /* tv 232 */
+      "NIST P-521",
+      "67039038650783458881413816514301680394966640773509650542881331265493"
+      "07058741788671148197429777343936466127575938031786147409472627479702"
+      "469884214509568000",
+      "00C1002DC2884EEDADB3F9B468BBEBD55980799852C506D37271FFCD006919DB3A96"
+      "DF8FE91EF6ED4B9081B1809E8F2C2B28AF5FCBF524147C73CB0B913D6FAB0995",
+      "01614E8A62C8293DD2AA6EF27D30974A4FD185019FA8EF4F982DA48698CECF706581"
+      "F69EE9ED67A9C231EC9D0934D0F674646153273BCBB345E923B1EC1386A1A4AD"
+    },
+    { /* tv 233 */
+      "NIST P-521",
+      "16759256436823953054045171656435622518800269587808965316988567370241"
+      "79880343339878336382412050263431942974939646683480906434632963478257"
+      "639757341102436352",
+      "010ED3E085ECDE1E66874286B5D5642B9D37853A026A0A025C7B84936E2ECEEC5F34"
+      "2E14C80C79CCF814D5AD085C5303F2823251F2B9276F88C9D7A43E387EBD87AC",
+      "01BE399A7666B29E79BBF3D277531A97CE05CAC0B49BECE4781E7AEE0D6E80FEE883"
+      "C76E9F08453DC1ADE4E49300F3D56FEE6A1510DA1B1F12EEAA39A05AA0508119"
+    },
+    { /* tv 234 */
+      "NIST P-521",
+      "12785133382149415221402495202586701798620696169446772599038235721862"
+      "33869219015616395155896385695905923238160286474392442745178676951515"
+      "4396810706943",
+      "013070A29B059D317AF37089E40FCB135868F52290EFF3E9F3E32CDADCA18EA234D8"
+      "589C665A4B8E3D0714DE004A419DEA7091A3BBA97263C438FE9413AA598FD4A5",
+      "00238A27FD9E5E7324C8B538EF2E334B71AC2611A95F42F4F2544D8C4A65D2A32A8B"
+      "AFA15EFD4FC2BD8AB2B0C51F65B680879589F4D5FE8A84CEB17A2E8D3587F011"
+    },
+    { /* tv 235 */
+      "NIST P-521",
+      "21452487583224925587220685549573442688947752933626165525549242527332"
+      "27278613418256777229473754067116763723353140430716009349416151854185"
+      "40320233184489636351",
+      "01A3D88799878EC74E66FF1AD8C7DFA9A9B4445A17F0810FF8189DD27AE3B6C580D3"
+      "52476DBDAEB08D7DA0DE3866F7C7FDBEBB8418E19710F1F7AFA88C22280B1404",
+      "00B39703D2053EC7B8812BDFEBFD81B4CB76F245FE535A1F1E46801C35DE03C15063"
+      "A99A203981529C146132863CA0E68544D0F0A638D8A2859D82B4DD266F27C3AE"
+    },
+    { /* tv 236 */
+      "NIST P-521",
+      "51140486275567859131139077890835526884648461857823088348651153840508"
+      "28762136685450683124474653127224662029512310426956586705594937826639"
+      "5604768784399",
+      "01D16B4365DEFE6FD356DC1F31727AF2A32C7E86C5AE87ED2950A08BC8653F203C7F"
+      "7860E80F95AA27C93EA76E8CD094127B15ED42CC5F96DC0A0F9A1C1E31D0D526",
+      "006E3710A0F9366E0BB8A14FFE8EBC2722EECF4A123EC9BA98DCCCA335D6FAFD289D"
+      "C69FD90903C9AC982FEB46DF93F03A7C8C9549D32C1C386D17F37340E63822A8"
+    },
+    { /* tv 237 */
+      "NIST P-521",
+      "66515297160252068810352799528815206278411522472127845209144250393126"
+      "06120198879080839643311347169019249080198239408356563413447402270445"
+      "462102068592377843",
+      "01B1220F67C985E9FC9C588C0C86BB16E6FE4CC11E168A98D701AE4670724B3D030E"
+      "D9965FADF4207C7A1BE9BE0F40DEF2BBFFF0C7EABCB5B42526CE1D3CAA468F52",
+      "006CDAD2860F6D2C37159A5A866D11605F2E7D87430DCFE6E6816AB6423CD9003CA6"
+      "F2527B9C2A2483C541D456C963D18A0D2A46E158CB2A44C0BF42D562881FB748"
+    },
+    { /* tv 238 */
+      "NIST P-521",
+      "32245518246132322325376800779468186601568352887780873448053703978113"
+      "79731631671254853846826682273677870214778462237171365140390183770226"
+      "853329363961324241919",
+      "00F25E545213C8C074BE38A0612EA9B66336B14A874372548D9716392DFA31CD0D13"
+      "E94F86CD48B8D43B80B5299144E01245C873B39F6AC6C4FB397746AF034AD67C",
+      "01733ABB21147CC27E35F41FAF40290AFD1EEB221D983FFABBD88E5DC8776450A409"
+      "EACDC1BCA2B9F517289C68645BB96781808FEAE42573C2BB289F16E2AECECE17"
+    },
+    { /* tv 239 */
+      "NIST P-521",
+      "12486613128442885430380874043991285080254917488396284953815149251315"
+      "41260063458153906666309229761204066997801762358775284540965316727702"
+      "1864132608",
+      "0172CD22CBE0634B6BFEE24BB1D350F384A945ED618ECAD48AADC6C1BC0DCC107F0F"
+      "FE9FE14DC929F90153F390C25BE5D3A73A56F9ACCB0C72C768753869732D0DC4",
+      "00D249CFB570DA4CC48FB5426A928B43D7922F787373B6182408FBC71706E7527E84"
+      "14C79167F3C999FF58DE352D238F1FE7168C658D338F72696F2F889A97DE23C5"
+    },
+    { /* tv 240 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005429",
+      "018BDD7F1B889598A4653DEEAE39CC6F8CC2BD767C2AB0D93FB12E968FBED342B517"
+      "09506339CB1049CB11DD48B9BDB3CD5CAD792E43B74E16D8E2603BFB11B0344F",
+      "013A552419C09735A49496F7D696A640F50761180AD4BEF46BBBAB93AAF6AD2CEEDF"
+      "B25C4222392B1518120513EFCF257107C8334DD11163036B22CD78012F66F06B"
+    },
+    { /* tv 241 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005430",
+      "00998DCCE486419C3487C0F948C2D5A1A07245B77E0755DF547EFFF0ACDB3790E7F1"
+      "FA3B3096362669679232557D7A45970DFECF431E725BBDE478FF0B2418D6A19B",
+      "00C82A25F9D95FDE12A33C6BDB68ACA4DBA2982D7511D48430B533AF111C9ABA88D8"
+      "8C5269C00D1473064F13C666E9CE3C880A5B2761560401BB56F6E596A402FA8A"
+    },
+    { /* tv 242 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005431",
+      "01BC33425E72A12779EACB2EDCC5B63D1281F7E86DBC7BF99A7ABD0CFE367DE4666D"
+      "6EDBB8525BFFE5222F0702C3096DEC0884CE572F5A15C423FDF44D01DD99C61D",
+      "00F2F9166677A49CACA21C18B2CC2619C2FDB04F831F2E690DAAD371B5FF537B3FBB"
+      "DCB514DFE0856ECC6EA2E4B4BADF646258601EA4E607B02ECA27BE1D27065795"
+    },
+    { /* tv 243 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005432",
+      "01B00DDB707F130EDA13A0B874645923906A99EE9E269FA2B3B4D66524F269250858"
+      "760A69E674FE0287DF4E799B5681380FF8C3042AF0D1A41076F817A853110AE0",
+      "017A97C0E2824E9A89243EEE2B1B51222EF94866ACB30966EF56729753D4DD5ECDC2"
+      "0625A9B10922F40F2D098A80E9520BDF196FAA6B3D48AA0ACA4634838F19B9B8"
+    },
+    { /* tv 244 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005433",
+      "01D17D10D8A89C8AD05DDA97DA26AC743B0B2A87F66192FD3F3DD632F8D20B188A52"
+      "943FF18861CA00A0E5965DA7985630DF0DBF5C8007DCDC533A6C508F81A8402F",
+      "0185C8CBC3A7D288FFE038EB4E72C2C1968DECCA1B3C47FF2AF13835CF36B4947D3E"
+      "3E7D1EC6724AB855F4CF8A53626677AD61CFFB2D72E79CCCAD1D8D076438C541"
+    },
+    { /* tv 245 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005434",
+      "006B6AD89ABCB92465F041558FC546D4300FB8FBCC30B40A0852D697B532DF128E11"
+      "B91CCE27DBD00FFE7875BD1C8FC0331D9B8D96981E3F92BDE9AFE337BCB8DB55",
+      "004B9725D8EA8EC6E2958319B2DCCC12409C20FB6956452DF345B49DEF9668B7A12A"
+      "816F9D3766B8F57FDEB71DDCD369366DB9026F33BB954226A9CBCB7F5EB8AB9A"
+    },
+    { /* tv 246 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005435",
+      "01875BC7DC551B1B65A9E1B8CCFAAF84DED1958B401494116A2FD4FB0BABE0B31999"
+      "74FC06C8B897222D79DF3E4B7BC744AA6767F6B812EFBF5D2C9E682DD3432D74",
+      "01A35B6DCA8A2534A42D299D6F44544B42047B8FEDD471AE7D95F7B831647928129D"
+      "2F887E4E4B0CA7B3EE17640E2ECC23F2A496F0AC57837B41BE99607AD8FF2AB5"
+    },
+    { /* tv 247 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005436",
+      "007E3E98F984C396AD9CD7865D2B4924861A93F736CDE1B4C2384EEDD2BEAF5B8661"
+      "32C45908E03C996A3550A5E79AB88EE94BEC3B00AB38EFF81887848D32FBCDA7",
+      "00F711A7149287E01256E5E6D9255C12A5F7312AF5C792ABDE3963859851A3E1DED5"
+      "3E42A2A7C74389C0D92022CAE340443C9E6615506EE81608D6E5FE04FDD58E36"
+    },
+    { /* tv 248 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005437",
+      "01C0D9DCEC93F8221C5DE4FAE9749C7FDE1E81874157958457B6107CF7A5967713A6"
+      "44E90B7C3FB81B31477FEE9A60E938013774C75C530928B17BE69571BF842D8C",
+      "00BFB74A6B95B6D83F01C31E2EFC597D35B89C019A548EB6B25BA1BFB54095E83F68"
+      "292E77BC2790324933EF5906AE4649CF77B458DDDB0A519386184E5CD7E4E80F"
+    },
+    { /* tv 249 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005438",
+      "008A75841259FDEDFF546F1A39573B4315CFED5DC7ED7C17849543EF2C54F2991652"
+      "F3DBC5332663DA1BD19B1AEBE3191085015C024FA4C9A902ECC0E02DDA0CDB9A",
+      "016904CFC03445DED67B62F35788FAB04DD6C522A99DEF42FB6C12D16A2B1F4647D4"
+      "E43756F174BD5B54C76DCCE6EB56ACC923537F1C0B7E64A2A778B06D31B737F7"
+    },
+    { /* tv 250 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005439",
+      "0190EB8F22BDA61F281DFCFE7BB6721EC4CD901D879AC09AC7C34A9246B11ADA8910"
+      "A2C7C178FCC263299DAA4DA9842093F37C2E411F1A8E819A87FF09A04F2F3320",
+      "0014A26947B6E9EB456245154C4F35D4589F3D114DEBBDAE4DF4568028759D109D2D"
+      "40ACB62BB2679B44AC909E9C23A814100C9769C68C6055E8D6AB4367ECA138A6"
+    },
+    { /* tv 251 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005440",
+      "01585389E359E1E21826A2F5BF157156D488ED34541B988746992C4AB145B8C6B665"
+      "7429E1396134DA35F3C556DF725A318F4F50BABD85CD28661F45627967CBE207",
+      "01D5D19E736575120C60F4AAAA85D8516C71CF7759AB11E3144937DA45D9C224BB91"
+      "F2961A8A9FA8537BF00A9130B54027828C93D516D777F0CBC55F15794652D5B1"
+    },
+    { /* tv 252 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005441",
+      "000822C40FB6301F7262A8348396B010E25BD4E29D8A9B003E0A8B8A3B05F826298F"
+      "5BFEA5B8579F49F08B598C1BC8D79E1AB56289B5A6F4040586F9EA54AA78CE68",
+      "009CCE6EE2AABD03B7DFB7025491877AC465BB0712161D3F8EA4AF7C219EF988570E"
+      "76163F55A6EE4B400F45F20F9A3A879660C456BFF6B8ECAC7529BD0EE0E87FE3"
+    },
+    { /* tv 253 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005442",
+      "0056D5D1D99D5B7F6346EEB65FDA0B073A0C5F22E0E8F5483228F018D2C2F7114C5D"
+      "8C308D0ABFC698D8C9A6DF30DCE3BBC46F953F50FDC2619A01CEAD882816ECD4",
+      "01C2D2E48264555D5EEF2E27CE85C6297B874A3A7D2FD7DB0F228E242675D93421AA"
+      "942F0D6C321361D46ADC5CBA6E31E5A061898ED5A2210384A3947436FADADAE4"
+    },
+    { /* tv 254 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005443",
+      "01EE4569D6CDB59219532EFF34F94480D195623D30977FD71CF3981506ADE4AB0152"
+      "5FBCCA16153F7394E0727A239531BE8C2F66E95657F380AE23731BEDF79206B9",
+      "0021FDAA52F339B0A7951D22D8FAB91C4EEED554448C25A57F718DBF56D9DFE57569"
+      "3548D2F1A99B7362069367B21D8B0DDFC238474AA35F2521E1533287A72BB0E8"
+    },
+    { /* tv 255 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005444",
+      "00652BF3C52927A432C73DBC3391C04EB0BF7A596EFDB53F0D24CF03DAB8F177ACE4"
+      "383C0C6D5E3014237112FEAF137E79A329D7E1E6D8931738D5AB5096EC8F3078",
+      "00A41910E42299FE291375D48CEEB57EED6EE327017178D1FFAE1227E8365FCB8F78"
+      "44976836F8D30C8BCEEABFDEE30A00862E0FF8DA8CAB0807E8C33C17214F6F34"
+    },
+    { /* tv 256 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005445",
+      "0035B5DF64AE2AC204C354B483487C9070CDC61C891C5FF39AFC06C5D55541D3CEAC"
+      "8659E24AFE3D0750E8B88E9F078AF066A1D5025B08E5A5E2FBC87412871902F3",
+      "017DF6907BD9ED862D498C1FE8714F4B5449AADE5109191CD1E4A519C01D0E66F80D"
+      "860D7C1AB45C7ABFADDB08AF56A47A114480510FB9662E261DE0B803CB91B2F2"
+    },
+    { /* tv 257 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005446",
+      "01A73D352443DE29195DD91D6A64B5959479B52A6E5B123D9AB9E5AD7A112D7A8DD1"
+      "AD3F164A3A4832051DA6BD16B59FE21BAEB490862C32EA05A5919D2EDE37AD7D",
+      "00C164FC4682059D2226686079393547EB0D0EAA8057D562FCE82D0754E05CAA3113"
+      "D1D22B30723A8A4FD2A5312E213C38F30EFA36436C5A6FBDA0A7735E11793F1A"
+    },
+    { /* tv 258 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005447",
+      "00433C219024277E7E682FCB288148C282747403279B1CCC06352C6E5505D769BE97"
+      "B3B204DA6EF55507AA104A3A35C5AF41CF2FA364D60FD967F43E3933BA6D783D",
+      "010B44733807924D98FF580C1311112C0F4A394AEF83B25688BF54DE5D66F93BD244"
+      "4C1C882160DAE0946C6C805665CDB70B1503416A123F0B08E41CA9299E0BE4FD"
+    },
+    { /* tv 259 */
+      "NIST P-521",
+      "68647976601306097149819007990813932172694353001433054093944634591855"
+      "43183397655394245057746333217197532963996371363321113864768612440380"
+      "340372808892707005448",
+      "00C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBA"
+      "A14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66",
+      "00E7C6D6958765C43FFBA375A04BD382E426670ABBB6A864BB97E85042E8D8C199D3"
+      "68118D66A10BD9BF3AAF46FEC052F89ECAC38F795D8D3DBF77416B89602E99AF"
+    },
+
+    { NULL, NULL, NULL, NULL }
+  };
+  gpg_error_t err;
+  gcry_ctx_t ctx;
+  gcry_mpi_t k, x, y;
+  gcry_mpi_point_t G, Q;
+  int idx;
+
+  for (idx = 0; tv[idx].curve; idx++)
+    {
+      /* P-192 is not supported in fips mode */
+      if (gcry_fips_mode_active())
+        {
+          if (!strcmp(tv[idx].curve, "NIST P-192"))
+            {
+	      static int once;
+	      if (!once)
+		info ("skipping %s in fips mode\n", tv[idx].curve);
+	      once = 1;
+              continue;
+            }
+        }
+
+      err = gcry_mpi_ec_new (&ctx, NULL, tv[idx].curve);
+      if (err)
+        {
+          fail ("tv[%d].'%s': can't create context: %s\n",
+		idx, tv[idx].curve, gpg_strerror (err));
+          return;
+        }
+
+      G = gcry_mpi_ec_get_point ("g", ctx, 1);
+      if (!G)
+	{
+	  fail ("tv[%d].'%s': error getting point parameter 'g'\n",
+		idx, tv[idx].curve);
+          return;
+	}
+
+      if (tv[idx].k_base10)
+	k = mpi_base10_scan (tv[idx].k_base10);
+      else
+	die ("tv[%d].'%s': missing 'k'\n",
+		idx, tv[idx].curve);
+
+      Q = gcry_mpi_point_new (0);
+      x = gcry_mpi_new (0);
+      y = gcry_mpi_new (0);
+
+      gcry_mpi_ec_mul (Q, k, G, ctx);
+      if (gcry_mpi_ec_get_affine (x, y, Q, ctx))
+	{
+	  fail ("tv[%d].'%s': failed to get affine coordinates\n",
+		idx, tv[idx].curve);
+	  return;
+	}
+
+      if (cmp_mpihex (x, tv[idx].qx) || cmp_mpihex (y, tv[idx].qy))
+	{
+	  fail ("tv[%d].'%s': sample point multiply failed:\n",
+		idx, tv[idx].curve);
+	  print_mpi ("          k", k);
+	  print_mpi ("         Qx", x);
+	  printf ("expected Qx: %s\n", tv[idx].qx);
+	  print_mpi ("         Qy", y);
+	  printf ("expected Qy: %s\n", tv[idx].qy);
+	}
+
+      gcry_mpi_release (k);
+      gcry_mpi_release (y);
+      gcry_mpi_release (x);
+      gcry_mpi_point_release (Q);
+      gcry_mpi_point_release (G);
+      gcry_ctx_release (ctx);
+    }
+}
+
+
 int
 main (int argc, char **argv)
 {
@@ -1310,6 +3305,7 @@ main (int argc, char **argv)
   context_param ();
   basic_ec_math ();
   point_on_curve ();
+  check_ec_mul ();
 
   /* The tests are for P-192 and ed25519 which are not supported in
      FIPS mode.  */
-- 
2.30.2




More information about the Gcrypt-devel mailing list