|
Packit |
8681c6 |
#!/usr/bin/perl
|
|
Packit |
8681c6 |
#
|
|
Packit |
8681c6 |
# COPYRIGHT (c) International Business Machines Corp. 2011-2017
|
|
Packit |
8681c6 |
#
|
|
Packit |
8681c6 |
# This program is provided under the terms of the Common Public License,
|
|
Packit |
8681c6 |
# version 1.0 (CPL-1.0). Any use, reproduction or distribution for this software
|
|
Packit |
8681c6 |
# constitutes recipient's acceptance of CPL-1.0 terms which can be found
|
|
Packit |
8681c6 |
# in the file LICENSE file or at https://opensource.org/licenses/cpl1.0.php
|
|
Packit |
8681c6 |
#
|
|
Packit |
8681c6 |
# This script parses the RSA test vectors found in $in_file
|
|
Packit |
8681c6 |
# and formats them for openCryptoki tests
|
|
Packit |
8681c6 |
#
|
|
Packit |
8681c6 |
# Fionnuala Gunter <fin@linux.vnet.ibm.com>
|
|
Packit |
8681c6 |
# August 18, 2011
|
|
Packit |
8681c6 |
#
|
|
Packit |
8681c6 |
#
|
|
Packit |
8681c6 |
# To run:
|
|
Packit |
8681c6 |
# download ftp://ftp.rsa.com/pub/rsalabs/tmp/pkcs1v15sign-vectors.tx
|
|
Packit |
8681c6 |
# ./rsa_parser.pl > rsa.h
|
|
Packit |
8681c6 |
#
|
|
Packit |
8681c6 |
#
|
|
Packit |
8681c6 |
#TODO: For some reason, there are extra blank lines printed...
|
|
Packit |
8681c6 |
#
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# constants
|
|
Packit |
8681c6 |
$max_tv = 300; # maximum number of test vectors to add to file
|
|
Packit |
8681c6 |
$sub_max = 3; # maximum number of messages/signatures per key pair
|
|
Packit |
8681c6 |
$count = 0; # current number of test vectors added to file
|
|
Packit |
8681c6 |
$in_file = "pkcs1v15sign-vectors.txt"; # test vector source
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# tmp
|
|
Packit |
8681c6 |
$string;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# input
|
|
Packit |
8681c6 |
$example = "# Example \d+: A \d+-bit RSA key pair";
|
|
Packit |
8681c6 |
$key = '# Private key';
|
|
Packit |
8681c6 |
$modulus = '# Modulus: ';
|
|
Packit |
8681c6 |
$publicexponent = '# Public exponent: ';
|
|
Packit |
8681c6 |
$privateexponent = '# Exponent: ';
|
|
Packit |
8681c6 |
$prime1_ = '# Prime 1: ';
|
|
Packit |
8681c6 |
$prime2_ = '# Prime 2: ';
|
|
Packit |
8681c6 |
$exponent1 = '# Prime exponent 1: ';
|
|
Packit |
8681c6 |
$exponent2 = '# Prime exponent 2: ';
|
|
Packit |
8681c6 |
$coefficient = '# Coefficient: ';
|
|
Packit |
8681c6 |
$msgblock = "# PKCS#1 v1.5 signing of 20 random messages ";
|
|
Packit |
8681c6 |
$msgsighead = "# PKCS#1 v1.5 Signature Example $num_msg ";
|
|
Packit |
8681c6 |
$msghead = '# Message to be signed:';
|
|
Packit |
8681c6 |
$sighead = '# Signature:';
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# output
|
|
Packit |
8681c6 |
$begin_struct = "//ftp://ftp.rsa.com/pub/rsalabs/tmp/pkcs1v15sign-vectors.txt\n".
|
|
Packit |
8681c6 |
"struct RSA_PUBLISHED_TEST_VECTOR ".
|
|
Packit |
8681c6 |
"rsa_sha1_pkcs_sigver_published_tv[] = {\n";
|
|
Packit |
8681c6 |
$end_struct = "};\n";
|
|
Packit |
8681c6 |
$begin_ele = "\t{";
|
|
Packit |
8681c6 |
$end_ele = "\t},\n";
|
|
Packit |
8681c6 |
$begin_mod = "\t\t.mod = ";
|
|
Packit |
8681c6 |
$begin_pubexp = "\t\t.pub_exp = ";
|
|
Packit |
8681c6 |
$begin_privexp = "\t\t.priv_exp = ";
|
|
Packit |
8681c6 |
$begin_prime1 = "\t\t.prime1 = ";
|
|
Packit |
8681c6 |
$begin_prime2 = "\t\t.prime2 = ";
|
|
Packit |
8681c6 |
$begin_exp1 = "\t\t.exp1 = ";
|
|
Packit |
8681c6 |
$begin_exp2 = "\t\t.exp2 = ";
|
|
Packit |
8681c6 |
$begin_coef = "\t\t.coef = ";
|
|
Packit |
8681c6 |
$begin_msg = "\t\t.msg = ";
|
|
Packit |
8681c6 |
$begin_sig = "\t\t.sig = ";
|
|
Packit |
8681c6 |
$begin_modlen = "\t\t.mod_len = ";
|
|
Packit |
8681c6 |
$begin_pubexplen = "\t\t.pubexp_len = ";
|
|
Packit |
8681c6 |
$begin_privexplen = "\t\t.privexp_len = ";
|
|
Packit |
8681c6 |
$begin_prime1len = "\t\t.prime1_len = ";
|
|
Packit |
8681c6 |
$begin_prime2len = "\t\t.prime2_len = ";
|
|
Packit |
8681c6 |
$begin_exp1len = "\t\t.exp1_len = ";
|
|
Packit |
8681c6 |
$begin_exp2len = "\t\t.exp2_len = ";
|
|
Packit |
8681c6 |
$begin_coeflen = "\t\t.coef_len = ";
|
|
Packit |
8681c6 |
$begin_msglen = "\t\t.msg_len = ";
|
|
Packit |
8681c6 |
$begin_siglen = "\t\t.sig_len = ";
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# giant block of generated tests that I copy-pasted here.
|
|
Packit |
8681c6 |
# this could be replaced with some functions that generate the data below
|
|
Packit |
8681c6 |
# TODO: CKM_CDMF_KEY_GEN doesn't seem to be supported by ICA, CCA or SoftTok,
|
|
Packit |
8681c6 |
# so those tests can be removed
|
|
Packit |
8681c6 |
$defheader = "#include \"pkcs11types.h\"
|
|
Packit |
8681c6 |
#define MAX_MODULUS_SIZE 256
|
|
Packit |
8681c6 |
#define MAX_EXPONENT_SIZE 256
|
|
Packit |
8681c6 |
#define MAX_MESSAGE_SIZE 512
|
|
Packit |
8681c6 |
#define MAX_SIGNATURE_SIZE 512
|
|
Packit |
8681c6 |
#define MAX_PRIME_SIZE 128
|
|
Packit |
8681c6 |
#define MAX_COEFFICIENT_SIZE 128
|
|
Packit |
8681c6 |
#define PKCS11_MAX_KEY_LEN 512
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
struct RSA_GENERATED_TEST_VECTOR {
|
|
Packit |
8681c6 |
CK_ULONG modbits;
|
|
Packit |
8681c6 |
CK_ULONG publ_exp_len;
|
|
Packit |
8681c6 |
CK_BYTE publ_exp[4];
|
|
Packit |
8681c6 |
CK_ULONG inputlen;
|
|
Packit |
8681c6 |
CK_MECHANISM keytype;
|
|
Packit |
8681c6 |
CK_ULONG keylen;
|
|
Packit |
8681c6 |
};
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
static struct RSA_GENERATED_TEST_VECTOR rsa_keywrap_generated_tv[] = {
|
|
Packit |
8681c6 |
{ // 0
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 1,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 1
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_CDMF_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 2
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 3
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 24,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES3_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 4
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 16,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 5
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 32,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
},{ // 6
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 64,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 7
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 1,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 8
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_CDMF_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 9
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 10
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 24,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES3_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 11
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 16,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 12
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 32,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 13
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 64,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 14
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 1,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 15
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_CDMF_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 16
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 17
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 24,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES3_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 18
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 16,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 19
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 32,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
},{ // 20
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 64,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 21
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 1,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0}
|
|
Packit |
8681c6 |
}, { // 22
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_CDMF_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 23
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 24
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 24,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES3_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 25
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 16,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 26
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 32,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
},{ // 27
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 64,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 28
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 1,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 29
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_CDMF_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 30
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 31
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 24,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES3_KEY_GEN, 0, 0}
|
|
Packit |
8681c6 |
}, { // 32
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 16,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 33
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 32,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
},{ // 34
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 64,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 35
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 1,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 36
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_CDMF_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 37
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 38
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 24,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES3_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 39
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 16,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 40
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 32,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 41
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 96,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 42
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 1,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 43
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_CDMF_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 44
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 45
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 24,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES3_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 46
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 16,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 47
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 32,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
},{ // 48
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 96,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 49
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 1,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 50
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_CDMF_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 51
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 52
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 24,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES3_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 53
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 16,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 54
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 32,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
},{ // 55
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 128,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 56
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 1,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 57
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_CDMF_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 58
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 59
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 24,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES3_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 60
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 16,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 61
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 32,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 62
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 128,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 63
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 1,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 64
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_CDMF_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 65
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 66
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 24,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES3_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 67
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 16,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 68
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 32,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
},{ // 69
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 256,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 70
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 1,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 71
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_CDMF_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 72
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 73
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 24,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES3_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 74
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 16,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 75
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 32,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
},{ // 76
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 256,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 77
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 1,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
},{ // 78
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_CDMF_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 79
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 80
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 24,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES3_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 81
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 16,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 82
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 32,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 83
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 256,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 84
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 1,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 85
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_CDMF_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 86
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 87
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 24,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES3_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 88
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 16,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 89
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 32,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
},{ // 90
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.keylen = 512,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 91
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 1,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 92
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_CDMF_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 93
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 94
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 24,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES3_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 95
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 16,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 96
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 32,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
},{ // 97
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.keylen = 512,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 98
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 1,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
},{ // 99
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_CDMF_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 100
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 8,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 101
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 24,
|
|
Packit |
8681c6 |
.keytype = {CKM_DES3_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 102
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 16,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 103
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 32,
|
|
Packit |
8681c6 |
.keytype = {CKM_AES_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}, { // 104
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.keylen = 512,
|
|
Packit |
8681c6 |
.keytype = {CKM_GENERIC_SECRET_KEY_GEN, 0, 0},
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
};
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
static struct RSA_GENERATED_TEST_VECTOR rsa_generated_tv[] = {
|
|
Packit |
8681c6 |
{ // tv[0]
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { //tv[1]
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 53,
|
|
Packit |
8681c6 |
}, { //tv[2]
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { //tv[3]
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 53,
|
|
Packit |
8681c6 |
}, { //tv[4]
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { //tv[5]
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 53,
|
|
Packit |
8681c6 |
}, { //tv[6]
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { //tv[7]
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 85,
|
|
Packit |
8681c6 |
}, { //tv[8]
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { //tv[9]
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 85,
|
|
Packit |
8681c6 |
}, { //tv[10]
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { //tv[11]
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 85,
|
|
Packit |
8681c6 |
}, { //tv[12]
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { //tv[13]
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 117,
|
|
Packit |
8681c6 |
}, { //tv[14]
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { //tv[15]
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 117,
|
|
Packit |
8681c6 |
}, { //tv[16]
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { //tv[17]
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 117,
|
|
Packit |
8681c6 |
}, { //tv[18]
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { //tv[19]
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 245,
|
|
Packit |
8681c6 |
}, { //tv[20]
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { //tv[21]
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 245,
|
|
Packit |
8681c6 |
}, { //tv[22]
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { //tv[23]
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 245,
|
|
Packit |
8681c6 |
}, { //tv[24]
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { //tv[25]
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 501,
|
|
Packit |
8681c6 |
}, { //tv[26]
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { //tv[27]
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 501,
|
|
Packit |
8681c6 |
}, { //tv[28]
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { //tv[29]
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 501,
|
|
Packit |
8681c6 |
},
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
};
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
static struct RSA_GENERATED_TEST_VECTOR rsa_x509_generated_tv[] = {
|
|
Packit |
8681c6 |
{ // tv[0]
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { // tv[1]
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 64,
|
|
Packit |
8681c6 |
}, { // tv[2]
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { // tv[3]
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 64,
|
|
Packit |
8681c6 |
}, { // tv[4]
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { // tv[5]
|
|
Packit |
8681c6 |
.modbits = 512,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 64,
|
|
Packit |
8681c6 |
}, { // tv[6]
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { // tv[7]
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 96,
|
|
Packit |
8681c6 |
}, { // tv[8]
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { // tv[9]
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 96,
|
|
Packit |
8681c6 |
}, { // tv[10]
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { // tv[11]
|
|
Packit |
8681c6 |
.modbits = 768,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 96,
|
|
Packit |
8681c6 |
}, { // tv[12]
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 1
|
|
Packit |
8681c6 |
}, { // tv[13]
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 128,
|
|
Packit |
8681c6 |
}, { // tv[14]
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { // tv[15]
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 128,
|
|
Packit |
8681c6 |
}, { // tv[16]
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 1
|
|
Packit |
8681c6 |
}, { // tv[17]
|
|
Packit |
8681c6 |
.modbits = 1024,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 128,
|
|
Packit |
8681c6 |
}, { // tv[18]
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 1
|
|
Packit |
8681c6 |
}, { // tv[19]
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 256,
|
|
Packit |
8681c6 |
}, { // tv[20]
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { // tv[21]
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 256,
|
|
Packit |
8681c6 |
}, { // tv[22]
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 1
|
|
Packit |
8681c6 |
}, { // tv[23]
|
|
Packit |
8681c6 |
.modbits = 2048,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 256,
|
|
Packit |
8681c6 |
}, { // tv[24]
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 1
|
|
Packit |
8681c6 |
}, { // tv[25]
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 1,
|
|
Packit |
8681c6 |
.publ_exp = { 0x03 },
|
|
Packit |
8681c6 |
.inputlen = 512,
|
|
Packit |
8681c6 |
}, { // tv[26]
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 1,
|
|
Packit |
8681c6 |
}, { // tv[27]
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 2,
|
|
Packit |
8681c6 |
.publ_exp = { 0x00, 0x11 },
|
|
Packit |
8681c6 |
.inputlen = 512,
|
|
Packit |
8681c6 |
}, { // tv[28]
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 1
|
|
Packit |
8681c6 |
}, { // tv[29]
|
|
Packit |
8681c6 |
.modbits = 4096,
|
|
Packit |
8681c6 |
.publ_exp_len = 3,
|
|
Packit |
8681c6 |
.publ_exp = { 0x01, 0x00, 0x01 },
|
|
Packit |
8681c6 |
.inputlen = 512,
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
};
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
struct GENERATED_TEST_SUITE_INFO {
|
|
Packit |
8681c6 |
const char *name;
|
|
Packit |
8681c6 |
unsigned int tvcount;
|
|
Packit |
8681c6 |
struct RSA_GENERATED_TEST_VECTOR *tv;
|
|
Packit |
8681c6 |
CK_MECHANISM mech;
|
|
Packit |
8681c6 |
};
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define NUM_OF_GENERATED_KEYWRAP_TESTSUITES 2
|
|
Packit |
8681c6 |
struct GENERATED_TEST_SUITE_INFO generated_keywrap_test_suites[] = {
|
|
Packit |
8681c6 |
{
|
|
Packit |
8681c6 |
.name = \"RSA PKCS\",
|
|
Packit |
8681c6 |
.tvcount = 105,
|
|
Packit |
8681c6 |
.tv = rsa_keywrap_generated_tv,
|
|
Packit |
8681c6 |
.mech = {CKM_RSA_PKCS, 0, 0},
|
|
Packit |
8681c6 |
}, {
|
|
Packit |
8681c6 |
.name = \"RSA X.509\",
|
|
Packit |
8681c6 |
.tvcount = 105,
|
|
Packit |
8681c6 |
.tv = rsa_keywrap_generated_tv,
|
|
Packit |
8681c6 |
.mech = {CKM_RSA_X_509, 0, 0},
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
};
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define NUM_OF_GENERATED_SIGVER_TESTSUITES 5
|
|
Packit |
8681c6 |
struct GENERATED_TEST_SUITE_INFO generated_sigver_test_suites[] = {
|
|
Packit |
8681c6 |
{
|
|
Packit |
8681c6 |
.name = \"RSA PKCS\",
|
|
Packit |
8681c6 |
.tvcount = 30,
|
|
Packit |
8681c6 |
.tv = rsa_generated_tv,
|
|
Packit |
8681c6 |
.mech = {CKM_RSA_PKCS, 0, 0},
|
|
Packit |
8681c6 |
}, {
|
|
Packit |
8681c6 |
.name = \"RSA SHA1 PKCS\",
|
|
Packit |
8681c6 |
.tvcount = 30,
|
|
Packit |
8681c6 |
.tv = rsa_generated_tv,
|
|
Packit |
8681c6 |
.mech = {CKM_SHA1_RSA_PKCS, 0, 0},
|
|
Packit |
8681c6 |
}, {
|
|
Packit |
8681c6 |
.name = \"RSA MD2 PKCS\",
|
|
Packit |
8681c6 |
.tvcount = 30,
|
|
Packit |
8681c6 |
.tv = rsa_generated_tv,
|
|
Packit |
8681c6 |
.mech = {CKM_MD2_RSA_PKCS, 0, 0},
|
|
Packit |
8681c6 |
}, {
|
|
Packit |
8681c6 |
.name = \"RSA MD5 PKCS\",
|
|
Packit |
8681c6 |
.tvcount = 30,
|
|
Packit |
8681c6 |
.tv = rsa_generated_tv,
|
|
Packit |
8681c6 |
.mech = {CKM_MD5_RSA_PKCS, 0 , 0},
|
|
Packit |
8681c6 |
}, {
|
|
Packit |
8681c6 |
.name = \"RSA X.509\",
|
|
Packit |
8681c6 |
.tvcount = 30,
|
|
Packit |
8681c6 |
.tv = rsa_x509_generated_tv,
|
|
Packit |
8681c6 |
.mech = {CKM_RSA_X_509, 0 , 0},
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
};
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define NUM_OF_GENERATED_CRYPTO_TESTSUITES 2
|
|
Packit |
8681c6 |
struct GENERATED_TEST_SUITE_INFO generated_crypto_test_suites[] = {
|
|
Packit |
8681c6 |
{
|
|
Packit |
8681c6 |
.name = \"RSA PKCS\",
|
|
Packit |
8681c6 |
.tvcount = 30,
|
|
Packit |
8681c6 |
.tv = rsa_generated_tv,
|
|
Packit |
8681c6 |
.mech = {CKM_RSA_PKCS, 0, 0},
|
|
Packit |
8681c6 |
}, {
|
|
Packit |
8681c6 |
.name = \"RSA X.509\",
|
|
Packit |
8681c6 |
.tvcount = 30,
|
|
Packit |
8681c6 |
.tv = rsa_x509_generated_tv,
|
|
Packit |
8681c6 |
.mech = {CKM_RSA_X_509, 0, 0},
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
};
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
struct RSA_PUBLISHED_TEST_VECTOR {
|
|
Packit |
8681c6 |
CK_BYTE mod[MAX_MODULUS_SIZE]; // n
|
|
Packit |
8681c6 |
CK_ULONG mod_len;
|
|
Packit |
8681c6 |
CK_BYTE prime1[MAX_PRIME_SIZE]; // p
|
|
Packit |
8681c6 |
CK_ULONG prime1_len;
|
|
Packit |
8681c6 |
CK_BYTE prime2[MAX_PRIME_SIZE]; // q
|
|
Packit |
8681c6 |
CK_ULONG prime2_len;
|
|
Packit |
8681c6 |
CK_BYTE exp1[MAX_EXPONENT_SIZE]; // d % (p-1)
|
|
Packit |
8681c6 |
CK_ULONG exp1_len;
|
|
Packit |
8681c6 |
CK_BYTE exp2[MAX_EXPONENT_SIZE]; // d % (q-1)
|
|
Packit |
8681c6 |
CK_ULONG exp2_len;
|
|
Packit |
8681c6 |
CK_BYTE coef[MAX_COEFFICIENT_SIZE]; // (q^-1) % p
|
|
Packit |
8681c6 |
CK_ULONG coef_len;
|
|
Packit |
8681c6 |
CK_BYTE pub_exp[MAX_EXPONENT_SIZE]; // e
|
|
Packit |
8681c6 |
CK_ULONG pubexp_len;
|
|
Packit |
8681c6 |
CK_BYTE priv_exp[MAX_EXPONENT_SIZE]; // d
|
|
Packit |
8681c6 |
CK_ULONG privexp_len;
|
|
Packit |
8681c6 |
CK_BYTE msg[MAX_MESSAGE_SIZE];
|
|
Packit |
8681c6 |
CK_ULONG msg_len;
|
|
Packit |
8681c6 |
CK_BYTE sig[MAX_SIGNATURE_SIZE];
|
|
Packit |
8681c6 |
CK_ULONG sig_len;
|
|
Packit |
8681c6 |
};\n";
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# vars
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
@mod;
|
|
Packit |
8681c6 |
@pubexp;
|
|
Packit |
8681c6 |
@privexp;
|
|
Packit |
8681c6 |
@prime1;
|
|
Packit |
8681c6 |
@prime2;
|
|
Packit |
8681c6 |
@exp1;
|
|
Packit |
8681c6 |
@exp2;
|
|
Packit |
8681c6 |
@coef;
|
|
Packit |
8681c6 |
@msg;
|
|
Packit |
8681c6 |
@sig;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
$modlen = 0;
|
|
Packit |
8681c6 |
$pubexplen = 0;
|
|
Packit |
8681c6 |
$privexplen = 0;
|
|
Packit |
8681c6 |
$prime1len = 0;
|
|
Packit |
8681c6 |
$prime2len = 0;
|
|
Packit |
8681c6 |
$exp1len = 0;
|
|
Packit |
8681c6 |
$exp2len = 0;
|
|
Packit |
8681c6 |
$coeflen = 0;
|
|
Packit |
8681c6 |
$msglen = 0;
|
|
Packit |
8681c6 |
$siglen = 0;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# open test vector file
|
|
Packit |
8681c6 |
# parse contents
|
|
Packit |
8681c6 |
# print results
|
|
Packit |
8681c6 |
open ($file, $in_file);
|
|
Packit |
8681c6 |
print $defheader;
|
|
Packit |
8681c6 |
print $begin_struct;
|
|
Packit |
8681c6 |
my $subcount;
|
|
Packit |
8681c6 |
while (<$file>) {
|
|
Packit |
8681c6 |
# parse key pair
|
|
Packit |
8681c6 |
if ($_ =~ $key){
|
|
Packit |
8681c6 |
parse_keys();
|
|
Packit |
8681c6 |
$subcount = 0;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
# parse message
|
|
Packit |
8681c6 |
if ($_ =~ $msghead){
|
|
Packit |
8681c6 |
#print "\n";
|
|
Packit |
8681c6 |
parse_msg();
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
# parse signature and print struct element
|
|
Packit |
8681c6 |
if ($_ =~ $sighead){
|
|
Packit |
8681c6 |
#print "\n";
|
|
Packit |
8681c6 |
parse_sig();
|
|
Packit |
8681c6 |
if ($subcount < $sub_max){
|
|
Packit |
8681c6 |
print_ele();
|
|
Packit |
8681c6 |
$count++;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
if ($count > $max_tv){
|
|
Packit |
8681c6 |
last;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
#$count++;
|
|
Packit |
8681c6 |
$subcount++;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
print $end_struct;
|
|
Packit |
8681c6 |
print "\n";
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
$footer = "struct PUBLISHED_TEST_SUITE_INFO {
|
|
Packit |
8681c6 |
const char *name;
|
|
Packit |
8681c6 |
unsigned int tvcount;
|
|
Packit |
8681c6 |
struct RSA_PUBLISHED_TEST_VECTOR *tv;
|
|
Packit |
8681c6 |
CK_MECHANISM mech;
|
|
Packit |
8681c6 |
unsigned int result;
|
|
Packit |
8681c6 |
};
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define NUM_OF_PUBLISHED_TESTSUITES 1
|
|
Packit |
8681c6 |
struct PUBLISHED_TEST_SUITE_INFO published_test_suites[] = {
|
|
Packit |
8681c6 |
{
|
|
Packit |
8681c6 |
.name = \"RSA SHA-1 PKCS v1.5\",
|
|
Packit |
8681c6 |
.tvcount = $count,
|
|
Packit |
8681c6 |
.tv = rsa_sha1_pkcs_sigver_published_tv,
|
|
Packit |
8681c6 |
.mech = {CKM_SHA1_RSA_PKCS, 0, 0},
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
};";
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
print $footer;
|
|
Packit |
8681c6 |
close ($file);
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
sub parse_keys(){
|
|
Packit |
8681c6 |
while (<$file>){
|
|
Packit |
8681c6 |
print "\n";
|
|
Packit |
8681c6 |
# skip # -----
|
|
Packit |
8681c6 |
if ($_ =~ m/^# -/){
|
|
Packit |
8681c6 |
next;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# skip " "
|
|
Packit |
8681c6 |
elsif (length($_) == 1 || length($_) == 2 || (!$_)){
|
|
Packit |
8681c6 |
next;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse modulus
|
|
Packit |
8681c6 |
elsif ($_ =~ $modulus){
|
|
Packit |
8681c6 |
parse_mod();
|
|
Packit |
8681c6 |
next;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse public exponent
|
|
Packit |
8681c6 |
elsif ($_ =~ $publicexponent){
|
|
Packit |
8681c6 |
parse_pubexp();
|
|
Packit |
8681c6 |
next;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse private exponent
|
|
Packit |
8681c6 |
elsif ($_ =~ $privateexponent){
|
|
Packit |
8681c6 |
parse_privexp();
|
|
Packit |
8681c6 |
next;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse prime1
|
|
Packit |
8681c6 |
elsif ($_ =~ $prime1_){
|
|
Packit |
8681c6 |
parse_prime1();
|
|
Packit |
8681c6 |
next;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse prime2
|
|
Packit |
8681c6 |
elsif ($_ =~ $prime2_){
|
|
Packit |
8681c6 |
parse_prime2();
|
|
Packit |
8681c6 |
next;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse exponent1
|
|
Packit |
8681c6 |
elsif ($_ =~ $exponent1){
|
|
Packit |
8681c6 |
parse_exp1();
|
|
Packit |
8681c6 |
next;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse exponent2
|
|
Packit |
8681c6 |
elsif ($_ =~ $exponent2){
|
|
Packit |
8681c6 |
parse_exp2();
|
|
Packit |
8681c6 |
next;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse coefficient
|
|
Packit |
8681c6 |
elsif ($_ =~ $coefficient){
|
|
Packit |
8681c6 |
parse_coef();
|
|
Packit |
8681c6 |
last;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse modulus
|
|
Packit |
8681c6 |
sub parse_mod(){
|
|
Packit |
8681c6 |
@mod = ();
|
|
Packit |
8681c6 |
while (<$file>){
|
|
Packit |
8681c6 |
if ($_ =~ m{\S+}){
|
|
Packit |
8681c6 |
for (my $n = 0; ($n + 2) < length($_); $n+=3) {
|
|
Packit |
8681c6 |
$string = "0x".substr($_, $n, 2);
|
|
Packit |
8681c6 |
push(@mod, $string);
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
else {
|
|
Packit |
8681c6 |
$modlen = @mod;
|
|
Packit |
8681c6 |
last;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse public exponent
|
|
Packit |
8681c6 |
sub parse_pubexp(){
|
|
Packit |
8681c6 |
@pubexp = ();
|
|
Packit |
8681c6 |
while (<$file>){
|
|
Packit |
8681c6 |
if ($_ =~ m{\S+}){
|
|
Packit |
8681c6 |
for (my $n = 0; ($n + 2) < length($_); $n+=3) {
|
|
Packit |
8681c6 |
$string = "0x".substr($_, $n, 2);
|
|
Packit |
8681c6 |
push(@pubexp, $string);
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
else {
|
|
Packit |
8681c6 |
$pubexplen = @pubexp;
|
|
Packit |
8681c6 |
last;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse private exponent
|
|
Packit |
8681c6 |
sub parse_privexp(){
|
|
Packit |
8681c6 |
@privexp = ();
|
|
Packit |
8681c6 |
while (<$file>){
|
|
Packit |
8681c6 |
if ($_ =~ m{\S+}){
|
|
Packit |
8681c6 |
for (my $n = 0; ($n + 2) < length($_); $n+=3) {
|
|
Packit |
8681c6 |
$string = "0x".substr($_, $n, 2);
|
|
Packit |
8681c6 |
push(@privexp, $string);
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
else {
|
|
Packit |
8681c6 |
$privexplen = @privexp;
|
|
Packit |
8681c6 |
last;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse prime 1
|
|
Packit |
8681c6 |
sub parse_prime1(){
|
|
Packit |
8681c6 |
@prime1 = ();
|
|
Packit |
8681c6 |
while (<$file>){
|
|
Packit |
8681c6 |
if ($_ =~ m{\S+}){
|
|
Packit |
8681c6 |
for (my $n = 0; ($n + 2) < length($_); $n+=3) {
|
|
Packit |
8681c6 |
$string = "0x".substr($_, $n, 2);
|
|
Packit |
8681c6 |
push(@prime1, $string);
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
else {
|
|
Packit |
8681c6 |
$prime1len = @prime1;
|
|
Packit |
8681c6 |
last;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse prime 2
|
|
Packit |
8681c6 |
sub parse_prime2(){
|
|
Packit |
8681c6 |
@prime2 = ();
|
|
Packit |
8681c6 |
while (<$file>){
|
|
Packit |
8681c6 |
if ($_ =~ m{\S+}){
|
|
Packit |
8681c6 |
for (my $n = 0; ($n + 2) < length($_); $n+=3) {
|
|
Packit |
8681c6 |
$string = "0x".substr($_, $n, 2);
|
|
Packit |
8681c6 |
push(@prime2, $string);
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
else {
|
|
Packit |
8681c6 |
$prime2len = @prime2;
|
|
Packit |
8681c6 |
last;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse exponent 1
|
|
Packit |
8681c6 |
sub parse_exp1(){
|
|
Packit |
8681c6 |
@exp1 = ();
|
|
Packit |
8681c6 |
while (<$file>){
|
|
Packit |
8681c6 |
if ($_ =~ m{\S+}){
|
|
Packit |
8681c6 |
for (my $n = 0; ($n + 2) < length($_); $n+=3) {
|
|
Packit |
8681c6 |
$string = "0x".substr($_, $n, 2);
|
|
Packit |
8681c6 |
push(@exp1, $string);
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
else {
|
|
Packit |
8681c6 |
$exp1len = @exp1;
|
|
Packit |
8681c6 |
last;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse exponent 2
|
|
Packit |
8681c6 |
sub parse_exp2(){
|
|
Packit |
8681c6 |
@exp2 = ();
|
|
Packit |
8681c6 |
while (<$file>){
|
|
Packit |
8681c6 |
if ($_ =~ m{\S+}){
|
|
Packit |
8681c6 |
for (my $n = 0; ($n + 2) < length($_); $n+=3) {
|
|
Packit |
8681c6 |
$string = "0x".substr($_, $n, 2);
|
|
Packit |
8681c6 |
push(@exp2, $string);
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
else {
|
|
Packit |
8681c6 |
$exp2len = @exp2;
|
|
Packit |
8681c6 |
last;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse coefficient
|
|
Packit |
8681c6 |
sub parse_coef(){
|
|
Packit |
8681c6 |
@coef = ();
|
|
Packit |
8681c6 |
while (<$file>){
|
|
Packit |
8681c6 |
if ($_ =~ m{\S+}){
|
|
Packit |
8681c6 |
for (my $n = 0; ($n + 2) < length($_); $n+=3) {
|
|
Packit |
8681c6 |
$string = "0x".substr($_, $n, 2);
|
|
Packit |
8681c6 |
push(@coef, $string);
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
else {
|
|
Packit |
8681c6 |
$coeflen = @coef;
|
|
Packit |
8681c6 |
last;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse message
|
|
Packit |
8681c6 |
sub parse_msg(){
|
|
Packit |
8681c6 |
@msg = ();
|
|
Packit |
8681c6 |
while (<$file>){
|
|
Packit |
8681c6 |
if ($_ =~ m{\S+}){
|
|
Packit |
8681c6 |
for (my $n = 0; ($n + 2) < length($_); $n+=3) {
|
|
Packit |
8681c6 |
$string = "0x".substr($_, $n, 2);
|
|
Packit |
8681c6 |
push(@msg, $string);
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
else {
|
|
Packit |
8681c6 |
$msglen = @msg;
|
|
Packit |
8681c6 |
last;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# parse signature
|
|
Packit |
8681c6 |
sub parse_sig(){
|
|
Packit |
8681c6 |
@sig = ();
|
|
Packit |
8681c6 |
while (<$file>){
|
|
Packit |
8681c6 |
if ($_ =~ m{\S+}){
|
|
Packit |
8681c6 |
for (my $n = 0; ($n + 2) < length($_); $n+=3) {
|
|
Packit |
8681c6 |
$string = "0x".substr($_, $n, 2);
|
|
Packit |
8681c6 |
push(@sig, $string);
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
else {
|
|
Packit |
8681c6 |
$siglen = @sig;
|
|
Packit |
8681c6 |
last;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# prints test vector
|
|
Packit |
8681c6 |
sub print_ele(){
|
|
Packit |
8681c6 |
print $begin_ele;
|
|
Packit |
8681c6 |
print "\t/\/\ $count\n"; # new
|
|
Packit |
8681c6 |
print_mod();
|
|
Packit |
8681c6 |
print_pubexp();
|
|
Packit |
8681c6 |
print_privexp();
|
|
Packit |
8681c6 |
print_prime1();
|
|
Packit |
8681c6 |
print_prime2();
|
|
Packit |
8681c6 |
print_exp1();
|
|
Packit |
8681c6 |
print_exp2();
|
|
Packit |
8681c6 |
print_coef();
|
|
Packit |
8681c6 |
print_msg();
|
|
Packit |
8681c6 |
print_sig();
|
|
Packit |
8681c6 |
print $end_ele;
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# prints modulus
|
|
Packit |
8681c6 |
sub print_mod(){
|
|
Packit |
8681c6 |
print $begin_mod;
|
|
Packit |
8681c6 |
print "\t { ";
|
|
Packit |
8681c6 |
for (my $n = 0; $n < $modlen; $n++){
|
|
Packit |
8681c6 |
print $mod[$n];
|
|
Packit |
8681c6 |
if ($n + 1 < $modlen){
|
|
Packit |
8681c6 |
print ",";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
if (($n + 1 < $modlen) && !(($n + 1) % 8)){
|
|
Packit |
8681c6 |
print "\n\t\t\t\t";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
print " },\n";
|
|
Packit |
8681c6 |
print $begin_modlen;
|
|
Packit |
8681c6 |
print $modlen;
|
|
Packit |
8681c6 |
print ",\n";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# prints public exponent
|
|
Packit |
8681c6 |
sub print_pubexp(){
|
|
Packit |
8681c6 |
print $begin_pubexp;
|
|
Packit |
8681c6 |
print " { ";
|
|
Packit |
8681c6 |
for (my $n = 0; $n < $pubexplen; $n++){
|
|
Packit |
8681c6 |
print $pubexp[$n];
|
|
Packit |
8681c6 |
if ($n + 1 < $pubexplen){
|
|
Packit |
8681c6 |
print ",";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
print " },\n";
|
|
Packit |
8681c6 |
print $begin_pubexplen;
|
|
Packit |
8681c6 |
print $pubexplen;
|
|
Packit |
8681c6 |
print ",\n";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# prints private exponent
|
|
Packit |
8681c6 |
sub print_privexp(){
|
|
Packit |
8681c6 |
print $begin_privexp;
|
|
Packit |
8681c6 |
print " { ";
|
|
Packit |
8681c6 |
for (my $n = 0; $n < $privexplen; $n++){
|
|
Packit |
8681c6 |
print $privexp[$n];
|
|
Packit |
8681c6 |
if ($n + 1 < $privexplen){
|
|
Packit |
8681c6 |
print ",";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
if (($n + 1 < $privexplen) && !(($n + 1) % 8)){
|
|
Packit |
8681c6 |
print "\n\t\t\t\t";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
print " },\n";
|
|
Packit |
8681c6 |
print $begin_privexplen;
|
|
Packit |
8681c6 |
print $privexplen;
|
|
Packit |
8681c6 |
print ",\n";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# prints prime 1
|
|
Packit |
8681c6 |
sub print_prime1(){
|
|
Packit |
8681c6 |
print $begin_prime1;
|
|
Packit |
8681c6 |
print " { ";
|
|
Packit |
8681c6 |
for (my $n = 0; $n < $prime1len; $n++){
|
|
Packit |
8681c6 |
print $prime1[$n];
|
|
Packit |
8681c6 |
if ($n + 1 < $prime1len){
|
|
Packit |
8681c6 |
print ",";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
if (($n + 1 < $prime1len) && !(($n + 1) % 8)){
|
|
Packit |
8681c6 |
print "\n\t\t\t\t";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
print " },\n";
|
|
Packit |
8681c6 |
print $begin_prime1len;
|
|
Packit |
8681c6 |
print $prime1len;
|
|
Packit |
8681c6 |
print ",\n";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# prints prime 2
|
|
Packit |
8681c6 |
sub print_prime2(){
|
|
Packit |
8681c6 |
print $begin_prime2;
|
|
Packit |
8681c6 |
print " { ";
|
|
Packit |
8681c6 |
for (my $n = 0; $n < $prime2len; $n++){
|
|
Packit |
8681c6 |
print $prime2[$n];
|
|
Packit |
8681c6 |
if ($n + 1 < $prime2len){
|
|
Packit |
8681c6 |
print ",";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
if (($n + 1 < $prime2len) && !(($n + 1) % 8)){
|
|
Packit |
8681c6 |
print "\n\t\t\t\t";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
print " },\n";
|
|
Packit |
8681c6 |
print $begin_prime2len;
|
|
Packit |
8681c6 |
print $prime2len;
|
|
Packit |
8681c6 |
print ",\n";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# prints exponent 1
|
|
Packit |
8681c6 |
sub print_exp1(){
|
|
Packit |
8681c6 |
print $begin_exp1;
|
|
Packit |
8681c6 |
print " { ";
|
|
Packit |
8681c6 |
for (my $n = 0; $n < $exp1len; $n++){
|
|
Packit |
8681c6 |
print $exp1[$n];
|
|
Packit |
8681c6 |
if ($n + 1 < $exp1len){
|
|
Packit |
8681c6 |
print ",";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
if (($n + 1 < $exp1len) && !(($n + 1) % 8)){
|
|
Packit |
8681c6 |
print "\n\t\t\t\t";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
print " },\n";
|
|
Packit |
8681c6 |
print $begin_exp1len;
|
|
Packit |
8681c6 |
print $exp1len;
|
|
Packit |
8681c6 |
print ",\n";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# prints exponent 2
|
|
Packit |
8681c6 |
sub print_exp2(){
|
|
Packit |
8681c6 |
print $begin_exp2;
|
|
Packit |
8681c6 |
print " { ";
|
|
Packit |
8681c6 |
for (my $n = 0; $n < $exp2len; $n++){
|
|
Packit |
8681c6 |
print $exp2[$n];
|
|
Packit |
8681c6 |
if ($n + 1 < $exp2len){
|
|
Packit |
8681c6 |
print ",";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
if (($n + 1 < $exp2len) && !(($n + 1) % 8)){
|
|
Packit |
8681c6 |
print "\n\t\t\t\t";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
print " },\n";
|
|
Packit |
8681c6 |
print $begin_exp2len;
|
|
Packit |
8681c6 |
print $exp2len;
|
|
Packit |
8681c6 |
print ",\n";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# prints coefficient
|
|
Packit |
8681c6 |
sub print_coef(){
|
|
Packit |
8681c6 |
print $begin_coef;
|
|
Packit |
8681c6 |
print " { ";
|
|
Packit |
8681c6 |
for (my $n = 0; $n < $coeflen; $n++){
|
|
Packit |
8681c6 |
print $coef[$n];
|
|
Packit |
8681c6 |
if ($n + 1 < $coeflen){
|
|
Packit |
8681c6 |
print ",";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
if (($n + 1 < $coeflen) && !(($n + 1) % 8)){
|
|
Packit |
8681c6 |
print "\n\t\t\t\t";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
print " },\n";
|
|
Packit |
8681c6 |
print $begin_coeflen;
|
|
Packit |
8681c6 |
print $coeflen;
|
|
Packit |
8681c6 |
print ",\n";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# prints message
|
|
Packit |
8681c6 |
sub print_msg(){
|
|
Packit |
8681c6 |
print $begin_msg;
|
|
Packit |
8681c6 |
print " { ";
|
|
Packit |
8681c6 |
for (my $n = 0; $n < $msglen; $n++){
|
|
Packit |
8681c6 |
print $msg[$n];
|
|
Packit |
8681c6 |
if ($n + 1 < $msglen){
|
|
Packit |
8681c6 |
print ",";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
if (($n + 1 < $msglen) && !(($n + 1) % 8)){
|
|
Packit |
8681c6 |
print "\n\t\t\t\t";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
print " },\n";
|
|
Packit |
8681c6 |
print $begin_msglen;
|
|
Packit |
8681c6 |
print $msglen;
|
|
Packit |
8681c6 |
print ",\n";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
# prints signature
|
|
Packit |
8681c6 |
sub print_sig(){
|
|
Packit |
8681c6 |
print $begin_sig;
|
|
Packit |
8681c6 |
print " { ";
|
|
Packit |
8681c6 |
for (my $n = 0; $n < $siglen; $n++){
|
|
Packit |
8681c6 |
print $sig[$n];
|
|
Packit |
8681c6 |
if ($n + 1 < $siglen){
|
|
Packit |
8681c6 |
print ",";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
if (($n + 1 < $siglen) && !(($n + 1) % 8)){
|
|
Packit |
8681c6 |
print "\n\t\t\t\t";
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
}
|
|
Packit |
8681c6 |
print " },\n";
|
|
Packit |
8681c6 |
print $begin_siglen;
|
|
Packit |
8681c6 |
print $siglen;
|
|
Packit |
8681c6 |
print ",\n";
|
|
Packit |
8681c6 |
}
|