Path: blob/main/crypto/libecc/src/tests/decdsa_test_vectors.h
34869 views
/*1* Copyright (C) 2021 - This file is part of libecc project2*3* Authors:4* Ryad BENADJILA <[email protected]>5* Arnaud EBALARD <[email protected]>6*7* This software is licensed under a dual BSD and GPL v2 license.8* See LICENSE file at the root folder of the project.9*/10#ifdef WITH_HASH_SHA22411#ifdef WITH_CURVE_SECP192R112#define DECDSA_SHA224_SECP192R1_SELF_TEST_013/*** Tests for DECDSA-SHA224/SECP192R1 ***/14static const u8 decdsa_rfc6979_SECP192R1_SHA224_0_test_vector_expected_sig[] = {150xa1, 0xf0, 0x0d, 0xad, 0x97, 0xae, 0xec, 0x91,160xc9, 0x55, 0x85, 0xf3, 0x62, 0x00, 0xc6, 0x5f,170x3c, 0x01, 0x81, 0x2a, 0xa6, 0x03, 0x78, 0xf5,180xe0, 0x7e, 0xc1, 0x30, 0x4c, 0x7c, 0x6c, 0x9d,190xeb, 0xbe, 0x98, 0x0b, 0x96, 0x92, 0x66, 0x8f,200x81, 0xd4, 0xde, 0x79, 0x22, 0xa0, 0xf9, 0x7a21};22static const u8 decdsa_rfc6979_SECP192R1_SHA224_0_test_vector_priv_key[] = {230x6f, 0xab, 0x03, 0x49, 0x34, 0xe4, 0xc0, 0xfc,240x9a, 0xe6, 0x7f, 0x5b, 0x56, 0x59, 0xa9, 0xd7,250xd1, 0xfe, 0xfd, 0x18, 0x7e, 0xe0, 0x9f, 0xd426};27static const ec_test_case decdsa_rfc6979_SECP192R1_SHA224_0_test_case = {28.name="DECDSA-SHA224/SECP192R1 0",29.ec_str_p = &secp192r1_str_params,30.priv_key = decdsa_rfc6979_SECP192R1_SHA224_0_test_vector_priv_key,31.priv_key_len = sizeof(decdsa_rfc6979_SECP192R1_SHA224_0_test_vector_priv_key),32.nn_random = NULL,33.hash_type = SHA224,34.msg = "sample",35.msglen = 6,36.sig_type = DECDSA,37.exp_sig = decdsa_rfc6979_SECP192R1_SHA224_0_test_vector_expected_sig,38.exp_siglen = sizeof(decdsa_rfc6979_SECP192R1_SHA224_0_test_vector_expected_sig),39.adata = NULL,40.adata_len = 041};42#endif /* WITH_CURVE_SECP192R1 */43#endif /* WITH_HASH_SHA224 */4445#ifdef WITH_HASH_SHA25646#ifdef WITH_CURVE_SECP192R147#define DECDSA_SHA256_SECP192R1_SELF_TEST_048/*** Tests for DECDSA-SHA256/SECP192R1 ***/49static const u8 decdsa_rfc6979_SECP192R1_SHA256_0_test_vector_expected_sig[] = {500x4b, 0x0b, 0x8c, 0xe9, 0x8a, 0x92, 0x86, 0x6a,510x28, 0x20, 0xe2, 0x0a, 0xa6, 0xb7, 0x5b, 0x56,520x38, 0x2e, 0x0f, 0x9b, 0xfd, 0x5e, 0xcb, 0x55,530xcc, 0xdb, 0x00, 0x69, 0x26, 0xea, 0x95, 0x65,540xcb, 0xad, 0xc8, 0x40, 0x82, 0x9d, 0x8c, 0x38,550x4e, 0x06, 0xde, 0x1f, 0x1e, 0x38, 0x1b, 0x8556};57static const u8 decdsa_rfc6979_SECP192R1_SHA256_0_test_vector_priv_key[] = {580x6f, 0xab, 0x03, 0x49, 0x34, 0xe4, 0xc0, 0xfc,590x9a, 0xe6, 0x7f, 0x5b, 0x56, 0x59, 0xa9, 0xd7,600xd1, 0xfe, 0xfd, 0x18, 0x7e, 0xe0, 0x9f, 0xd461};62static const ec_test_case decdsa_rfc6979_SECP192R1_SHA256_0_test_case = {63.name="DECDSA-SHA256/SECP192R1 0",64.ec_str_p = &secp192r1_str_params,65.priv_key = decdsa_rfc6979_SECP192R1_SHA256_0_test_vector_priv_key,66.priv_key_len = sizeof(decdsa_rfc6979_SECP192R1_SHA256_0_test_vector_priv_key),67.nn_random = NULL,68.hash_type = SHA256,69.msg = "sample",70.msglen = 6,71.sig_type = DECDSA,72.exp_sig = decdsa_rfc6979_SECP192R1_SHA256_0_test_vector_expected_sig,73.exp_siglen = sizeof(decdsa_rfc6979_SECP192R1_SHA256_0_test_vector_expected_sig),74.adata = NULL,75.adata_len = 076};77#endif /* WITH_CURVE_SECP192R1 */78#endif /* WITH_HASH_SHA256 */7980#ifdef WITH_HASH_SHA38481#ifdef WITH_CURVE_SECP192R182#define DECDSA_SHA384_SECP192R1_SELF_TEST_083/*** Tests for DECDSA-SHA384/SECP192R1 ***/84static const u8 decdsa_rfc6979_SECP192R1_SHA384_0_test_vector_expected_sig[] = {850xda, 0x63, 0xbf, 0x0b, 0x9a, 0xbc, 0xf9, 0x48,860xfb, 0xb1, 0xe9, 0x16, 0x7f, 0x13, 0x61, 0x45,870xf7, 0xa2, 0x04, 0x26, 0xdc, 0xc2, 0x87, 0xd5,880xc3, 0xaa, 0x2c, 0x96, 0x09, 0x72, 0xbd, 0x7a,890x20, 0x03, 0xa5, 0x7e, 0x1c, 0x4c, 0x77, 0xf0,900x57, 0x8f, 0x8a, 0xe9, 0x5e, 0x31, 0xec, 0x5e91};92static const u8 decdsa_rfc6979_SECP192R1_SHA384_0_test_vector_priv_key[] = {930x6f, 0xab, 0x03, 0x49, 0x34, 0xe4, 0xc0, 0xfc,940x9a, 0xe6, 0x7f, 0x5b, 0x56, 0x59, 0xa9, 0xd7,950xd1, 0xfe, 0xfd, 0x18, 0x7e, 0xe0, 0x9f, 0xd496};97static const ec_test_case decdsa_rfc6979_SECP192R1_SHA384_0_test_case = {98.name="DECDSA-SHA384/SECP192R1 0",99.ec_str_p = &secp192r1_str_params,100.priv_key = decdsa_rfc6979_SECP192R1_SHA384_0_test_vector_priv_key,101.priv_key_len = sizeof(decdsa_rfc6979_SECP192R1_SHA384_0_test_vector_priv_key),102.nn_random = NULL,103.hash_type = SHA384,104.msg = "sample",105.msglen = 6,106.sig_type = DECDSA,107.exp_sig = decdsa_rfc6979_SECP192R1_SHA384_0_test_vector_expected_sig,108.exp_siglen = sizeof(decdsa_rfc6979_SECP192R1_SHA384_0_test_vector_expected_sig),109.adata = NULL,110.adata_len = 0111};112#endif /* WITH_CURVE_SECP192R1 */113#endif /* WITH_HASH_SHA384 */114115#ifdef WITH_HASH_SHA512116#ifdef WITH_CURVE_SECP192R1117#define DECDSA_SHA512_SECP192R1_SELF_TEST_0118/*** Tests for DECDSA-SHA512/SECP192R1 ***/119static const u8 decdsa_rfc6979_SECP192R1_SHA512_0_test_vector_expected_sig[] = {1200x4d, 0x60, 0xc5, 0xab, 0x19, 0x96, 0xbd, 0x84,1210x83, 0x43, 0xb3, 0x1c, 0x00, 0x85, 0x02, 0x05,1220xe2, 0xea, 0x69, 0x22, 0xda, 0xc2, 0xe4, 0xb8,1230x3f, 0x6e, 0x83, 0x74, 0x48, 0xf0, 0x27, 0xa1,1240xbf, 0x4b, 0x34, 0xe7, 0x96, 0xe3, 0x2a, 0x81,1250x1c, 0xbb, 0x40, 0x50, 0x90, 0x8d, 0x8f, 0x67126};127static const u8 decdsa_rfc6979_SECP192R1_SHA512_0_test_vector_priv_key[] = {1280x6f, 0xab, 0x03, 0x49, 0x34, 0xe4, 0xc0, 0xfc,1290x9a, 0xe6, 0x7f, 0x5b, 0x56, 0x59, 0xa9, 0xd7,1300xd1, 0xfe, 0xfd, 0x18, 0x7e, 0xe0, 0x9f, 0xd4131};132static const ec_test_case decdsa_rfc6979_SECP192R1_SHA512_0_test_case = {133.name="DECDSA-SHA512/SECP192R1 0",134.ec_str_p = &secp192r1_str_params,135.priv_key = decdsa_rfc6979_SECP192R1_SHA512_0_test_vector_priv_key,136.priv_key_len = sizeof(decdsa_rfc6979_SECP192R1_SHA512_0_test_vector_priv_key),137.nn_random = NULL,138.hash_type = SHA512,139.msg = "sample",140.msglen = 6,141.sig_type = DECDSA,142.exp_sig = decdsa_rfc6979_SECP192R1_SHA512_0_test_vector_expected_sig,143.exp_siglen = sizeof(decdsa_rfc6979_SECP192R1_SHA512_0_test_vector_expected_sig),144.adata = NULL,145.adata_len = 0146};147#endif /* WITH_CURVE_SECP192R1 */148#endif /* WITH_HASH_SHA512 */149150#ifdef WITH_HASH_SHA224151#ifdef WITH_CURVE_SECP192R1152#define DECDSA_SHA224_SECP192R1_SELF_TEST_1153/*** Tests for DECDSA-SHA224/SECP192R1 ***/154static const u8 decdsa_rfc6979_SECP192R1_SHA224_1_test_vector_expected_sig[] = {1550x69, 0x45, 0xa1, 0xc1, 0xd1, 0xb2, 0x20, 0x6b,1560x81, 0x45, 0x54, 0x8f, 0x63, 0x3b, 0xb6, 0x1c,1570xef, 0x04, 0x89, 0x1b, 0xaf, 0x26, 0xed, 0x34,1580xb7, 0xfb, 0x7f, 0xdf, 0xc3, 0x39, 0xc0, 0xb9,1590xbd, 0x61, 0xa9, 0xf5, 0xa8, 0xea, 0xf9, 0xbe,1600x58, 0xfc, 0x5c, 0xba, 0x2c, 0xb1, 0x52, 0x93161};162static const u8 decdsa_rfc6979_SECP192R1_SHA224_1_test_vector_priv_key[] = {1630x6f, 0xab, 0x03, 0x49, 0x34, 0xe4, 0xc0, 0xfc,1640x9a, 0xe6, 0x7f, 0x5b, 0x56, 0x59, 0xa9, 0xd7,1650xd1, 0xfe, 0xfd, 0x18, 0x7e, 0xe0, 0x9f, 0xd4166};167static const ec_test_case decdsa_rfc6979_SECP192R1_SHA224_1_test_case = {168.name="DECDSA-SHA224/SECP192R1 1",169.ec_str_p = &secp192r1_str_params,170.priv_key = decdsa_rfc6979_SECP192R1_SHA224_1_test_vector_priv_key,171.priv_key_len = sizeof(decdsa_rfc6979_SECP192R1_SHA224_1_test_vector_priv_key),172.nn_random = NULL,173.hash_type = SHA224,174.msg = "test",175.msglen = 4,176.sig_type = DECDSA,177.exp_sig = decdsa_rfc6979_SECP192R1_SHA224_1_test_vector_expected_sig,178.exp_siglen = sizeof(decdsa_rfc6979_SECP192R1_SHA224_1_test_vector_expected_sig),179.adata = NULL,180.adata_len = 0181};182#endif /* WITH_CURVE_SECP192R1 */183#endif /* WITH_HASH_SHA224 */184185#ifdef WITH_HASH_SHA256186#ifdef WITH_CURVE_SECP192R1187#define DECDSA_SHA256_SECP192R1_SELF_TEST_1188/*** Tests for DECDSA-SHA256/SECP192R1 ***/189static const u8 decdsa_rfc6979_SECP192R1_SHA256_1_test_vector_expected_sig[] = {1900x3a, 0x71, 0x8b, 0xd8, 0xb4, 0x92, 0x6c, 0x3b,1910x52, 0xee, 0x6b, 0xbe, 0x67, 0xef, 0x79, 0xb1,1920x8c, 0xb6, 0xeb, 0x62, 0xb1, 0xad, 0x97, 0xae,1930x56, 0x62, 0xe6, 0x84, 0x8a, 0x4a, 0x19, 0xb1,1940xf1, 0xae, 0x2f, 0x72, 0xac, 0xd4, 0xb8, 0xbb,1950xe5, 0x0f, 0x1e, 0xac, 0x65, 0xd9, 0x12, 0x4f196};197static const u8 decdsa_rfc6979_SECP192R1_SHA256_1_test_vector_priv_key[] = {1980x6f, 0xab, 0x03, 0x49, 0x34, 0xe4, 0xc0, 0xfc,1990x9a, 0xe6, 0x7f, 0x5b, 0x56, 0x59, 0xa9, 0xd7,2000xd1, 0xfe, 0xfd, 0x18, 0x7e, 0xe0, 0x9f, 0xd4201};202static const ec_test_case decdsa_rfc6979_SECP192R1_SHA256_1_test_case = {203.name="DECDSA-SHA256/SECP192R1 1",204.ec_str_p = &secp192r1_str_params,205.priv_key = decdsa_rfc6979_SECP192R1_SHA256_1_test_vector_priv_key,206.priv_key_len = sizeof(decdsa_rfc6979_SECP192R1_SHA256_1_test_vector_priv_key),207.nn_random = NULL,208.hash_type = SHA256,209.msg = "test",210.msglen = 4,211.sig_type = DECDSA,212.exp_sig = decdsa_rfc6979_SECP192R1_SHA256_1_test_vector_expected_sig,213.exp_siglen = sizeof(decdsa_rfc6979_SECP192R1_SHA256_1_test_vector_expected_sig),214.adata = NULL,215.adata_len = 0216};217#endif /* WITH_CURVE_SECP192R1 */218#endif /* WITH_HASH_SHA256 */219220#ifdef WITH_HASH_SHA384221#ifdef WITH_CURVE_SECP192R1222#define DECDSA_SHA384_SECP192R1_SELF_TEST_1223/*** Tests for DECDSA-SHA384/SECP192R1 ***/224static const u8 decdsa_rfc6979_SECP192R1_SHA384_1_test_vector_expected_sig[] = {2250xb2, 0x34, 0xb6, 0x0b, 0x4d, 0xb7, 0x5a, 0x73,2260x3e, 0x19, 0x28, 0x0a, 0x7a, 0x60, 0x34, 0xbd,2270x6b, 0x1e, 0xe8, 0x8a, 0xf5, 0x33, 0x23, 0x67,2280x79, 0x94, 0x09, 0x0b, 0x2d, 0x59, 0xbb, 0x78,2290x2b, 0xe5, 0x7e, 0x74, 0xa4, 0x4c, 0x9a, 0x1c,2300x70, 0x04, 0x13, 0xf8, 0xab, 0xef, 0xe7, 0x7a231};232static const u8 decdsa_rfc6979_SECP192R1_SHA384_1_test_vector_priv_key[] = {2330x6f, 0xab, 0x03, 0x49, 0x34, 0xe4, 0xc0, 0xfc,2340x9a, 0xe6, 0x7f, 0x5b, 0x56, 0x59, 0xa9, 0xd7,2350xd1, 0xfe, 0xfd, 0x18, 0x7e, 0xe0, 0x9f, 0xd4236};237static const ec_test_case decdsa_rfc6979_SECP192R1_SHA384_1_test_case = {238.name="DECDSA-SHA384/SECP192R1 1",239.ec_str_p = &secp192r1_str_params,240.priv_key = decdsa_rfc6979_SECP192R1_SHA384_1_test_vector_priv_key,241.priv_key_len = sizeof(decdsa_rfc6979_SECP192R1_SHA384_1_test_vector_priv_key),242.nn_random = NULL,243.hash_type = SHA384,244.msg = "test",245.msglen = 4,246.sig_type = DECDSA,247.exp_sig = decdsa_rfc6979_SECP192R1_SHA384_1_test_vector_expected_sig,248.exp_siglen = sizeof(decdsa_rfc6979_SECP192R1_SHA384_1_test_vector_expected_sig),249.adata = NULL,250.adata_len = 0251};252#endif /* WITH_CURVE_SECP192R1 */253#endif /* WITH_HASH_SHA384 */254255#ifdef WITH_HASH_SHA512256#ifdef WITH_CURVE_SECP192R1257#define DECDSA_SHA512_SECP192R1_SELF_TEST_1258/*** Tests for DECDSA-SHA512/SECP192R1 ***/259static const u8 decdsa_rfc6979_SECP192R1_SHA512_1_test_vector_expected_sig[] = {2600xfe, 0x4f, 0x4a, 0xe8, 0x6a, 0x58, 0xb6, 0x50,2610x79, 0x46, 0x71, 0x59, 0x34, 0xfe, 0x2d, 0x8f,2620xf9, 0xd9, 0x5b, 0x6b, 0x09, 0x8f, 0xe7, 0x39,2630x74, 0xcf, 0x56, 0x05, 0xc9, 0x8f, 0xba, 0x0e,2640x1e, 0xf3, 0x4d, 0x4b, 0x5a, 0x15, 0x77, 0xa7,2650xdc, 0xf5, 0x94, 0x57, 0xca, 0xe5, 0x22, 0x90266};267static const u8 decdsa_rfc6979_SECP192R1_SHA512_1_test_vector_priv_key[] = {2680x6f, 0xab, 0x03, 0x49, 0x34, 0xe4, 0xc0, 0xfc,2690x9a, 0xe6, 0x7f, 0x5b, 0x56, 0x59, 0xa9, 0xd7,2700xd1, 0xfe, 0xfd, 0x18, 0x7e, 0xe0, 0x9f, 0xd4271};272static const ec_test_case decdsa_rfc6979_SECP192R1_SHA512_1_test_case = {273.name="DECDSA-SHA512/SECP192R1 1",274.ec_str_p = &secp192r1_str_params,275.priv_key = decdsa_rfc6979_SECP192R1_SHA512_1_test_vector_priv_key,276.priv_key_len = sizeof(decdsa_rfc6979_SECP192R1_SHA512_1_test_vector_priv_key),277.nn_random = NULL,278.hash_type = SHA512,279.msg = "test",280.msglen = 4,281.sig_type = DECDSA,282.exp_sig = decdsa_rfc6979_SECP192R1_SHA512_1_test_vector_expected_sig,283.exp_siglen = sizeof(decdsa_rfc6979_SECP192R1_SHA512_1_test_vector_expected_sig),284.adata = NULL,285.adata_len = 0286};287#endif /* WITH_CURVE_SECP192R1 */288#endif /* WITH_HASH_SHA512 */289290#ifdef WITH_HASH_SHA224291#ifdef WITH_CURVE_SECP256R1292#define DECDSA_SHA224_SECP256R1_SELF_TEST_0293/*** Tests for DECDSA-SHA224/SECP256R1 ***/294static const u8 decdsa_rfc6979_SECP256R1_SHA224_0_test_vector_expected_sig[] = {2950x53, 0xb2, 0xff, 0xf5, 0xd1, 0x75, 0x2b, 0x2c,2960x68, 0x9d, 0xf2, 0x57, 0xc0, 0x4c, 0x40, 0xa5,2970x87, 0xfa, 0xba, 0xbb, 0x3f, 0x6f, 0xc2, 0x70,2980x2f, 0x13, 0x43, 0xaf, 0x7c, 0xa9, 0xaa, 0x3f,2990xb9, 0xaf, 0xb6, 0x4f, 0xdc, 0x03, 0xdc, 0x1a,3000x13, 0x1c, 0x7d, 0x23, 0x86, 0xd1, 0x1e, 0x34,3010x9f, 0x07, 0x0a, 0xa4, 0x32, 0xa4, 0xac, 0xc9,3020x18, 0xbe, 0xa9, 0x88, 0xbf, 0x75, 0xc7, 0x4c303};304static const u8 decdsa_rfc6979_SECP256R1_SHA224_0_test_vector_priv_key[] = {3050xc9, 0xaf, 0xa9, 0xd8, 0x45, 0xba, 0x75, 0x16,3060x6b, 0x5c, 0x21, 0x57, 0x67, 0xb1, 0xd6, 0x93,3070x4e, 0x50, 0xc3, 0xdb, 0x36, 0xe8, 0x9b, 0x12,3080x7b, 0x8a, 0x62, 0x2b, 0x12, 0x0f, 0x67, 0x21309};310static const ec_test_case decdsa_rfc6979_SECP256R1_SHA224_0_test_case = {311.name="DECDSA-SHA224/SECP256R1 0",312.ec_str_p = &secp256r1_str_params,313.priv_key = decdsa_rfc6979_SECP256R1_SHA224_0_test_vector_priv_key,314.priv_key_len = sizeof(decdsa_rfc6979_SECP256R1_SHA224_0_test_vector_priv_key),315.nn_random = NULL,316.hash_type = SHA224,317.msg = "sample",318.msglen = 6,319.sig_type = DECDSA,320.exp_sig = decdsa_rfc6979_SECP256R1_SHA224_0_test_vector_expected_sig,321.exp_siglen = sizeof(decdsa_rfc6979_SECP256R1_SHA224_0_test_vector_expected_sig),322.adata = NULL,323.adata_len = 0324};325#endif /* WITH_CURVE_SECP256R1 */326#endif /* WITH_HASH_SHA224 */327328#ifdef WITH_HASH_SHA256329#ifdef WITH_CURVE_SECP256R1330#define DECDSA_SHA256_SECP256R1_SELF_TEST_0331/*** Tests for DECDSA-SHA256/SECP256R1 ***/332static const u8 decdsa_rfc6979_SECP256R1_SHA256_0_test_vector_expected_sig[] = {3330xef, 0xd4, 0x8b, 0x2a, 0xac, 0xb6, 0xa8, 0xfd,3340x11, 0x40, 0xdd, 0x9c, 0xd4, 0x5e, 0x81, 0xd6,3350x9d, 0x2c, 0x87, 0x7b, 0x56, 0xaa, 0xf9, 0x91,3360xc3, 0x4d, 0x0e, 0xa8, 0x4e, 0xaf, 0x37, 0x16,3370xf7, 0xcb, 0x1c, 0x94, 0x2d, 0x65, 0x7c, 0x41,3380xd4, 0x36, 0xc7, 0xa1, 0xb6, 0xe2, 0x9f, 0x65,3390xf3, 0xe9, 0x00, 0xdb, 0xb9, 0xaf, 0xf4, 0x06,3400x4d, 0xc4, 0xab, 0x2f, 0x84, 0x3a, 0xcd, 0xa8341};342static const u8 decdsa_rfc6979_SECP256R1_SHA256_0_test_vector_priv_key[] = {3430xc9, 0xaf, 0xa9, 0xd8, 0x45, 0xba, 0x75, 0x16,3440x6b, 0x5c, 0x21, 0x57, 0x67, 0xb1, 0xd6, 0x93,3450x4e, 0x50, 0xc3, 0xdb, 0x36, 0xe8, 0x9b, 0x12,3460x7b, 0x8a, 0x62, 0x2b, 0x12, 0x0f, 0x67, 0x21347};348static const ec_test_case decdsa_rfc6979_SECP256R1_SHA256_0_test_case = {349.name="DECDSA-SHA256/SECP256R1 0",350.ec_str_p = &secp256r1_str_params,351.priv_key = decdsa_rfc6979_SECP256R1_SHA256_0_test_vector_priv_key,352.priv_key_len = sizeof(decdsa_rfc6979_SECP256R1_SHA256_0_test_vector_priv_key),353.nn_random = NULL,354.hash_type = SHA256,355.msg = "sample",356.msglen = 6,357.sig_type = DECDSA,358.exp_sig = decdsa_rfc6979_SECP256R1_SHA256_0_test_vector_expected_sig,359.exp_siglen = sizeof(decdsa_rfc6979_SECP256R1_SHA256_0_test_vector_expected_sig),360.adata = NULL,361.adata_len = 0362};363#endif /* WITH_CURVE_SECP256R1 */364#endif /* WITH_HASH_SHA256 */365366#ifdef WITH_HASH_SHA384367#ifdef WITH_CURVE_SECP256R1368#define DECDSA_SHA384_SECP256R1_SELF_TEST_0369/*** Tests for DECDSA-SHA384/SECP256R1 ***/370static const u8 decdsa_rfc6979_SECP256R1_SHA384_0_test_vector_expected_sig[] = {3710x0e, 0xaf, 0xea, 0x03, 0x9b, 0x20, 0xe9, 0xb4,3720x23, 0x09, 0xfb, 0x1d, 0x89, 0xe2, 0x13, 0x05,3730x7c, 0xbf, 0x97, 0x3d, 0xc0, 0xcf, 0xc8, 0xf1,3740x29, 0xed, 0xdd, 0xc8, 0x00, 0xef, 0x77, 0x19,3750x48, 0x61, 0xf0, 0x49, 0x1e, 0x69, 0x98, 0xb9,3760x45, 0x51, 0x93, 0xe3, 0x4e, 0x7b, 0x0d, 0x28,3770x4d, 0xdd, 0x71, 0x49, 0xa7, 0x4b, 0x95, 0xb9,3780x26, 0x1f, 0x13, 0xab, 0xde, 0x94, 0x09, 0x54379};380static const u8 decdsa_rfc6979_SECP256R1_SHA384_0_test_vector_priv_key[] = {3810xc9, 0xaf, 0xa9, 0xd8, 0x45, 0xba, 0x75, 0x16,3820x6b, 0x5c, 0x21, 0x57, 0x67, 0xb1, 0xd6, 0x93,3830x4e, 0x50, 0xc3, 0xdb, 0x36, 0xe8, 0x9b, 0x12,3840x7b, 0x8a, 0x62, 0x2b, 0x12, 0x0f, 0x67, 0x21385};386static const ec_test_case decdsa_rfc6979_SECP256R1_SHA384_0_test_case = {387.name="DECDSA-SHA384/SECP256R1 0",388.ec_str_p = &secp256r1_str_params,389.priv_key = decdsa_rfc6979_SECP256R1_SHA384_0_test_vector_priv_key,390.priv_key_len = sizeof(decdsa_rfc6979_SECP256R1_SHA384_0_test_vector_priv_key),391.nn_random = NULL,392.hash_type = SHA384,393.msg = "sample",394.msglen = 6,395.sig_type = DECDSA,396.exp_sig = decdsa_rfc6979_SECP256R1_SHA384_0_test_vector_expected_sig,397.exp_siglen = sizeof(decdsa_rfc6979_SECP256R1_SHA384_0_test_vector_expected_sig),398.adata = NULL,399.adata_len = 0400};401#endif /* WITH_CURVE_SECP256R1 */402#endif /* WITH_HASH_SHA384 */403404#ifdef WITH_HASH_SHA512405#ifdef WITH_CURVE_SECP256R1406#define DECDSA_SHA512_SECP256R1_SELF_TEST_0407/*** Tests for DECDSA-SHA512/SECP256R1 ***/408static const u8 decdsa_rfc6979_SECP256R1_SHA512_0_test_vector_expected_sig[] = {4090x84, 0x96, 0xa6, 0x0b, 0x5e, 0x9b, 0x47, 0xc8,4100x25, 0x48, 0x88, 0x27, 0xe0, 0x49, 0x5b, 0x0e,4110x3f, 0xa1, 0x09, 0xec, 0x45, 0x68, 0xfd, 0x3f,4120x8d, 0x10, 0x97, 0x67, 0x8e, 0xb9, 0x7f, 0x00,4130x23, 0x62, 0xab, 0x1a, 0xdb, 0xe2, 0xb8, 0xad,4140xf9, 0xcb, 0x9e, 0xda, 0xb7, 0x40, 0xea, 0x60,4150x49, 0xc0, 0x28, 0x11, 0x4f, 0x24, 0x60, 0xf9,4160x65, 0x54, 0xf6, 0x1f, 0xae, 0x33, 0x02, 0xfe417};418static const u8 decdsa_rfc6979_SECP256R1_SHA512_0_test_vector_priv_key[] = {4190xc9, 0xaf, 0xa9, 0xd8, 0x45, 0xba, 0x75, 0x16,4200x6b, 0x5c, 0x21, 0x57, 0x67, 0xb1, 0xd6, 0x93,4210x4e, 0x50, 0xc3, 0xdb, 0x36, 0xe8, 0x9b, 0x12,4220x7b, 0x8a, 0x62, 0x2b, 0x12, 0x0f, 0x67, 0x21423};424static const ec_test_case decdsa_rfc6979_SECP256R1_SHA512_0_test_case = {425.name="DECDSA-SHA512/SECP256R1 0",426.ec_str_p = &secp256r1_str_params,427.priv_key = decdsa_rfc6979_SECP256R1_SHA512_0_test_vector_priv_key,428.priv_key_len = sizeof(decdsa_rfc6979_SECP256R1_SHA512_0_test_vector_priv_key),429.nn_random = NULL,430.hash_type = SHA512,431.msg = "sample",432.msglen = 6,433.sig_type = DECDSA,434.exp_sig = decdsa_rfc6979_SECP256R1_SHA512_0_test_vector_expected_sig,435.exp_siglen = sizeof(decdsa_rfc6979_SECP256R1_SHA512_0_test_vector_expected_sig),436.adata = NULL,437.adata_len = 0438};439#endif /* WITH_CURVE_SECP256R1 */440#endif /* WITH_HASH_SHA512 */441442#ifdef WITH_HASH_SHA224443#ifdef WITH_CURVE_SECP256R1444#define DECDSA_SHA224_SECP256R1_SELF_TEST_1445/*** Tests for DECDSA-SHA224/SECP256R1 ***/446static const u8 decdsa_rfc6979_SECP256R1_SHA224_1_test_vector_expected_sig[] = {4470xc3, 0x7e, 0xdb, 0x6f, 0x0a, 0xe7, 0x9d, 0x47,4480xc3, 0xc2, 0x7e, 0x96, 0x2f, 0xa2, 0x69, 0xbb,4490x4f, 0x44, 0x17, 0x70, 0x35, 0x7e, 0x11, 0x4e,4500xe5, 0x11, 0xf6, 0x62, 0xec, 0x34, 0xa6, 0x92,4510xc8, 0x20, 0x05, 0x3a, 0x05, 0x79, 0x1e, 0x52,4520x1f, 0xca, 0xad, 0x60, 0x42, 0xd4, 0x0a, 0xea,4530x1d, 0x6b, 0x1a, 0x54, 0x01, 0x38, 0x55, 0x8f,4540x47, 0xd0, 0x71, 0x98, 0x00, 0xe1, 0x8f, 0x2d455};456static const u8 decdsa_rfc6979_SECP256R1_SHA224_1_test_vector_priv_key[] = {4570xc9, 0xaf, 0xa9, 0xd8, 0x45, 0xba, 0x75, 0x16,4580x6b, 0x5c, 0x21, 0x57, 0x67, 0xb1, 0xd6, 0x93,4590x4e, 0x50, 0xc3, 0xdb, 0x36, 0xe8, 0x9b, 0x12,4600x7b, 0x8a, 0x62, 0x2b, 0x12, 0x0f, 0x67, 0x21461};462static const ec_test_case decdsa_rfc6979_SECP256R1_SHA224_1_test_case = {463.name="DECDSA-SHA224/SECP256R1 1",464.ec_str_p = &secp256r1_str_params,465.priv_key = decdsa_rfc6979_SECP256R1_SHA224_1_test_vector_priv_key,466.priv_key_len = sizeof(decdsa_rfc6979_SECP256R1_SHA224_1_test_vector_priv_key),467.nn_random = NULL,468.hash_type = SHA224,469.msg = "test",470.msglen = 4,471.sig_type = DECDSA,472.exp_sig = decdsa_rfc6979_SECP256R1_SHA224_1_test_vector_expected_sig,473.exp_siglen = sizeof(decdsa_rfc6979_SECP256R1_SHA224_1_test_vector_expected_sig),474.adata = NULL,475.adata_len = 0476};477#endif /* WITH_CURVE_SECP256R1 */478#endif /* WITH_HASH_SHA224 */479480#ifdef WITH_HASH_SHA256481#ifdef WITH_CURVE_SECP256R1482#define DECDSA_SHA256_SECP256R1_SELF_TEST_1483/*** Tests for DECDSA-SHA256/SECP256R1 ***/484static const u8 decdsa_rfc6979_SECP256R1_SHA256_1_test_vector_expected_sig[] = {4850xf1, 0xab, 0xb0, 0x23, 0x51, 0x83, 0x51, 0xcd,4860x71, 0xd8, 0x81, 0x56, 0x7b, 0x1e, 0xa6, 0x63,4870xed, 0x3e, 0xfc, 0xf6, 0xc5, 0x13, 0x2b, 0x35,4880x4f, 0x28, 0xd3, 0xb0, 0xb7, 0xd3, 0x83, 0x67,4890x01, 0x9f, 0x41, 0x13, 0x74, 0x2a, 0x2b, 0x14,4900xbd, 0x25, 0x92, 0x6b, 0x49, 0xc6, 0x49, 0x15,4910x5f, 0x26, 0x7e, 0x60, 0xd3, 0x81, 0x4b, 0x4c,4920x0c, 0xc8, 0x42, 0x50, 0xe4, 0x6f, 0x00, 0x83493};494static const u8 decdsa_rfc6979_SECP256R1_SHA256_1_test_vector_priv_key[] = {4950xc9, 0xaf, 0xa9, 0xd8, 0x45, 0xba, 0x75, 0x16,4960x6b, 0x5c, 0x21, 0x57, 0x67, 0xb1, 0xd6, 0x93,4970x4e, 0x50, 0xc3, 0xdb, 0x36, 0xe8, 0x9b, 0x12,4980x7b, 0x8a, 0x62, 0x2b, 0x12, 0x0f, 0x67, 0x21499};500static const ec_test_case decdsa_rfc6979_SECP256R1_SHA256_1_test_case = {501.name="DECDSA-SHA256/SECP256R1 1",502.ec_str_p = &secp256r1_str_params,503.priv_key = decdsa_rfc6979_SECP256R1_SHA256_1_test_vector_priv_key,504.priv_key_len = sizeof(decdsa_rfc6979_SECP256R1_SHA256_1_test_vector_priv_key),505.nn_random = NULL,506.hash_type = SHA256,507.msg = "test",508.msglen = 4,509.sig_type = DECDSA,510.exp_sig = decdsa_rfc6979_SECP256R1_SHA256_1_test_vector_expected_sig,511.exp_siglen = sizeof(decdsa_rfc6979_SECP256R1_SHA256_1_test_vector_expected_sig),512.adata = NULL,513.adata_len = 0514};515#endif /* WITH_CURVE_SECP256R1 */516#endif /* WITH_HASH_SHA256 */517518#ifdef WITH_HASH_SHA384519#ifdef WITH_CURVE_SECP256R1520#define DECDSA_SHA384_SECP256R1_SELF_TEST_1521/*** Tests for DECDSA-SHA384/SECP256R1 ***/522static const u8 decdsa_rfc6979_SECP256R1_SHA384_1_test_vector_expected_sig[] = {5230x83, 0x91, 0x0e, 0x8b, 0x48, 0xbb, 0x0c, 0x74,5240x24, 0x4e, 0xbd, 0xf7, 0xf0, 0x7a, 0x1c, 0x54,5250x13, 0xd6, 0x14, 0x72, 0xbd, 0x94, 0x1e, 0xf3,5260x92, 0x0e, 0x62, 0x3f, 0xbc, 0xce, 0xbe, 0xb6,5270x8d, 0xdb, 0xec, 0x54, 0xcf, 0x8c, 0xd5, 0x87,5280x48, 0x83, 0x84, 0x1d, 0x71, 0x21, 0x42, 0xa5,5290x6a, 0x8d, 0x0f, 0x21, 0x8f, 0x50, 0x03, 0xcb,5300x02, 0x96, 0xb6, 0xb5, 0x09, 0x61, 0x9f, 0x2c531};532static const u8 decdsa_rfc6979_SECP256R1_SHA384_1_test_vector_priv_key[] = {5330xc9, 0xaf, 0xa9, 0xd8, 0x45, 0xba, 0x75, 0x16,5340x6b, 0x5c, 0x21, 0x57, 0x67, 0xb1, 0xd6, 0x93,5350x4e, 0x50, 0xc3, 0xdb, 0x36, 0xe8, 0x9b, 0x12,5360x7b, 0x8a, 0x62, 0x2b, 0x12, 0x0f, 0x67, 0x21537};538static const ec_test_case decdsa_rfc6979_SECP256R1_SHA384_1_test_case = {539.name="DECDSA-SHA384/SECP256R1 1",540.ec_str_p = &secp256r1_str_params,541.priv_key = decdsa_rfc6979_SECP256R1_SHA384_1_test_vector_priv_key,542.priv_key_len = sizeof(decdsa_rfc6979_SECP256R1_SHA384_1_test_vector_priv_key),543.nn_random = NULL,544.hash_type = SHA384,545.msg = "test",546.msglen = 4,547.sig_type = DECDSA,548.exp_sig = decdsa_rfc6979_SECP256R1_SHA384_1_test_vector_expected_sig,549.exp_siglen = sizeof(decdsa_rfc6979_SECP256R1_SHA384_1_test_vector_expected_sig),550.adata = NULL,551.adata_len = 0552};553#endif /* WITH_CURVE_SECP256R1 */554#endif /* WITH_HASH_SHA384 */555556#ifdef WITH_HASH_SHA512557#ifdef WITH_CURVE_SECP256R1558#define DECDSA_SHA512_SECP256R1_SELF_TEST_1559/*** Tests for DECDSA-SHA512/SECP256R1 ***/560static const u8 decdsa_rfc6979_SECP256R1_SHA512_1_test_vector_expected_sig[] = {5610x46, 0x1d, 0x93, 0xf3, 0x1b, 0x65, 0x40, 0x89,5620x47, 0x88, 0xfd, 0x20, 0x6c, 0x07, 0xcf, 0xa0,5630xcc, 0x35, 0xf4, 0x6f, 0xa3, 0xc9, 0x18, 0x16,5640xff, 0xf1, 0x04, 0x0a, 0xd1, 0x58, 0x1a, 0x04,5650x39, 0xaf, 0x9f, 0x15, 0xde, 0x0d, 0xb8, 0xd9,5660x7e, 0x72, 0x71, 0x9c, 0x74, 0x82, 0x0d, 0x30,5670x4c, 0xe5, 0x22, 0x6e, 0x32, 0xde, 0xda, 0xe6,5680x75, 0x19, 0xe8, 0x40, 0xd1, 0x19, 0x4e, 0x55569};570static const u8 decdsa_rfc6979_SECP256R1_SHA512_1_test_vector_priv_key[] = {5710xc9, 0xaf, 0xa9, 0xd8, 0x45, 0xba, 0x75, 0x16,5720x6b, 0x5c, 0x21, 0x57, 0x67, 0xb1, 0xd6, 0x93,5730x4e, 0x50, 0xc3, 0xdb, 0x36, 0xe8, 0x9b, 0x12,5740x7b, 0x8a, 0x62, 0x2b, 0x12, 0x0f, 0x67, 0x21575};576static const ec_test_case decdsa_rfc6979_SECP256R1_SHA512_1_test_case = {577.name="DECDSA-SHA512/SECP256R1 1",578.ec_str_p = &secp256r1_str_params,579.priv_key = decdsa_rfc6979_SECP256R1_SHA512_1_test_vector_priv_key,580.priv_key_len = sizeof(decdsa_rfc6979_SECP256R1_SHA512_1_test_vector_priv_key),581.nn_random = NULL,582.hash_type = SHA512,583.msg = "test",584.msglen = 4,585.sig_type = DECDSA,586.exp_sig = decdsa_rfc6979_SECP256R1_SHA512_1_test_vector_expected_sig,587.exp_siglen = sizeof(decdsa_rfc6979_SECP256R1_SHA512_1_test_vector_expected_sig),588.adata = NULL,589.adata_len = 0590};591#endif /* WITH_CURVE_SECP256R1 */592#endif /* WITH_HASH_SHA512 */593594#ifdef WITH_HASH_SHA224595#ifdef WITH_CURVE_SECP384R1596#define DECDSA_SHA224_SECP384R1_SELF_TEST_0597/*** Tests for DECDSA-SHA224/SECP384R1 ***/598static const u8 decdsa_rfc6979_SECP384R1_SHA224_0_test_vector_expected_sig[] = {5990x42, 0x35, 0x6e, 0x76, 0xb5, 0x5a, 0x6d, 0x9b,6000x46, 0x31, 0xc8, 0x65, 0x44, 0x5d, 0xbe, 0x54,6010xe0, 0x56, 0xd3, 0xb3, 0x43, 0x17, 0x66, 0xd0,6020x50, 0x92, 0x44, 0x79, 0x3c, 0x3f, 0x93, 0x66,6030x45, 0x0f, 0x76, 0xee, 0x3d, 0xe4, 0x3f, 0x5a,6040x12, 0x53, 0x33, 0xa6, 0xbe, 0x06, 0x01, 0x22,6050x9d, 0xa0, 0xc8, 0x17, 0x87, 0x06, 0x40, 0x21,6060xe7, 0x8d, 0xf6, 0x58, 0xf2, 0xfb, 0xb0, 0xb0,6070x42, 0xbf, 0x30, 0x46, 0x65, 0xdb, 0x72, 0x1f,6080x07, 0x7a, 0x42, 0x98, 0xb0, 0x95, 0xe4, 0x83,6090x4c, 0x08, 0x2c, 0x03, 0xd8, 0x30, 0x28, 0xef,6100xbf, 0x93, 0xa3, 0xc2, 0x39, 0x40, 0xca, 0x8d611};612static const u8 decdsa_rfc6979_SECP384R1_SHA224_0_test_vector_priv_key[] = {6130x6b, 0x9d, 0x3d, 0xad, 0x2e, 0x1b, 0x8c, 0x1c,6140x05, 0xb1, 0x98, 0x75, 0xb6, 0x65, 0x9f, 0x4d,6150xe2, 0x3c, 0x3b, 0x66, 0x7b, 0xf2, 0x97, 0xba,6160x9a, 0xa4, 0x77, 0x40, 0x78, 0x71, 0x37, 0xd8,6170x96, 0xd5, 0x72, 0x4e, 0x4c, 0x70, 0xa8, 0x25,6180xf8, 0x72, 0xc9, 0xea, 0x60, 0xd2, 0xed, 0xf5619};620static const ec_test_case decdsa_rfc6979_SECP384R1_SHA224_0_test_case = {621.name="DECDSA-SHA224/SECP384R1 0",622.ec_str_p = &secp384r1_str_params,623.priv_key = decdsa_rfc6979_SECP384R1_SHA224_0_test_vector_priv_key,624.priv_key_len = sizeof(decdsa_rfc6979_SECP384R1_SHA224_0_test_vector_priv_key),625.nn_random = NULL,626.hash_type = SHA224,627.msg = "sample",628.msglen = 6,629.sig_type = DECDSA,630.exp_sig = decdsa_rfc6979_SECP384R1_SHA224_0_test_vector_expected_sig,631.exp_siglen = sizeof(decdsa_rfc6979_SECP384R1_SHA224_0_test_vector_expected_sig),632.adata = NULL,633.adata_len = 0634};635#endif /* WITH_CURVE_SECP384R1 */636#endif /* WITH_HASH_SHA224 */637638#ifdef WITH_HASH_SHA256639#ifdef WITH_CURVE_SECP384R1640#define DECDSA_SHA256_SECP384R1_SELF_TEST_0641/*** Tests for DECDSA-SHA256/SECP384R1 ***/642static const u8 decdsa_rfc6979_SECP384R1_SHA256_0_test_vector_expected_sig[] = {6430x21, 0xb1, 0x3d, 0x1e, 0x01, 0x3c, 0x7f, 0xa1,6440x39, 0x2d, 0x03, 0xc5, 0xf9, 0x9a, 0xf8, 0xb3,6450x0c, 0x57, 0x0c, 0x6f, 0x98, 0xd4, 0xea, 0x8e,6460x35, 0x4b, 0x63, 0xa2, 0x1d, 0x3d, 0xaa, 0x33,6470xbd, 0xe1, 0xe8, 0x88, 0xe6, 0x33, 0x55, 0xd9,6480x2f, 0xa2, 0xb3, 0xc3, 0x6d, 0x8f, 0xb2, 0xcd,6490xf3, 0xaa, 0x44, 0x3f, 0xb1, 0x07, 0x74, 0x5b,6500xf4, 0xbd, 0x77, 0xcb, 0x38, 0x91, 0x67, 0x46,6510x32, 0x06, 0x8a, 0x10, 0xca, 0x67, 0xe3, 0xd4,6520x5d, 0xb2, 0x26, 0x6f, 0xa7, 0xd1, 0xfe, 0xeb,6530xef, 0xdc, 0x63, 0xec, 0xcd, 0x1a, 0xc4, 0x2e,6540xc0, 0xcb, 0x86, 0x68, 0xa4, 0xfa, 0x0a, 0xb0655};656static const u8 decdsa_rfc6979_SECP384R1_SHA256_0_test_vector_priv_key[] = {6570x6b, 0x9d, 0x3d, 0xad, 0x2e, 0x1b, 0x8c, 0x1c,6580x05, 0xb1, 0x98, 0x75, 0xb6, 0x65, 0x9f, 0x4d,6590xe2, 0x3c, 0x3b, 0x66, 0x7b, 0xf2, 0x97, 0xba,6600x9a, 0xa4, 0x77, 0x40, 0x78, 0x71, 0x37, 0xd8,6610x96, 0xd5, 0x72, 0x4e, 0x4c, 0x70, 0xa8, 0x25,6620xf8, 0x72, 0xc9, 0xea, 0x60, 0xd2, 0xed, 0xf5663};664static const ec_test_case decdsa_rfc6979_SECP384R1_SHA256_0_test_case = {665.name="DECDSA-SHA256/SECP384R1 0",666.ec_str_p = &secp384r1_str_params,667.priv_key = decdsa_rfc6979_SECP384R1_SHA256_0_test_vector_priv_key,668.priv_key_len = sizeof(decdsa_rfc6979_SECP384R1_SHA256_0_test_vector_priv_key),669.nn_random = NULL,670.hash_type = SHA256,671.msg = "sample",672.msglen = 6,673.sig_type = DECDSA,674.exp_sig = decdsa_rfc6979_SECP384R1_SHA256_0_test_vector_expected_sig,675.exp_siglen = sizeof(decdsa_rfc6979_SECP384R1_SHA256_0_test_vector_expected_sig),676.adata = NULL,677.adata_len = 0678};679#endif /* WITH_CURVE_SECP384R1 */680#endif /* WITH_HASH_SHA256 */681682#ifdef WITH_HASH_SHA384683#ifdef WITH_CURVE_SECP384R1684#define DECDSA_SHA384_SECP384R1_SELF_TEST_0685/*** Tests for DECDSA-SHA384/SECP384R1 ***/686static const u8 decdsa_rfc6979_SECP384R1_SHA384_0_test_vector_expected_sig[] = {6870x94, 0xed, 0xbb, 0x92, 0xa5, 0xec, 0xb8, 0xaa,6880xd4, 0x73, 0x6e, 0x56, 0xc6, 0x91, 0x91, 0x6b,6890x3f, 0x88, 0x14, 0x06, 0x66, 0xce, 0x9f, 0xa7,6900x3d, 0x64, 0xc4, 0xea, 0x95, 0xad, 0x13, 0x3c,6910x81, 0xa6, 0x48, 0x15, 0x2e, 0x44, 0xac, 0xf9,6920x6e, 0x36, 0xdd, 0x1e, 0x80, 0xfa, 0xbe, 0x46,6930x99, 0xef, 0x4a, 0xeb, 0x15, 0xf1, 0x78, 0xce,6940xa1, 0xfe, 0x40, 0xdb, 0x26, 0x03, 0x13, 0x8f,6950x13, 0x0e, 0x74, 0x0a, 0x19, 0x62, 0x45, 0x26,6960x20, 0x3b, 0x63, 0x51, 0xd0, 0xa3, 0xa9, 0x4f,6970xa3, 0x29, 0xc1, 0x45, 0x78, 0x6e, 0x67, 0x9e,6980x7b, 0x82, 0xc7, 0x1a, 0x38, 0x62, 0x8a, 0xc8699};700static const u8 decdsa_rfc6979_SECP384R1_SHA384_0_test_vector_priv_key[] = {7010x6b, 0x9d, 0x3d, 0xad, 0x2e, 0x1b, 0x8c, 0x1c,7020x05, 0xb1, 0x98, 0x75, 0xb6, 0x65, 0x9f, 0x4d,7030xe2, 0x3c, 0x3b, 0x66, 0x7b, 0xf2, 0x97, 0xba,7040x9a, 0xa4, 0x77, 0x40, 0x78, 0x71, 0x37, 0xd8,7050x96, 0xd5, 0x72, 0x4e, 0x4c, 0x70, 0xa8, 0x25,7060xf8, 0x72, 0xc9, 0xea, 0x60, 0xd2, 0xed, 0xf5707};708static const ec_test_case decdsa_rfc6979_SECP384R1_SHA384_0_test_case = {709.name="DECDSA-SHA384/SECP384R1 0",710.ec_str_p = &secp384r1_str_params,711.priv_key = decdsa_rfc6979_SECP384R1_SHA384_0_test_vector_priv_key,712.priv_key_len = sizeof(decdsa_rfc6979_SECP384R1_SHA384_0_test_vector_priv_key),713.nn_random = NULL,714.hash_type = SHA384,715.msg = "sample",716.msglen = 6,717.sig_type = DECDSA,718.exp_sig = decdsa_rfc6979_SECP384R1_SHA384_0_test_vector_expected_sig,719.exp_siglen = sizeof(decdsa_rfc6979_SECP384R1_SHA384_0_test_vector_expected_sig),720.adata = NULL,721.adata_len = 0722};723#endif /* WITH_CURVE_SECP384R1 */724#endif /* WITH_HASH_SHA384 */725726#ifdef WITH_HASH_SHA512727#ifdef WITH_CURVE_SECP384R1728#define DECDSA_SHA512_SECP384R1_SELF_TEST_0729/*** Tests for DECDSA-SHA512/SECP384R1 ***/730static const u8 decdsa_rfc6979_SECP384R1_SHA512_0_test_vector_expected_sig[] = {7310xed, 0x09, 0x59, 0xd5, 0x88, 0x0a, 0xb2, 0xd8,7320x69, 0xae, 0x7f, 0x6c, 0x29, 0x15, 0xc6, 0xd6,7330x0f, 0x96, 0x50, 0x7f, 0x9c, 0xb3, 0xe0, 0x47,7340xc0, 0x04, 0x68, 0x61, 0xda, 0x4a, 0x79, 0x9c,7350xfe, 0x30, 0xf3, 0x5c, 0xc9, 0x00, 0x05, 0x6d,7360x7c, 0x99, 0xcd, 0x78, 0x82, 0x43, 0x37, 0x09,7370x51, 0x2c, 0x8c, 0xce, 0xee, 0x38, 0x90, 0xa8,7380x40, 0x58, 0xce, 0x1e, 0x22, 0xdb, 0xc2, 0x19,7390x8f, 0x42, 0x32, 0x3c, 0xe8, 0xac, 0xa9, 0x13,7400x53, 0x29, 0xf0, 0x3c, 0x06, 0x8e, 0x51, 0x12,7410xdc, 0x7c, 0xc3, 0xef, 0x34, 0x46, 0xde, 0xfc,7420xeb, 0x01, 0xa4, 0x5c, 0x26, 0x67, 0xfd, 0xd5743};744static const u8 decdsa_rfc6979_SECP384R1_SHA512_0_test_vector_priv_key[] = {7450x6b, 0x9d, 0x3d, 0xad, 0x2e, 0x1b, 0x8c, 0x1c,7460x05, 0xb1, 0x98, 0x75, 0xb6, 0x65, 0x9f, 0x4d,7470xe2, 0x3c, 0x3b, 0x66, 0x7b, 0xf2, 0x97, 0xba,7480x9a, 0xa4, 0x77, 0x40, 0x78, 0x71, 0x37, 0xd8,7490x96, 0xd5, 0x72, 0x4e, 0x4c, 0x70, 0xa8, 0x25,7500xf8, 0x72, 0xc9, 0xea, 0x60, 0xd2, 0xed, 0xf5751};752static const ec_test_case decdsa_rfc6979_SECP384R1_SHA512_0_test_case = {753.name="DECDSA-SHA512/SECP384R1 0",754.ec_str_p = &secp384r1_str_params,755.priv_key = decdsa_rfc6979_SECP384R1_SHA512_0_test_vector_priv_key,756.priv_key_len = sizeof(decdsa_rfc6979_SECP384R1_SHA512_0_test_vector_priv_key),757.nn_random = NULL,758.hash_type = SHA512,759.msg = "sample",760.msglen = 6,761.sig_type = DECDSA,762.exp_sig = decdsa_rfc6979_SECP384R1_SHA512_0_test_vector_expected_sig,763.exp_siglen = sizeof(decdsa_rfc6979_SECP384R1_SHA512_0_test_vector_expected_sig),764.adata = NULL,765.adata_len = 0766};767#endif /* WITH_CURVE_SECP384R1 */768#endif /* WITH_HASH_SHA512 */769770#ifdef WITH_HASH_SHA224771#ifdef WITH_CURVE_SECP384R1772#define DECDSA_SHA224_SECP384R1_SELF_TEST_1773/*** Tests for DECDSA-SHA224/SECP384R1 ***/774static const u8 decdsa_rfc6979_SECP384R1_SHA224_1_test_vector_expected_sig[] = {7750xe8, 0xc9, 0xd0, 0xb6, 0xea, 0x72, 0xa0, 0xe7,7760x83, 0x7f, 0xea, 0x1d, 0x14, 0xa1, 0xa9, 0x55,7770x7f, 0x29, 0xfa, 0xa4, 0x5d, 0x3e, 0x7e, 0xe8,7780x88, 0xfc, 0x5b, 0xf9, 0x54, 0xb5, 0xe6, 0x24,7790x64, 0xa9, 0xa8, 0x17, 0xc4, 0x7f, 0xf7, 0x8b,7800x8c, 0x11, 0x06, 0x6b, 0x24, 0x08, 0x0e, 0x72,7810x07, 0x04, 0x1d, 0x4a, 0x7a, 0x03, 0x79, 0xac,7820x72, 0x32, 0xff, 0x72, 0xe6, 0xf7, 0x7b, 0x6d,7830xdb, 0x8f, 0x09, 0xb1, 0x6c, 0xce, 0x0e, 0xc3,7840x28, 0x6b, 0x2b, 0xd4, 0x3f, 0xa8, 0xc6, 0x14,7850x1c, 0x53, 0xea, 0x5a, 0xbe, 0xf0, 0xd8, 0x23,7860x10, 0x77, 0xa0, 0x45, 0x40, 0xa9, 0x6b, 0x66787};788static const u8 decdsa_rfc6979_SECP384R1_SHA224_1_test_vector_priv_key[] = {7890x6b, 0x9d, 0x3d, 0xad, 0x2e, 0x1b, 0x8c, 0x1c,7900x05, 0xb1, 0x98, 0x75, 0xb6, 0x65, 0x9f, 0x4d,7910xe2, 0x3c, 0x3b, 0x66, 0x7b, 0xf2, 0x97, 0xba,7920x9a, 0xa4, 0x77, 0x40, 0x78, 0x71, 0x37, 0xd8,7930x96, 0xd5, 0x72, 0x4e, 0x4c, 0x70, 0xa8, 0x25,7940xf8, 0x72, 0xc9, 0xea, 0x60, 0xd2, 0xed, 0xf5795};796static const ec_test_case decdsa_rfc6979_SECP384R1_SHA224_1_test_case = {797.name="DECDSA-SHA224/SECP384R1 1",798.ec_str_p = &secp384r1_str_params,799.priv_key = decdsa_rfc6979_SECP384R1_SHA224_1_test_vector_priv_key,800.priv_key_len = sizeof(decdsa_rfc6979_SECP384R1_SHA224_1_test_vector_priv_key),801.nn_random = NULL,802.hash_type = SHA224,803.msg = "test",804.msglen = 4,805.sig_type = DECDSA,806.exp_sig = decdsa_rfc6979_SECP384R1_SHA224_1_test_vector_expected_sig,807.exp_siglen = sizeof(decdsa_rfc6979_SECP384R1_SHA224_1_test_vector_expected_sig),808.adata = NULL,809.adata_len = 0810};811#endif /* WITH_CURVE_SECP384R1 */812#endif /* WITH_HASH_SHA224 */813814#ifdef WITH_HASH_SHA256815#ifdef WITH_CURVE_SECP384R1816#define DECDSA_SHA256_SECP384R1_SELF_TEST_1817/*** Tests for DECDSA-SHA256/SECP384R1 ***/818static const u8 decdsa_rfc6979_SECP384R1_SHA256_1_test_vector_expected_sig[] = {8190x6d, 0x6d, 0xef, 0xac, 0x9a, 0xb6, 0x4d, 0xab,8200xaf, 0xe3, 0x6c, 0x6b, 0xf5, 0x10, 0x35, 0x2a,8210x4c, 0xc2, 0x70, 0x01, 0x26, 0x36, 0x38, 0xe5,8220xb1, 0x6d, 0x9b, 0xb5, 0x1d, 0x45, 0x15, 0x59,8230xf9, 0x18, 0xee, 0xda, 0xf2, 0x29, 0x3b, 0xe5,8240xb4, 0x75, 0xcc, 0x8f, 0x01, 0x88, 0x63, 0x6b,8250x2d, 0x46, 0xf3, 0xbe, 0xcb, 0xcc, 0x52, 0x3d,8260x5f, 0x1a, 0x12, 0x56, 0xbf, 0x0c, 0x9b, 0x02,8270x4d, 0x87, 0x9b, 0xa9, 0xe8, 0x38, 0x14, 0x4c,8280x8b, 0xa6, 0xba, 0xeb, 0x4b, 0x53, 0xb4, 0x7d,8290x51, 0xab, 0x37, 0x3f, 0x98, 0x45, 0xc0, 0x51,8300x4e, 0xef, 0xb1, 0x40, 0x24, 0x78, 0x72, 0x65831};832static const u8 decdsa_rfc6979_SECP384R1_SHA256_1_test_vector_priv_key[] = {8330x6b, 0x9d, 0x3d, 0xad, 0x2e, 0x1b, 0x8c, 0x1c,8340x05, 0xb1, 0x98, 0x75, 0xb6, 0x65, 0x9f, 0x4d,8350xe2, 0x3c, 0x3b, 0x66, 0x7b, 0xf2, 0x97, 0xba,8360x9a, 0xa4, 0x77, 0x40, 0x78, 0x71, 0x37, 0xd8,8370x96, 0xd5, 0x72, 0x4e, 0x4c, 0x70, 0xa8, 0x25,8380xf8, 0x72, 0xc9, 0xea, 0x60, 0xd2, 0xed, 0xf5839};840static const ec_test_case decdsa_rfc6979_SECP384R1_SHA256_1_test_case = {841.name="DECDSA-SHA256/SECP384R1 1",842.ec_str_p = &secp384r1_str_params,843.priv_key = decdsa_rfc6979_SECP384R1_SHA256_1_test_vector_priv_key,844.priv_key_len = sizeof(decdsa_rfc6979_SECP384R1_SHA256_1_test_vector_priv_key),845.nn_random = NULL,846.hash_type = SHA256,847.msg = "test",848.msglen = 4,849.sig_type = DECDSA,850.exp_sig = decdsa_rfc6979_SECP384R1_SHA256_1_test_vector_expected_sig,851.exp_siglen = sizeof(decdsa_rfc6979_SECP384R1_SHA256_1_test_vector_expected_sig),852.adata = NULL,853.adata_len = 0854};855#endif /* WITH_CURVE_SECP384R1 */856#endif /* WITH_HASH_SHA256 */857858#ifdef WITH_HASH_SHA384859#ifdef WITH_CURVE_SECP384R1860#define DECDSA_SHA384_SECP384R1_SELF_TEST_1861/*** Tests for DECDSA-SHA384/SECP384R1 ***/862static const u8 decdsa_rfc6979_SECP384R1_SHA384_1_test_vector_expected_sig[] = {8630x82, 0x03, 0xb6, 0x3d, 0x3c, 0x85, 0x3e, 0x8d,8640x77, 0x22, 0x7f, 0xb3, 0x77, 0xbc, 0xf7, 0xb7,8650xb7, 0x72, 0xe9, 0x78, 0x92, 0xa8, 0x0f, 0x36,8660xab, 0x77, 0x5d, 0x50, 0x9d, 0x7a, 0x5f, 0xeb,8670x05, 0x42, 0xa7, 0xf0, 0x81, 0x29, 0x98, 0xda,8680x8f, 0x1d, 0xd3, 0xca, 0x3c, 0xf0, 0x23, 0xdb,8690xdd, 0xd0, 0x76, 0x04, 0x48, 0xd4, 0x2d, 0x8a,8700x43, 0xaf, 0x45, 0xaf, 0x83, 0x6f, 0xce, 0x4d,8710xe8, 0xbe, 0x06, 0xb4, 0x85, 0xe9, 0xb6, 0x1b,8720x82, 0x7c, 0x2f, 0x13, 0x17, 0x39, 0x23, 0xe0,8730x6a, 0x73, 0x9f, 0x04, 0x06, 0x49, 0xa6, 0x67,8740xbf, 0x3b, 0x82, 0x82, 0x46, 0xba, 0xa5, 0xa5875};876static const u8 decdsa_rfc6979_SECP384R1_SHA384_1_test_vector_priv_key[] = {8770x6b, 0x9d, 0x3d, 0xad, 0x2e, 0x1b, 0x8c, 0x1c,8780x05, 0xb1, 0x98, 0x75, 0xb6, 0x65, 0x9f, 0x4d,8790xe2, 0x3c, 0x3b, 0x66, 0x7b, 0xf2, 0x97, 0xba,8800x9a, 0xa4, 0x77, 0x40, 0x78, 0x71, 0x37, 0xd8,8810x96, 0xd5, 0x72, 0x4e, 0x4c, 0x70, 0xa8, 0x25,8820xf8, 0x72, 0xc9, 0xea, 0x60, 0xd2, 0xed, 0xf5883};884static const ec_test_case decdsa_rfc6979_SECP384R1_SHA384_1_test_case = {885.name="DECDSA-SHA384/SECP384R1 1",886.ec_str_p = &secp384r1_str_params,887.priv_key = decdsa_rfc6979_SECP384R1_SHA384_1_test_vector_priv_key,888.priv_key_len = sizeof(decdsa_rfc6979_SECP384R1_SHA384_1_test_vector_priv_key),889.nn_random = NULL,890.hash_type = SHA384,891.msg = "test",892.msglen = 4,893.sig_type = DECDSA,894.exp_sig = decdsa_rfc6979_SECP384R1_SHA384_1_test_vector_expected_sig,895.exp_siglen = sizeof(decdsa_rfc6979_SECP384R1_SHA384_1_test_vector_expected_sig),896.adata = NULL,897.adata_len = 0898};899#endif /* WITH_CURVE_SECP384R1 */900#endif /* WITH_HASH_SHA384 */901902#ifdef WITH_HASH_SHA512903#ifdef WITH_CURVE_SECP384R1904#define DECDSA_SHA512_SECP384R1_SELF_TEST_1905/*** Tests for DECDSA-SHA512/SECP384R1 ***/906static const u8 decdsa_rfc6979_SECP384R1_SHA512_1_test_vector_expected_sig[] = {9070xa0, 0xd5, 0xd0, 0x90, 0xc9, 0x98, 0x0f, 0xaf,9080x3c, 0x2c, 0xe5, 0x7b, 0x7a, 0xe9, 0x51, 0xd3,9090x19, 0x77, 0xdd, 0x11, 0xc7, 0x75, 0xd3, 0x14,9100xaf, 0x55, 0xf7, 0x6c, 0x67, 0x64, 0x47, 0xd0,9110x6f, 0xb6, 0x49, 0x5c, 0xd2, 0x1b, 0x4b, 0x6e,9120x34, 0x0f, 0xc2, 0x36, 0x58, 0x4f, 0xb2, 0x77,9130x97, 0x69, 0x84, 0xe5, 0x9b, 0x4c, 0x77, 0xb0,9140xe8, 0xe4, 0x46, 0x0d, 0xca, 0x3d, 0x9f, 0x20,9150xe0, 0x7b, 0x9b, 0xb1, 0xf6, 0x3b, 0xee, 0xfa,9160xf5, 0x76, 0xf6, 0xb2, 0xe8, 0xb2, 0x24, 0x63,9170x4a, 0x20, 0x92, 0xcd, 0x37, 0x92, 0xe0, 0x15,9180x9a, 0xd9, 0xce, 0xe3, 0x76, 0x59, 0xc7, 0x36919};920static const u8 decdsa_rfc6979_SECP384R1_SHA512_1_test_vector_priv_key[] = {9210x6b, 0x9d, 0x3d, 0xad, 0x2e, 0x1b, 0x8c, 0x1c,9220x05, 0xb1, 0x98, 0x75, 0xb6, 0x65, 0x9f, 0x4d,9230xe2, 0x3c, 0x3b, 0x66, 0x7b, 0xf2, 0x97, 0xba,9240x9a, 0xa4, 0x77, 0x40, 0x78, 0x71, 0x37, 0xd8,9250x96, 0xd5, 0x72, 0x4e, 0x4c, 0x70, 0xa8, 0x25,9260xf8, 0x72, 0xc9, 0xea, 0x60, 0xd2, 0xed, 0xf5927};928static const ec_test_case decdsa_rfc6979_SECP384R1_SHA512_1_test_case = {929.name="DECDSA-SHA512/SECP384R1 1",930.ec_str_p = &secp384r1_str_params,931.priv_key = decdsa_rfc6979_SECP384R1_SHA512_1_test_vector_priv_key,932.priv_key_len = sizeof(decdsa_rfc6979_SECP384R1_SHA512_1_test_vector_priv_key),933.nn_random = NULL,934.hash_type = SHA512,935.msg = "test",936.msglen = 4,937.sig_type = DECDSA,938.exp_sig = decdsa_rfc6979_SECP384R1_SHA512_1_test_vector_expected_sig,939.exp_siglen = sizeof(decdsa_rfc6979_SECP384R1_SHA512_1_test_vector_expected_sig),940.adata = NULL,941.adata_len = 0942};943#endif /* WITH_CURVE_SECP384R1 */944#endif /* WITH_HASH_SHA512 */945946#ifdef WITH_HASH_SHA224947#ifdef WITH_CURVE_SECP521R1948#define DECDSA_SHA224_SECP521R1_SELF_TEST_0949/*** Tests for DECDSA-SHA224/SECP521R1 ***/950static const u8 decdsa_rfc6979_SECP521R1_SHA224_0_test_vector_expected_sig[] = {9510x01, 0x77, 0x63, 0x31, 0xcf, 0xcd, 0xf9, 0x27,9520xd6, 0x66, 0xe0, 0x32, 0xe0, 0x0c, 0xf7, 0x76,9530x18, 0x7b, 0xc9, 0xfd, 0xd8, 0xe6, 0x9d, 0x0d,9540xab, 0xb4, 0x10, 0x9f, 0xfe, 0x1b, 0x5e, 0x2a,9550x30, 0x71, 0x5f, 0x4c, 0xc9, 0x23, 0xa4, 0xa5,9560xe9, 0x4d, 0x25, 0x03, 0xe9, 0xac, 0xfe, 0xd9,9570x28, 0x57, 0xb7, 0xf3, 0x1d, 0x71, 0x52, 0xe0,9580xf8, 0xc0, 0x0c, 0x15, 0xff, 0x3d, 0x87, 0xe2,9590xed, 0x2e, 0x00, 0x50, 0xcb, 0x52, 0x65, 0x41,9600x7f, 0xe2, 0x32, 0x0b, 0xbb, 0x5a, 0x12, 0x2b,9610x8e, 0x1a, 0x32, 0xbd, 0x69, 0x90, 0x89, 0x85,9620x11, 0x28, 0xe3, 0x60, 0xe6, 0x20, 0xa3, 0x0c,9630x7e, 0x17, 0xba, 0x41, 0xa6, 0x66, 0xaf, 0x12,9640x6c, 0xe1, 0x00, 0xe5, 0x79, 0x9b, 0x15, 0x3b,9650x60, 0x52, 0x8d, 0x53, 0x00, 0xd0, 0x84, 0x89,9660xca, 0x91, 0x78, 0xfb, 0x61, 0x0a, 0x20, 0x06,9670xc2, 0x54, 0xb4, 0x1f968};969static const u8 decdsa_rfc6979_SECP521R1_SHA224_0_test_vector_priv_key[] = {9700x00, 0xfa, 0xd0, 0x6d, 0xaa, 0x62, 0xba, 0x3b,9710x25, 0xd2, 0xfb, 0x40, 0x13, 0x3d, 0xa7, 0x57,9720x20, 0x5d, 0xe6, 0x7f, 0x5b, 0xb0, 0x01, 0x8f,9730xee, 0x8c, 0x86, 0xe1, 0xb6, 0x8c, 0x7e, 0x75,9740xca, 0xa8, 0x96, 0xeb, 0x32, 0xf1, 0xf4, 0x7c,9750x70, 0x85, 0x58, 0x36, 0xa6, 0xd1, 0x6f, 0xcc,9760x14, 0x66, 0xf6, 0xd8, 0xfb, 0xec, 0x67, 0xdb,9770x89, 0xec, 0x0c, 0x08, 0xb0, 0xe9, 0x96, 0xb8,9780x35, 0x38979};980static const ec_test_case decdsa_rfc6979_SECP521R1_SHA224_0_test_case = {981.name="DECDSA-SHA224/SECP521R1 0",982.ec_str_p = &secp521r1_str_params,983.priv_key = decdsa_rfc6979_SECP521R1_SHA224_0_test_vector_priv_key,984.priv_key_len = sizeof(decdsa_rfc6979_SECP521R1_SHA224_0_test_vector_priv_key),985.nn_random = NULL,986.hash_type = SHA224,987.msg = "sample",988.msglen = 6,989.sig_type = DECDSA,990.exp_sig = decdsa_rfc6979_SECP521R1_SHA224_0_test_vector_expected_sig,991.exp_siglen = sizeof(decdsa_rfc6979_SECP521R1_SHA224_0_test_vector_expected_sig),992.adata = NULL,993.adata_len = 0994};995#endif /* WITH_CURVE_SECP521R1 */996#endif /* WITH_HASH_SHA224 */997998#ifdef WITH_HASH_SHA256999#ifdef WITH_CURVE_SECP521R11000#define DECDSA_SHA256_SECP521R1_SELF_TEST_01001/*** Tests for DECDSA-SHA256/SECP521R1 ***/1002static const u8 decdsa_rfc6979_SECP521R1_SHA256_0_test_vector_expected_sig[] = {10030x01, 0x51, 0x1b, 0xb4, 0xd6, 0x75, 0x11, 0x4f,10040xe2, 0x66, 0xfc, 0x43, 0x72, 0xb8, 0x76, 0x82,10050xba, 0xec, 0xc0, 0x1d, 0x3c, 0xc6, 0x2c, 0xf2,10060x30, 0x3c, 0x92, 0xb3, 0x52, 0x60, 0x12, 0x65,10070x9d, 0x16, 0x87, 0x6e, 0x25, 0xc7, 0xc1, 0xe5,10080x76, 0x48, 0xf2, 0x3b, 0x73, 0x56, 0x4d, 0x67,10090xf6, 0x1c, 0x6f, 0x14, 0xd5, 0x27, 0xd5, 0x49,10100x72, 0x81, 0x04, 0x21, 0xe7, 0xd8, 0x75, 0x89,10110xe1, 0xa7, 0x00, 0x4a, 0x17, 0x11, 0x43, 0xa8,10120x31, 0x63, 0xd6, 0xdf, 0x46, 0x0a, 0xaf, 0x61,10130x52, 0x26, 0x95, 0xf2, 0x07, 0xa5, 0x8b, 0x95,10140xc0, 0x64, 0x4d, 0x87, 0xe5, 0x2a, 0xa1, 0xa3,10150x47, 0x91, 0x6e, 0x4f, 0x7a, 0x72, 0x93, 0x0b,10160x1b, 0xc0, 0x6d, 0xbe, 0x22, 0xce, 0x3f, 0x58,10170x26, 0x4a, 0xfd, 0x23, 0x70, 0x4c, 0xbb, 0x63,10180xb2, 0x9b, 0x93, 0x1f, 0x7d, 0xe6, 0xc9, 0xd9,10190x49, 0xa7, 0xec, 0xfc1020};1021static const u8 decdsa_rfc6979_SECP521R1_SHA256_0_test_vector_priv_key[] = {10220x00, 0xfa, 0xd0, 0x6d, 0xaa, 0x62, 0xba, 0x3b,10230x25, 0xd2, 0xfb, 0x40, 0x13, 0x3d, 0xa7, 0x57,10240x20, 0x5d, 0xe6, 0x7f, 0x5b, 0xb0, 0x01, 0x8f,10250xee, 0x8c, 0x86, 0xe1, 0xb6, 0x8c, 0x7e, 0x75,10260xca, 0xa8, 0x96, 0xeb, 0x32, 0xf1, 0xf4, 0x7c,10270x70, 0x85, 0x58, 0x36, 0xa6, 0xd1, 0x6f, 0xcc,10280x14, 0x66, 0xf6, 0xd8, 0xfb, 0xec, 0x67, 0xdb,10290x89, 0xec, 0x0c, 0x08, 0xb0, 0xe9, 0x96, 0xb8,10300x35, 0x381031};1032static const ec_test_case decdsa_rfc6979_SECP521R1_SHA256_0_test_case = {1033.name="DECDSA-SHA256/SECP521R1 0",1034.ec_str_p = &secp521r1_str_params,1035.priv_key = decdsa_rfc6979_SECP521R1_SHA256_0_test_vector_priv_key,1036.priv_key_len = sizeof(decdsa_rfc6979_SECP521R1_SHA256_0_test_vector_priv_key),1037.nn_random = NULL,1038.hash_type = SHA256,1039.msg = "sample",1040.msglen = 6,1041.sig_type = DECDSA,1042.exp_sig = decdsa_rfc6979_SECP521R1_SHA256_0_test_vector_expected_sig,1043.exp_siglen = sizeof(decdsa_rfc6979_SECP521R1_SHA256_0_test_vector_expected_sig),1044.adata = NULL,1045.adata_len = 01046};1047#endif /* WITH_CURVE_SECP521R1 */1048#endif /* WITH_HASH_SHA256 */10491050#ifdef WITH_HASH_SHA3841051#ifdef WITH_CURVE_SECP521R11052#define DECDSA_SHA384_SECP521R1_SELF_TEST_01053/*** Tests for DECDSA-SHA384/SECP521R1 ***/1054static const u8 decdsa_rfc6979_SECP521R1_SHA384_0_test_vector_expected_sig[] = {10550x01, 0xea, 0x84, 0x2a, 0x0e, 0x17, 0xd2, 0xde,10560x4f, 0x92, 0xc1, 0x53, 0x15, 0xc6, 0x3d, 0xdf,10570x72, 0x68, 0x5c, 0x18, 0x19, 0x5c, 0x2b, 0xb9,10580x5e, 0x57, 0x2b, 0x9c, 0x51, 0x36, 0xca, 0x4b,10590x4b, 0x57, 0x6a, 0xd7, 0x12, 0xa5, 0x2b, 0xe9,10600x73, 0x06, 0x27, 0xd1, 0x60, 0x54, 0xba, 0x40,10610xcc, 0x0b, 0x8d, 0x3f, 0xf0, 0x35, 0xb1, 0x2a,10620xe7, 0x51, 0x68, 0x39, 0x7f, 0x5d, 0x50, 0xc6,10630x74, 0x51, 0x01, 0xf2, 0x1a, 0x3c, 0xee, 0x06,10640x6e, 0x19, 0x61, 0x02, 0x5f, 0xb0, 0x48, 0xbd,10650x5f, 0xe2, 0xb7, 0x92, 0x4d, 0x0c, 0xd7, 0x97,10660xba, 0xbe, 0x0a, 0x83, 0xb6, 0x6f, 0x1e, 0x35,10670xee, 0xaf, 0x5f, 0xde, 0x14, 0x3f, 0xa8, 0x5d,10680xc3, 0x94, 0xa7, 0xde, 0xe7, 0x66, 0x52, 0x33,10690x93, 0x78, 0x44, 0x84, 0xbd, 0xf3, 0xe0, 0x01,10700x14, 0xa1, 0xc8, 0x57, 0xcd, 0xe1, 0xaa, 0x20,10710x3d, 0xb6, 0x5d, 0x611072};1073static const u8 decdsa_rfc6979_SECP521R1_SHA384_0_test_vector_priv_key[] = {10740x00, 0xfa, 0xd0, 0x6d, 0xaa, 0x62, 0xba, 0x3b,10750x25, 0xd2, 0xfb, 0x40, 0x13, 0x3d, 0xa7, 0x57,10760x20, 0x5d, 0xe6, 0x7f, 0x5b, 0xb0, 0x01, 0x8f,10770xee, 0x8c, 0x86, 0xe1, 0xb6, 0x8c, 0x7e, 0x75,10780xca, 0xa8, 0x96, 0xeb, 0x32, 0xf1, 0xf4, 0x7c,10790x70, 0x85, 0x58, 0x36, 0xa6, 0xd1, 0x6f, 0xcc,10800x14, 0x66, 0xf6, 0xd8, 0xfb, 0xec, 0x67, 0xdb,10810x89, 0xec, 0x0c, 0x08, 0xb0, 0xe9, 0x96, 0xb8,10820x35, 0x381083};1084static const ec_test_case decdsa_rfc6979_SECP521R1_SHA384_0_test_case = {1085.name="DECDSA-SHA384/SECP521R1 0",1086.ec_str_p = &secp521r1_str_params,1087.priv_key = decdsa_rfc6979_SECP521R1_SHA384_0_test_vector_priv_key,1088.priv_key_len = sizeof(decdsa_rfc6979_SECP521R1_SHA384_0_test_vector_priv_key),1089.nn_random = NULL,1090.hash_type = SHA384,1091.msg = "sample",1092.msglen = 6,1093.sig_type = DECDSA,1094.exp_sig = decdsa_rfc6979_SECP521R1_SHA384_0_test_vector_expected_sig,1095.exp_siglen = sizeof(decdsa_rfc6979_SECP521R1_SHA384_0_test_vector_expected_sig),1096.adata = NULL,1097.adata_len = 01098};1099#endif /* WITH_CURVE_SECP521R1 */1100#endif /* WITH_HASH_SHA384 */11011102#ifdef WITH_HASH_SHA5121103#ifdef WITH_CURVE_SECP521R11104#define DECDSA_SHA512_SECP521R1_SELF_TEST_01105/*** Tests for DECDSA-SHA512/SECP521R1 ***/1106static const u8 decdsa_rfc6979_SECP521R1_SHA512_0_test_vector_expected_sig[] = {11070x00, 0xc3, 0x28, 0xfa, 0xfc, 0xbd, 0x79, 0xdd,11080x77, 0x85, 0x03, 0x70, 0xc4, 0x63, 0x25, 0xd9,11090x87, 0xcb, 0x52, 0x55, 0x69, 0xfb, 0x63, 0xc5,11100xd3, 0xbc, 0x53, 0x95, 0x0e, 0x6d, 0x4c, 0x5f,11110x17, 0x4e, 0x25, 0xa1, 0xee, 0x90, 0x17, 0xb5,11120xd4, 0x50, 0x60, 0x6a, 0xdd, 0x15, 0x2b, 0x53,11130x49, 0x31, 0xd7, 0xd4, 0xe8, 0x45, 0x5c, 0xc9,11140x1f, 0x9b, 0x15, 0xbf, 0x05, 0xec, 0x36, 0xe3,11150x77, 0xfa, 0x00, 0x61, 0x7c, 0xce, 0x7c, 0xf5,11160x06, 0x48, 0x06, 0xc4, 0x67, 0xf6, 0x78, 0xd3,11170xb4, 0x08, 0x0d, 0x6f, 0x1c, 0xc5, 0x0a, 0xf2,11180x6c, 0xa2, 0x09, 0x41, 0x73, 0x08, 0x28, 0x1b,11190x68, 0xaf, 0x28, 0x26, 0x23, 0xea, 0xa6, 0x3e,11200x5b, 0x5c, 0x07, 0x23, 0xd8, 0xb8, 0xc3, 0x7f,11210xf0, 0x77, 0x7b, 0x1a, 0x20, 0xf8, 0xcc, 0xb1,11220xdc, 0xcc, 0x43, 0x99, 0x7f, 0x1e, 0xe0, 0xe4,11230x4d, 0xa4, 0xa6, 0x7a1124};1125static const u8 decdsa_rfc6979_SECP521R1_SHA512_0_test_vector_priv_key[] = {11260x00, 0xfa, 0xd0, 0x6d, 0xaa, 0x62, 0xba, 0x3b,11270x25, 0xd2, 0xfb, 0x40, 0x13, 0x3d, 0xa7, 0x57,11280x20, 0x5d, 0xe6, 0x7f, 0x5b, 0xb0, 0x01, 0x8f,11290xee, 0x8c, 0x86, 0xe1, 0xb6, 0x8c, 0x7e, 0x75,11300xca, 0xa8, 0x96, 0xeb, 0x32, 0xf1, 0xf4, 0x7c,11310x70, 0x85, 0x58, 0x36, 0xa6, 0xd1, 0x6f, 0xcc,11320x14, 0x66, 0xf6, 0xd8, 0xfb, 0xec, 0x67, 0xdb,11330x89, 0xec, 0x0c, 0x08, 0xb0, 0xe9, 0x96, 0xb8,11340x35, 0x381135};1136static const ec_test_case decdsa_rfc6979_SECP521R1_SHA512_0_test_case = {1137.name="DECDSA-SHA512/SECP521R1 0",1138.ec_str_p = &secp521r1_str_params,1139.priv_key = decdsa_rfc6979_SECP521R1_SHA512_0_test_vector_priv_key,1140.priv_key_len = sizeof(decdsa_rfc6979_SECP521R1_SHA512_0_test_vector_priv_key),1141.nn_random = NULL,1142.hash_type = SHA512,1143.msg = "sample",1144.msglen = 6,1145.sig_type = DECDSA,1146.exp_sig = decdsa_rfc6979_SECP521R1_SHA512_0_test_vector_expected_sig,1147.exp_siglen = sizeof(decdsa_rfc6979_SECP521R1_SHA512_0_test_vector_expected_sig),1148.adata = NULL,1149.adata_len = 01150};1151#endif /* WITH_CURVE_SECP521R1 */1152#endif /* WITH_HASH_SHA512 */11531154#ifdef WITH_HASH_SHA2241155#ifdef WITH_CURVE_SECP521R11156#define DECDSA_SHA224_SECP521R1_SELF_TEST_11157/*** Tests for DECDSA-SHA224/SECP521R1 ***/1158static const u8 decdsa_rfc6979_SECP521R1_SHA224_1_test_vector_expected_sig[] = {11590x01, 0xc7, 0xed, 0x90, 0x2e, 0x12, 0x3e, 0x68,11600x15, 0x54, 0x60, 0x65, 0xa2, 0xc4, 0xaf, 0x97,11610x7b, 0x22, 0xaa, 0x8e, 0xad, 0xdb, 0x68, 0xb2,11620xc1, 0x11, 0x0e, 0x7e, 0xa4, 0x4d, 0x42, 0x08,11630x6b, 0xfe, 0x4a, 0x34, 0xb6, 0x7d, 0xdc, 0x0e,11640x17, 0xe9, 0x65, 0x36, 0xe3, 0x58, 0x21, 0x9b,11650x23, 0xa7, 0x06, 0xc6, 0xa6, 0xe1, 0x6b, 0xa7,11660x7b, 0x65, 0xe1, 0xc5, 0x95, 0xd4, 0x3c, 0xae,11670x17, 0xfb, 0x01, 0x77, 0x33, 0x66, 0x76, 0x30,11680x4f, 0xcb, 0x34, 0x3c, 0xe0, 0x28, 0xb3, 0x8e,11690x7b, 0x4f, 0xba, 0x76, 0xc1, 0xc1, 0xb2, 0x77,11700xda, 0x18, 0xca, 0xd2, 0xa8, 0x47, 0x8b, 0x2a,11710x9a, 0x9f, 0x5b, 0xec, 0x0f, 0x3b, 0xa0, 0x4f,11720x35, 0xdb, 0x3e, 0x42, 0x63, 0x56, 0x9e, 0xc6,11730xaa, 0xde, 0x8c, 0x92, 0x74, 0x6e, 0x4c, 0x82,11740xf8, 0x29, 0x9a, 0xe1, 0xb8, 0xf1, 0x73, 0x9f,11750x8f, 0xd5, 0x19, 0xa41176};1177static const u8 decdsa_rfc6979_SECP521R1_SHA224_1_test_vector_priv_key[] = {11780x00, 0xfa, 0xd0, 0x6d, 0xaa, 0x62, 0xba, 0x3b,11790x25, 0xd2, 0xfb, 0x40, 0x13, 0x3d, 0xa7, 0x57,11800x20, 0x5d, 0xe6, 0x7f, 0x5b, 0xb0, 0x01, 0x8f,11810xee, 0x8c, 0x86, 0xe1, 0xb6, 0x8c, 0x7e, 0x75,11820xca, 0xa8, 0x96, 0xeb, 0x32, 0xf1, 0xf4, 0x7c,11830x70, 0x85, 0x58, 0x36, 0xa6, 0xd1, 0x6f, 0xcc,11840x14, 0x66, 0xf6, 0xd8, 0xfb, 0xec, 0x67, 0xdb,11850x89, 0xec, 0x0c, 0x08, 0xb0, 0xe9, 0x96, 0xb8,11860x35, 0x381187};1188static const ec_test_case decdsa_rfc6979_SECP521R1_SHA224_1_test_case = {1189.name="DECDSA-SHA224/SECP521R1 1",1190.ec_str_p = &secp521r1_str_params,1191.priv_key = decdsa_rfc6979_SECP521R1_SHA224_1_test_vector_priv_key,1192.priv_key_len = sizeof(decdsa_rfc6979_SECP521R1_SHA224_1_test_vector_priv_key),1193.nn_random = NULL,1194.hash_type = SHA224,1195.msg = "test",1196.msglen = 4,1197.sig_type = DECDSA,1198.exp_sig = decdsa_rfc6979_SECP521R1_SHA224_1_test_vector_expected_sig,1199.exp_siglen = sizeof(decdsa_rfc6979_SECP521R1_SHA224_1_test_vector_expected_sig),1200.adata = NULL,1201.adata_len = 01202};1203#endif /* WITH_CURVE_SECP521R1 */1204#endif /* WITH_HASH_SHA224 */12051206#ifdef WITH_HASH_SHA2561207#ifdef WITH_CURVE_SECP521R11208#define DECDSA_SHA256_SECP521R1_SELF_TEST_11209/*** Tests for DECDSA-SHA256/SECP521R1 ***/1210static const u8 decdsa_rfc6979_SECP521R1_SHA256_1_test_vector_expected_sig[] = {12110x00, 0x0e, 0x87, 0x1c, 0x4a, 0x14, 0xf9, 0x93,12120xc6, 0xc7, 0x36, 0x95, 0x01, 0x90, 0x0c, 0x4b,12130xc1, 0xe9, 0xc7, 0xb0, 0xb4, 0xba, 0x44, 0xe0,12140x48, 0x68, 0xb3, 0x0b, 0x41, 0xd8, 0x07, 0x10,12150x42, 0xeb, 0x28, 0xc4, 0xc2, 0x50, 0x41, 0x1d,12160x0c, 0xe0, 0x8c, 0xd1, 0x97, 0xe4, 0x18, 0x8e,12170xa4, 0x87, 0x6f, 0x27, 0x9f, 0x90, 0xb3, 0xd8,12180xd7, 0x4a, 0x3c, 0x76, 0xe6, 0xf1, 0xe4, 0x65,12190x6a, 0xa8, 0x00, 0xcd, 0x52, 0xdb, 0xaa, 0x33,12200xb0, 0x63, 0xc3, 0xa6, 0xcd, 0x80, 0x58, 0xa1,12210xfb, 0x0a, 0x46, 0xa4, 0x75, 0x4b, 0x03, 0x4f,12220xcc, 0x64, 0x47, 0x66, 0xca, 0x14, 0xda, 0x8c,12230xa5, 0xca, 0x9f, 0xde, 0x00, 0xe8, 0x8c, 0x1a,12240xd6, 0x0c, 0xcb, 0xa7, 0x59, 0x02, 0x52, 0x99,12250x07, 0x9d, 0x7a, 0x42, 0x7e, 0xc3, 0xcc, 0x5b,12260x61, 0x9b, 0xfb, 0xc8, 0x28, 0xe7, 0x76, 0x9b,12270xcd, 0x69, 0x4e, 0x861228};1229static const u8 decdsa_rfc6979_SECP521R1_SHA256_1_test_vector_priv_key[] = {12300x00, 0xfa, 0xd0, 0x6d, 0xaa, 0x62, 0xba, 0x3b,12310x25, 0xd2, 0xfb, 0x40, 0x13, 0x3d, 0xa7, 0x57,12320x20, 0x5d, 0xe6, 0x7f, 0x5b, 0xb0, 0x01, 0x8f,12330xee, 0x8c, 0x86, 0xe1, 0xb6, 0x8c, 0x7e, 0x75,12340xca, 0xa8, 0x96, 0xeb, 0x32, 0xf1, 0xf4, 0x7c,12350x70, 0x85, 0x58, 0x36, 0xa6, 0xd1, 0x6f, 0xcc,12360x14, 0x66, 0xf6, 0xd8, 0xfb, 0xec, 0x67, 0xdb,12370x89, 0xec, 0x0c, 0x08, 0xb0, 0xe9, 0x96, 0xb8,12380x35, 0x381239};1240static const ec_test_case decdsa_rfc6979_SECP521R1_SHA256_1_test_case = {1241.name="DECDSA-SHA256/SECP521R1 1",1242.ec_str_p = &secp521r1_str_params,1243.priv_key = decdsa_rfc6979_SECP521R1_SHA256_1_test_vector_priv_key,1244.priv_key_len = sizeof(decdsa_rfc6979_SECP521R1_SHA256_1_test_vector_priv_key),1245.nn_random = NULL,1246.hash_type = SHA256,1247.msg = "test",1248.msglen = 4,1249.sig_type = DECDSA,1250.exp_sig = decdsa_rfc6979_SECP521R1_SHA256_1_test_vector_expected_sig,1251.exp_siglen = sizeof(decdsa_rfc6979_SECP521R1_SHA256_1_test_vector_expected_sig),1252.adata = NULL,1253.adata_len = 01254};1255#endif /* WITH_CURVE_SECP521R1 */1256#endif /* WITH_HASH_SHA256 */12571258#ifdef WITH_HASH_SHA3841259#ifdef WITH_CURVE_SECP521R11260#define DECDSA_SHA384_SECP521R1_SELF_TEST_11261/*** Tests for DECDSA-SHA384/SECP521R1 ***/1262static const u8 decdsa_rfc6979_SECP521R1_SHA384_1_test_vector_expected_sig[] = {12630x01, 0x4b, 0xee, 0x21, 0xa1, 0x8b, 0x6d, 0x8b,12640x3c, 0x93, 0xfa, 0xb0, 0x8d, 0x43, 0xe7, 0x39,12650x70, 0x79, 0x53, 0x24, 0x4f, 0xdb, 0xe9, 0x24,12660xfa, 0x92, 0x6d, 0x76, 0x66, 0x9e, 0x7a, 0xc8,12670xc8, 0x9d, 0xf6, 0x2e, 0xd8, 0x97, 0x5c, 0x2d,12680x83, 0x97, 0xa6, 0x5a, 0x49, 0xdc, 0xc0, 0x9f,12690x6b, 0x0a, 0xc6, 0x22, 0x72, 0x74, 0x19, 0x24,12700xd4, 0x79, 0x35, 0x4d, 0x74, 0xff, 0x60, 0x75,12710x57, 0x8c, 0x01, 0x33, 0x33, 0x08, 0x65, 0xc0,12720x67, 0xa0, 0xea, 0xf7, 0x23, 0x62, 0xa6, 0x5e,12730x2d, 0x7b, 0xc4, 0xe4, 0x61, 0xe8, 0xc8, 0x99,12740x5c, 0x3b, 0x62, 0x26, 0xa2, 0x1b, 0xd1, 0xaa,12750x78, 0xf0, 0xed, 0x94, 0xfe, 0x53, 0x6a, 0x0d,12760xca, 0x35, 0x53, 0x4f, 0x0c, 0xd1, 0x51, 0x0c,12770x41, 0x52, 0x5d, 0x16, 0x3f, 0xe9, 0xd7, 0x4d,12780x13, 0x48, 0x81, 0xe3, 0x51, 0x41, 0xed, 0x5e,12790x8e, 0x95, 0xb9, 0x791280};1281static const u8 decdsa_rfc6979_SECP521R1_SHA384_1_test_vector_priv_key[] = {12820x00, 0xfa, 0xd0, 0x6d, 0xaa, 0x62, 0xba, 0x3b,12830x25, 0xd2, 0xfb, 0x40, 0x13, 0x3d, 0xa7, 0x57,12840x20, 0x5d, 0xe6, 0x7f, 0x5b, 0xb0, 0x01, 0x8f,12850xee, 0x8c, 0x86, 0xe1, 0xb6, 0x8c, 0x7e, 0x75,12860xca, 0xa8, 0x96, 0xeb, 0x32, 0xf1, 0xf4, 0x7c,12870x70, 0x85, 0x58, 0x36, 0xa6, 0xd1, 0x6f, 0xcc,12880x14, 0x66, 0xf6, 0xd8, 0xfb, 0xec, 0x67, 0xdb,12890x89, 0xec, 0x0c, 0x08, 0xb0, 0xe9, 0x96, 0xb8,12900x35, 0x381291};1292static const ec_test_case decdsa_rfc6979_SECP521R1_SHA384_1_test_case = {1293.name="DECDSA-SHA384/SECP521R1 1",1294.ec_str_p = &secp521r1_str_params,1295.priv_key = decdsa_rfc6979_SECP521R1_SHA384_1_test_vector_priv_key,1296.priv_key_len = sizeof(decdsa_rfc6979_SECP521R1_SHA384_1_test_vector_priv_key),1297.nn_random = NULL,1298.hash_type = SHA384,1299.msg = "test",1300.msglen = 4,1301.sig_type = DECDSA,1302.exp_sig = decdsa_rfc6979_SECP521R1_SHA384_1_test_vector_expected_sig,1303.exp_siglen = sizeof(decdsa_rfc6979_SECP521R1_SHA384_1_test_vector_expected_sig),1304.adata = NULL,1305.adata_len = 01306};1307#endif /* WITH_CURVE_SECP521R1 */1308#endif /* WITH_HASH_SHA384 */13091310#ifdef WITH_HASH_SHA5121311#ifdef WITH_CURVE_SECP521R11312#define DECDSA_SHA512_SECP521R1_SELF_TEST_11313/*** Tests for DECDSA-SHA512/SECP521R1 ***/1314static const u8 decdsa_rfc6979_SECP521R1_SHA512_1_test_vector_expected_sig[] = {13150x01, 0x3e, 0x99, 0x02, 0x0a, 0xbf, 0x5c, 0xee,13160x75, 0x25, 0xd1, 0x6b, 0x69, 0xb2, 0x29, 0x65,13170x2a, 0xb6, 0xbd, 0xf2, 0xaf, 0xfc, 0xae, 0xf3,13180x87, 0x73, 0xb4, 0xb7, 0xd0, 0x87, 0x25, 0xf1,13190x0c, 0xdb, 0x93, 0x48, 0x2f, 0xdc, 0xc5, 0x4e,13200xdc, 0xee, 0x91, 0xec, 0xa4, 0x16, 0x6b, 0x2a,13210x7c, 0x62, 0x65, 0xef, 0x0c, 0xe2, 0xbd, 0x70,13220x51, 0xb7, 0xce, 0xf9, 0x45, 0xba, 0xbd, 0x47,13230xee, 0x6d, 0x01, 0xfb, 0xd0, 0x01, 0x3c, 0x67,13240x4a, 0xa7, 0x9c, 0xb3, 0x98, 0x49, 0x52, 0x79,13250x16, 0xce, 0x30, 0x1c, 0x66, 0xea, 0x7c, 0xe8,13260xb8, 0x06, 0x82, 0x78, 0x6a, 0xd6, 0x0f, 0x98,13270xf7, 0xe7, 0x8a, 0x19, 0xca, 0x69, 0xef, 0xf5,13280xc5, 0x74, 0x00, 0xe3, 0xb3, 0xa0, 0xad, 0x66,13290xce, 0x09, 0x78, 0x21, 0x4d, 0x13, 0xba, 0xf4,13300xe9, 0xac, 0x60, 0x75, 0x2f, 0x7b, 0x15, 0x5e,13310x2d, 0xe4, 0xdc, 0xe31332};1333static const u8 decdsa_rfc6979_SECP521R1_SHA512_1_test_vector_priv_key[] = {13340x00, 0xfa, 0xd0, 0x6d, 0xaa, 0x62, 0xba, 0x3b,13350x25, 0xd2, 0xfb, 0x40, 0x13, 0x3d, 0xa7, 0x57,13360x20, 0x5d, 0xe6, 0x7f, 0x5b, 0xb0, 0x01, 0x8f,13370xee, 0x8c, 0x86, 0xe1, 0xb6, 0x8c, 0x7e, 0x75,13380xca, 0xa8, 0x96, 0xeb, 0x32, 0xf1, 0xf4, 0x7c,13390x70, 0x85, 0x58, 0x36, 0xa6, 0xd1, 0x6f, 0xcc,13400x14, 0x66, 0xf6, 0xd8, 0xfb, 0xec, 0x67, 0xdb,13410x89, 0xec, 0x0c, 0x08, 0xb0, 0xe9, 0x96, 0xb8,13420x35, 0x381343};1344static const ec_test_case decdsa_rfc6979_SECP521R1_SHA512_1_test_case = {1345.name="DECDSA-SHA512/SECP521R1 1",1346.ec_str_p = &secp521r1_str_params,1347.priv_key = decdsa_rfc6979_SECP521R1_SHA512_1_test_vector_priv_key,1348.priv_key_len = sizeof(decdsa_rfc6979_SECP521R1_SHA512_1_test_vector_priv_key),1349.nn_random = NULL,1350.hash_type = SHA512,1351.msg = "test",1352.msglen = 4,1353.sig_type = DECDSA,1354.exp_sig = decdsa_rfc6979_SECP521R1_SHA512_1_test_vector_expected_sig,1355.exp_siglen = sizeof(decdsa_rfc6979_SECP521R1_SHA512_1_test_vector_expected_sig),1356.adata = NULL,1357.adata_len = 01358};1359#endif /* WITH_CURVE_SECP521R1 */1360#endif /* WITH_HASH_SHA512 */1361136213631364