From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0563B4662A; Tue, 29 Apr 2025 11:59:10 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E848B4026C; Tue, 29 Apr 2025 11:59:09 +0200 (CEST) Received: from mx0a-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id A386340263 for ; Tue, 29 Apr 2025 11:59:08 +0200 (CEST) Received: from pps.filterd (m0431384.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53T6cEDL024861; Tue, 29 Apr 2025 02:59:07 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=pfpt0220; bh=2jDefcBEFVbP+vDChikDQOc ai3r/5ZuST4tLwJHvvJ8=; b=C7ZXPsn4gg0+nkmQznl9NeehC7nqq7oNorRsGOp ZbwcqBJhxdJIIwvlNJXiQAddBG8ZrIwuVEE70H7soruFstWy6MKhxhynuHDKE/iT NVMI5mahB5P2MvvlK0tRcVAKO5e3hI5MquyuoTcvJhcBN/9YxLh5nAcsMn2tazmo re96DpOfcyMBK8HhUW1Objmu+prGbfwITSzjhj93WEe70ByVKrtYxLwyqE2eYWfL Bsmtbi7i2MA+oNNRj5vwvwR48m/WCmB1cSyL/yzsqJdEekd9JXqpHtBZ2/9KD7jz 6S0mf7Mu5XNTn1g0GpPYxqiIMrvuQ1l4AY9CCvdssl67RZw== Received: from dc5-exch05.marvell.com ([199.233.59.128]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 469krcc7my-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 29 Apr 2025 02:59:07 -0700 (PDT) Received: from DC5-EXCH05.marvell.com (10.69.176.209) by DC5-EXCH05.marvell.com (10.69.176.209) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Tue, 29 Apr 2025 02:59:02 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH05.marvell.com (10.69.176.209) with Microsoft SMTP Server id 15.2.1544.4 via Frontend Transport; Tue, 29 Apr 2025 02:59:02 -0700 Received: from IN-lckQE5Rwctls.marvell.com (unknown [10.193.77.34]) by maili.marvell.com (Postfix) with ESMTP id 88EE83F7045; Tue, 29 Apr 2025 02:58:59 -0700 (PDT) From: Gowrishankar Muthukrishnan To: , Brian Dooley CC: , Akhil Goyal , "Gowrishankar Muthukrishnan" Subject: [PATCH] app/crypto-perf: add RSA test vectors Date: Tue, 29 Apr 2025 15:28:52 +0530 Message-ID: <20250429095856.1915-1-gmuthukrishn@marvell.com> X-Mailer: git-send-email 2.37.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-GUID: 7-qNNz64t1_7OB7REW2Rb3Ejt_F8onBA X-Authority-Analysis: v=2.4 cv=f61IBPyM c=1 sm=1 tr=0 ts=6810a2eb cx=c_pps a=rEv8fa4AjpPjGxpoe8rlIQ==:117 a=rEv8fa4AjpPjGxpoe8rlIQ==:17 a=XR8D0OoHHMoA:10 a=M5GUcnROAAAA:8 a=T3I6VUEtp0FhGN8DGD4A:9 a=OBjm3rFKGHvpk9ecZwUJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNDI5MDA3NCBTYWx0ZWRfX46myytZgR46p 9jtyk1eXQ8gXg2sFoPO3zkZe5+RdO5stU6aNXIXxxjLRpR2aRhojEzrreRgZlCqlxUwmaLrK7sz BaRNqLgTNS+y1CJ4gV85q5r8n6Ebh1lh2bmfgD5oKfPgiyoy8LTJwkZ2FBOixF7tgR1i8EIBgx2 AfGwufARUHubBEoQFUiBhXRFJyNpQDL7F2WSY4Gk9Smf6OGdzQ0yekWhEJdgD0ytZo5QuY+iHKh X1hCHaEn/H8EJ9M39h60sx/LHZQf2SFuq0XFGVZUxAp5RgfQRcT8/33uHPpVur2R5pPNO1G0ERH eUkIoSw1otKik0xq6nuSP5lfDmcjKGqcQ+7GCin254xQ+qchI8EkTFfIRmBIfKo+ivkTiioPsj6 HKOVuNwkiw+UwW66YUJ7+Dfbny+OVhHgpHxMoyegqyXOR4WMqhG2TUK7pZh7G+pJpknO2nUq X-Proofpoint-ORIG-GUID: 7-qNNz64t1_7OB7REW2Rb3Ejt_F8onBA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-04-29_03,2025-04-24_02,2025-02-21_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Add test vectors to benchmark larger RSA modulus. Signed-off-by: Gowrishankar Muthukrishnan --- app/test-crypto-perf/cperf_options.h | 3 + app/test-crypto-perf/cperf_options_parsing.c | 132 +- app/test-crypto-perf/cperf_test_vectors.c | 1386 +++++++++++++++++- app/test-crypto-perf/cperf_test_vectors.h | 7 +- doc/guides/tools/cryptoperf.rst | 16 +- 5 files changed, 1472 insertions(+), 72 deletions(-) diff --git a/app/test-crypto-perf/cperf_options.h b/app/test-crypto-perf/cperf_options.h index 6237d836b2..028dd2d797 100644 --- a/app/test-crypto-perf/cperf_options.h +++ b/app/test-crypto-perf/cperf_options.h @@ -14,6 +14,7 @@ #define CPERF_PTEST_TYPE ("ptest") #define CPERF_MODEX_LEN ("modex-len") #define CPERF_RSA_PRIV_KEYTYPE ("rsa-priv-keytype") +#define CPERF_RSA_MODLEN ("rsa-modlen") #define CPERF_SILENT ("silent") #define CPERF_ENABLE_SDAP ("enable-sdap") @@ -181,6 +182,8 @@ struct cperf_options { enum rte_crypto_asym_op_type asym_op_type; enum rte_crypto_auth_algorithm asym_hash_alg; struct cperf_rsa_test_data *rsa_data; + uint16_t rsa_modlen; + uint8_t rsa_keytype; }; void diff --git a/app/test-crypto-perf/cperf_options_parsing.c b/app/test-crypto-perf/cperf_options_parsing.c index af1a2497f0..6e492568ff 100644 --- a/app/test-crypto-perf/cperf_options_parsing.c +++ b/app/test-crypto-perf/cperf_options_parsing.c @@ -65,6 +65,9 @@ usage(char *progname) " --modex-len N: modex length, supported lengths are " "60, 128, 255, 448. Default: 128\n" " --asym-op encrypt / decrypt / sign / verify : set asym operation type\n" + " --rsa-priv-keytype exp / qt : set RSA private key type\n" + " --rsa-modlen N: RSA modulus length, supported lengths are " + "1024, 2048, 4096, 8192. Default: 1024\n" #ifdef RTE_LIB_SECURITY " --pdcp-sn-sz N: set PDCP SN size N <5/7/12/15/18>\n" " --pdcp-domain DOMAIN: set PDCP domain \n" @@ -347,19 +350,26 @@ parse_rsa_priv_keytype(struct cperf_options *opts, const char *arg) }, }; - int id = get_str_key_id_mapping(rsa_keytype_namemap, + opts->rsa_keytype = get_str_key_id_mapping(rsa_keytype_namemap, RTE_DIM(rsa_keytype_namemap), arg); - if (id == RTE_RSA_KEY_TYPE_EXP) - opts->rsa_data = &rsa_exp_perf_data; - else if (id == RTE_RSA_KEY_TYPE_QT) - opts->rsa_data = &rsa_qt_perf_data; - else { - RTE_LOG(ERR, USER1, "invalid RSA key type specified\n"); - return -1; + return 0; +} + +static int +parse_rsa_modlen(struct cperf_options *opts, const char *arg) +{ + uint16_t modlen = 0; + int ret; + + ret = parse_uint16_t(&modlen, arg); + if (ret) { + RTE_LOG(ERR, USER1, "failed to parse RSA modlen"); + return ret; } - return 0; + opts->rsa_modlen = modlen; + return ret; } static int @@ -1009,6 +1019,7 @@ static struct option lgopts[] = { { CPERF_PTEST_TYPE, required_argument, 0, 0 }, { CPERF_MODEX_LEN, required_argument, 0, 0 }, { CPERF_RSA_PRIV_KEYTYPE, required_argument, 0, 0 }, + { CPERF_RSA_MODLEN, required_argument, 0, 0 }, { CPERF_POOL_SIZE, required_argument, 0, 0 }, { CPERF_TOTAL_OPS, required_argument, 0, 0 }, @@ -1135,12 +1146,13 @@ cperf_options_default(struct cperf_options *opts) opts->docsis_hdr_sz = 17; #endif opts->modex_data = (struct cperf_modex_test_data *)&modex_perf_data[0]; - opts->rsa_data = &rsa_pub_perf_data; + opts->rsa_data = &rsa_pub_perf_data[0]; + opts->rsa_keytype = UINT8_MAX; opts->secp256r1_data = &secp256r1_perf_data; opts->eddsa_data = &ed25519_perf_data; opts->sm2_data = &sm2_perf_data; - opts->asym_op_type = RTE_CRYPTO_ASYM_OP_SIGN; + opts->asym_op_type = RTE_CRYPTO_ASYM_OP_ENCRYPT; } static int @@ -1150,6 +1162,7 @@ cperf_opts_parse_long(int opt_idx, struct cperf_options *opts) { CPERF_PTEST_TYPE, parse_cperf_test_type }, { CPERF_MODEX_LEN, parse_modex_len }, { CPERF_RSA_PRIV_KEYTYPE, parse_rsa_priv_keytype }, + { CPERF_RSA_MODLEN, parse_rsa_modlen }, { CPERF_SILENT, parse_silent }, { CPERF_POOL_SIZE, parse_pool_sz }, { CPERF_TOTAL_OPS, parse_total_ops }, @@ -1508,6 +1521,93 @@ cperf_options_check(struct cperf_options *options) } } + if (options->rsa_keytype != UINT8_MAX) { + if (options->op_type != CPERF_ASYM_RSA) { + RTE_LOG(ERR, USER1, "Option rsa-priv-keytype should be used only with " + " optype: rsa.\n"); + return -EINVAL; + } + + switch (options->rsa_keytype) { + case RTE_RSA_KEY_TYPE_QT: + if (options->asym_op_type != RTE_CRYPTO_ASYM_OP_SIGN && + options->asym_op_type != RTE_CRYPTO_ASYM_OP_DECRYPT) { + RTE_LOG(ERR, USER1, "QT private key to be used in sign and decrypt op\n"); + return -EINVAL; + } + options->rsa_data = &rsa_qt_perf_data[0]; + break; + case RTE_RSA_KEY_TYPE_EXP: + if (options->asym_op_type != RTE_CRYPTO_ASYM_OP_ENCRYPT && + options->asym_op_type != RTE_CRYPTO_ASYM_OP_VERIFY) { + RTE_LOG(ERR, USER1, "Exponent private key to be used in encrypt and verify op\n"); + return -EINVAL; + } + options->rsa_data = &rsa_exp_perf_data[0]; + break; + default: + RTE_LOG(ERR, USER1, "Invalid RSA key type specified\n"); + return -EINVAL; + } + } + + if (options->rsa_modlen) { + uint16_t modlen = options->rsa_modlen / 8; + + if (options->op_type != CPERF_ASYM_RSA) { + RTE_LOG(ERR, USER1, "Option rsa-modlen should be used only with " + " optype: rsa.\n"); + return -EINVAL; + } + + if (options->rsa_keytype == RTE_RSA_KEY_TYPE_QT) { + for (i = 0; i < (int)RTE_DIM(rsa_qt_perf_data); i++) { + if (rsa_qt_perf_data[i].n.length == modlen) { + options->rsa_data = + (struct cperf_rsa_test_data *)&rsa_qt_perf_data[i]; + break; + } + } + + if (i == (int)RTE_DIM(rsa_qt_perf_data)) { + RTE_LOG(ERR, USER1, + "Option rsa_modlen: %d is not supported for QT private key\n", + options->rsa_modlen); + return -EINVAL; + } + } else if (options->rsa_keytype == RTE_RSA_KEY_TYPE_EXP) { + for (i = 0; i < (int)RTE_DIM(rsa_exp_perf_data); i++) { + if (rsa_exp_perf_data[i].n.length == modlen) { + options->rsa_data = + (struct cperf_rsa_test_data *)&rsa_exp_perf_data[i]; + break; + } + } + + if (i == (int)RTE_DIM(rsa_exp_perf_data)) { + RTE_LOG(ERR, USER1, + "Option rsa_modlen: %d is not supported for exponent private key\n", + options->rsa_modlen); + return -EINVAL; + } + } else { + for (i = 0; i < (int)RTE_DIM(rsa_pub_perf_data); i++) { + if (rsa_pub_perf_data[i].n.length == modlen) { + options->rsa_data = + (struct cperf_rsa_test_data *)&rsa_pub_perf_data[i]; + break; + } + } + + if (i == (int)RTE_DIM(rsa_pub_perf_data)) { + RTE_LOG(ERR, USER1, + "Option rsa_modlen: %d is not supported for public key\n", + options->rsa_modlen); + return -EINVAL; + } + } + } + #ifdef RTE_LIB_SECURITY if (options->op_type == CPERF_DOCSIS) { if (check_docsis_buffer_length(options) < 0) @@ -1574,9 +1674,13 @@ cperf_options_dump(struct cperf_options *opts) printf("#\n"); printf("# number of queue pairs per device: %u\n", opts->nb_qps); printf("# crypto operation: %s\n", cperf_op_type_strs[opts->op_type]); - if (cperf_is_asym_test(opts)) - printf("# asym operation type: %s\n", - rte_crypto_asym_op_strings[opts->asym_op_type]); + if (cperf_is_asym_test(opts)) { + if (opts->op_type != CPERF_ASYM_MODEX) + printf("# asym operation type: %s\n", + rte_crypto_asym_op_strings[opts->asym_op_type]); + if (opts->op_type == CPERF_ASYM_RSA) + printf("# rsa test name: %s\n", opts->rsa_data->name); + } printf("# sessionless: %s\n", opts->sessionless ? "yes" : "no"); printf("# shared session: %s\n", opts->shared_session ? "yes" : "no"); printf("# out of place: %s\n", opts->out_of_place ? "yes" : "no"); diff --git a/app/test-crypto-perf/cperf_test_vectors.c b/app/test-crypto-perf/cperf_test_vectors.c index 74d2ee3b03..aa52800fbd 100644 --- a/app/test-crypto-perf/cperf_test_vectors.c +++ b/app/test-crypto-perf/cperf_test_vectors.c @@ -1568,74 +1568,1354 @@ uint8_t rsa_qinv[] = { 0x71, 0x94, 0xdd, 0xa0, 0xf5, 0x1e, 0x6d, 0xcc }; +uint8_t rsa_2048_n[] = { + 0xB0, 0xF9, 0xE8, 0x19, 0x43, 0xA7, 0xAE, 0x98, + 0x92, 0xAA, 0xDE, 0x17, 0xCA, 0x7C, 0x40, 0xF8, + 0x74, 0x4F, 0xED, 0x2F, 0x81, 0x48, 0xE6, 0xC8, + 0xEA, 0xA2, 0x7B, 0x7D, 0x00, 0x15, 0x48, 0xFB, + 0x51, 0x92, 0xAB, 0x28, 0xB5, 0x6C, 0x50, 0x60, + 0xB1, 0x18, 0xCC, 0xD1, 0x31, 0xE5, 0x94, 0x87, + 0x4C, 0x6C, 0xA9, 0x89, 0xB5, 0x6C, 0x27, 0x29, + 0x6F, 0x09, 0xFB, 0x93, 0xA0, 0x34, 0xDF, 0x32, + 0xE9, 0x7C, 0x6F, 0xF0, 0x99, 0x8C, 0xFD, 0x8E, + 0x6F, 0x42, 0xDD, 0xA5, 0x8A, 0xCD, 0x1F, 0xA9, + 0x79, 0x86, 0xF1, 0x44, 0xF3, 0xD1, 0x54, 0xD6, + 0x76, 0x50, 0x17, 0x5E, 0x68, 0x54, 0xB3, 0xA9, + 0x52, 0x00, 0x3B, 0xC0, 0x68, 0x87, 0xB8, 0x45, + 0x5A, 0xC2, 0xB1, 0x9F, 0x7B, 0x2F, 0x76, 0x50, + 0x4E, 0xBC, 0x98, 0xEC, 0x94, 0x55, 0x71, 0xB0, + 0x78, 0x92, 0x15, 0x0D, 0xDC, 0x6A, 0x74, 0xCA, + 0x0F, 0xBC, 0xD3, 0x54, 0x97, 0xCE, 0x81, 0x53, + 0x4D, 0xAF, 0x94, 0x18, 0x84, 0x4B, 0x13, 0xAE, + 0xA3, 0x1F, 0x9D, 0x5A, 0x6B, 0x95, 0x57, 0xBB, + 0xDF, 0x61, 0x9E, 0xFD, 0x4E, 0x88, 0x7F, 0x2D, + 0x42, 0xB8, 0xDD, 0x8B, 0xC9, 0x87, 0xEA, 0xE1, + 0xBF, 0x89, 0xCA, 0xB8, 0x5E, 0xE2, 0x1E, 0x35, + 0x63, 0x05, 0xDF, 0x6C, 0x07, 0xA8, 0x83, 0x8E, + 0x3E, 0xF4, 0x1C, 0x59, 0x5D, 0xCC, 0xE4, 0x3D, + 0xAF, 0xC4, 0x91, 0x23, 0xEF, 0x4D, 0x8A, 0xBB, + 0xA9, 0x3D, 0x39, 0x05, 0xE4, 0x02, 0x8D, 0x7B, + 0xA9, 0x14, 0x84, 0xA2, 0x75, 0x96, 0xE0, 0x7B, + 0x4B, 0x6E, 0xD9, 0x92, 0xF0, 0x77, 0xB5, 0x24, + 0xD3, 0xDC, 0xFE, 0x7D, 0xDD, 0x55, 0x49, 0xBE, + 0x7C, 0xCE, 0x8D, 0xA0, 0x35, 0xCF, 0xA0, 0xB3, + 0xFB, 0x8F, 0x9E, 0x46, 0xF7, 0x32, 0xB2, 0xA8, + 0x6B, 0x46, 0x01, 0x65, 0xC0, 0x8F, 0x53, 0x13 +}; + +uint8_t rsa_2048_d[] = { + 0x41, 0x18, 0x8B, 0x20, 0xCF, 0xDB, 0xDB, 0xC2, + 0xCF, 0x1F, 0xFE, 0x75, 0x2D, 0xCB, 0xAA, 0x72, + 0x39, 0x06, 0x35, 0x2E, 0x26, 0x15, 0xD4, 0x9D, + 0xCE, 0x80, 0x59, 0x7F, 0xCF, 0x0A, 0x05, 0x40, + 0x3B, 0xEF, 0x00, 0xFA, 0x06, 0x51, 0x82, 0xF7, + 0x2D, 0xEC, 0xFB, 0x59, 0x6F, 0x4B, 0x0C, 0xE8, + 0xFF, 0x59, 0x70, 0xBA, 0xF0, 0x7A, 0x89, 0xA5, + 0x19, 0xEC, 0xC8, 0x16, 0xB2, 0xF4, 0xFF, 0xAC, + 0x50, 0x69, 0xAF, 0x1B, 0x06, 0xBF, 0xEF, 0x7B, + 0xF6, 0xBC, 0xD7, 0x9E, 0x4E, 0x81, 0xC8, 0xC5, + 0xA3, 0xA7, 0xD9, 0x13, 0x0D, 0xC3, 0xCF, 0xBA, + 0xDA, 0xE5, 0xF6, 0xD2, 0x88, 0xF9, 0xAE, 0xE3, + 0xF6, 0xFF, 0x92, 0xFA, 0xE0, 0xF8, 0x1A, 0xF5, + 0x97, 0xBE, 0xC9, 0x6A, 0xE9, 0xFA, 0xB9, 0x40, + 0x2C, 0xD5, 0xFE, 0x41, 0xF7, 0x05, 0xBE, 0xBD, + 0xB4, 0x7B, 0xB7, 0x36, 0xD3, 0xFE, 0x6C, 0x5A, + 0x51, 0xE0, 0xE2, 0x07, 0x32, 0xA9, 0x7B, 0x5E, + 0x46, 0xC1, 0xCB, 0xDB, 0x26, 0xD7, 0x48, 0x54, + 0xC6, 0xB6, 0x60, 0x4A, 0xED, 0x46, 0x37, 0x35, + 0xFF, 0x90, 0x76, 0x04, 0x65, 0x57, 0xCA, 0xF9, + 0x49, 0xBF, 0x44, 0x88, 0x95, 0xC2, 0x04, 0x32, + 0xC1, 0xE0, 0x9C, 0x01, 0x4E, 0xA7, 0x56, 0x60, + 0x43, 0x4F, 0x1A, 0x0F, 0x3B, 0xE2, 0x94, 0xBA, + 0xBC, 0x5D, 0x53, 0x0E, 0x6A, 0x10, 0x21, 0x3F, + 0x53, 0xB6, 0x03, 0x75, 0xFC, 0x84, 0xA7, 0x57, + 0x3F, 0x2A, 0xF1, 0x21, 0x55, 0x84, 0xF5, 0xB4, + 0xBD, 0xA6, 0xD4, 0xE8, 0xF9, 0xE1, 0x7A, 0x78, + 0xD9, 0x7E, 0x77, 0xB8, 0x6D, 0xA4, 0xA1, 0x84, + 0x64, 0x75, 0x31, 0x8A, 0x7A, 0x10, 0xA5, 0x61, + 0x01, 0x4E, 0xFF, 0xA2, 0x3A, 0x81, 0xEC, 0x56, + 0xE9, 0xE4, 0x10, 0x9D, 0xEF, 0x8C, 0xB3, 0xF7, + 0x97, 0x22, 0x3F, 0x7D, 0x8D, 0x0D, 0x43, 0x51 +}; + +uint8_t rsa_2048_p[] = { + 0xDD, 0x10, 0x57, 0x02, 0x38, 0x2F, 0x23, 0x2B, + 0x36, 0x81, 0xF5, 0x37, 0x91, 0xE2, 0x26, 0x17, + 0xC7, 0xBF, 0x4E, 0x9A, 0xCB, 0x81, 0xED, 0x48, + 0xDA, 0xF6, 0xD6, 0x99, 0x5D, 0xA3, 0xEA, 0xB6, + 0x42, 0x83, 0x9A, 0xFF, 0x01, 0x2D, 0x2E, 0xA6, + 0x28, 0xB9, 0x0A, 0xF2, 0x79, 0xFD, 0x3E, 0x6F, + 0x7C, 0x93, 0xCD, 0x80, 0xF0, 0x72, 0xF0, 0x1F, + 0xF2, 0x44, 0x3B, 0x3E, 0xE8, 0xF2, 0x4E, 0xD4, + 0x69, 0xA7, 0x96, 0x13, 0xA4, 0x1B, 0xD2, 0x40, + 0x20, 0xF9, 0x2F, 0xD1, 0x10, 0x59, 0xBD, 0x1D, + 0x0F, 0x30, 0x1B, 0x5B, 0xA7, 0xA9, 0xD3, 0x63, + 0x7C, 0xA8, 0xD6, 0x5C, 0x1A, 0x98, 0x15, 0x41, + 0x7D, 0x8E, 0xAB, 0x73, 0x4B, 0x0B, 0x4F, 0x3A, + 0x2C, 0x66, 0x1D, 0x9A, 0x1A, 0x82, 0xF3, 0xAC, + 0x73, 0x4C, 0x40, 0x53, 0x06, 0x69, 0xAB, 0x8E, + 0x47, 0x30, 0x45, 0xA5, 0x8E, 0x65, 0x53, 0x9D +}; + +uint8_t rsa_2048_q[] = { + 0xCC, 0xF1, 0xE5, 0xBB, 0x90, 0xC8, 0xE9, 0x78, + 0x1E, 0xA7, 0x5B, 0xEB, 0xF1, 0x0B, 0xC2, 0x52, + 0xE1, 0x1E, 0xB0, 0x23, 0xA0, 0x26, 0x0F, 0x18, + 0x87, 0x55, 0x2A, 0x56, 0x86, 0x3F, 0x4A, 0x64, + 0x21, 0xE8, 0xC6, 0x00, 0xBF, 0x52, 0x3D, 0x6C, + 0xB1, 0xB0, 0xAD, 0xBD, 0xD6, 0x5B, 0xFE, 0xE4, + 0xA8, 0x8A, 0x03, 0x7E, 0x3D, 0x1A, 0x41, 0x5E, + 0x5B, 0xB9, 0x56, 0x48, 0xDA, 0x5A, 0x0C, 0xA2, + 0x6B, 0x54, 0xF4, 0xA6, 0x39, 0x48, 0x52, 0x2C, + 0x3D, 0x5F, 0x89, 0xB9, 0x4A, 0x72, 0xEF, 0xFF, + 0x95, 0x13, 0x4D, 0x59, 0x40, 0xCE, 0x45, 0x75, + 0x8F, 0x30, 0x89, 0x80, 0x90, 0x89, 0x56, 0x58, + 0x8E, 0xEF, 0x57, 0x5B, 0x3E, 0x4B, 0xC4, 0xC3, + 0x68, 0xCF, 0xE8, 0x13, 0xEE, 0x9C, 0x25, 0x2C, + 0x2B, 0x02, 0xE0, 0xDF, 0x91, 0xF1, 0xAA, 0x01, + 0x93, 0x8D, 0x38, 0x68, 0x5D, 0x60, 0xBA, 0x6F +}; + +uint8_t rsa_2048_dp[] = { + 0x09, 0xED, 0x54, 0xEA, 0xED, 0x98, 0xF8, 0x4C, + 0x55, 0x7B, 0x4A, 0x86, 0xBF, 0x4F, 0x57, 0x84, + 0x93, 0xDC, 0xBC, 0x6B, 0xE9, 0x1D, 0xA1, 0x89, + 0x37, 0x04, 0x04, 0xA9, 0x08, 0x72, 0x76, 0xF4, + 0xCE, 0x51, 0xD8, 0xA1, 0x00, 0xED, 0x85, 0x7D, + 0xC2, 0xB0, 0x64, 0x94, 0x74, 0xF3, 0xF1, 0x5C, + 0xD2, 0x4C, 0x54, 0xDB, 0x28, 0x71, 0x10, 0xE5, + 0x6E, 0x5C, 0xB0, 0x08, 0x68, 0x2F, 0x91, 0x68, + 0xAA, 0x81, 0xF3, 0x14, 0x58, 0xB7, 0x43, 0x1E, + 0xCC, 0x1C, 0x44, 0x90, 0x6F, 0xDA, 0x87, 0xCA, + 0x89, 0x47, 0x10, 0xC3, 0x71, 0xE9, 0x07, 0x6C, + 0x1D, 0x49, 0xFB, 0xAE, 0x51, 0x27, 0x69, 0x34, + 0xF2, 0xAD, 0x78, 0x77, 0x89, 0xF4, 0x2D, 0x0F, + 0xA0, 0xB4, 0xC9, 0x39, 0x85, 0x5D, 0x42, 0x12, + 0x09, 0x6F, 0x70, 0x28, 0x0A, 0x4E, 0xAE, 0x7C, + 0x8A, 0x27, 0xD9, 0xC8, 0xD0, 0x77, 0x2E, 0x65 +}; +uint8_t rsa_2048_dq[] = { + 0x8C, 0xB6, 0x85, 0x7A, 0x7B, 0xD5, 0x46, 0x5F, + 0x80, 0x04, 0x7E, 0x9B, 0x87, 0xBC, 0x00, 0x27, + 0x31, 0x84, 0x05, 0x81, 0xE0, 0x62, 0x61, 0x39, + 0x01, 0x2A, 0x5B, 0x50, 0x5F, 0x0A, 0x33, 0x84, + 0x7E, 0xB7, 0xB8, 0xC3, 0x28, 0x99, 0x49, 0xAD, + 0x48, 0x6F, 0x3B, 0x4B, 0x3D, 0x53, 0x9A, 0xB5, + 0xDA, 0x76, 0x30, 0x21, 0xCB, 0xC8, 0x2C, 0x1B, + 0xA2, 0x34, 0xA5, 0x66, 0x8D, 0xED, 0x08, 0x01, + 0xB8, 0x59, 0xF3, 0x43, 0xF1, 0xCE, 0x93, 0x04, + 0xE6, 0xFA, 0xA2, 0xB0, 0x02, 0xCA, 0xD9, 0xB7, + 0x8C, 0xDE, 0x5C, 0xDC, 0x2C, 0x1F, 0xB4, 0x17, + 0x1C, 0x42, 0x42, 0x16, 0x70, 0xA6, 0xAB, 0x0F, + 0x50, 0xCC, 0x4A, 0x19, 0x4E, 0xB3, 0x6D, 0x1C, + 0x91, 0xE9, 0x35, 0xBA, 0x01, 0xB9, 0x59, 0xD8, + 0x72, 0x8B, 0x9E, 0x64, 0x42, 0x6B, 0x3F, 0xC3, + 0xA7, 0x50, 0x6D, 0xEB, 0x52, 0x39, 0xA8, 0xA7 +}; + +uint8_t rsa_2048_qinv[] = { + 0x0A, 0x81, 0xD8, 0xA6, 0x18, 0x31, 0x4A, 0x80, + 0x3A, 0xF6, 0x1C, 0x06, 0x71, 0x1F, 0x2C, 0x39, + 0xB2, 0x66, 0xFF, 0x41, 0x4D, 0x53, 0x47, 0x6D, + 0x1D, 0xA5, 0x2A, 0x43, 0x18, 0xAA, 0xFE, 0x4B, + 0x96, 0xF0, 0xDA, 0x07, 0x15, 0x5F, 0x8A, 0x51, + 0x34, 0xDA, 0xB8, 0x8E, 0xE2, 0x9E, 0x81, 0x68, + 0x07, 0x6F, 0xCD, 0x78, 0xCA, 0x79, 0x1A, 0xC6, + 0x34, 0x42, 0xA8, 0x1C, 0xD0, 0x69, 0x39, 0x27, + 0xD8, 0x08, 0xE3, 0x35, 0xE8, 0xD8, 0xCB, 0xF2, + 0x12, 0x19, 0x07, 0x50, 0x9A, 0x57, 0x75, 0x9B, + 0x4F, 0x9A, 0x18, 0xFA, 0x3A, 0x7B, 0x33, 0x37, + 0x79, 0xED, 0xDE, 0x7A, 0x45, 0x93, 0x84, 0xF8, + 0x44, 0x4A, 0xDA, 0xEC, 0xFF, 0xEC, 0x95, 0xFD, + 0x55, 0x2B, 0x0C, 0xFC, 0xB6, 0xC7, 0xF6, 0x92, + 0x62, 0x6D, 0xDE, 0x1E, 0xF2, 0x68, 0xA4, 0x0D, + 0x2F, 0x67, 0xB5, 0xC8, 0xAA, 0x38, 0x7F, 0xF7 +}; + +uint8_t rsa_4096_n[] = { + 0xB3, 0x8B, 0x49, 0x60, 0xE6, 0x3B, 0xE6, 0xA8, + 0xDB, 0xA8, 0x9A, 0x82, 0x97, 0x8E, 0xF1, 0xF6, + 0x32, 0x44, 0xE5, 0x57, 0x7D, 0x8C, 0xF5, 0x86, + 0x16, 0xD5, 0xCA, 0x57, 0x59, 0xD4, 0x9C, 0xC8, + 0xD9, 0x36, 0xC3, 0x38, 0xAA, 0x3C, 0xB9, 0xB1, + 0x11, 0xC1, 0x49, 0x7E, 0x5B, 0x51, 0xAF, 0x69, + 0x2F, 0x26, 0x11, 0xE6, 0x89, 0xF7, 0x67, 0x54, + 0x80, 0xC0, 0xB0, 0xF4, 0xC3, 0x65, 0x4F, 0x43, + 0xAF, 0x85, 0xFE, 0x8C, 0x8A, 0xD7, 0x34, 0xE0, + 0x42, 0xA8, 0xAD, 0xA0, 0x5F, 0xD7, 0x65, 0x08, + 0xE0, 0x0B, 0xA0, 0xF7, 0x56, 0xC3, 0x44, 0x3B, + 0xBE, 0x83, 0x3E, 0xA7, 0xD1, 0x00, 0xD4, 0xFB, + 0x36, 0x7E, 0xEB, 0xD6, 0x0B, 0xDB, 0x64, 0x86, + 0x77, 0xFC, 0x7D, 0xEB, 0x94, 0x24, 0x4D, 0xAD, + 0x1A, 0xF8, 0xEE, 0xD1, 0xC6, 0x58, 0x12, 0xC0, + 0x3E, 0x7C, 0x73, 0xF7, 0xF3, 0x58, 0xE9, 0x41, + 0xBC, 0x66, 0x45, 0x8F, 0xF7, 0xBB, 0x97, 0xA4, + 0x9A, 0x98, 0xA1, 0x18, 0x07, 0xE0, 0x2C, 0x1A, + 0x3B, 0x9A, 0xD3, 0x3A, 0x57, 0x3A, 0xE1, 0x80, + 0xE1, 0xFF, 0x43, 0x2A, 0xE5, 0x58, 0x0C, 0xC9, + 0xCA, 0xBF, 0xAB, 0x60, 0x2F, 0x32, 0x5B, 0xCD, + 0xA0, 0x97, 0xE8, 0x7B, 0xC7, 0xA6, 0xD7, 0x4E, + 0x34, 0xA8, 0x7D, 0x60, 0x8A, 0x43, 0xFE, 0xB2, + 0xE4, 0xFF, 0xF1, 0xF4, 0xB8, 0xE7, 0x68, 0x6A, + 0x98, 0x47, 0x5D, 0xB5, 0x1A, 0x6E, 0xBD, 0x08, + 0x17, 0x2A, 0x57, 0x41, 0x77, 0x49, 0x24, 0x8B, + 0x21, 0x55, 0xC8, 0xB9, 0x06, 0xE0, 0xD5, 0x40, + 0xE8, 0xCB, 0x28, 0xF4, 0xC0, 0x0A, 0xDC, 0x9F, + 0xE4, 0x75, 0x8A, 0x1A, 0xC3, 0x64, 0xAB, 0x39, + 0xE4, 0xE1, 0x55, 0x28, 0x98, 0x54, 0x44, 0x15, + 0x3F, 0xEE, 0xC6, 0xAD, 0x4C, 0x53, 0x48, 0xB2, + 0xE3, 0x8F, 0xF5, 0x50, 0xF5, 0xFA, 0x58, 0x33, + 0x97, 0x93, 0x37, 0x30, 0xC8, 0x08, 0x81, 0xBF, + 0x11, 0xEE, 0xE8, 0xFE, 0x38, 0x6D, 0x5B, 0x51, + 0x28, 0x49, 0xA9, 0x83, 0x99, 0x43, 0xAB, 0xF3, + 0xD9, 0x72, 0x20, 0x76, 0x97, 0xB8, 0xEC, 0x24, + 0x11, 0xA2, 0x61, 0x9D, 0x55, 0xCA, 0x04, 0x23, + 0x3C, 0x5A, 0x2C, 0xED, 0xC6, 0xF2, 0x86, 0xD8, + 0x29, 0xD0, 0xE8, 0x37, 0x20, 0x7B, 0x76, 0x52, + 0x9A, 0xA2, 0x44, 0x87, 0x21, 0x26, 0x8D, 0xC0, + 0x15, 0x0B, 0xB7, 0xB0, 0x7E, 0x73, 0x31, 0x3A, + 0x71, 0x3E, 0x58, 0x95, 0xBA, 0xAF, 0x3A, 0xDF, + 0xFA, 0x60, 0x39, 0x58, 0xC5, 0x67, 0xF8, 0x5C, + 0xF2, 0x5B, 0x1D, 0x80, 0xA2, 0x77, 0x56, 0xA3, + 0x0D, 0x1A, 0x50, 0xA1, 0xE4, 0x69, 0x8E, 0xDA, + 0x9A, 0x12, 0x2B, 0xB0, 0xAA, 0x7A, 0x60, 0xF7, + 0xCD, 0x22, 0x6C, 0xB1, 0x16, 0x5C, 0xFC, 0xF9, + 0xCA, 0x83, 0x0A, 0x60, 0x6C, 0xC0, 0xFB, 0x14, + 0x87, 0xF2, 0x49, 0xE5, 0xE0, 0xC7, 0x1C, 0x88, + 0x62, 0x6C, 0x57, 0x12, 0x80, 0x81, 0xDE, 0x76, + 0xC1, 0x23, 0x84, 0xB6, 0xD4, 0x48, 0xB6, 0x7F, + 0x0E, 0x71, 0x23, 0xAE, 0xEF, 0x74, 0xA8, 0x85, + 0x96, 0x03, 0x74, 0x75, 0x54, 0x83, 0xF2, 0x90, + 0xA7, 0xDE, 0x66, 0x46, 0x5E, 0x22, 0x7B, 0x2B, + 0x17, 0x31, 0x8F, 0x8A, 0x49, 0x05, 0x2B, 0x01, + 0x45, 0xFB, 0xA2, 0x83, 0x77, 0x2B, 0xC2, 0x9A, + 0x5B, 0x58, 0x12, 0xAC, 0xCE, 0xE3, 0xAB, 0x62, + 0x81, 0x70, 0x19, 0xE5, 0x48, 0x07, 0xF2, 0x88, + 0x97, 0x12, 0xB7, 0xB8, 0xF3, 0x03, 0xBA, 0x5F, + 0xE1, 0x47, 0xF9, 0xC2, 0xF3, 0x43, 0x4A, 0xB7, + 0x03, 0xC1, 0xD9, 0x46, 0x73, 0x43, 0x82, 0xA0, + 0xA3, 0x53, 0xF4, 0xE0, 0xCB, 0xBE, 0xA2, 0x6A, + 0x4B, 0xBF, 0x21, 0xCE, 0x9E, 0xB5, 0xE7, 0x9D, + 0x47, 0x57, 0xD7, 0xDE, 0x02, 0x7F, 0x20, 0xE5 +}; + +uint8_t rsa_4096_d[] = { + 0x6A, 0xD1, 0xB0, 0xBB, 0x7C, 0xDF, 0x20, 0x91, + 0x4F, 0xF6, 0x94, 0xCE, 0xA3, 0x7B, 0x01, 0x4B, + 0xD7, 0x86, 0x93, 0xE8, 0x24, 0xA3, 0x4B, 0xA4, + 0x16, 0x4B, 0xE5, 0xD1, 0x68, 0x79, 0x8D, 0x3A, + 0x15, 0xB9, 0x76, 0x16, 0x6D, 0x7A, 0x29, 0x84, + 0x46, 0xAA, 0xF7, 0x9D, 0xBC, 0x98, 0xF1, 0xC2, + 0xA3, 0xB1, 0x83, 0xAE, 0xE4, 0x60, 0x94, 0x52, + 0x7B, 0x33, 0xA9, 0x54, 0x46, 0x38, 0x2D, 0x1B, + 0x78, 0xFF, 0x40, 0x7D, 0xBF, 0x50, 0xE0, 0x7D, + 0x98, 0x4B, 0x20, 0xD9, 0xAC, 0x8B, 0xCA, 0xE9, + 0xA7, 0xDA, 0x63, 0x4F, 0x24, 0x88, 0x92, 0x3C, + 0xF5, 0x50, 0xC2, 0x63, 0x37, 0x7E, 0xC6, 0x38, + 0x1B, 0xA9, 0x11, 0x88, 0xCC, 0x8F, 0x1F, 0xD4, + 0xBC, 0xE8, 0x34, 0xC6, 0x86, 0xE1, 0xBE, 0x71, + 0x01, 0xFE, 0x1E, 0xA0, 0x21, 0xE0, 0x5E, 0x6F, + 0x8F, 0xFD, 0x9D, 0x45, 0x64, 0xBB, 0x7E, 0x33, + 0x84, 0xF2, 0x57, 0xEA, 0x9A, 0x9A, 0x3A, 0x53, + 0x4D, 0x43, 0x07, 0x7C, 0xF3, 0x9A, 0x94, 0xC2, + 0x9A, 0xB9, 0xB7, 0x78, 0x1B, 0x53, 0xC5, 0xBC, + 0x57, 0x38, 0xF6, 0x6E, 0x3B, 0xFA, 0xD1, 0xC8, + 0xF0, 0xDE, 0x6E, 0x08, 0x90, 0xAB, 0xE6, 0x60, + 0x85, 0x6E, 0x3B, 0x7C, 0x01, 0x41, 0xAB, 0x11, + 0x35, 0x55, 0x15, 0x1A, 0xED, 0xC8, 0x1C, 0x6D, + 0xB4, 0xBE, 0xED, 0xE6, 0x0A, 0x68, 0x6B, 0x00, + 0x18, 0x4F, 0x45, 0x5A, 0x2D, 0x3A, 0xBB, 0x2E, + 0x68, 0x11, 0xE1, 0xCD, 0xEA, 0x39, 0x53, 0x0B, + 0x8F, 0xAE, 0xA8, 0xF8, 0x24, 0x36, 0x79, 0xC9, + 0xDF, 0x76, 0x97, 0x8C, 0x5E, 0x01, 0x58, 0x57, + 0xAC, 0xA5, 0x9D, 0x9F, 0xE4, 0xA6, 0x2D, 0x15, + 0x09, 0xAE, 0x62, 0x6A, 0xFF, 0x8E, 0x0A, 0xDF, + 0x95, 0xA4, 0xEB, 0x01, 0x49, 0xCA, 0xB7, 0x12, + 0xEF, 0x3E, 0xC3, 0xD6, 0x02, 0x32, 0x8A, 0x6C, + 0x50, 0x21, 0xBA, 0x1B, 0x35, 0xB8, 0x58, 0x3D, + 0x9A, 0x90, 0x40, 0x55, 0x03, 0xF5, 0xFA, 0x0F, + 0x42, 0x4C, 0x72, 0x86, 0x23, 0xFC, 0x81, 0xD3, + 0xDD, 0x7B, 0xFF, 0x1B, 0xF7, 0x8C, 0x8E, 0x2E, + 0xBD, 0x03, 0xA5, 0x11, 0x2D, 0xEB, 0x65, 0x89, + 0x98, 0x6E, 0x49, 0xBD, 0x30, 0x07, 0x1A, 0xD8, + 0x41, 0xA3, 0xCC, 0xA8, 0x07, 0x6C, 0xCF, 0xC7, + 0x94, 0x63, 0x30, 0xB1, 0xFD, 0x1C, 0x21, 0x2A, + 0xD3, 0xEB, 0xD3, 0x7D, 0x9A, 0x4D, 0x0A, 0x96, + 0x95, 0xB8, 0x16, 0x8A, 0x08, 0x89, 0x32, 0x7D, + 0x52, 0x6F, 0x16, 0xD1, 0x56, 0x37, 0xFA, 0x9D, + 0xBF, 0x04, 0xB0, 0xB8, 0x3D, 0xD8, 0xB5, 0xC4, + 0x05, 0x2D, 0xC5, 0x38, 0xB6, 0xCA, 0xE9, 0xC9, + 0x2E, 0xC9, 0x70, 0x10, 0x7A, 0x2F, 0x1E, 0xE4, + 0xD4, 0x7A, 0x65, 0xCC, 0xA5, 0xB9, 0x59, 0x6E, + 0x42, 0x74, 0x91, 0x9B, 0xE7, 0xD1, 0xEC, 0x90, + 0xE4, 0x50, 0xFE, 0x58, 0x58, 0xDC, 0x2E, 0x01, + 0xE8, 0x4E, 0xBD, 0x92, 0x07, 0xD8, 0xEA, 0x20, + 0xFA, 0x37, 0x14, 0x0E, 0x89, 0xD0, 0x10, 0xD6, + 0x50, 0x1F, 0x22, 0x61, 0x97, 0x18, 0x04, 0xDE, + 0x73, 0x68, 0x0F, 0xE6, 0x1C, 0x23, 0x5C, 0x8F, + 0x4E, 0x63, 0x1F, 0xF0, 0x6D, 0xBD, 0xEE, 0x66, + 0x6D, 0xBB, 0x9A, 0xFB, 0xFD, 0xA3, 0xB9, 0x71, + 0xC3, 0x29, 0x0D, 0x7B, 0xDE, 0xF5, 0xC5, 0x78, + 0x5A, 0x07, 0x1B, 0xE9, 0x4A, 0xE1, 0x8A, 0x0B, + 0x2E, 0xD8, 0xAE, 0x67, 0x9A, 0xBA, 0xA6, 0x10, + 0x85, 0x28, 0xA8, 0x5E, 0x31, 0x7F, 0x87, 0xA8, + 0x99, 0xC5, 0x89, 0xF4, 0xA8, 0xAD, 0x42, 0x90, + 0xA6, 0xCA, 0x1E, 0xF9, 0xF1, 0x4D, 0x8D, 0x0A, + 0x7A, 0x66, 0xDC, 0x75, 0x0B, 0x69, 0xB1, 0x9C, + 0xB2, 0x58, 0x28, 0xC3, 0xEA, 0xF0, 0x42, 0x21, + 0x5C, 0x09, 0xAA, 0xD4, 0xA9, 0x54, 0xE8, 0x55 +}; + +uint8_t rsa_4096_p[] = { + 0xE0, 0x41, 0xBD, 0xF1, 0xC9, 0xB5, 0x69, 0xAC, + 0xF5, 0xE8, 0x02, 0x2D, 0x21, 0x1B, 0x87, 0x1B, + 0x5F, 0x29, 0x21, 0x41, 0xA5, 0x89, 0xFD, 0x0F, + 0x6D, 0xCB, 0x59, 0x47, 0x6B, 0x1C, 0x1D, 0xA4, + 0x01, 0x8D, 0xD7, 0xA1, 0xE1, 0x08, 0x39, 0x32, + 0x74, 0x5E, 0xF3, 0xC6, 0x6C, 0xF7, 0xFF, 0x31, + 0x3E, 0xED, 0x4C, 0xB1, 0x68, 0x1D, 0xEF, 0x9D, + 0x29, 0xCC, 0x3F, 0xE8, 0x7A, 0xF7, 0xAD, 0x19, + 0xE9, 0xEF, 0x34, 0x56, 0x62, 0xC9, 0xC4, 0xF4, + 0xE6, 0xE7, 0x07, 0xAA, 0x4E, 0x99, 0x49, 0x63, + 0x4C, 0x08, 0x64, 0x71, 0xA5, 0x5B, 0x67, 0x46, + 0xC2, 0xAE, 0xEF, 0x87, 0x71, 0xEF, 0x21, 0xA2, + 0xEE, 0x8A, 0xB4, 0xDE, 0xC4, 0xC2, 0x04, 0x3C, + 0x70, 0xCF, 0xBA, 0x89, 0xE5, 0xEB, 0x2F, 0x62, + 0xEA, 0x07, 0xC7, 0x4B, 0xD4, 0x16, 0x67, 0x69, + 0x12, 0xA9, 0x58, 0x9F, 0xB3, 0xED, 0x70, 0x28, + 0x8F, 0x8A, 0x03, 0xD1, 0x91, 0xC5, 0x8A, 0x88, + 0x96, 0xE8, 0xB2, 0x0F, 0x1E, 0xDE, 0x91, 0x80, + 0xCE, 0xD3, 0x03, 0x59, 0xF7, 0x5F, 0x48, 0xAF, + 0xE9, 0x7C, 0x46, 0xEE, 0x59, 0xC9, 0x27, 0x1E, + 0x71, 0x37, 0x55, 0x4A, 0xD7, 0x05, 0x56, 0x17, + 0x84, 0x8F, 0xD3, 0x04, 0x1C, 0xD6, 0x30, 0x47, + 0xF6, 0x46, 0x2C, 0x0E, 0x66, 0xE1, 0x83, 0x9F, + 0x63, 0xC6, 0x12, 0xD4, 0xA3, 0x57, 0xF5, 0xE5, + 0x76, 0x35, 0x6A, 0xAA, 0xE7, 0xC6, 0x4A, 0xC0, + 0xBF, 0xD9, 0xD6, 0x5E, 0xDF, 0x4B, 0x2F, 0x34, + 0xDA, 0xDB, 0xDF, 0x69, 0x06, 0x20, 0xC8, 0x95, + 0xCA, 0x44, 0xD9, 0x61, 0xDA, 0x05, 0xB1, 0x36, + 0x2B, 0x4A, 0xD5, 0xDA, 0xAC, 0xB9, 0x0F, 0xF5, + 0x86, 0x33, 0x5E, 0xCD, 0x7E, 0x1D, 0x7A, 0x16, + 0x00, 0xCB, 0x1A, 0xB3, 0x72, 0x69, 0x5B, 0x6E, + 0xC7, 0x71, 0x76, 0x21, 0xDB, 0xBE, 0x93, 0x57 +}; + +uint8_t rsa_4096_q[] = { + 0xCC, 0xF5, 0x51, 0x29, 0xD3, 0xB9, 0x24, 0xC8, + 0x38, 0xA7, 0x6C, 0xD3, 0x69, 0xD4, 0x6E, 0x9C, + 0xB8, 0x13, 0xFE, 0x3B, 0x39, 0xBA, 0xF1, 0xEB, + 0x10, 0x18, 0x47, 0xD3, 0x1D, 0x09, 0x13, 0x50, + 0x03, 0xAB, 0x2F, 0xC2, 0x39, 0x43, 0x1C, 0xDA, + 0x6E, 0x99, 0x08, 0x88, 0x3D, 0xE8, 0xA0, 0x54, + 0x6E, 0x35, 0x28, 0x37, 0xD4, 0xEB, 0x95, 0xCB, + 0x41, 0xD8, 0xEE, 0xC1, 0x4A, 0x66, 0xCD, 0x38, + 0xC2, 0x24, 0x7E, 0x82, 0xA3, 0x94, 0x39, 0x29, + 0x27, 0xBB, 0xF5, 0x70, 0xA8, 0x65, 0x5E, 0x0F, + 0x2A, 0xC2, 0x43, 0xE5, 0xFB, 0x87, 0x6F, 0xD2, + 0x0B, 0x48, 0x76, 0x73, 0xA2, 0x77, 0x2D, 0xA9, + 0x70, 0xC1, 0xDF, 0x47, 0xA3, 0x2D, 0xEA, 0x8A, + 0x75, 0xE7, 0x09, 0x54, 0x73, 0x22, 0x9C, 0x69, + 0x3C, 0x88, 0x6A, 0x31, 0x6D, 0x2C, 0xEC, 0xBF, + 0x03, 0x59, 0x7B, 0x04, 0xCA, 0x9E, 0xCA, 0xBD, + 0xA3, 0x36, 0x6E, 0x07, 0x64, 0x88, 0x05, 0x9B, + 0x24, 0x59, 0x6F, 0x5D, 0xF6, 0xE8, 0x56, 0x97, + 0xDB, 0xE6, 0x2A, 0xB2, 0xF8, 0xCC, 0x71, 0xAC, + 0x7F, 0x74, 0x3B, 0x64, 0x12, 0x6D, 0x01, 0xF2, + 0xB3, 0x61, 0x27, 0x16, 0xEC, 0xA7, 0x69, 0x75, + 0xE5, 0x14, 0xED, 0x4D, 0x78, 0xA3, 0x22, 0x90, + 0xBE, 0x0A, 0x82, 0xF1, 0x44, 0x14, 0x99, 0x2B, + 0xD1, 0x80, 0x3D, 0xAD, 0xC9, 0x83, 0xDD, 0xF2, + 0x76, 0xD2, 0xCA, 0xE1, 0xA0, 0xA9, 0x03, 0xF9, + 0x1E, 0x78, 0xBE, 0x3C, 0x0B, 0xCA, 0xF5, 0x8F, + 0x3C, 0xE9, 0x8D, 0x12, 0x3A, 0xA6, 0xC8, 0x5F, + 0x65, 0x51, 0xC5, 0x70, 0x07, 0xFE, 0x47, 0x7A, + 0xC8, 0x7E, 0x03, 0x8B, 0x9A, 0x94, 0xAC, 0xC6, + 0x20, 0xDE, 0x12, 0x25, 0x81, 0x05, 0x34, 0x4A, + 0x0C, 0xFB, 0x37, 0x65, 0x50, 0x5E, 0x8E, 0x7E, + 0xC8, 0x6A, 0xC0, 0x86, 0xF6, 0x55, 0x64, 0x23 +}; + +uint8_t rsa_4096_dp[] = { + 0x2F, 0x7C, 0x1C, 0x31, 0x37, 0x69, 0xCF, 0x6F, + 0x8D, 0x3E, 0x4C, 0x3F, 0xAC, 0x13, 0xFD, 0x1E, + 0xC1, 0x9E, 0x9E, 0xE9, 0x1C, 0x99, 0x44, 0x59, + 0x61, 0x01, 0x3E, 0xED, 0x4D, 0x73, 0xCD, 0x9E, + 0xED, 0xA9, 0x50, 0x30, 0x79, 0xCA, 0xD8, 0xF9, + 0xA3, 0x04, 0x7C, 0x0F, 0xD7, 0x01, 0x08, 0x2B, + 0x30, 0x4C, 0xE5, 0x01, 0x67, 0xAF, 0x77, 0x0E, + 0x4B, 0x4C, 0x71, 0x77, 0xD3, 0x99, 0xE0, 0x30, + 0x6D, 0x85, 0x76, 0x0A, 0x98, 0xAE, 0x6A, 0xA3, + 0x04, 0xC5, 0x84, 0xAC, 0xFE, 0x29, 0x9D, 0x0D, + 0x86, 0x8A, 0xFC, 0x61, 0xC8, 0x06, 0xBB, 0xAE, + 0x93, 0x08, 0xA1, 0xB5, 0x87, 0x5D, 0x80, 0x3C, + 0xD4, 0xCF, 0xD0, 0x0E, 0x9F, 0x91, 0x09, 0x7E, + 0x96, 0xD0, 0x95, 0x8A, 0x1F, 0x82, 0x16, 0x2D, + 0x96, 0xAA, 0x80, 0xFB, 0xC0, 0x73, 0xE1, 0xFF, + 0xB0, 0xB0, 0xE5, 0x10, 0x23, 0xF4, 0x31, 0xDC, + 0x94, 0xD0, 0x3F, 0x90, 0xBF, 0x92, 0x19, 0x8C, + 0x64, 0x8F, 0xEF, 0x2C, 0x1E, 0x78, 0x38, 0x4D, + 0x12, 0xFE, 0x41, 0x66, 0x6A, 0x67, 0xE5, 0xA7, + 0x42, 0x04, 0x4B, 0xAC, 0xAA, 0x9C, 0x5A, 0x49, + 0x2A, 0xE5, 0xF1, 0x8C, 0x80, 0x4D, 0x23, 0xF6, + 0xA4, 0xDE, 0x23, 0x6B, 0x6A, 0x83, 0xBC, 0x03, + 0x70, 0xD5, 0x58, 0xFC, 0xCF, 0xB2, 0x0E, 0xC1, + 0xD0, 0x49, 0x9F, 0xB1, 0x20, 0xC9, 0x3E, 0x4B, + 0x11, 0x25, 0xAC, 0x69, 0x75, 0xDC, 0x59, 0xF5, + 0xC8, 0x69, 0xE2, 0xE7, 0x81, 0xD6, 0x94, 0xAF, + 0x57, 0x6C, 0x59, 0x39, 0x0E, 0xD0, 0x20, 0x48, + 0xFF, 0x64, 0x66, 0xB7, 0x3E, 0x88, 0x18, 0x07, + 0x05, 0x51, 0xBA, 0x48, 0xAC, 0x6C, 0x1F, 0x41, + 0xF8, 0xE1, 0xA5, 0xC0, 0x53, 0x65, 0x00, 0x75, + 0xEA, 0x43, 0x17, 0x6B, 0x49, 0xDD, 0x9F, 0x3B, + 0xAC, 0xC5, 0x8C, 0xA3, 0x0C, 0xB9, 0xA4, 0xCF +}; + +uint8_t rsa_4096_dq[] = { + 0x57, 0x5A, 0x87, 0x09, 0x28, 0xAF, 0xD4, 0x39, + 0x71, 0xCC, 0x09, 0xD9, 0xE1, 0x55, 0x24, 0xFF, + 0xAE, 0x84, 0xF6, 0xEA, 0x0F, 0x24, 0xDA, 0x4E, + 0xB1, 0x41, 0x67, 0xFB, 0x56, 0x78, 0xB3, 0xBE, + 0x7A, 0x91, 0xCF, 0x7D, 0x1C, 0x22, 0xBA, 0x7D, + 0x6E, 0x7D, 0xD2, 0xE1, 0x1E, 0x61, 0xB3, 0x53, + 0xC8, 0xD4, 0xE7, 0x1B, 0x44, 0xA8, 0x53, 0xE3, + 0x99, 0x60, 0xF8, 0x01, 0x71, 0xD0, 0x76, 0xCF, + 0x26, 0x0F, 0x9F, 0xCB, 0xD6, 0x24, 0x2A, 0x68, + 0x9C, 0x02, 0xC4, 0x0D, 0x0B, 0xF8, 0x88, 0x2A, + 0x36, 0xB3, 0x2D, 0x75, 0x2B, 0xCB, 0x01, 0xA1, + 0xA8, 0x25, 0x6E, 0x36, 0xC2, 0x9B, 0xC0, 0xDE, + 0x62, 0xAC, 0x7E, 0x99, 0x6D, 0xB6, 0xF8, 0x2B, + 0xA3, 0x2C, 0xA1, 0x11, 0x59, 0x30, 0xFB, 0x30, + 0xEF, 0x17, 0xC5, 0x0A, 0xE3, 0xD9, 0x2D, 0xDE, + 0x0B, 0x73, 0x6B, 0xB7, 0x13, 0x14, 0xB2, 0x9C, + 0x38, 0x9F, 0xCE, 0x2D, 0x60, 0x6F, 0x88, 0xD4, + 0x22, 0x9D, 0xEB, 0x95, 0x44, 0xD2, 0xA9, 0x75, + 0x77, 0xC7, 0x95, 0x93, 0x49, 0xEE, 0xF8, 0xD3, + 0xE8, 0x4E, 0x85, 0xB1, 0x95, 0x18, 0xD8, 0xA7, + 0xB4, 0x44, 0x48, 0x00, 0xC1, 0x44, 0x68, 0xF2, + 0x52, 0x7C, 0xA4, 0xD7, 0x4B, 0xFF, 0x5B, 0x90, + 0x0D, 0x2F, 0x35, 0xB7, 0xD6, 0xA8, 0x60, 0xD0, + 0x08, 0x2E, 0x7C, 0x1B, 0x41, 0xB3, 0xEE, 0x38, + 0x94, 0xE4, 0x2A, 0x8C, 0x17, 0x89, 0x71, 0xA4, + 0x0F, 0x94, 0xAE, 0x9F, 0xB0, 0xF7, 0x03, 0xC9, + 0xD4, 0xD0, 0x45, 0xCB, 0xEB, 0x2B, 0x82, 0x63, + 0x06, 0x2F, 0xDF, 0xD2, 0x6B, 0xD5, 0xB8, 0x69, + 0x60, 0x62, 0x34, 0xE8, 0x9F, 0x2D, 0x96, 0xA5, + 0xAB, 0x04, 0x7A, 0xFF, 0x79, 0x09, 0xDA, 0xCB, + 0x64, 0xD4, 0xFD, 0x3B, 0x35, 0x11, 0xD7, 0xF1, + 0xB9, 0x41, 0xA6, 0x64, 0xDF, 0x40, 0x6D, 0xB9 +}; + +uint8_t rsa_4096_qinv[] = { + 0xD1, 0x0C, 0x91, 0x8D, 0xA9, 0xF2, 0x6D, 0xA9, + 0x4D, 0xFF, 0x3B, 0x09, 0x24, 0x3C, 0x8C, 0xC3, + 0xD4, 0x39, 0x02, 0x6D, 0xE6, 0x2B, 0x9E, 0x9F, + 0x37, 0xAC, 0x60, 0xBB, 0xD7, 0xA9, 0x52, 0xCB, + 0x07, 0x84, 0x94, 0xBD, 0x73, 0x7E, 0xCC, 0x3A, + 0x65, 0x0C, 0x93, 0xC4, 0x2E, 0xD7, 0xF6, 0x49, + 0x02, 0x07, 0xAE, 0x99, 0x6B, 0x3C, 0xD1, 0xFF, + 0x1F, 0x4D, 0x63, 0x9D, 0x61, 0xDD, 0xD1, 0xE7, + 0x12, 0x8D, 0x56, 0x3C, 0x1C, 0x16, 0xC8, 0xB3, + 0x9D, 0x94, 0xD5, 0xDE, 0x5E, 0x93, 0x7F, 0xE6, + 0x5A, 0x38, 0xB8, 0x19, 0xE4, 0x69, 0xF8, 0x8C, + 0x3C, 0xE0, 0x25, 0x21, 0xE2, 0xAD, 0xA9, 0xE3, + 0x46, 0xE6, 0xA1, 0xBD, 0x51, 0x27, 0xC7, 0xBD, + 0xB2, 0x1D, 0xA2, 0xC6, 0x11, 0xE3, 0x5F, 0x6C, + 0x89, 0xE7, 0xDD, 0x66, 0xA0, 0x66, 0xCB, 0x23, + 0x3E, 0xF9, 0x6B, 0xAD, 0x1A, 0xD3, 0x99, 0x94, + 0x0C, 0xAD, 0x05, 0x5A, 0xDF, 0x5C, 0x58, 0x79, + 0xF8, 0x30, 0xA8, 0x08, 0x3C, 0xA6, 0xD6, 0xC0, + 0x58, 0x58, 0xC2, 0x66, 0x03, 0x0A, 0x33, 0xBF, + 0xB4, 0xAD, 0x83, 0xB5, 0xCC, 0x92, 0x9F, 0x2F, + 0x6C, 0xA2, 0x1E, 0x50, 0x29, 0x54, 0x2B, 0x8A, + 0xEB, 0xE7, 0x6B, 0x69, 0x44, 0xE1, 0x86, 0x3E, + 0x39, 0x47, 0x3B, 0x6E, 0xD9, 0xAD, 0x92, 0x6A, + 0x7D, 0xBF, 0xE2, 0xC7, 0x28, 0xE2, 0x3C, 0x74, + 0xF6, 0x9B, 0xB0, 0xE0, 0x54, 0xF1, 0x9F, 0x14, + 0x6C, 0xE1, 0x9E, 0x1D, 0x23, 0x6B, 0x65, 0x34, + 0x30, 0xA7, 0x1D, 0xC4, 0xA7, 0x4A, 0xE2, 0x0E, + 0x0D, 0x14, 0x13, 0x31, 0x66, 0xA1, 0x8A, 0xDF, + 0x6E, 0xF7, 0xFE, 0xD9, 0x5C, 0xC4, 0x64, 0x35, + 0xFF, 0x4C, 0x96, 0x23, 0x2B, 0xD5, 0x64, 0x03, + 0xCC, 0x39, 0xFB, 0x16, 0xAD, 0xF2, 0x24, 0xB4, + 0xFD, 0xEB, 0x8A, 0xBA, 0xF4, 0x91, 0x31, 0xBF +}; + +uint8_t rsa_8192_n[] = { + 0xcf, 0xb0, 0x0e, 0x88, 0x72, 0x2d, 0x19, 0x63, + 0x7f, 0xe0, 0x13, 0x9a, 0xe1, 0x01, 0xec, 0x1f, + 0x37, 0xf1, 0x73, 0x76, 0x19, 0xa8, 0xc4, 0x7d, + 0x0f, 0x04, 0xe5, 0x86, 0xe3, 0x2e, 0x36, 0xb4, + 0xdb, 0x7a, 0xa8, 0x2a, 0x5d, 0x85, 0x62, 0x43, + 0x75, 0xe0, 0x0d, 0xf4, 0x0b, 0x6a, 0x1c, 0x56, + 0x20, 0xbc, 0x01, 0x0f, 0x26, 0xde, 0x12, 0xeb, + 0x74, 0x88, 0xc5, 0x5a, 0xcc, 0x14, 0x91, 0x66, + 0x13, 0x9d, 0xb5, 0x32, 0xa1, 0xa3, 0x67, 0x6f, + 0x14, 0x90, 0x83, 0xa4, 0xac, 0x4a, 0xa1, 0xf9, + 0x1e, 0xff, 0xa5, 0xe1, 0xe3, 0x24, 0xcb, 0x86, + 0x9a, 0x13, 0x66, 0x23, 0xa4, 0xb6, 0x46, 0x21, + 0xcb, 0x26, 0x76, 0xdf, 0x0b, 0x5d, 0xe6, 0xc2, + 0x0a, 0x2b, 0xb3, 0xfe, 0x01, 0x9f, 0x15, 0xfa, + 0x69, 0xea, 0x80, 0x46, 0x64, 0x10, 0xf1, 0x29, + 0xbf, 0xad, 0x60, 0xa7, 0x17, 0xe0, 0xb6, 0xdb, + 0xa1, 0x96, 0x92, 0x4a, 0x02, 0x24, 0xdd, 0x1b, + 0x95, 0x5f, 0xfa, 0x8b, 0xce, 0x9a, 0x90, 0x61, + 0xd1, 0xa7, 0x75, 0x0f, 0xb5, 0x62, 0xcb, 0xee, + 0xb8, 0x2c, 0xed, 0x82, 0xdb, 0x0b, 0x43, 0x02, + 0xa0, 0x07, 0x73, 0x50, 0x2f, 0xa1, 0x80, 0xd9, + 0xbb, 0x55, 0x62, 0x06, 0xb1, 0xc1, 0xf6, 0xdf, + 0x91, 0x50, 0xa1, 0x8a, 0x7a, 0x5e, 0x2c, 0xb9, + 0x71, 0x84, 0xe3, 0x99, 0x1b, 0xe6, 0x53, 0x0e, + 0xd2, 0x4d, 0x95, 0xf7, 0xd4, 0x28, 0x2a, 0x9f, + 0x33, 0x17, 0x3c, 0x5a, 0x92, 0xbb, 0xc3, 0x26, + 0x68, 0x84, 0xd8, 0x96, 0x55, 0x1f, 0xb2, 0x66, + 0x4f, 0x9c, 0x74, 0xb7, 0x25, 0xd1, 0xf5, 0xc2, + 0xf3, 0x41, 0x58, 0xe8, 0x3d, 0xf3, 0x56, 0xa9, + 0xbe, 0xa2, 0x94, 0xfd, 0x96, 0x17, 0x1a, 0x2d, + 0x4e, 0xdc, 0xc8, 0x23, 0xd3, 0x5c, 0x5f, 0x15, + 0xa0, 0x3e, 0x19, 0x25, 0xf8, 0x2f, 0x4c, 0x02, + 0x64, 0xf9, 0x0d, 0x13, 0x88, 0x43, 0x55, 0xb4, + 0x7d, 0x8b, 0xfb, 0xb4, 0x0f, 0x49, 0x1a, 0xc6, + 0xa2, 0xc8, 0x93, 0x52, 0x68, 0x00, 0x15, 0x74, + 0xe4, 0xd7, 0x7b, 0xe4, 0x1f, 0x32, 0xb5, 0x68, + 0x33, 0x84, 0xea, 0xd1, 0xc0, 0xb0, 0xa6, 0xf0, + 0x80, 0x2b, 0x1d, 0x1c, 0x06, 0x83, 0xdd, 0x9b, + 0xe3, 0xde, 0xb0, 0x73, 0xd5, 0x35, 0x89, 0x5c, + 0xc4, 0x64, 0x8a, 0x3e, 0xf8, 0x43, 0xc0, 0x38, + 0x6f, 0xa2, 0xe3, 0x67, 0x7d, 0xaf, 0xa2, 0xf5, + 0x5e, 0x2a, 0x11, 0xf0, 0x8d, 0xe2, 0xc0, 0x03, + 0xb7, 0x51, 0xf9, 0x21, 0xea, 0x5c, 0xaf, 0xcf, + 0x02, 0x3c, 0xa2, 0xba, 0xb6, 0x2a, 0xb1, 0x44, + 0xa2, 0xc7, 0xfc, 0x36, 0x61, 0x67, 0x67, 0x66, + 0xec, 0x42, 0xeb, 0xc9, 0xc5, 0xcb, 0x52, 0x1f, + 0xba, 0x23, 0x0b, 0x52, 0x03, 0x8f, 0x5f, 0xe0, + 0xea, 0xe4, 0xa5, 0x54, 0x04, 0xee, 0xfe, 0xd0, + 0x55, 0x1c, 0x71, 0x08, 0xb0, 0x93, 0xeb, 0xc2, + 0x42, 0x9a, 0xc3, 0x84, 0x08, 0x00, 0xfc, 0x10, + 0x43, 0x84, 0x67, 0x83, 0xde, 0x67, 0x73, 0x00, + 0x7c, 0x03, 0xe8, 0x6a, 0x2f, 0xb4, 0x2c, 0x9d, + 0x87, 0xfc, 0x72, 0x91, 0xf2, 0x1f, 0xcd, 0x1c, + 0x8a, 0xae, 0xcb, 0x94, 0x63, 0x8b, 0xd7, 0xd7, + 0x31, 0x6f, 0x97, 0xab, 0x27, 0xa5, 0x4d, 0xf7, + 0x57, 0x65, 0xcf, 0x70, 0x06, 0xca, 0x99, 0xa8, + 0x48, 0x76, 0xc3, 0x8c, 0xa6, 0xcb, 0x79, 0xe0, + 0xf3, 0x88, 0x13, 0x57, 0xde, 0xe0, 0x3f, 0xf5, + 0x10, 0xa3, 0x5e, 0x01, 0xe7, 0x39, 0x56, 0x88, + 0x17, 0xf2, 0xa1, 0x91, 0x01, 0x71, 0xeb, 0xcf, + 0xea, 0xc3, 0xa9, 0xc4, 0x70, 0x45, 0xf1, 0x20, + 0x16, 0x29, 0x85, 0x36, 0x11, 0x92, 0x71, 0x2f, + 0x9c, 0x08, 0x08, 0x90, 0x95, 0xcf, 0x0e, 0xb2, + 0x8f, 0xa2, 0xde, 0x17, 0x3e, 0x2b, 0x26, 0xaf, + 0x05, 0xa8, 0x7b, 0x5e, 0x10, 0x95, 0x7d, 0x8e, + 0xb5, 0x5d, 0xee, 0x37, 0xe5, 0x20, 0xe9, 0xfa, + 0x7b, 0x7c, 0xd5, 0x05, 0x95, 0x21, 0x29, 0x90, + 0x81, 0xed, 0x1b, 0x86, 0x5c, 0xad, 0xc7, 0x9f, + 0x8a, 0xbd, 0x8a, 0xcd, 0x94, 0x09, 0x36, 0x30, + 0x4c, 0xf7, 0xb4, 0x42, 0xab, 0x15, 0xb7, 0x4e, + 0x3b, 0x3c, 0x1a, 0xba, 0x34, 0xe0, 0x0a, 0xc8, + 0xe4, 0x66, 0xf6, 0xff, 0x2e, 0xb4, 0x83, 0x93, + 0xdb, 0xeb, 0x0c, 0x90, 0xab, 0x3a, 0xa1, 0xc0, + 0xd3, 0x7a, 0x71, 0x1c, 0xc4, 0x0c, 0xa9, 0x90, + 0x50, 0x9f, 0xa3, 0x36, 0xd8, 0x89, 0x92, 0xc7, + 0xf7, 0xf0, 0xd5, 0xbb, 0xb5, 0xd4, 0x88, 0xf5, + 0x35, 0x70, 0x58, 0x3f, 0xdd, 0xa9, 0x5f, 0xfb, + 0x45, 0x00, 0x13, 0x5f, 0x15, 0xe0, 0x8c, 0xe1, + 0xc3, 0x79, 0xed, 0x9e, 0x64, 0x99, 0xaf, 0x61, + 0x87, 0x83, 0xf8, 0x37, 0xae, 0xb1, 0x61, 0xc9, + 0xe9, 0x3c, 0xe7, 0x93, 0x35, 0xde, 0x72, 0xfc, + 0x68, 0x79, 0x2d, 0x19, 0xc3, 0xd3, 0x2d, 0x7f, + 0xc4, 0xbd, 0xb2, 0x7f, 0xe7, 0x79, 0x42, 0x93, + 0x38, 0xf2, 0xe3, 0x0e, 0x07, 0x74, 0xbc, 0x85, + 0x64, 0xbc, 0xbf, 0x88, 0x51, 0x5f, 0x51, 0xef, + 0x85, 0x74, 0x4b, 0x41, 0x52, 0x6d, 0x45, 0x30, + 0xca, 0x48, 0xb8, 0x2e, 0xfe, 0xa1, 0x65, 0x62, + 0x55, 0x0a, 0xfe, 0xcc, 0xc8, 0x24, 0xcd, 0xc9, + 0x26, 0xb3, 0x4f, 0xdf, 0xcf, 0xb3, 0xa7, 0x4a, + 0xd9, 0xdd, 0xe0, 0x03, 0x8c, 0x9f, 0xc6, 0xc7, + 0x5c, 0x03, 0x4e, 0xe9, 0x51, 0x73, 0x51, 0x08, + 0xb1, 0x39, 0xf6, 0x6b, 0xfc, 0xac, 0xf1, 0xbe, + 0x07, 0x48, 0x11, 0xa9, 0x69, 0xa1, 0x36, 0x2b, + 0xac, 0x01, 0x95, 0x18, 0x67, 0x77, 0x82, 0xfc, + 0x2b, 0xbb, 0xba, 0x05, 0x3f, 0xc9, 0x97, 0x5b, + 0x32, 0x6a, 0x7a, 0xc0, 0x23, 0x11, 0x9d, 0xe1, + 0xda, 0xc7, 0x63, 0x80, 0x07, 0x82, 0xf3, 0xf0, + 0x85, 0xa6, 0x93, 0xdd, 0x77, 0xdf, 0x63, 0x10, + 0x5a, 0xa2, 0xd4, 0xd0, 0xc6, 0xab, 0x0f, 0x0c, + 0xaf, 0x52, 0xb7, 0x52, 0xb3, 0x7a, 0x7c, 0xc6, + 0x41, 0x79, 0x98, 0x93, 0x7a, 0x6e, 0xec, 0xe8, + 0xe7, 0x3e, 0x9a, 0xbc, 0x9b, 0x35, 0xc7, 0xc3, + 0x52, 0x99, 0xbb, 0x02, 0x6a, 0x1a, 0xd5, 0x98, + 0x66, 0x0a, 0x76, 0x63, 0x08, 0xdd, 0x0b, 0xe9, + 0x11, 0x11, 0xb3, 0x2b, 0x86, 0x93, 0x92, 0xec, + 0xdb, 0xae, 0xf8, 0x3b, 0x1c, 0xac, 0xcf, 0x7f, + 0x36, 0x6d, 0x2f, 0x9b, 0x4f, 0x79, 0x85, 0x2b, + 0xc7, 0xc9, 0xa1, 0x93, 0x78, 0x81, 0xa0, 0x1a, + 0xb0, 0x3e, 0x91, 0x17, 0xb7, 0xcd, 0x4e, 0xd4, + 0x5a, 0x15, 0x3d, 0x5d, 0xbc, 0xfc, 0x02, 0x22, + 0xb3, 0xc2, 0xb5, 0xa6, 0xe4, 0x73, 0xf4, 0x66, + 0xc5, 0xfc, 0x71, 0xc8, 0x54, 0xfe, 0xfd, 0x9e, + 0x1d, 0x04, 0xe9, 0xc3, 0x39, 0x10, 0x57, 0x87, + 0x38, 0xe1, 0xb4, 0x8e, 0x3a, 0x61, 0x78, 0x9f, + 0x59, 0xee, 0xa1, 0x2f, 0x67, 0x65, 0x78, 0x66, + 0x07, 0x7f, 0xd5, 0x60, 0x56, 0x5e, 0x68, 0xe4, + 0xd1, 0x34, 0xf7, 0xd7, 0xf0, 0xc9, 0x8b, 0x5b, + 0x20, 0x6a, 0x3f, 0x4a, 0xa9, 0x12, 0xa0, 0xba, + 0xa1, 0x6c, 0xe6, 0xcc, 0xed, 0xfd, 0xc1, 0x25, + 0x7d, 0xa5, 0x83, 0x65, 0x6e, 0x54, 0x64, 0x12, + 0xef, 0xf8, 0x91, 0x93, 0xe1, 0x88, 0xf9, 0xf6, + 0xf3, 0xb7, 0xe8, 0x4b, 0xbf, 0xf0, 0x93, 0xc1, + 0x85, 0xdd, 0x31, 0x28, 0xe9, 0xbf, 0x81, 0xa6, + 0xa5, 0xdd, 0xf2, 0x35, 0x17, 0x7c, 0x8a, 0x3a, + 0x38, 0x15, 0xd8, 0x16, 0x11, 0xd3, 0x12, 0x27, + 0xe6, 0xd9, 0xca, 0x6d, 0x66, 0x55, 0xa3, 0xc9, + 0xcc, 0x6b, 0x4f, 0xfe, 0x7f, 0x84, 0xa7, 0xcf, + 0xee, 0x01, 0x8f, 0x0d, 0x5d, 0x93, 0x63, 0x2b, +}; + +uint8_t rsa_8192_d[] = { + 0x3d, 0x09, 0xd4, 0x2b, 0x9b, 0xca, 0xcf, 0x64, + 0x63, 0xc7, 0xba, 0x5b, 0x51, 0x77, 0xdc, 0x2a, + 0x8c, 0xa9, 0x84, 0xb2, 0x97, 0xf5, 0xf6, 0xd1, + 0x7e, 0x61, 0x85, 0x07, 0xb0, 0xaa, 0xfb, 0x5f, + 0x0a, 0x06, 0x31, 0x78, 0x4a, 0x06, 0x12, 0x8c, + 0x1b, 0x0f, 0x9f, 0x6a, 0x33, 0x14, 0x9b, 0x81, + 0x60, 0x9b, 0x80, 0x80, 0x30, 0x7f, 0x21, 0xf6, + 0x5b, 0x48, 0x7b, 0x20, 0x25, 0x4c, 0x82, 0x33, + 0x0a, 0xde, 0xd5, 0xcb, 0x2c, 0xa0, 0x36, 0x9c, + 0xf9, 0xe1, 0x43, 0x1f, 0x59, 0x97, 0x91, 0xa5, + 0x02, 0xcc, 0x45, 0xb7, 0x6e, 0xa7, 0x78, 0xbd, + 0x75, 0x78, 0xf0, 0x12, 0xd7, 0xac, 0xce, 0x4d, + 0xce, 0x43, 0xde, 0xb9, 0xcc, 0xc0, 0x6b, 0x3a, + 0x69, 0xfc, 0xd0, 0x28, 0x7d, 0xd7, 0x80, 0x81, + 0x19, 0x31, 0xd7, 0x43, 0x58, 0xd3, 0x75, 0xdd, + 0x3c, 0x3d, 0x3b, 0x63, 0xc0, 0x6b, 0xc5, 0xb2, + 0x24, 0xfa, 0x78, 0xc2, 0x11, 0x81, 0x3e, 0x0e, + 0x86, 0x47, 0x2f, 0xfe, 0x78, 0xd9, 0x0a, 0x48, + 0x05, 0x72, 0xfe, 0xbf, 0x80, 0x22, 0xaa, 0x26, + 0xdd, 0xb0, 0x2e, 0x99, 0xbf, 0xc0, 0xbe, 0x8f, + 0xfd, 0xf2, 0x52, 0x9c, 0xa5, 0x73, 0x04, 0xc8, + 0x78, 0xfb, 0x2e, 0x15, 0x23, 0x97, 0x0a, 0xf4, + 0x47, 0xe3, 0xf7, 0xa6, 0x18, 0x32, 0xa7, 0x58, + 0x55, 0x19, 0xa6, 0x3e, 0x70, 0x69, 0xaf, 0xcd, + 0x72, 0x57, 0x65, 0x14, 0xf2, 0x20, 0x5f, 0xee, + 0x6b, 0xf8, 0x8f, 0x3f, 0x5b, 0x52, 0x9d, 0x97, + 0x23, 0x2e, 0xaf, 0xec, 0xf6, 0xd5, 0x9a, 0xfb, + 0xe0, 0xb7, 0xed, 0xc1, 0x89, 0xf6, 0xfc, 0x10, + 0xb0, 0xa7, 0x6a, 0xf6, 0xce, 0x86, 0x3e, 0xd9, + 0x22, 0x72, 0xeb, 0xf0, 0xdf, 0x74, 0xa8, 0xb7, + 0xda, 0x2e, 0x9f, 0x0f, 0x90, 0x65, 0xdc, 0x78, + 0x21, 0xa1, 0x3e, 0x88, 0xdf, 0x39, 0x1f, 0x50, + 0xb0, 0xd6, 0x55, 0x56, 0x81, 0x3c, 0xb0, 0xea, + 0x9b, 0xdf, 0x51, 0x39, 0x69, 0x28, 0xa6, 0x1a, + 0xec, 0xea, 0xa0, 0x09, 0x9f, 0x11, 0x2f, 0x3d, + 0x2c, 0xa8, 0x7b, 0xfb, 0xde, 0x83, 0x6b, 0xb7, + 0x55, 0x34, 0xe2, 0x42, 0x85, 0x2c, 0x25, 0xd4, + 0x17, 0x07, 0x14, 0xc6, 0x10, 0xd0, 0x1e, 0x88, + 0x5b, 0x5f, 0x2e, 0x62, 0xcc, 0xad, 0xb0, 0x52, + 0x38, 0x52, 0x08, 0x23, 0x5b, 0x99, 0xa5, 0xdb, + 0xb0, 0x4b, 0xa2, 0x23, 0xdf, 0x57, 0x88, 0x40, + 0x2e, 0xcd, 0x94, 0x7a, 0x2b, 0x69, 0x11, 0xdf, + 0xc5, 0xb7, 0xec, 0xcd, 0x5f, 0xf0, 0x9f, 0xa6, + 0xea, 0x54, 0x61, 0xcb, 0x18, 0x10, 0xd2, 0x0a, + 0x87, 0x00, 0xd9, 0x8a, 0x2d, 0xf4, 0x52, 0xfa, + 0x77, 0xc3, 0x6f, 0x42, 0xdc, 0xc3, 0xd5, 0xbe, + 0x07, 0x59, 0x97, 0x51, 0x22, 0x44, 0xb7, 0xfc, + 0x05, 0x6c, 0xef, 0x7e, 0x12, 0xf9, 0x1e, 0xa0, + 0xa1, 0xf2, 0xfa, 0xf1, 0x7f, 0xdb, 0xe9, 0x75, + 0x2d, 0x58, 0x08, 0xd0, 0x3b, 0xfd, 0xf6, 0x16, + 0xdd, 0x91, 0x03, 0x4f, 0x49, 0x45, 0x04, 0x12, + 0x87, 0x60, 0x2a, 0xa5, 0x52, 0xa1, 0xd4, 0x5e, + 0xf4, 0x01, 0x68, 0xb6, 0xa5, 0xff, 0x5c, 0xab, + 0xdf, 0xc2, 0x61, 0x88, 0x99, 0xfd, 0x16, 0x91, + 0x63, 0x31, 0x15, 0xd5, 0x32, 0x90, 0xad, 0xaa, + 0x5c, 0xe0, 0x4a, 0x27, 0xf5, 0x87, 0x03, 0xc3, + 0xe6, 0x90, 0x29, 0x06, 0xa4, 0x5a, 0xb6, 0xd6, + 0x3b, 0x1c, 0xa9, 0xfa, 0xb0, 0x41, 0x1d, 0xea, + 0xeb, 0x59, 0xe8, 0x1e, 0x0d, 0x13, 0xd7, 0xef, + 0xa5, 0x82, 0x24, 0xa3, 0xd6, 0x55, 0xe1, 0xe5, + 0x38, 0x6d, 0x0a, 0xee, 0xf5, 0xc4, 0x48, 0x8a, + 0x92, 0x98, 0xdf, 0x52, 0xb5, 0xb5, 0x61, 0x58, + 0x89, 0xb5, 0xfe, 0xb6, 0x67, 0xa0, 0xf4, 0x03, + 0xdc, 0x9d, 0x14, 0x42, 0xa6, 0x7d, 0xce, 0x1f, + 0x28, 0xae, 0x56, 0xab, 0x21, 0xf8, 0xfa, 0x01, + 0xbe, 0xc8, 0x31, 0x40, 0x40, 0x20, 0xc1, 0xb5, + 0x19, 0xfd, 0x32, 0x59, 0x15, 0x5c, 0xc4, 0xd1, + 0xe4, 0xef, 0x1f, 0x1f, 0x0b, 0x24, 0x6c, 0x6e, + 0x6e, 0xa4, 0xc4, 0x81, 0x47, 0x23, 0x54, 0xf5, + 0x60, 0x95, 0xb9, 0xa9, 0x42, 0x95, 0xe4, 0x04, + 0x67, 0x36, 0x04, 0xdd, 0xdd, 0x51, 0x83, 0x47, + 0xd0, 0x41, 0x54, 0x35, 0x45, 0xaf, 0x81, 0x3d, + 0xb6, 0x33, 0xa2, 0xfc, 0xf5, 0xe5, 0x8e, 0x06, + 0xf4, 0xc0, 0x09, 0x9a, 0xd7, 0x44, 0xe6, 0x07, + 0xdd, 0xa1, 0x8d, 0x99, 0xf8, 0x5f, 0x32, 0x5c, + 0xec, 0x95, 0xa4, 0x73, 0xfa, 0x8b, 0x0f, 0x8d, + 0x42, 0xe2, 0x5d, 0x2b, 0x03, 0xf1, 0x83, 0x02, + 0x02, 0x1c, 0x75, 0x30, 0x11, 0xa0, 0xda, 0xe3, + 0xeb, 0x18, 0x5e, 0x23, 0xab, 0xbe, 0x34, 0x7a, + 0xd4, 0x6e, 0xb8, 0x60, 0x97, 0xeb, 0xeb, 0x19, + 0x22, 0xaf, 0x97, 0x96, 0x0f, 0xd8, 0xa6, 0xca, + 0xf8, 0x92, 0x95, 0x54, 0x88, 0x04, 0x6c, 0xac, + 0xbf, 0xe9, 0x45, 0xa3, 0x2f, 0xde, 0x67, 0xba, + 0xe9, 0xaf, 0x2a, 0x1f, 0x2b, 0x9b, 0xa5, 0x82, + 0xb9, 0x91, 0x9d, 0xaa, 0x1a, 0x2c, 0x02, 0xfb, + 0xf0, 0x9a, 0x15, 0x8a, 0x83, 0x6f, 0x51, 0xfc, + 0x5a, 0x51, 0x4b, 0x76, 0x1d, 0xc7, 0x12, 0x5f, + 0xf0, 0x46, 0xeb, 0xfd, 0xf1, 0x2b, 0x75, 0x71, + 0xad, 0xe4, 0x58, 0x6d, 0x99, 0x41, 0x57, 0x99, + 0x46, 0xae, 0x89, 0xb4, 0x78, 0x68, 0x53, 0x1a, + 0xb5, 0x36, 0xaf, 0x26, 0xeb, 0x49, 0xbc, 0x69, + 0x4a, 0x77, 0xde, 0x41, 0x95, 0x74, 0xf4, 0x0c, + 0xb6, 0x53, 0xae, 0x6f, 0x48, 0x84, 0xb0, 0xf6, + 0x19, 0xa6, 0x87, 0x7c, 0x32, 0xba, 0x4d, 0x1d, + 0xc4, 0x6c, 0x2d, 0xf2, 0xfb, 0x59, 0xb4, 0x2f, + 0x03, 0xe0, 0x04, 0x10, 0x83, 0x8e, 0x77, 0x95, + 0xd6, 0x43, 0xd7, 0x01, 0x0a, 0x92, 0xf3, 0xc8, + 0x5b, 0xcb, 0x32, 0xa5, 0x9b, 0x8b, 0xb9, 0x3c, + 0x2e, 0x8c, 0x6c, 0xb7, 0x4e, 0xe7, 0x0f, 0xf9, + 0x6a, 0x8f, 0x31, 0xe9, 0xd7, 0x7c, 0x51, 0x6d, + 0x90, 0xa6, 0x98, 0x78, 0x07, 0x7b, 0xd2, 0xbc, + 0x5c, 0x68, 0x7c, 0x96, 0xc2, 0xaf, 0x62, 0xe6, + 0xd4, 0x1e, 0x8b, 0xb2, 0x32, 0x66, 0x69, 0xc9, + 0xe8, 0x18, 0x65, 0x2f, 0x75, 0x95, 0xb4, 0x78, + 0x62, 0x48, 0xb5, 0xfe, 0xb9, 0xef, 0x9e, 0x9a, + 0x99, 0xbe, 0x49, 0x05, 0xa2, 0x6f, 0xac, 0x2b, + 0x10, 0x58, 0x43, 0x36, 0x39, 0x17, 0x36, 0x8a, + 0x36, 0x81, 0xde, 0x74, 0xb6, 0x81, 0xc5, 0x2d, + 0x9c, 0x1d, 0x86, 0x04, 0x30, 0x89, 0x9b, 0x93, + 0x3f, 0xbb, 0x42, 0x1f, 0x87, 0x46, 0x0f, 0x3d, + 0xb8, 0x60, 0x6a, 0x1f, 0x9b, 0x86, 0xd3, 0x6f, + 0x9f, 0x58, 0xaf, 0x35, 0x29, 0xa1, 0x0b, 0xfd, + 0x35, 0xf3, 0xe5, 0xf0, 0x78, 0xd9, 0x9f, 0x75, + 0x02, 0xab, 0x14, 0xed, 0x21, 0xda, 0x86, 0x7e, + 0x2b, 0x6c, 0x66, 0x1f, 0xd9, 0xc1, 0xac, 0xfd, + 0x49, 0x0d, 0xad, 0x84, 0xf4, 0x97, 0x53, 0x4f, + 0x43, 0x6b, 0x96, 0x82, 0x30, 0x0a, 0x9b, 0x25, + 0x0a, 0xd5, 0xd4, 0x06, 0x59, 0x00, 0x06, 0x5f, + 0x0d, 0xe0, 0xc9, 0x3e, 0x13, 0x5d, 0x7d, 0x4d, + 0xc6, 0xb6, 0x1d, 0x6f, 0xa1, 0x3c, 0x92, 0xe3, + 0x85, 0x7e, 0x81, 0x5f, 0x7b, 0x0b, 0x76, 0x14, + 0x60, 0xf8, 0x61, 0x31, 0xc3, 0xc5, 0x84, 0xb0, + 0x33, 0x99, 0x8b, 0x5f, 0x01, 0xb7, 0x10, 0x2d, + 0x2c, 0xe1, 0x22, 0xc8, 0xad, 0x9e, 0xd5, 0x14, + 0x95, 0x65, 0x91, 0xda, 0x43, 0x5c, 0x0f, 0x1f, + 0xe5, 0x84, 0xec, 0x42, 0x52, 0x18, 0xaf, 0x8f, + 0x1a, 0xc8, 0x5a, 0x75, 0xa3, 0x3c, 0xce, 0xdd, + 0xbb, 0xa9, 0xcb, 0x09, 0xb7, 0x3b, 0x66, 0xd1, +}; + +uint8_t rsa_8192_p[] = { + 0xea, 0xeb, 0x4c, 0xdd, 0x3e, 0x0c, 0x75, 0xd7, + 0x99, 0x62, 0xd2, 0x4b, 0x71, 0x3d, 0x02, 0xe7, + 0x9a, 0xc6, 0x74, 0x9c, 0x4e, 0x40, 0x5d, 0xbb, + 0xb8, 0x64, 0x4a, 0xd3, 0x34, 0x2b, 0x68, 0x65, + 0xf7, 0x00, 0x3c, 0xca, 0x96, 0x6d, 0xbe, 0x02, + 0x15, 0x28, 0x75, 0x6a, 0xed, 0x84, 0x1f, 0xd1, + 0x63, 0x4c, 0xf3, 0xab, 0xd4, 0xd9, 0x0d, 0xba, + 0xe4, 0xac, 0x3e, 0xa4, 0x46, 0xf3, 0xa6, 0xdf, + 0x39, 0x6e, 0x95, 0x40, 0xcc, 0x33, 0x4b, 0x72, + 0x78, 0xa1, 0x12, 0x73, 0x7e, 0x14, 0xf0, 0x44, + 0xd6, 0x00, 0xea, 0x94, 0xa2, 0x9a, 0xdf, 0x0a, + 0xac, 0x3f, 0xd5, 0xbf, 0xe8, 0x61, 0x09, 0xf8, + 0x80, 0xc1, 0x63, 0xdc, 0xb8, 0x5f, 0x6e, 0x14, + 0xb5, 0x81, 0xfe, 0x43, 0xc2, 0x72, 0x66, 0x6e, + 0x17, 0x7d, 0x40, 0xc2, 0x43, 0x1b, 0xdd, 0x81, + 0x9f, 0xf1, 0x57, 0x58, 0x25, 0x0a, 0xca, 0x45, + 0xc5, 0x34, 0x44, 0x2a, 0x6b, 0xda, 0xdc, 0x30, + 0x1f, 0x2f, 0xa8, 0xca, 0x8f, 0xd4, 0xf0, 0x1d, + 0x14, 0xc2, 0xa3, 0xb4, 0x44, 0x62, 0x32, 0x50, + 0x66, 0xcc, 0x3e, 0x99, 0x64, 0x9b, 0xde, 0xff, + 0xeb, 0xa3, 0xd3, 0xa8, 0xcc, 0xf6, 0x93, 0xff, + 0x51, 0x46, 0x40, 0x5d, 0xd7, 0x1c, 0x15, 0xb1, + 0xd5, 0x4e, 0x83, 0x58, 0x6c, 0x90, 0x89, 0xd8, + 0xb1, 0xa4, 0xb9, 0x1a, 0x5b, 0x0b, 0x4d, 0x82, + 0x54, 0xd7, 0x9f, 0x78, 0xd6, 0xfa, 0x84, 0x3e, + 0x05, 0x4b, 0xb1, 0x7b, 0x71, 0x0d, 0x55, 0xf3, + 0x61, 0xdf, 0x16, 0xe3, 0xc2, 0x9d, 0x61, 0x5e, + 0x10, 0x7e, 0xf9, 0x0f, 0x8a, 0x59, 0x51, 0x47, + 0x5f, 0x1b, 0x3c, 0xbb, 0xda, 0x16, 0x45, 0x63, + 0x94, 0x9b, 0x3b, 0x4f, 0x2d, 0x54, 0xa9, 0x8e, + 0xe8, 0x11, 0x02, 0x75, 0x9b, 0xee, 0xf6, 0xc7, + 0x5b, 0xbf, 0xa1, 0x3e, 0x75, 0x53, 0x21, 0xba, + 0x64, 0xef, 0x06, 0x29, 0x3f, 0x81, 0x4a, 0xcb, + 0x9e, 0xdc, 0x49, 0x9a, 0x69, 0x6d, 0xeb, 0x99, + 0x44, 0x67, 0xeb, 0xec, 0x1b, 0x77, 0x9e, 0xea, + 0x17, 0xba, 0xcb, 0x8d, 0x6d, 0x19, 0x42, 0xc7, + 0xc2, 0x76, 0xb6, 0x12, 0x20, 0xcc, 0xff, 0x6c, + 0x8e, 0xfe, 0x72, 0x5c, 0x3a, 0xa6, 0x51, 0x81, + 0x5d, 0x5f, 0xec, 0xd1, 0xa1, 0x67, 0x0b, 0xe3, + 0x8e, 0x57, 0x3f, 0x99, 0x1b, 0x4d, 0x63, 0xb1, + 0x21, 0xdf, 0x71, 0x79, 0x62, 0x92, 0x07, 0xf8, + 0x95, 0x42, 0x08, 0x89, 0xf2, 0xdf, 0xf1, 0xcf, + 0x19, 0x75, 0x69, 0x77, 0xdb, 0x39, 0xb5, 0x6b, + 0x8b, 0xbc, 0x0f, 0x55, 0x0b, 0xcf, 0x16, 0x6a, + 0xa5, 0xe2, 0x28, 0x3f, 0x34, 0x82, 0xd4, 0x09, + 0x95, 0x20, 0xa2, 0x6a, 0x2e, 0xf9, 0x3e, 0xf1, + 0x29, 0xe2, 0xff, 0x7a, 0xa0, 0xb9, 0xaf, 0xdf, + 0xf9, 0x46, 0x52, 0x7a, 0x8b, 0xe8, 0x7f, 0xae, + 0x6c, 0x8c, 0x7d, 0x0b, 0x52, 0xfb, 0xc4, 0x49, + 0x7f, 0x9a, 0xb9, 0xa2, 0xd3, 0x0b, 0x6c, 0x8e, + 0x21, 0xde, 0x45, 0xa2, 0x08, 0xcd, 0xba, 0x5f, + 0xb2, 0x72, 0x4f, 0xf8, 0x4d, 0xdc, 0x4e, 0x06, + 0x27, 0x6c, 0x2a, 0xc4, 0x58, 0x2d, 0xbd, 0xd2, + 0x1b, 0x13, 0x10, 0x06, 0x80, 0x3a, 0xb6, 0x88, + 0x05, 0x51, 0x49, 0x3d, 0x97, 0x3f, 0x6f, 0x8c, + 0xfa, 0x99, 0x9b, 0x70, 0xa1, 0x97, 0x2f, 0x1d, + 0x82, 0x56, 0xdc, 0x80, 0x41, 0x81, 0x10, 0xe6, + 0x7c, 0xe7, 0xe5, 0x8a, 0x13, 0xac, 0x8f, 0x10, + 0x83, 0xb3, 0xbd, 0x2c, 0x4a, 0xe2, 0x6e, 0x21, + 0x4e, 0x96, 0xa8, 0xd5, 0x07, 0x24, 0xf3, 0x4a, + 0x79, 0xe3, 0x50, 0xe3, 0xbe, 0x2c, 0xaa, 0x52, + 0x95, 0xda, 0xf3, 0x93, 0xd2, 0xf0, 0x6a, 0x22, + 0xe9, 0x95, 0x37, 0xe6, 0x94, 0xec, 0x80, 0x8f, + 0x32, 0xb1, 0xd8, 0x2c, 0xd7, 0x0c, 0x36, 0x49, +}; + +uint8_t rsa_8192_q[] = { + 0xe2, 0x53, 0x2e, 0x30, 0xf5, 0xfe, 0x97, 0x1a, + 0x79, 0xf6, 0x90, 0x26, 0x02, 0xed, 0xd5, 0x51, + 0x96, 0xd9, 0x8a, 0x57, 0x48, 0xd8, 0xdf, 0x4e, + 0xa1, 0x4d, 0x52, 0xd1, 0x4c, 0x89, 0x05, 0xef, + 0xea, 0xb3, 0x55, 0x9d, 0x14, 0x46, 0x19, 0x72, + 0x05, 0xa2, 0x5f, 0x16, 0x4f, 0xcf, 0x0a, 0xb4, + 0x51, 0x4a, 0x27, 0xde, 0x53, 0x46, 0xaf, 0x4f, + 0x87, 0xbf, 0xa8, 0x84, 0x74, 0x67, 0x1f, 0x1e, + 0x4e, 0x71, 0x20, 0x50, 0x53, 0x1b, 0x38, 0xbd, + 0x67, 0xb0, 0x3a, 0xa4, 0xd9, 0x5b, 0x30, 0xc2, + 0x28, 0xe6, 0x95, 0x49, 0x1e, 0xe8, 0xf6, 0xc0, + 0x68, 0x0f, 0x75, 0x96, 0x9e, 0x0d, 0xf6, 0xc9, + 0xf4, 0x5d, 0xb7, 0xfc, 0xca, 0x14, 0x09, 0x6e, + 0xa8, 0xec, 0xed, 0x22, 0x25, 0x8c, 0xe6, 0x20, + 0x3a, 0xfe, 0xda, 0x13, 0x62, 0x2e, 0x52, 0xa0, + 0x07, 0x58, 0x30, 0xa0, 0x29, 0x67, 0x2e, 0x02, + 0xba, 0x66, 0x4f, 0x77, 0xa1, 0x29, 0x35, 0x2a, + 0xa2, 0x8e, 0x61, 0x1c, 0xee, 0x77, 0xca, 0x82, + 0x16, 0x26, 0x2e, 0x1d, 0xd2, 0x92, 0x43, 0x9d, + 0x16, 0xad, 0xc9, 0xf8, 0xd1, 0xdc, 0x36, 0x8d, + 0xb6, 0x64, 0x32, 0xf8, 0x92, 0xb8, 0xdf, 0x38, + 0x49, 0x78, 0xcd, 0x98, 0x69, 0xf2, 0xa7, 0x51, + 0xd0, 0xf9, 0xf8, 0x58, 0x49, 0xe1, 0x1d, 0x27, + 0xdc, 0x38, 0x88, 0xb3, 0x02, 0x42, 0xa7, 0xcd, + 0x74, 0x46, 0x70, 0x61, 0x35, 0x1b, 0x00, 0x53, + 0x56, 0x00, 0x95, 0xf9, 0xea, 0xfe, 0xea, 0x7b, + 0x29, 0x66, 0x41, 0xea, 0x62, 0x94, 0xb5, 0x1b, + 0x04, 0xe0, 0x76, 0x03, 0x03, 0xb9, 0x67, 0x43, + 0x55, 0xc0, 0x72, 0x29, 0x87, 0xe3, 0x2c, 0x80, + 0x56, 0x7f, 0x63, 0xad, 0xa1, 0xc6, 0x06, 0xbc, + 0x3b, 0xa0, 0x5f, 0x22, 0x1a, 0xa4, 0x0b, 0xff, + 0xfc, 0xcc, 0x95, 0x50, 0xee, 0x94, 0x0e, 0xd1, + 0x44, 0xfd, 0xc9, 0xed, 0xcc, 0xe9, 0x36, 0xb0, + 0xb7, 0x5f, 0x98, 0xb5, 0x69, 0x18, 0xf3, 0x67, + 0xf0, 0x17, 0x01, 0xc7, 0x19, 0xe2, 0x63, 0xf7, + 0xa7, 0xa0, 0xaf, 0xd3, 0xc5, 0x2c, 0xc1, 0x20, + 0x58, 0xf8, 0x51, 0x17, 0x9e, 0xb8, 0xbe, 0xdf, + 0x11, 0xb4, 0x15, 0x31, 0xb1, 0xf7, 0x6a, 0xcc, + 0x40, 0x68, 0x9b, 0x1a, 0x5c, 0x51, 0x89, 0x9c, + 0xc9, 0x87, 0x18, 0xdb, 0xf0, 0xc3, 0x1b, 0x32, + 0xdc, 0x44, 0xbd, 0xa7, 0xfc, 0xb6, 0x81, 0xdf, + 0x9a, 0x52, 0x0d, 0x2f, 0xa2, 0xa6, 0xf7, 0x09, + 0x9f, 0x37, 0x64, 0x1f, 0x98, 0x7d, 0x02, 0x39, + 0x91, 0x86, 0xeb, 0x67, 0xf9, 0x1c, 0x8d, 0x48, + 0xd4, 0xc4, 0xfb, 0x73, 0x51, 0xff, 0x35, 0xeb, + 0x61, 0xb4, 0x3d, 0x06, 0xa6, 0x16, 0x22, 0x52, + 0x25, 0x90, 0x69, 0x04, 0x8a, 0xc6, 0xae, 0x9c, + 0x36, 0xea, 0xa4, 0x30, 0xbb, 0xba, 0x3e, 0x52, + 0x56, 0x32, 0x1d, 0xbc, 0xd8, 0x89, 0x14, 0xb6, + 0xf3, 0x43, 0xe0, 0x1b, 0xc9, 0x45, 0x00, 0xda, + 0x86, 0xf7, 0x34, 0x1d, 0x3b, 0xe8, 0xc4, 0xab, + 0xb9, 0xe7, 0xfe, 0x22, 0x66, 0x50, 0x28, 0x86, + 0x74, 0x28, 0x20, 0x37, 0x24, 0x7c, 0xa8, 0xca, + 0x3d, 0x97, 0x1a, 0x7a, 0x03, 0xc8, 0x69, 0x97, + 0x86, 0x9e, 0x47, 0x5b, 0x0b, 0x26, 0x3f, 0x0d, + 0x16, 0x86, 0xac, 0x8f, 0xca, 0xad, 0x1f, 0x7a, + 0xa0, 0x6a, 0xa8, 0x47, 0x0a, 0xf8, 0xcf, 0x5f, + 0xee, 0x54, 0x52, 0x50, 0xaf, 0x88, 0x13, 0x72, + 0xc3, 0x2a, 0x5b, 0x75, 0x17, 0x0a, 0x74, 0x1a, + 0xaa, 0x6f, 0xd0, 0xd0, 0x68, 0x7e, 0xc9, 0xfe, + 0xd2, 0x70, 0x0c, 0xa0, 0xd3, 0x81, 0x95, 0x32, + 0x47, 0x74, 0x71, 0x21, 0x3c, 0x97, 0x52, 0xef, + 0x32, 0xcd, 0x84, 0xa4, 0x5a, 0xaf, 0x84, 0x89, + 0x33, 0x78, 0x22, 0xf7, 0x83, 0xf9, 0x7d, 0xd3, +}; + +uint8_t rsa_8192_dp[] = { + 0x30, 0x78, 0x50, 0x29, 0xad, 0xed, 0xc0, 0x3a, + 0xb5, 0xc9, 0x2f, 0xfe, 0xa4, 0xe4, 0xa3, 0xbe, + 0xc9, 0xae, 0x7c, 0xcc, 0xeb, 0x50, 0x58, 0x86, + 0xac, 0xea, 0xf4, 0x8d, 0x53, 0x4c, 0x49, 0x84, + 0x10, 0x4c, 0x9a, 0x3e, 0x6a, 0x7f, 0x46, 0x1f, + 0x03, 0xe2, 0x8f, 0x27, 0x7a, 0xce, 0x32, 0x0a, + 0x6f, 0xe4, 0xa6, 0xba, 0x23, 0x76, 0x8d, 0x60, + 0xac, 0x61, 0xe5, 0xa2, 0xdb, 0x88, 0xd6, 0x3b, + 0x64, 0x8c, 0x2e, 0x7b, 0x6a, 0x26, 0x83, 0x40, + 0xa1, 0x27, 0x0a, 0xb9, 0x8d, 0xa0, 0x20, 0x5a, + 0xf3, 0x94, 0xc8, 0xd1, 0xd6, 0x23, 0x02, 0x36, + 0x1f, 0x88, 0x24, 0x40, 0x2e, 0x60, 0x27, 0x40, + 0x80, 0xc0, 0x66, 0x2c, 0x5a, 0x56, 0x46, 0x4e, + 0x3b, 0x8d, 0x10, 0xbb, 0x46, 0x59, 0x78, 0x4c, + 0xea, 0xc7, 0xcb, 0x1e, 0xc9, 0xdd, 0xeb, 0xfc, + 0x1c, 0xd6, 0x1c, 0xe1, 0x70, 0xf3, 0x22, 0xfc, + 0xf6, 0x4d, 0x6c, 0x6b, 0x1c, 0x49, 0xd1, 0xf8, + 0x93, 0xd6, 0xaf, 0x8a, 0xeb, 0xd6, 0x51, 0x9c, + 0x8e, 0x76, 0x02, 0x74, 0xe5, 0x4f, 0x25, 0x76, + 0x75, 0x5f, 0x5a, 0xe3, 0x27, 0x61, 0x09, 0xc7, + 0xe0, 0x04, 0xb3, 0x5d, 0x36, 0xbd, 0x01, 0x98, + 0x42, 0x5a, 0xae, 0x59, 0x2e, 0x52, 0xfb, 0x1e, + 0xf0, 0x15, 0xfc, 0xff, 0xb7, 0x96, 0xb2, 0xfa, + 0x64, 0xdc, 0xc9, 0xdc, 0x68, 0x40, 0x92, 0xc3, + 0x7b, 0x61, 0xe9, 0xe3, 0x72, 0xe7, 0xc9, 0x75, + 0x4a, 0x7e, 0x6d, 0xa6, 0x3c, 0x93, 0x35, 0xd2, + 0xbb, 0xb4, 0xdd, 0xf2, 0x2c, 0x6b, 0x70, 0x75, + 0x8a, 0x0d, 0xc8, 0xb1, 0xae, 0x27, 0xf3, 0x9f, + 0x38, 0x3e, 0x54, 0x6f, 0xa5, 0xf5, 0xc6, 0x67, + 0x5f, 0x78, 0x0f, 0xea, 0xac, 0x3d, 0xb5, 0xa6, + 0x68, 0xb7, 0x69, 0xbc, 0x7e, 0x69, 0xf5, 0xbc, + 0xf8, 0x6f, 0x37, 0x83, 0xbd, 0x8d, 0x63, 0x7e, + 0x23, 0xe9, 0x35, 0x6a, 0x39, 0x52, 0x21, 0xee, + 0x95, 0x5e, 0x7a, 0x49, 0x43, 0xcb, 0x8c, 0x3a, + 0xd9, 0x64, 0x5f, 0xc7, 0x1d, 0x7b, 0xb6, 0xec, + 0x31, 0xed, 0x36, 0xa6, 0x7d, 0x86, 0x22, 0xc3, + 0x38, 0x9a, 0x69, 0xc2, 0x9f, 0xc5, 0xec, 0x45, + 0xa7, 0xd3, 0x54, 0x21, 0x37, 0x70, 0xad, 0x8c, + 0x75, 0x89, 0x9f, 0x41, 0x39, 0x7e, 0x1b, 0x73, + 0xde, 0x20, 0x9e, 0x5c, 0xa6, 0xc7, 0x76, 0xf4, + 0x4b, 0x3a, 0xe1, 0x1c, 0xdc, 0x7b, 0xa8, 0xed, + 0x5f, 0x4e, 0x7a, 0x98, 0x8b, 0xe6, 0x2c, 0xec, + 0x40, 0x22, 0x7b, 0x9a, 0x61, 0x3f, 0x2c, 0xf1, + 0x7d, 0xa9, 0x55, 0xb8, 0x84, 0x71, 0x3b, 0xfc, + 0xd1, 0x31, 0x32, 0x80, 0xa8, 0x02, 0xfe, 0x60, + 0xe3, 0xc6, 0x11, 0xfc, 0xba, 0xa8, 0x6e, 0x96, + 0x2f, 0xc0, 0x48, 0x5a, 0x32, 0xe3, 0x5d, 0x28, + 0x67, 0x34, 0x5d, 0x3c, 0x2f, 0xb5, 0xce, 0xf2, + 0x5c, 0x2f, 0x38, 0x75, 0xa7, 0xaf, 0x8e, 0xb6, + 0x63, 0x7f, 0xb7, 0x21, 0xa3, 0x4d, 0xce, 0x1e, + 0x1d, 0x5a, 0xd1, 0x1f, 0x37, 0x95, 0xcb, 0x08, + 0x87, 0xb7, 0x12, 0x4c, 0xf7, 0x33, 0xa7, 0x5d, + 0x99, 0xb0, 0xb5, 0xba, 0x41, 0x3f, 0x5e, 0xd5, + 0x05, 0x05, 0x0f, 0xdf, 0x67, 0x81, 0xb5, 0xbb, + 0xa6, 0xed, 0x38, 0xa1, 0x5e, 0x9d, 0x96, 0x14, + 0x8e, 0x78, 0x37, 0x1c, 0x2c, 0x1b, 0x17, 0x7b, + 0x8d, 0x33, 0x02, 0xd7, 0xeb, 0xac, 0x07, 0xa2, + 0xa6, 0xce, 0xea, 0x0b, 0x6d, 0x37, 0xc3, 0x64, + 0xf2, 0xe7, 0x98, 0xf6, 0x94, 0x94, 0xd7, 0x88, + 0x43, 0xc0, 0xce, 0x20, 0xf6, 0x12, 0x67, 0xa8, + 0x4c, 0x31, 0xdc, 0xb4, 0xc0, 0xbe, 0x52, 0x7e, + 0x2b, 0xb1, 0x3b, 0x64, 0x9a, 0xb7, 0x44, 0x0e, + 0xe4, 0x07, 0x07, 0xbb, 0xa9, 0xaa, 0x8a, 0x74, + 0x01, 0x4f, 0xb4, 0x7c, 0xbb, 0xfa, 0x27, 0x11, +}; + +uint8_t rsa_8192_dq[] = { + 0x0a, 0xc1, 0xdf, 0x61, 0x2e, 0x60, 0x12, 0x78, + 0x8c, 0xb1, 0x7e, 0x7a, 0x80, 0x0b, 0x23, 0xe7, + 0x83, 0xdf, 0x05, 0x27, 0x4e, 0xec, 0x17, 0xf9, + 0x19, 0xcb, 0x9e, 0x13, 0x1a, 0xab, 0x2c, 0xa0, + 0x11, 0xac, 0xc2, 0x75, 0xfb, 0xdf, 0xb5, 0x17, + 0xe9, 0x52, 0xa5, 0x68, 0x5f, 0x14, 0xbd, 0x32, + 0x82, 0xe6, 0x9e, 0x6c, 0x7f, 0xd2, 0xcd, 0x44, + 0x5f, 0x74, 0x69, 0xa3, 0x1a, 0x11, 0x48, 0xb6, + 0x5d, 0x0e, 0x1d, 0x76, 0x13, 0xed, 0x28, 0x4e, + 0x40, 0x5e, 0x6c, 0xfb, 0x26, 0xe5, 0xa1, 0xb4, + 0xa8, 0xd3, 0x04, 0xe7, 0x7b, 0xd3, 0xa0, 0xde, + 0xd6, 0x53, 0x5d, 0xc8, 0x71, 0xec, 0xc1, 0xfd, + 0x29, 0x63, 0x46, 0xfa, 0x79, 0xf4, 0x67, 0xda, + 0x5d, 0xa7, 0x1d, 0x42, 0x51, 0x3c, 0x98, 0x37, + 0x91, 0xf6, 0x49, 0x11, 0x40, 0xca, 0x68, 0xdc, + 0xf8, 0x5c, 0x65, 0xbb, 0x47, 0x1c, 0x83, 0x60, + 0x57, 0xd1, 0xc3, 0x17, 0x31, 0x8e, 0xce, 0xdb, + 0x1e, 0xec, 0xdb, 0x8a, 0xcf, 0x7e, 0xdc, 0x1e, + 0x40, 0xc5, 0x41, 0xcd, 0xe3, 0x13, 0x56, 0xa9, + 0x61, 0xc9, 0x92, 0xdf, 0x03, 0xc2, 0x8e, 0xc9, + 0x3f, 0x91, 0x15, 0xa7, 0x20, 0xfa, 0x2e, 0x89, + 0xf3, 0x5c, 0x0d, 0x91, 0x9f, 0xff, 0x8b, 0x9a, + 0x64, 0xef, 0x6c, 0xb1, 0x6d, 0x99, 0x88, 0x94, + 0x3b, 0x70, 0x68, 0x76, 0xf1, 0xb5, 0x8f, 0x5a, + 0x41, 0x9b, 0x93, 0x7d, 0xdb, 0x53, 0x54, 0x39, + 0xa1, 0xcd, 0xd7, 0x53, 0x10, 0xab, 0x5b, 0x23, + 0xcd, 0x7c, 0xf1, 0xc7, 0x1d, 0x36, 0x6a, 0x41, + 0x45, 0x83, 0x11, 0xb8, 0xe4, 0xf5, 0x6c, 0x06, + 0x14, 0x4e, 0x58, 0x5e, 0xc6, 0xf9, 0xb2, 0x44, + 0xcb, 0x57, 0xb4, 0xba, 0x2d, 0x05, 0x47, 0x8e, + 0xac, 0xda, 0xdb, 0x8a, 0xb8, 0x6f, 0x71, 0xae, + 0x92, 0x2a, 0x7b, 0x32, 0x64, 0x94, 0x9e, 0xfb, + 0xad, 0x66, 0xce, 0xb1, 0x41, 0xdb, 0x17, 0xe1, + 0x60, 0x65, 0xe7, 0xd1, 0x3f, 0x94, 0x93, 0x05, + 0x2e, 0xb1, 0x39, 0x41, 0x68, 0x66, 0x8d, 0x4f, + 0xd9, 0x24, 0xd7, 0x16, 0x9e, 0xb9, 0x98, 0xd8, + 0x5b, 0xc2, 0x39, 0xc0, 0x80, 0xa7, 0xd1, 0x52, + 0xb2, 0xf9, 0xb7, 0x44, 0x2c, 0x6c, 0x51, 0x24, + 0x32, 0x2f, 0x86, 0xa7, 0xc3, 0x19, 0x91, 0x0b, + 0xe5, 0xbc, 0x49, 0x1f, 0x33, 0x1b, 0x62, 0xf0, + 0x90, 0xed, 0xa7, 0x82, 0x13, 0x8d, 0xed, 0x30, + 0x5e, 0x9a, 0x65, 0xcc, 0x0c, 0xd4, 0x18, 0xcb, + 0xd9, 0x48, 0x7d, 0xb6, 0xce, 0xbd, 0xaa, 0x5c, + 0x68, 0x21, 0x5c, 0x91, 0x0d, 0x93, 0x20, 0xd8, + 0x04, 0x5c, 0xf4, 0x82, 0xaf, 0xb4, 0x0c, 0xb1, + 0x0a, 0x6c, 0xd1, 0xb5, 0xbe, 0x31, 0x31, 0x22, + 0x6c, 0x6c, 0xa7, 0xc1, 0x32, 0x83, 0x6d, 0x0b, + 0x39, 0xc4, 0xff, 0x56, 0xdd, 0xa5, 0x65, 0x8e, + 0xee, 0x4f, 0xe5, 0x7f, 0xf3, 0x5e, 0xd8, 0xa0, + 0x35, 0x81, 0xd5, 0x66, 0x1c, 0xb3, 0xed, 0xed, + 0x75, 0x1a, 0xcc, 0xdc, 0x52, 0xdb, 0xa6, 0x75, + 0x6f, 0x19, 0xaa, 0xc7, 0xa1, 0xcb, 0x4f, 0x91, + 0xcc, 0x75, 0x97, 0xca, 0x67, 0x2e, 0x91, 0xab, + 0x43, 0x30, 0x2a, 0x6f, 0x00, 0x3d, 0x07, 0x5f, + 0xcf, 0x63, 0x38, 0x8b, 0x08, 0x45, 0xa2, 0x1b, + 0x92, 0x25, 0x86, 0x90, 0x33, 0x16, 0xf5, 0x77, + 0x13, 0xa6, 0xde, 0x26, 0xba, 0x4b, 0xc7, 0x37, + 0x8d, 0x11, 0x6e, 0xf4, 0x2c, 0xd3, 0xaf, 0xf0, + 0xf5, 0x7b, 0xce, 0xeb, 0x0a, 0xd4, 0x51, 0x5e, + 0x6f, 0x19, 0x6f, 0x78, 0x68, 0x6f, 0x16, 0x54, + 0xc9, 0x55, 0xd0, 0x13, 0xd8, 0xd9, 0xc0, 0xe8, + 0xa9, 0xe2, 0xcb, 0xf9, 0xc3, 0x72, 0x81, 0xdb, + 0xa2, 0xb3, 0x88, 0x09, 0x73, 0xd2, 0x01, 0xdf, + 0xaf, 0x95, 0x97, 0x3b, 0xe2, 0x86, 0xfa, 0x47, +}; + +uint8_t rsa_8192_qinv[] = { + 0x7b, 0xc0, 0x95, 0xaa, 0x37, 0xad, 0x98, 0xff, + 0xaa, 0xd5, 0xc5, 0xe8, 0x25, 0xd6, 0xe9, 0x62, + 0x3b, 0x1d, 0x42, 0xdd, 0x39, 0x3f, 0x09, 0x76, + 0x62, 0x2c, 0x91, 0x76, 0x5f, 0xe2, 0x7a, 0x64, + 0x2d, 0xc8, 0xa6, 0xa2, 0xc9, 0x76, 0x86, 0xfa, + 0x0d, 0xaf, 0x64, 0x88, 0x3e, 0x22, 0x73, 0x75, + 0x50, 0x4c, 0xac, 0x94, 0x65, 0xd6, 0x81, 0x6f, + 0xf2, 0xe7, 0x74, 0x40, 0x8e, 0x6e, 0x96, 0xb0, + 0xfb, 0x9c, 0x59, 0xd2, 0xb3, 0xd8, 0x52, 0xa4, + 0x22, 0xbf, 0xdc, 0x46, 0x31, 0xdd, 0x43, 0x26, + 0xf5, 0xaf, 0xd3, 0xca, 0x6d, 0x47, 0x80, 0x0e, + 0x48, 0x08, 0xdc, 0xce, 0xe8, 0x3a, 0x27, 0xea, + 0x57, 0x67, 0x0c, 0xe0, 0x6a, 0xa6, 0x35, 0x0a, + 0x23, 0xd5, 0x47, 0x90, 0x19, 0xd0, 0xc5, 0x96, + 0x12, 0x39, 0x6b, 0x9f, 0x58, 0xde, 0x34, 0x24, + 0x4e, 0x09, 0xc0, 0x5f, 0x28, 0x7c, 0x9d, 0x49, + 0xe6, 0xf5, 0x04, 0xf5, 0x1d, 0x47, 0x2d, 0xa9, + 0xf0, 0x56, 0xac, 0x23, 0x41, 0xb8, 0xdd, 0x1d, + 0x15, 0x37, 0x22, 0x77, 0x00, 0x7e, 0x99, 0x34, + 0x8c, 0x78, 0xab, 0xe9, 0x79, 0x2c, 0x41, 0x35, + 0xd0, 0x23, 0xc7, 0x3a, 0x6a, 0x19, 0x29, 0x02, + 0x72, 0x62, 0x45, 0xd1, 0x8d, 0x78, 0x20, 0xec, + 0x0e, 0xc6, 0xef, 0x75, 0x8c, 0xce, 0xb1, 0xcb, + 0x51, 0x42, 0x2c, 0xe5, 0x51, 0x54, 0x26, 0x21, + 0x6b, 0x7c, 0xee, 0x17, 0xeb, 0xcc, 0xe4, 0xff, + 0xf6, 0xbb, 0xc9, 0xdf, 0x53, 0x7f, 0xd3, 0x20, + 0x50, 0x87, 0x03, 0xd1, 0xc1, 0xe8, 0x56, 0x88, + 0x52, 0xfb, 0xf4, 0xe3, 0x89, 0x55, 0x37, 0x32, + 0x29, 0xcc, 0xd9, 0x4f, 0xd2, 0x5a, 0x5a, 0x94, + 0xc5, 0x21, 0xe8, 0x01, 0x88, 0x3b, 0xec, 0x14, + 0xf9, 0xc0, 0xd0, 0x44, 0xc1, 0xe1, 0xda, 0xdf, + 0x53, 0x4a, 0x58, 0xb6, 0x10, 0x4d, 0x24, 0x45, + 0x0a, 0x60, 0x6e, 0x62, 0x6f, 0x85, 0x6e, 0xc0, + 0x4c, 0xf2, 0x6b, 0x7f, 0x73, 0x07, 0xd9, 0xbf, + 0xd2, 0x14, 0x44, 0xd2, 0xc2, 0x9b, 0xf7, 0xc3, + 0x04, 0xdd, 0xce, 0x2c, 0x25, 0xde, 0x47, 0x94, + 0x36, 0x7d, 0xef, 0x86, 0xef, 0x4a, 0x27, 0x68, + 0xd3, 0x0c, 0xc9, 0x9e, 0x28, 0xcf, 0xf6, 0x03, + 0x49, 0xed, 0xe6, 0xf4, 0x9f, 0x64, 0x87, 0x1d, + 0x1f, 0xff, 0x1d, 0xa0, 0xa1, 0xca, 0x4f, 0x1f, + 0xc0, 0x36, 0xe9, 0xb8, 0x54, 0x7a, 0xaf, 0xd1, + 0x3f, 0x56, 0x9e, 0x73, 0xc1, 0x98, 0xbc, 0x9d, + 0xff, 0xb9, 0xf2, 0xf2, 0x12, 0xfa, 0xdc, 0x9c, + 0xc4, 0x1f, 0xb0, 0xac, 0x85, 0x3f, 0x2b, 0xed, + 0xfb, 0x1d, 0x4b, 0x9f, 0x45, 0xf3, 0xc4, 0x54, + 0x56, 0xd6, 0x8f, 0x57, 0xfe, 0x02, 0xb2, 0x54, + 0xd3, 0x04, 0x88, 0x53, 0x6d, 0xd1, 0x5e, 0x2d, + 0xa2, 0x06, 0x2b, 0x0d, 0xa7, 0x7c, 0xae, 0x33, + 0x8b, 0x46, 0x83, 0x17, 0xe7, 0xab, 0xc3, 0xbf, + 0xa2, 0x06, 0x83, 0xe9, 0x94, 0x4b, 0x44, 0x78, + 0x5c, 0x19, 0xee, 0x1a, 0x4c, 0x68, 0x0f, 0x28, + 0x7f, 0x7f, 0x6f, 0x7e, 0x85, 0x2c, 0x20, 0x06, + 0x0b, 0xa5, 0x46, 0xff, 0xd5, 0xa4, 0xea, 0x29, + 0xa1, 0x9a, 0x18, 0xb6, 0x00, 0x8f, 0xec, 0x22, + 0x96, 0xa2, 0x7c, 0x0f, 0x13, 0x6c, 0x1b, 0x66, + 0x5c, 0x3a, 0xea, 0x6c, 0x70, 0x7d, 0x55, 0x55, + 0xcf, 0xe9, 0x31, 0x6b, 0x1f, 0x78, 0x63, 0xc2, + 0x08, 0x41, 0x18, 0x39, 0xf9, 0x1d, 0xac, 0xa7, + 0x2d, 0xd4, 0xd1, 0x26, 0xe6, 0x01, 0x4d, 0x62, + 0xb4, 0x0b, 0x13, 0xf1, 0x8c, 0xbd, 0x1c, 0xdb, + 0x4a, 0xc4, 0xd4, 0xb1, 0x11, 0x63, 0xb8, 0x7a, + 0x90, 0x76, 0xfe, 0x4e, 0x4b, 0x81, 0x44, 0x70, + 0x1c, 0xd9, 0x08, 0xfa, 0x01, 0xf0, 0x48, 0x73, + 0x25, 0x33, 0xf1, 0x4a, 0x8b, 0x68, 0x07, 0x7b, +}; + struct -cperf_rsa_test_data rsa_qt_perf_data = { - .n = { - .data = rsa_n, - .length = sizeof(rsa_n), - }, - .e = { - .data = rsa_e, - .length = sizeof(rsa_e), - }, - .d = { - .data = NULL, - .length = 0, - }, - .p = { - .data = rsa_p, - .length = sizeof(rsa_p), - }, - .q = { - .data = rsa_q, - .length = sizeof(rsa_q), - }, - .dp = { - .data = rsa_dp, - .length = sizeof(rsa_dp), +cperf_rsa_test_data rsa_qt_perf_data[4] = { + { + .name = "rsa_1024_qt", + .n = { + .data = rsa_n, + .length = sizeof(rsa_n), + }, + .e = { + .data = rsa_e, + .length = sizeof(rsa_e), + }, + .d = { + .data = NULL, + .length = 0, + }, + .p = { + .data = rsa_p, + .length = sizeof(rsa_p), + }, + .q = { + .data = rsa_q, + .length = sizeof(rsa_q), + }, + .dp = { + .data = rsa_dp, + .length = sizeof(rsa_dp), + }, + .dq = { + .data = rsa_dq, + .length = sizeof(rsa_dq), + }, + .qinv = { + .data = rsa_qinv, + .length = sizeof(rsa_qinv), + }, + .key_type = RTE_RSA_KEY_TYPE_QT, + .padding = RTE_CRYPTO_RSA_PADDING_PKCS1_5, }, - .dq = { - .data = rsa_dq, - .length = sizeof(rsa_dq), + { + .name = "rsa_2048_qt", + .n = { + .data = rsa_2048_n, + .length = sizeof(rsa_2048_n), + }, + .e = { + .data = rsa_e, + .length = sizeof(rsa_e), + }, + .d = { + .data = NULL, + .length = 0, + }, + .p = { + .data = rsa_2048_p, + .length = sizeof(rsa_2048_p), + }, + .q = { + .data = rsa_2048_q, + .length = sizeof(rsa_2048_q), + }, + .dp = { + .data = rsa_2048_dp, + .length = sizeof(rsa_2048_dp), + }, + .dq = { + .data = rsa_2048_dq, + .length = sizeof(rsa_2048_dq), + }, + .qinv = { + .data = rsa_2048_qinv, + .length = sizeof(rsa_2048_qinv), + }, + .key_type = RTE_RSA_KEY_TYPE_QT, + .padding = RTE_CRYPTO_RSA_PADDING_PKCS1_5, }, - .qinv = { - .data = rsa_qinv, - .length = sizeof(rsa_qinv), + { + .name = "rsa_4096_qt", + .n = { + .data = rsa_4096_n, + .length = sizeof(rsa_4096_n), + }, + .e = { + .data = rsa_e, + .length = sizeof(rsa_e), + }, + .d = { + .data = NULL, + .length = 0, + }, + .p = { + .data = rsa_4096_p, + .length = sizeof(rsa_4096_p), + }, + .q = { + .data = rsa_4096_q, + .length = sizeof(rsa_4096_q), + }, + .dp = { + .data = rsa_4096_dp, + .length = sizeof(rsa_4096_dp), + }, + .dq = { + .data = rsa_4096_dq, + .length = sizeof(rsa_4096_dq), + }, + .qinv = { + .data = rsa_4096_qinv, + .length = sizeof(rsa_4096_qinv), + }, + .key_type = RTE_RSA_KEY_TYPE_QT, + .padding = RTE_CRYPTO_RSA_PADDING_PKCS1_5, }, - .key_type = RTE_RSA_KEY_TYPE_QT, - .padding = RTE_CRYPTO_RSA_PADDING_PKCS1_5, + { + .name = "rsa_8192_qt", + .n = { + .data = rsa_8192_n, + .length = sizeof(rsa_8192_n), + }, + .e = { + .data = rsa_e, + .length = sizeof(rsa_e), + }, + .d = { + .data = NULL, + .length = 0, + }, + .p = { + .data = rsa_8192_p, + .length = sizeof(rsa_8192_p), + }, + .q = { + .data = rsa_8192_q, + .length = sizeof(rsa_8192_q), + }, + .dp = { + .data = rsa_8192_dp, + .length = sizeof(rsa_8192_dp), + }, + .dq = { + .data = rsa_8192_dq, + .length = sizeof(rsa_8192_dq), + }, + .qinv = { + .data = rsa_8192_qinv, + .length = sizeof(rsa_8192_qinv), + }, + .key_type = RTE_RSA_KEY_TYPE_QT, + .padding = RTE_CRYPTO_RSA_PADDING_PKCS1_5, + } }; struct -cperf_rsa_test_data rsa_exp_perf_data = { - .n = { - .data = rsa_n, - .length = sizeof(rsa_n), +cperf_rsa_test_data rsa_exp_perf_data[4] = { + { + .name = "rsa_1024_exp", + .n = { + .data = rsa_n, + .length = sizeof(rsa_n), + }, + .e = { + .data = rsa_e, + .length = sizeof(rsa_e), + }, + .d = { + .data = rsa_d, + .length = sizeof(rsa_d), + }, + .key_type = RTE_RSA_KEY_TYPE_EXP, + .padding = RTE_CRYPTO_RSA_PADDING_PKCS1_5, }, - .e = { - .data = rsa_e, - .length = sizeof(rsa_e), + { + .name = "rsa_2048_exp", + .n = { + .data = rsa_2048_n, + .length = sizeof(rsa_2048_n), + }, + .e = { + .data = rsa_e, + .length = sizeof(rsa_e), + }, + .d = { + .data = rsa_2048_d, + .length = sizeof(rsa_2048_d), + }, + .key_type = RTE_RSA_KEY_TYPE_EXP, + .padding = RTE_CRYPTO_RSA_PADDING_PKCS1_5, }, - .d = { - .data = rsa_d, - .length = sizeof(rsa_d), + { + .name = "rsa_4096_exp", + .n = { + .data = rsa_4096_n, + .length = sizeof(rsa_4096_n), + }, + .e = { + .data = rsa_e, + .length = sizeof(rsa_e), + }, + .d = { + .data = rsa_4096_d, + .length = sizeof(rsa_4096_d), + }, + .key_type = RTE_RSA_KEY_TYPE_EXP, + .padding = RTE_CRYPTO_RSA_PADDING_PKCS1_5, }, - .key_type = RTE_RSA_KEY_TYPE_EXP, - .padding = RTE_CRYPTO_RSA_PADDING_PKCS1_5, + { + .name = "rsa_8192_exp", + .n = { + .data = rsa_8192_n, + .length = sizeof(rsa_8192_n), + }, + .e = { + .data = rsa_e, + .length = sizeof(rsa_e), + }, + .d = { + .data = rsa_8192_d, + .length = sizeof(rsa_8192_d), + }, + .key_type = RTE_RSA_KEY_TYPE_EXP, + .padding = RTE_CRYPTO_RSA_PADDING_PKCS1_5, + } }; struct -cperf_rsa_test_data rsa_pub_perf_data = { - .n = { - .data = rsa_n, - .length = sizeof(rsa_n), +cperf_rsa_test_data rsa_pub_perf_data[4] = { + { + .name = "rsa_1024_pub", + .n = { + .data = rsa_n, + .length = sizeof(rsa_n), + }, + .e = { + .data = rsa_e, + .length = sizeof(rsa_e), + }, + .key_type = RTE_RSA_KEY_TYPE_EXP, + .padding = RTE_CRYPTO_RSA_PADDING_PKCS1_5, + }, + { + .name = "rsa_2048_pub", + .n = { + .data = rsa_2048_n, + .length = sizeof(rsa_2048_n), + }, + .e = { + .data = rsa_e, + .length = sizeof(rsa_e), + }, + .key_type = RTE_RSA_KEY_TYPE_EXP, + .padding = RTE_CRYPTO_RSA_PADDING_PKCS1_5, }, - .e = { - .data = rsa_e, - .length = sizeof(rsa_e), + { + .name = "rsa_4096_pub", + .n = { + .data = rsa_4096_n, + .length = sizeof(rsa_4096_n), + }, + .e = { + .data = rsa_e, + .length = sizeof(rsa_e), + }, + .key_type = RTE_RSA_KEY_TYPE_EXP, + .padding = RTE_CRYPTO_RSA_PADDING_PKCS1_5, }, - .key_type = RTE_RSA_KEY_TYPE_EXP, - .padding = RTE_CRYPTO_RSA_PADDING_PKCS1_5, + { + .name = "rsa_8192_pub", + .n = { + .data = rsa_8192_n, + .length = sizeof(rsa_8192_n), + }, + .e = { + .data = rsa_e, + .length = sizeof(rsa_e), + }, + .key_type = RTE_RSA_KEY_TYPE_EXP, + .padding = RTE_CRYPTO_RSA_PADDING_PKCS1_5, + } }; struct cperf_test_vector* diff --git a/app/test-crypto-perf/cperf_test_vectors.h b/app/test-crypto-perf/cperf_test_vectors.h index 6319652db0..3025280ecd 100644 --- a/app/test-crypto-perf/cperf_test_vectors.h +++ b/app/test-crypto-perf/cperf_test_vectors.h @@ -114,6 +114,7 @@ struct cperf_rsa_plaintext { }; struct cperf_rsa_test_data { + char name[64]; enum rte_crypto_rsa_priv_key_type key_type; rte_crypto_param n; rte_crypto_param e; @@ -177,9 +178,9 @@ extern struct cperf_modex_test_data modex_perf_data[10]; extern struct cperf_ecdsa_test_data secp256r1_perf_data; extern struct cperf_eddsa_test_data ed25519_perf_data; extern struct cperf_sm2_test_data sm2_perf_data; -extern struct cperf_rsa_test_data rsa_pub_perf_data; -extern struct cperf_rsa_test_data rsa_exp_perf_data; -extern struct cperf_rsa_test_data rsa_qt_perf_data; +extern struct cperf_rsa_test_data rsa_pub_perf_data[4]; +extern struct cperf_rsa_test_data rsa_exp_perf_data[4]; +extern struct cperf_rsa_test_data rsa_qt_perf_data[4]; extern struct cperf_rsa_plaintext rsa_plaintext; #endif diff --git a/doc/guides/tools/cryptoperf.rst b/doc/guides/tools/cryptoperf.rst index 017e8ef934..4bb607645b 100644 --- a/doc/guides/tools/cryptoperf.rst +++ b/doc/guides/tools/cryptoperf.rst @@ -177,6 +177,7 @@ The following are the application command-line options: modex ecdsa_p256r1 eddsa_25519 + rsa sm2 ipsec tls-record @@ -355,8 +356,19 @@ The following are the application command-line options: * ``--asym-op `` Set Asymmetric crypto operation mode. - To be used with SM2 asymmetric crypto ops. - Default is ``sign``. + Not applicable for modex op type. + Default is ``encrypt``. + +* ``--rsa-priv-keytype `` + + Set RSA private key type. + To be used with RSA asymmetric crypto ops. + +* ``--rsa-modlen `` + + Set RSA mod length (in bits) for asymmetric crypto perf test. + To be used with RSA asymmetric crypto ops. + Supported lengths are 1024, 2048, 4096, 8192. Default length is 1024. * ``--tls-version `` -- 2.25.1