/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. */ #include /* * AES ECB/CBC test vectors */ /* AES Known Key (up to 256-bits). */ uint8_t aes_known_key[] = { 'A', 'E', 'S', '-', '1', '2', '8', ' ', 'R', 'I', 'J', 'N', 'D', 'A', 'E', 'L', 'L', 'E', 'A', 'D', 'N', 'J', 'I', 'R', ' ', '8', '2', '1', '-', 'S', 'E', 'A' }; /* AES-CBC Known Initialization Vector (128-bits). */ uint8_t aes_cbc_known_initialization_vector[] = { 'S', 'e', 'c', 'u', 'r', 'i', 't', 'y', 'y', 't', 'i', 'r', 'u', 'c', 'e', 'S' }; /* AES Known Plaintext (128-bits). (blocksize is 128-bits) */ uint8_t aes_known_plaintext[] = { 'S', 'u', 'n', ' ', 'O', 'p', 'e', 'n', ' ', 'S', 'o', 'l', 'a', 'r', 'i', 's' }; /* AES Known Ciphertext (128-bit key). */ uint8_t aes_ecb128_known_ciphertext[] = { 0xcc, 0xd1, 0xd0, 0xf3, 0xfd, 0x44, 0xb1, 0x4d, 0xfe, 0x33, 0x20, 0x72, 0x3c, 0xf3, 0x4d, 0x27 }; uint8_t aes_cbc128_known_ciphertext[] = { 0x59, 0x34, 0x55, 0xd1, 0x89, 0x9b, 0xf4, 0xa5, 0x16, 0x2c, 0x4c, 0x14, 0xd3, 0xe2, 0xe5, 0xed }; /* AES Known Ciphertext (192-bit key). */ uint8_t aes_ecb192_known_ciphertext[] = { 0xa3, 0x78, 0x10, 0x44, 0xd8, 0xee, 0x8a, 0x98, 0x41, 0xa4, 0xeb, 0x96, 0x57, 0xd8, 0xa0, 0xc5 }; uint8_t aes_cbc192_known_ciphertext[] = { 0x22, 0x9c, 0x68, 0xc6, 0x86, 0x68, 0xcc, 0x6a, 0x56, 0x2c, 0xb8, 0xe0, 0x16, 0x4e, 0x8b, 0x78 }; /* AES Known Ciphertext (256-bit key). */ uint8_t aes_ecb256_known_ciphertext[] = { 0xe4, 0x65, 0x92, 0x7f, 0xd0, 0xdd, 0x59, 0x49, 0x79, 0xc3, 0xac, 0x96, 0x30, 0xad, 0x32, 0x52 }; uint8_t aes_cbc256_known_ciphertext[] = { 0xd9, 0x44, 0x43, 0xe8, 0xdb, 0x60, 0x6b, 0xde, 0xc2, 0x84, 0xbf, 0xb9, 0xaf, 0x43, 0x3f, 0x51 }; /* AES-CTR Known Key (128-bits). */ uint8_t aes_ctr128_known_key[] = { 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c }; /* AES-CTR Known Key (192-bits). */ uint8_t aes_ctr192_known_key[] = { 0x8e, 0x73, 0xb0, 0xf7, 0xda, 0x0e, 0x64, 0x52, 0xc8, 0x10, 0xf3, 0x2b, 0x80, 0x90, 0x79, 0xe5, 0x62, 0xf8, 0xea, 0xd2, 0x52, 0x2c, 0x6b, 0x7b }; /* AES-CTR Known Key (256-bits). */ uint8_t aes_ctr256_known_key[] = { 0x60, 0x3d, 0xeb, 0x10, 0x15, 0xca, 0x71, 0xbe, 0x2b, 0x73, 0xae, 0xf0, 0x85, 0x7d, 0x77, 0x81, 0x1f, 0x35, 0x2c, 0x07, 0x3b, 0x61, 0x08, 0xd7, 0x2d, 0x98, 0x10, 0xa3, 0x09, 0x14, 0xdf, 0xf4 }; /* AES-CTR Known Initialization Counter (128-bits). */ uint8_t aes_ctr_known_counter[] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff }; /* AES-CTR Known Plaintext (128-bits). */ uint8_t aes_ctr_known_plaintext[] = { 0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96, 0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a }; /* AES-CTR Known Ciphertext. */ uint8_t aes_ctr128_known_ciphertext[] = { 0x87, 0x4d, 0x61, 0x91, 0xb6, 0x20, 0xe3, 0x26, 0x1b, 0xef, 0x68, 0x64, 0x99, 0x0d, 0xb6, 0xce }; uint8_t aes_ctr192_known_ciphertext[] = { 0x1a, 0xbc, 0x93, 0x24, 0x17, 0x52, 0x1c, 0xa2, 0x4f, 0x2b, 0x04, 0x59, 0xfe, 0x7e, 0x6e, 0x0b }; uint8_t aes_ctr256_known_ciphertext[] = { 0x60, 0x1e, 0xc3, 0x13, 0x77, 0x57, 0x89, 0xa5, 0xb7, 0xa7, 0xf5, 0x04, 0xbb, 0xf3, 0xd2, 0x28 }; /* AES-CCM Known Key (128-bits). */ uint8_t aes_ccm128_known_key[] = { 0x06, 0xfd, 0xf0, 0x83, 0xb5, 0xcb, 0x3b, 0xc7, 0xc0, 0x6d, 0x4d, 0xe5, 0xa6, 0x34, 0xc6, 0x50 }; /* AES-CCM Known Key (192-bits). */ uint8_t aes_ccm192_known_key[] = { 0xde, 0x91, 0x08, 0x63, 0xbe, 0x59, 0xb8, 0x7a, 0x45, 0x9b, 0xa6, 0xce, 0x2d, 0x7e, 0x71, 0x56, 0x1c, 0x5c, 0x15, 0xea, 0x1b, 0x6b, 0x05, 0x06 }; /* AES-CCM Known Key (256-bits). */ uint8_t aes_ccm256_known_key[] = { 0x84, 0x9c, 0x1d, 0xeb, 0x80, 0xf8, 0x5b, 0x7d, 0x25, 0x33, 0x64, 0x75, 0x4b, 0xdc, 0x5d, 0xf0, 0xe8, 0x1c, 0x98, 0x8a, 0x78, 0x8f, 0x15, 0xd1, 0xa2, 0x52, 0x49, 0xfa, 0x18, 0x5e, 0x1f, 0xd3 }; /* AES-CCM Known Nonce Nlen = 7 bytes (for 128-bits key). */ uint8_t aes_ccm128_known_nonce[] = { 0xfd, 0xe2, 0xd5, 0x4c, 0x65, 0x4e, 0xe4 }; /* AES-CCM Known Nonce Nlen = 7 bytes (192-bits). */ uint8_t aes_ccm192_known_nonce[] = { 0xcf, 0xb3, 0x48, 0xfa, 0x04, 0x36, 0xa2 }; /* AES-CCM Known Nonce Nlen = 7 bytes (256-bits). */ uint8_t aes_ccm256_known_nonce[] = { 0x75, 0xa5, 0x5b, 0x58, 0x33, 0x9d, 0x1c }; /* AES-CCM Known Adata Alen = 30 bytes (128-bits). */ uint8_t aes_ccm128_known_adata[] = { 0xe0, 0xdf, 0xfc, 0x4c, 0x92, 0x90, 0xd8, 0x28, 0xef, 0xe7, 0xc6, 0xbe, 0x4a, 0xbc, 0xd1, 0x3e, 0x23, 0x61, 0x92, 0x2f, 0xfa, 0x27, 0xa4, 0x0e, 0x61, 0x24, 0x58, 0x38, 0x55, 0x33 }; /* AES-CCM Known Adata Alen = 30 bytes (192-bits). */ uint8_t aes_ccm192_known_adata[] = { 0x4c, 0x5b, 0x4f, 0xfe, 0x80, 0xba, 0x7a, 0xe5, 0xd3, 0xe8, 0xbc, 0xf6, 0x55, 0x83, 0xcf, 0x58, 0xa2, 0x82, 0x59, 0x65, 0xba, 0xbd, 0x63, 0x53, 0x0c, 0xb0, 0x0c, 0x14, 0xd4, 0x7b }; /* AES-CCM Known Adata Alen = 30 bytes (256-bits). */ uint8_t aes_ccm256_known_adata[] = { 0x27, 0xb7, 0xec, 0x91, 0x08, 0xe1, 0x4d, 0x12, 0xd3, 0xd3, 0xb8, 0x49, 0x09, 0xde, 0xd0, 0x9a, 0x8f, 0x23, 0xbf, 0xd6, 0x02, 0x9b, 0x2a, 0x5e, 0x4a, 0x5a, 0x63, 0x8c, 0x72, 0x14 }; /* AES-CCM Known Payload Plen = 32 bytes (128-bits). */ uint8_t aes_ccm128_known_plaintext[] = { 0x77, 0xca, 0xdf, 0xa5, 0xb1, 0x23, 0xfe, 0x07, 0x8d, 0xca, 0x94, 0xe2, 0x66, 0x3f, 0x73, 0xd0, 0x3f, 0x0b, 0x4d, 0xc8, 0x05, 0xf6, 0x1c, 0xef, 0x13, 0x79, 0xc0, 0xb1, 0xfc, 0x76, 0xea, 0x11 }; /* AES-CCM Known Payload Plen = 32 bytes (192-bits). */ uint8_t aes_ccm192_known_plaintext[] = { 0xf9, 0x8a, 0x58, 0x59, 0x44, 0x2d, 0x2a, 0xf9, 0x65, 0x03, 0x36, 0x6d, 0x8a, 0x58, 0x29, 0xf9, 0xef, 0x47, 0x44, 0x30, 0xf4, 0x7e, 0x0d, 0xcd, 0x73, 0x41, 0x45, 0xdf, 0x50, 0xb2, 0x1b, 0x29 }; /* AES-CCM Known Payload Plen = 32 bytes (256-bits). */ uint8_t aes_ccm256_known_plaintext[] = { 0x25, 0x28, 0x3f, 0x05, 0x41, 0xd6, 0x66, 0x3b, 0xdb, 0x8f, 0xe9, 0xe7, 0x7b, 0x06, 0xc0, 0xee, 0xfe, 0xf6, 0xc9, 0x8b, 0x45, 0x08, 0x18, 0x4e, 0x2e, 0xf7, 0x8e, 0x64, 0xc3, 0xf2, 0xad, 0x18 }; /* * AES-CCM Known Ciphertext * Clen = 32 bytes + Tlen = 16 bytes (128-bits). */ uint8_t aes_ccm128_known_ciphertext[] = { 0x33, 0x50, 0x58, 0xbb, 0x5f, 0x13, 0x8d, 0xc9, 0x5b, 0x2c, 0xa4, 0x50, 0x1d, 0x7f, 0xd4, 0xa5, 0xb9, 0xb8, 0x71, 0x83, 0x8f, 0x82, 0x27, 0x5f, 0x75, 0x3e, 0x30, 0xf9, 0x9d, 0xad, 0xc2, 0xe9, 0x66, 0x93, 0x56, 0x98, 0x01, 0x1e, 0x3c, 0x11, 0x74, 0xdb, 0x9b, 0xca, 0xce, 0x0f, 0xc3, 0x35 }; /* * AES-CCM Known Ciphertext * Clen = 32 bytes + Tlen = 16 bytes (192-bits). */ uint8_t aes_ccm192_known_ciphertext[] = { 0xa7, 0x40, 0xd0, 0x25, 0xbd, 0x3e, 0x8f, 0xd5, 0x28, 0x3e, 0xee, 0xaa, 0xf9, 0xa7, 0xfc, 0xf2, 0x33, 0xf6, 0x69, 0xb8, 0xdc, 0x9c, 0x74, 0xb1, 0x46, 0xf4, 0xd6, 0xcc, 0x0a, 0x16, 0x12, 0x0c, 0x7c, 0x3c, 0x43, 0x76, 0x94, 0xf6, 0x9a, 0x14, 0xa0, 0xfb, 0xab, 0x9c, 0x2c, 0xd3, 0x5c, 0x09 }; /* * AES-CCM Known Ciphertext * Clen = 32 bytes + Tlen = 16 bytes (256-bits). */ uint8_t aes_ccm256_known_ciphertext[] = { 0xf6, 0x4d, 0x24, 0x69, 0x0e, 0xde, 0xc9, 0xc0, 0x1e, 0x42, 0xc0, 0x78, 0x29, 0xcf, 0xdb, 0xfe, 0xab, 0x52, 0x9a, 0xb1, 0x07, 0xe4, 0xac, 0xdf, 0x48, 0x46, 0x46, 0xc1, 0xe2, 0xb2, 0x0f, 0x36, 0x5f, 0xeb, 0x44, 0xcf, 0xa8, 0x80, 0x80, 0x23, 0xc9, 0xee, 0xc7, 0x56, 0x24, 0x63, 0x6e, 0x7e }; /* AES-GCM Known Key (128-bits). */ uint8_t aes_gcm128_known_key[] = { 0x7d, 0xf9, 0x9c, 0xdf, 0x7d, 0x00, 0xd9, 0xea, 0xd3, 0x85, 0x17, 0x1b, 0x29, 0xae, 0xcf, 0xbc }; /* AES-GCM Known Key (192-bits). */ uint8_t aes_gcm192_known_key[] = { 0x85, 0xf4, 0x34, 0x7a, 0xf5, 0x98, 0x1e, 0xd9, 0x89, 0x85, 0x98, 0x1a, 0x53, 0xfc, 0xc5, 0xbf, 0x53, 0x6c, 0x91, 0x4b, 0x18, 0x3c, 0xe8, 0x12 }; /* AES-GCM Known Key (256-bits). */ uint8_t aes_gcm256_known_key[] = { 0xee, 0xbc, 0x1f, 0x57, 0x48, 0x7f, 0x51, 0x92, 0x1c, 0x04, 0x65, 0x66, 0x5f, 0x8a, 0xe6, 0xd1, 0x65, 0x8b, 0xb2, 0x6d, 0xe6, 0xf8, 0xa0, 0x69, 0xa3, 0x52, 0x02, 0x93, 0xa5, 0x72, 0x07, 0x8f }; /* AES-GCM Known Initialization Vector (128-bits). */ uint8_t aes_gcm128_known_iv[] = { 0x27, 0x4c, 0x4e, 0xae, 0xfe, 0xef, 0xae, 0x26, 0x80, 0xb0, 0xef, 0xd5 }; /* AES-GCM Known Initialization Vector (192-bits). */ uint8_t aes_gcm192_known_iv[] = { 0xd4, 0xfb, 0x33, 0xc6, 0x51, 0xc8, 0x86, 0xff, 0x28, 0x80, 0xef, 0x96 }; /* AES-GCM Known Initialization Vector (256-bits). */ uint8_t aes_gcm256_known_iv[] = { 0x99, 0xaa, 0x3e, 0x68, 0xed, 0x81, 0x73, 0xa0, 0xee, 0xd0, 0x66, 0x84 }; /* AES-GCM Known AAD Alen = 16 bytes (128-bits). */ uint8_t aes_gcm128_known_adata[] = { 0x60, 0xe8, 0xb0, 0x37, 0xec, 0xdf, 0x4d, 0x82, 0x8c, 0x83, 0x0d, 0xcf, 0xc5, 0xce, 0xd4, 0x9c }; /* AES-GCM Known AAD Alen = 16 bytes (192-bits). */ uint8_t aes_gcm192_known_adata[] = { 0x44, 0x3a, 0xdf, 0xad, 0xbb, 0x29, 0xd6, 0x8c, 0x55, 0xe2, 0x02, 0x2d, 0xca, 0x62, 0x9b, 0x51 }; /* AES-GCM Known AAD Alen = 16 bytes (256-bits). */ uint8_t aes_gcm256_known_adata[] = { 0x4d, 0x23, 0xc3, 0xce, 0xc3, 0x34, 0xb4, 0x9b, 0xdb, 0x37, 0x0c, 0x43, 0x7f, 0xec, 0x78, 0xde }; /* AES-GCM Known Payload Plen = 16 bytes (128-bits). */ uint8_t aes_gcm128_known_plaintext[] = { 0x99, 0x66, 0x7d, 0xc9, 0x62, 0xb3, 0x9f, 0x14, 0x8c, 0xdd, 0xfe, 0x68, 0xf9, 0x0a, 0x43, 0xf9 }; /* AES-GCM Known Payload Plen = 16 bytes (192-bits). */ uint8_t aes_gcm192_known_plaintext[] = { 0x7f, 0x9c, 0x08, 0x1d, 0x6a, 0xcc, 0xa8, 0xab, 0x71, 0x75, 0xcb, 0xd0, 0x49, 0x42, 0xba, 0xad }; /* AES-GCM Known Payload Plen = 16 bytes (256-bits). */ uint8_t aes_gcm256_known_plaintext[] = { 0xf5, 0x6e, 0x87, 0x05, 0x5b, 0xc3, 0x2d, 0x0e, 0xeb, 0x31, 0xb2, 0xea, 0xcc, 0x2b, 0xf2, 0xa5 }; /* AES-GCM Known Ciphertext Clen = 16 bytes (128-bits) + tag */ uint8_t aes_gcm128_known_ciphertext[] = { 0x2b, 0x5f, 0x57, 0xf2, 0x62, 0x27, 0xe0, 0x94, 0xe7, 0xf8, 0x01, 0x23, 0xf9, 0xed, 0xbd, 0xe8, 0x16, 0xee, 0x08, 0xb4, 0xd8, 0x07, 0xe5, 0xdb, 0xd5, 0x70, 0x3c, 0xb3, 0xcf, 0x53, 0x8c, 0x14 }; /* AES-GCM Known Ciphertext Clen = 16 bytes (192-bits) + tag */ uint8_t aes_gcm192_known_ciphertext[] = { 0xdd, 0x7e, 0x7e, 0x45, 0x5b, 0x21, 0xd8, 0x84, 0x3d, 0x7b, 0xc3, 0x1f, 0x21, 0x07, 0xf9, 0x55, 0x9f, 0x0e, 0x8d, 0xe2, 0x6d, 0xb4, 0x95, 0xf5, 0x91, 0x1f, 0xb6, 0x0c, 0xf5, 0xf2, 0x3a, 0xf9 }; /* AES-GCM Known Ciphertext Clen = 16 bytes (256-bits)+ tag */ uint8_t aes_gcm256_known_ciphertext[] = { 0xf7, 0x26, 0x44, 0x13, 0xa8, 0x4c, 0x0e, 0x7c, 0xd5, 0x36, 0x86, 0x7e, 0xb9, 0xf2, 0x17, 0x36, 0x67, 0xba, 0x05, 0x10, 0x26, 0x2a, 0xe4, 0x87, 0xd7, 0x37, 0xee, 0x62, 0x98, 0xf7, 0x7e, 0x0c }; /* * Source: NIST gcmEncryptExtIV128.txt * Count = 0, [Keylen = 128], [IVlen = 96], [PTlen = 0], * [AADlen = 128], [Taglen = 128] * * Source: NIST gcmEncryptExtIV192.txt * Count = 0, [Keylen = 192], [IVlen = 96], [PTlen = 0], * [AADlen = 128], [Taglen = 128] * * Source: NIST gcmEncryptExtIV256.txt * Count = 0, [Keylen = 256], [IVlen = 96], [PTlen = 0], * [AADlen = 128], [Taglen = 128] */ /* AES-GMAC Known Key (128-bits). */ uint8_t aes_gmac128_known_key[] = { 0x7d, 0x70, 0xd2, 0x32, 0x48, 0xc4, 0x7e, 0xb3, 0xd2, 0x73, 0xdf, 0x81, 0xed, 0x30, 0x24, 0xbd }; /* AES-GMAC Known Key (192-bits). */ uint8_t aes_gmac192_known_key[] = { 0x03, 0x60, 0x22, 0xfe, 0x26, 0x9a, 0xdc, 0xad, 0xb5, 0x73, 0x11, 0xa4, 0xa0, 0xed, 0x2a, 0x84, 0x18, 0x34, 0xb8, 0xb6, 0xd8, 0xa0, 0x7f, 0x41 }; /* AES-GMAC Known Key (256-bits). */ uint8_t aes_gmac256_known_key[] = { 0xbb, 0x10, 0x10, 0x06, 0x4f, 0xb8, 0x35, 0x23, 0xea, 0x9d, 0xf3, 0x2b, 0xad, 0x9f, 0x1f, 0x2a, 0x4f, 0xce, 0xfc, 0x0f, 0x21, 0x07, 0xc0, 0xaa, 0xba, 0xd9, 0xb7, 0x56, 0xd8, 0x09, 0x21, 0x9d }; /* AES-GMAC Known Initialization Vector (128-bits). */ uint8_t aes_gmac128_known_iv[] = { 0xab, 0x53, 0x23, 0x33, 0xd6, 0x76, 0x51, 0x20, 0x8b, 0x8c, 0x34, 0x85 }; /* AES-GMAC Known Initialization Vector (192-bits). */ uint8_t aes_gmac192_known_iv[] = { 0x85, 0x65, 0xb2, 0x15, 0x3a, 0x3f, 0x34, 0x9a, 0x07, 0x31, 0x06, 0x79 }; /* AES-GMAC Known Initialization Vector (256-bits). */ uint8_t aes_gmac256_known_iv[] = { 0x2f, 0x9a, 0xd0, 0x12, 0xad, 0xfc, 0x12, 0x73, 0x43, 0xfb, 0xe0, 0x56 }; /* AES-GMAC Known Tag (128-bits). */ uint8_t aes_gmac128_known_tag[] = { 0xcf, 0x89, 0x50, 0xa3, 0x10, 0xf5, 0xab, 0x8b, 0x69, 0xd5, 0x00, 0x11, 0x1a, 0x44, 0xb0, 0x96 }; /* AES-GMAC Known Tag (192-bits). */ uint8_t aes_gmac192_known_tag[] = { 0x90, 0x21, 0xaf, 0x4c, 0xa0, 0x8d, 0x01, 0xef, 0x82, 0x5a, 0x42, 0xf9, 0xbe, 0x3a, 0xb3, 0xe9 }; /* AES-GMAC Known Tag (256-bits). */ uint8_t aes_gmac256_known_tag[] = { 0xef, 0x06, 0xd5, 0x4d, 0xfd, 0x00, 0x02, 0x1d, 0x75, 0x27, 0xdf, 0xf2, 0x6f, 0xc9, 0xd4, 0x84 }; /* AES-GMAC Known AAD Alen = 16 bytes (128-bits). */ uint8_t aes_gmac128_known_adata[] = { 0x7d, 0x1d, 0x42, 0xe8, 0x94, 0x60, 0xe9, 0x44, 0xbf, 0xa4, 0x83, 0xdb, 0xe6, 0x92, 0xf0, 0x8d }; /* AES-GMAC Known AAD Alen = 16 bytes (192-bits). */ uint8_t aes_gmac192_known_adata[] = { 0xad, 0xcf, 0x4f, 0xbb, 0xa0, 0xe0, 0x6a, 0x63, 0x70, 0x71, 0x1a, 0x57, 0xf8, 0xdc, 0xd0, 0xc9 }; /* AES-GMAC Known AAD Alen = 16 bytes (256-bits). */ uint8_t aes_gmac256_known_adata[] = { 0xdb, 0x98, 0xd9, 0x0d, 0x1b, 0x69, 0x5c, 0xdb, 0x74, 0x7a, 0x34, 0x3f, 0xbb, 0xc9, 0xf1, 0x41 }; /* DES3 Known Key. */ uint8_t des3_known_key[] = { 'A', 'N', 'S', 'I', ' ', 'T', 'r', 'i', 'p', 'l', 'e', '-', 'D', 'E', 'S', ' ', 'K', 'e', 'y', ' ', 'D', 'a', 't', 'a' }; /* DES3-CBC Known Initialization Vector (64-bits). */ uint8_t des3_cbc_known_iv[] = { 'S', 'e', 'c', 'u', 'r', 'i', 't', 'y' }; /* DES3 Known Plaintext (64-bits). */ uint8_t des3_ecb_known_plaintext[] = { 'S', 'o', 'l', 'a', 'r', 'i', 's', '!' }; uint8_t des3_cbc_known_plaintext[] = { 'S', 'o', 'l', 'a', 'r', 'i', 's', '!' }; /* DES3 Known Ciphertext (64-bits). */ uint8_t des3_ecb_known_ciphertext[] = { 0x17, 0x0d, 0x1f, 0x13, 0xd3, 0xa0, 0x3a, 0x63 }; uint8_t des3_cbc_known_ciphertext[] = { 0x7f, 0x62, 0x44, 0xb3, 0xf8, 0x77, 0xf8, 0xf8 }; /* * SHA-1 Known Hash Message * Source from NIST SHA1ShortMsg (L = 512-bits). */ uint8_t sha1_known_hash_message[] = { 0x7e, 0x3a, 0x4c, 0x32, 0x5c, 0xb9, 0xc5, 0x2b, 0x88, 0x38, 0x7f, 0x93, 0xd0, 0x1a, 0xe8, 0x6d, 0x42, 0x09, 0x8f, 0x5e, 0xfa, 0x7f, 0x94, 0x57, 0x38, 0x8b, 0x5e, 0x74, 0xb6, 0xd2, 0x8b, 0x24, 0x38, 0xd4, 0x2d, 0x8b, 0x64, 0x70, 0x33, 0x24, 0xd4, 0xaa, 0x25, 0xab, 0x6a, 0xad, 0x15, 0x3a, 0xe3, 0x0c, 0xd2, 0xb2, 0xaf, 0x4d, 0x5e, 0x5c, 0x00, 0xa8, 0xa2, 0xd0, 0x22, 0x0c, 0x61, 0x16 }; /* SHA-1 Known Digest Message (160-bits). */ uint8_t sha1_known_digest[] = { 0xa3, 0x05, 0x44, 0x27, 0xcd, 0xb1, 0x3f, 0x16, 0x4a, 0x61, 0x0b, 0x34, 0x87, 0x02, 0x72, 0x4c, 0x80, 0x8a, 0x0d, 0xcc }; /* Source from NIST HMAC.txt Count = 0 */ uint8_t HMAC_known_secret_key[] = { 0x7b, 0x10, 0xf4, 0x12, 0x4b, 0x15, 0xc8, 0x2e }; /* known SHA1 hmac - truncated (10 bytes) */ uint8_t known_SHA1_hmac[] = { 0x4e, 0xad, 0x12, 0xc2, 0xfe, 0x3d, 0x6e, 0xa4, 0x3a, 0xcb }; uint8_t hmac_sha1_known_hash_message[] = { 0x27, 0xdc, 0xb5, 0xb1, 0xda, 0xf6, 0x0c, 0xfd, 0x3e, 0x2f, 0x73, 0xd4, 0xd6, 0x4c, 0xa9, 0xc6, 0x84, 0xf8, 0xbf, 0x71, 0xfc, 0x68, 0x2a, 0x46, 0x79, 0x3b, 0x17, 0x90, 0xaf, 0xa4, 0xfe, 0xb1, 0x00, 0xca, 0x7a, 0xaf, 0xf2, 0x6f, 0x58, 0xf0, 0xe1, 0xd0, 0xed, 0x42, 0xf1, 0xcd, 0xad, 0x1f, 0x47, 0x4a, 0xfa, 0x2e, 0x79, 0xd5, 0x3a, 0x0c, 0x42, 0x89, 0x2c, 0x4d, 0x7b, 0x32, 0x7c, 0xbe, 0x46, 0xb2, 0x95, 0xed, 0x8d, 0xa3, 0xb6, 0xec, 0xab, 0x3d, 0x48, 0x51, 0x68, 0x7a, 0x6f, 0x81, 0x2b, 0x79, 0xdf, 0x2f, 0x6b, 0x20, 0xf1, 0x1f, 0x67, 0x06, 0xf5, 0x30, 0x17, 0x90, 0xca, 0x99, 0x62, 0x5a, 0xad, 0x73, 0x91, 0xd8, 0x4f, 0x78, 0x04, 0x3d, 0x2a, 0x0a, 0x23, 0x9b, 0x14, 0x77, 0x98, 0x4c, 0x15, 0x7b, 0xbc, 0x92, 0x76, 0x06, 0x4e, 0x7a, 0x1a, 0x40, 0x6b, 0x06, 0x12, 0xca }; /* * SHA-1 HMAC Known MAC (Case 2) * Source from FIPS PUB 198 (A.2) */ uint8_t sha1_hmac_known_secret_key_2[] = { 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43 }; uint8_t sha1_hmac_known_hash_message_2[] = { 'S', 'a', 'm', 'p', 'l', 'e', ' ', '#', '2' }; uint8_t sha1_known_hmac_2[] = { 0x09, 0x22, 0xd3, 0x40, 0x5f, 0xaa, 0x3d, 0x19, 0x4f, 0x82, 0xa4, 0x58, 0x30, 0x73, 0x7d, 0x5c, 0xc6, 0xc7, 0x5d, 0x24 }; /* * SHA-256 Known Hash Message (512-bits). * Source from NIST SHA256ShortMsg (Len = 512) */ uint8_t sha256_known_hash_message[] = { 0x35, 0x92, 0xec, 0xfd, 0x1e, 0xac, 0x61, 0x8f, 0xd3, 0x90, 0xe7, 0xa9, 0xc2, 0x4b, 0x65, 0x65, 0x32, 0x50, 0x93, 0x67, 0xc2, 0x1a, 0x0e, 0xac, 0x12, 0x12, 0xac, 0x83, 0xc0, 0xb2, 0x0c, 0xd8, 0x96, 0xeb, 0x72, 0xb8, 0x01, 0xc4, 0xd2, 0x12, 0xc5, 0x45, 0x2b, 0xbb, 0xf0, 0x93, 0x17, 0xb5, 0x0c, 0x5c, 0x9f, 0xb1, 0x99, 0x75, 0x53, 0xd2, 0xbb, 0xc2, 0x9b, 0xb4, 0x2f, 0x57, 0x48, 0xad }; /* known SHA256 Digest Message (32 bytes) */ uint8_t known_sha256_digest[] = { 0x10, 0x5a, 0x60, 0x86, 0x58, 0x30, 0xac, 0x3a, 0x37, 0x1d, 0x38, 0x43, 0x32, 0x4d, 0x4b, 0xb5, 0xfa, 0x8e, 0xc0, 0xe0, 0x2d, 0xda, 0xa3, 0x89, 0xad, 0x8d, 0xa4, 0xf1, 0x02, 0x15, 0xc4, 0x54 }; /* * SHA-384 Known Hash Message (512-bits). * Source from NIST SHA384ShortMsg (Len = 512) */ uint8_t sha384_known_hash_message[] = { 0x58, 0xbe, 0xab, 0xf9, 0x79, 0xab, 0x35, 0xab, 0xba, 0x29, 0x37, 0x6d, 0x5d, 0xc2, 0x27, 0xab, 0xb3, 0xd2, 0xff, 0x4d, 0x90, 0x30, 0x49, 0x82, 0xfc, 0x10, 0x79, 0xbc, 0x2b, 0x28, 0x80, 0xfc, 0xb0, 0x12, 0x9e, 0x4f, 0xed, 0xf2, 0x78, 0x98, 0xce, 0x58, 0x6a, 0x91, 0xb7, 0x68, 0x1e, 0x0d, 0xba, 0x38, 0x5e, 0x80, 0x0e, 0x79, 0x26, 0xc0, 0xbc, 0x5a, 0xfe, 0x0d, 0x9c, 0xa9, 0x86, 0x50 }; /* known SHA384 Digest Message (48 bytes) */ uint8_t known_sha384_digest[] = { 0xa0, 0x88, 0x8e, 0x1c, 0x4d, 0x7e, 0x80, 0xcb, 0xaa, 0xaf, 0xa8, 0xbb, 0x1c, 0xa1, 0xca, 0x91, 0x2a, 0x93, 0x21, 0x75, 0xc2, 0xef, 0x98, 0x2c, 0xe1, 0xf1, 0x23, 0xa8, 0xc1, 0xae, 0xe9, 0x63, 0x5a, 0xd7, 0x5b, 0xe5, 0x25, 0x90, 0xa9, 0x24, 0xbe, 0xd3, 0xf5, 0xec, 0x36, 0xc3, 0x56, 0x90 }; /* * SHA-512 Known Hash Message (512-bits). * Source from NIST SHA512ShortMsg (Len = 512) */ uint8_t sha512_known_hash_message[] = { 0x09, 0x5c, 0x7f, 0x30, 0x82, 0x4f, 0xc9, 0x28, 0x58, 0xcc, 0x93, 0x47, 0xc0, 0x85, 0xd5, 0x78, 0x88, 0x5f, 0xf3, 0x61, 0x4d, 0xd3, 0x8e, 0xe7, 0xee, 0x94, 0xa0, 0xf4, 0x40, 0x72, 0xc8, 0x77, 0x04, 0x7e, 0xe2, 0xad, 0x16, 0x6f, 0xdb, 0xa0, 0xe7, 0x44, 0xc3, 0xed, 0x2c, 0x2b, 0x24, 0xc9, 0xd8, 0xa2, 0x93, 0x46, 0x48, 0xdc, 0x84, 0xd3, 0xbe, 0x66, 0x63, 0x02, 0x11, 0x0a, 0xe0, 0x8f }; /* known SHA512 Digest Message (64 bytes) */ uint8_t known_sha512_digest[] = { 0xd5, 0xcd, 0xaf, 0x83, 0xbb, 0x4a, 0x27, 0xea, 0xad, 0x8d, 0x8f, 0x18, 0xe4, 0xbe, 0xe9, 0xc2, 0x5b, 0xe9, 0x49, 0xa7, 0x61, 0xa0, 0xfd, 0x0f, 0xb2, 0x28, 0x4c, 0xab, 0x14, 0x3c, 0xad, 0x60, 0xbe, 0xb5, 0x68, 0x87, 0x34, 0xb2, 0xf8, 0x1e, 0x9e, 0x2d, 0x64, 0x0b, 0x42, 0x5f, 0xd3, 0x2c, 0xcb, 0x3d, 0x20, 0xd0, 0x2d, 0x63, 0xc2, 0xc9, 0x4c, 0x03, 0xab, 0x3d, 0x9e, 0x7d, 0x9b, 0x4a }; /* SHA-2 HMAC Test Vectors */ /* * SHA-256 HMAC Known Hash Message (512-bits). * (Not used by HW provider because of the key size limitation */ uint8_t sha256_hmac_known_hash_message[] = { 0x54, 0x68, 0x65, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4D, 0x44, 0x32, 0x2C, 0x20, 0x4D, 0x44, 0x35, 0x2C, 0x20, 0x61, 0x6E, 0x64, 0x20, 0x53, 0x48, 0x41, 0x2D, 0x31, 0x20, 0x68, 0x61, 0x73, 0x68, 0x69, 0x6E, 0x67, 0x20, 0x61, 0x6C, 0x67, 0x6F, 0x72, 0x69, 0x74, 0x68, 0x6D, 0x73, 0x2E }; uint8_t sha256_hmac_known_secret_key[] = { 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x48, 0x41, 0x2D, 0x32, 0x35, 0x36, 0x20, 0x48, 0x4D, 0x41, 0x43, 0x20, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x20, 0x6B, 0x65, 0x79, 0x21 }; /* known SHA256 hmac (32 bytes) */ uint8_t known_sha256_hmac[] = { 0x02, 0x87, 0x21, 0x93, 0x84, 0x8a, 0x35, 0xae, 0xdb, 0xb6, 0x79, 0x26, 0x96, 0xf0, 0x50, 0xeb, 0x33, 0x49, 0x57, 0xf1, 0xb2, 0x32, 0xd3, 0x63, 0x03, 0x65, 0x57, 0xa2, 0xba, 0xa2, 0x5f, 0x35 }; /* * SHA-256 HMAC Known Hash Message from RFC 4231 * Test Case 2 and 4 */ uint8_t sha256_hmac_known_hash_message_1[] = { 0x77, 0x68, 0x61, 0x74, 0x20, 0x64, 0x6f, 0x20, 0x79, 0x61, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x3f }; uint8_t sha256_hmac_known_secret_key_1[] = { 0x4a, 0x65, 0x66, 0x65 }; uint8_t sha256_known_hmac_1[] = { 0x5b, 0xdc, 0xc1, 0x46, 0xbf, 0x60, 0x75, 0x4e, 0x6a, 0x04, 0x24, 0x26, 0x08, 0x95, 0x75, 0xc7, 0x5a, 0x00, 0x3f, 0x08, 0x9d, 0x27, 0x39, 0x83, 0x9d, 0xec, 0x58, 0xb9, 0x64, 0xec, 0x38, 0x43 }; uint8_t sha256_hmac_known_hash_message_2[] = { 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd }; uint8_t sha256_hmac_known_secret_key_2[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19 }; uint8_t sha256_known_hmac_2[] = { 0x82, 0x55, 0x8a, 0x38, 0x9a, 0x44, 0x3c, 0x0e, 0xa4, 0xcc, 0x81, 0x98, 0x99, 0xf2, 0x08, 0x3a, 0x85, 0xf0, 0xfa, 0xa3, 0xe5, 0x78, 0xf8, 0x07, 0x7a, 0x2e, 0x3f, 0xf4, 0x67, 0x29, 0x66, 0x5b }; /* * SHA-384 HMAC Known Hash Message (512-bits). * Source from NIST HMAC.txt (Count = 15, Klen = 16, Tlen = 48) */ uint8_t sha384_hmac_known_secret_key[] = { 0x01, 0xac, 0x59, 0xf4, 0x2f, 0x8b, 0xb9, 0x1d, 0x1b, 0xd1, 0x0f, 0xe6, 0x99, 0x0d, 0x7a, 0x87 }; uint8_t sha384_hmac_known_hash_message[] = { 0x3c, 0xaf, 0x18, 0xc4, 0x76, 0xed, 0xd5, 0x61, 0x5f, 0x34, 0x3a, 0xc7, 0xb7, 0xd3, 0xa9, 0xda, 0x9e, 0xfa, 0xde, 0x75, 0x56, 0x72, 0xd5, 0xba, 0x4b, 0x8a, 0xe8, 0xa7, 0x50, 0x55, 0x39, 0xea, 0x2c, 0x12, 0x4f, 0xf7, 0x55, 0xec, 0x04, 0x57, 0xfb, 0xe4, 0x9e, 0x43, 0x48, 0x0b, 0x3c, 0x71, 0xe7, 0xf4, 0x74, 0x2e, 0xc3, 0x69, 0x3a, 0xad, 0x11, 0x5d, 0x03, 0x9f, 0x90, 0x22, 0x2b, 0x03, 0x0f, 0xdc, 0x94, 0x40, 0x31, 0x36, 0x91, 0x71, 0x6d, 0x53, 0x02, 0x00, 0x58, 0x08, 0xc0, 0x76, 0x27, 0x48, 0x3b, 0x91, 0x6f, 0xdf, 0x61, 0x98, 0x30, 0x63, 0xc2, 0xeb, 0x12, 0x68, 0xf2, 0xde, 0xee, 0xf4, 0x2f, 0xc7, 0x90, 0x33, 0x44, 0x56, 0xbc, 0x6b, 0xad, 0x25, 0x6e, 0x31, 0xfc, 0x90, 0x66, 0xde, 0x7c, 0xc7, 0xe4, 0x3d, 0x13, 0x21, 0xb1, 0x86, 0x6d, 0xb4, 0x5e, 0x90, 0x56, 0x22 }; /* known SHA384 hmac (48 bytes) */ uint8_t known_sha384_hmac[] = { 0x19, 0x85, 0xfa, 0x21, 0x63, 0xa5, 0x94, 0x3f, 0xc5, 0xd9, 0x2f, 0x1f, 0xe8, 0x83, 0x12, 0x15, 0xe7, 0xe9, 0x1f, 0x0b, 0xff, 0x53, 0x32, 0xbc, 0x71, 0x3a, 0x07, 0x2b, 0xdb, 0x3a, 0x8f, 0x9e, 0x5c, 0x51, 0x57, 0x46, 0x3a, 0x3b, 0xfe, 0xb3, 0x62, 0x31, 0x41, 0x6e, 0x65, 0x97, 0x3e, 0x64 }; /* * SHA-512 HMAC Known Hash Message (512-bits). * Source from NIST HMAC.txt (Count = 30, Klen = 20, Tlen = 64) */ uint8_t sha512_hmac_known_secret_key[] = { 0xa7, 0x36, 0xf2, 0x74, 0xfd, 0xa6, 0x8e, 0x1b, 0xd5, 0xf9, 0x47, 0x1e, 0x85, 0xfd, 0x41, 0x5d, 0x7f, 0x2b, 0xa1, 0xbc }; uint8_t sha512_hmac_known_hash_message[] = { 0xa6, 0xcc, 0xc3, 0x55, 0x2c, 0x33, 0xe9, 0x17, 0x8b, 0x6b, 0x82, 0xc6, 0x53, 0xd6, 0x3d, 0xe2, 0x54, 0x0f, 0x17, 0x08, 0x07, 0xc3, 0xd9, 0x6a, 0x2a, 0xc2, 0xe2, 0x7d, 0xab, 0x55, 0x26, 0xf1, 0xc7, 0xd3, 0x77, 0xe6, 0x73, 0x6f, 0x04, 0x5d, 0xfb, 0x54, 0x1f, 0xec, 0xe9, 0xf4, 0x43, 0xb7, 0x28, 0x9c, 0x55, 0x9b, 0x69, 0x4c, 0x2a, 0xac, 0xc6, 0xc7, 0x4a, 0xe2, 0xa5, 0xe6, 0xf3, 0x0f, 0xe0, 0x31, 0x61, 0x14, 0x23, 0xb0, 0x4d, 0x55, 0x95, 0xff, 0xb4, 0x6a, 0xba, 0xa1, 0xd9, 0x18, 0x98, 0x96, 0x8d, 0x7f, 0x18, 0x30, 0xae, 0x94, 0xb0, 0x22, 0xee, 0xd2, 0x3f, 0xda, 0xd5, 0x2d, 0x38, 0x11, 0x0a, 0x48, 0x03, 0xa0, 0xce, 0xe7, 0xa0, 0x95, 0xc9, 0xa7, 0x8e, 0x86, 0x09, 0xed, 0xeb, 0x25, 0x48, 0x1c, 0xdc, 0x15, 0x6d, 0x0b, 0x2f, 0xfc, 0x56, 0xb6, 0x3f, 0xda, 0xd5, 0x33 }; /* known SHA512 hmac (64 bytes) */ uint8_t known_sha512_hmac[] = { 0xf7, 0x18, 0x03, 0x43, 0x1e, 0x07, 0xa5, 0xa6, 0xe5, 0xfd, 0x4a, 0xe4, 0xcf, 0xc2, 0x75, 0x3b, 0xc8, 0x0d, 0x26, 0xe1, 0x67, 0x23, 0xd9, 0xe8, 0x8b, 0x40, 0x5a, 0x02, 0x34, 0x8e, 0xf4, 0xb9, 0x67, 0x92, 0xc9, 0x9c, 0xed, 0x64, 0xdc, 0x70, 0xea, 0x47, 0x53, 0x78, 0xb7, 0x46, 0x6a, 0xc2, 0xca, 0xf4, 0xa4, 0x20, 0xb0, 0x1f, 0xf6, 0x1e, 0x72, 0xc5, 0xb5, 0xee, 0x8e, 0xaa, 0xd4, 0xd4 }; /* * RSA: 1024-bit RSA known key */ uint8_t rsa_modulus_1024[] = { 0x94, 0x32, 0xb9, 0x12, 0x1d, 0x68, 0x2c, 0xda, 0x2b, 0xe0, 0xe4, 0x97, 0x1b, 0x4d, 0xdc, 0x43, 0xdf, 0x38, 0x6e, 0x7b, 0x9f, 0x07, 0x58, 0xae, 0x9d, 0x82, 0x1e, 0xc7, 0xbc, 0x92, 0xbf, 0xd3, 0xce, 0x00, 0xbb, 0x91, 0xc9, 0x79, 0x06, 0x03, 0x1f, 0xbc, 0x9f, 0x94, 0x75, 0x29, 0x5f, 0xd7, 0xc5, 0xf3, 0x73, 0x8a, 0xa4, 0x35, 0x43, 0x7a, 0x00, 0x32, 0x97, 0x3e, 0x86, 0xef, 0x70, 0x6f, 0x18, 0x56, 0x15, 0xaa, 0x6a, 0x87, 0xe7, 0x8d, 0x7d, 0xdd, 0x1f, 0xa4, 0xe4, 0x31, 0xd4, 0x7a, 0x8c, 0x0e, 0x20, 0xd2, 0x23, 0xf5, 0x57, 0x3c, 0x1b, 0xa8, 0x44, 0xa4, 0x57, 0x8f, 0x33, 0x52, 0xad, 0x83, 0xae, 0x4a, 0x97, 0xa6, 0x1e, 0xa6, 0x2b, 0xfa, 0xea, 0xeb, 0x6e, 0x71, 0xb8, 0xb6, 0x0a, 0x36, 0xed, 0x83, 0xce, 0xb0, 0xdf, 0xc1, 0xd4, 0x3a, 0xe9, 0x99, 0x6f, 0xf3, 0x96, 0xb7 }; uint8_t rsa_public_exponent_1024[] = {0x01, 0x00, 0x01}; uint8_t rsa_private_exponent_1024[] = { 0x8e, 0xc9, 0x70, 0x57, 0x6b, 0xcd, 0xfb, 0xa9, 0x19, 0xad, 0xcd, 0x91, 0x69, 0xd5, 0x52, 0xec, 0x72, 0x1e, 0x45, 0x15, 0x06, 0xdc, 0x65, 0x2d, 0x98, 0xc4, 0xce, 0x33, 0x54, 0x15, 0x70, 0x8d, 0xfa, 0x65, 0xea, 0x53, 0x44, 0xf3, 0x3e, 0x3f, 0xb4, 0x4c, 0x60, 0xd5, 0x01, 0x2d, 0xa4, 0x12, 0x99, 0xbf, 0x3f, 0x0b, 0xcd, 0xbb, 0x24, 0x10, 0x60, 0x30, 0x5e, 0x58, 0xf8, 0x59, 0xaa, 0xd1, 0x63, 0x3b, 0xbc, 0xcb, 0x94, 0x58, 0x38, 0x24, 0xfc, 0x65, 0x25, 0xc5, 0xa6, 0x51, 0xa2, 0x2e, 0xf1, 0x5e, 0xf5, 0xc1, 0xf5, 0x46, 0xf7, 0xbd, 0xc7, 0x62, 0xa8, 0xe2, 0x27, 0xd6, 0x94, 0x5b, 0xd3, 0xa2, 0xb5, 0x76, 0x42, 0x67, 0x6b, 0x86, 0x91, 0x97, 0x4d, 0x07, 0x92, 0x00, 0x4a, 0xdf, 0x0b, 0x65, 0x64, 0x05, 0x03, 0x48, 0x27, 0xeb, 0xce, 0x9a, 0x49, 0x7f, 0x3e, 0x10, 0xe0, 0x01 }; uint8_t rsa_prime1_1024[] = { 0xe4, 0xe7, 0x50, 0x8c, 0x48, 0x2b, 0x0a, 0xda, 0xb1, 0xf0, 0xd5, 0x1e, 0x0b, 0xf3, 0xdc, 0xfc, 0xa9, 0x60, 0x20, 0x73, 0xa0, 0x89, 0x20, 0xa8, 0x2e, 0x1a, 0x50, 0x95, 0xdc, 0x45, 0xef, 0x29, 0x21, 0x69, 0x22, 0xca, 0x3f, 0x2c, 0xfe, 0x6e, 0xb3, 0xc9, 0xee, 0x2d, 0xb1, 0xb9, 0xbd, 0x6c, 0xdd, 0x89, 0xbb, 0x0a, 0x9a, 0x0e, 0x14, 0xa1, 0x88, 0x4a, 0x56, 0x5d, 0xb5, 0x0f, 0xd2, 0x01 }; uint8_t rsa_prime2_1024[] = { 0xa5, 0xbd, 0xb6, 0xb8, 0x49, 0x97, 0x9d, 0x2c, 0x04, 0x06, 0x5b, 0xee, 0xae, 0x5f, 0x78, 0x06, 0x49, 0xa2, 0x11, 0xbf, 0xff, 0x40, 0x4f, 0x56, 0x88, 0xc7, 0xe9, 0x55, 0x79, 0xeb, 0xc6, 0x68, 0x1c, 0xb3, 0x13, 0x9f, 0x41, 0x6c, 0x10, 0x3c, 0x26, 0xd2, 0xd6, 0x68, 0xb3, 0x1e, 0x6b, 0x93, 0x08, 0x86, 0xfe, 0x15, 0x47, 0xa7, 0x52, 0x3a, 0xb4, 0x28, 0x43, 0x78, 0xef, 0x34, 0x78, 0xb7 }; uint8_t rsa_exponent1_1024[] = { 0x58, 0x83, 0x51, 0xd4, 0x4c, 0xfb, 0xc7, 0xe0, 0xb5, 0x3a, 0x09, 0x4e, 0xeb, 0x14, 0x4b, 0x79, 0xb0, 0x0d, 0x29, 0xbf, 0x4c, 0x6e, 0x7a, 0x20, 0x4e, 0x63, 0x82, 0x91, 0xd0, 0x71, 0x82, 0x7f, 0x87, 0x19, 0xde, 0x88, 0x12, 0x51, 0xd5, 0xb8, 0xfc, 0xf0, 0xb2, 0x97, 0x1c, 0xc8, 0x54, 0x05, 0x4a, 0xcd, 0x3d, 0x74, 0x66, 0x09, 0xd7, 0xd4, 0x76, 0x9d, 0x38, 0x34, 0x58, 0x15, 0x5c, 0x01 }; uint8_t rsa_exponent2_1024[] = { 0x4a, 0xc6, 0x27, 0x6c, 0x47, 0x0f, 0x56, 0xc2, 0x67, 0xe2, 0x72, 0x91, 0x61, 0x2c, 0x03, 0x1b, 0x5b, 0x16, 0xfa, 0x49, 0x13, 0xa0, 0x70, 0xea, 0xca, 0x74, 0xde, 0x89, 0x48, 0xa3, 0x1d, 0x75, 0x15, 0x15, 0x99, 0x91, 0xac, 0xd3, 0x53, 0x13, 0xc0, 0x34, 0x38, 0xb5, 0x2d, 0xb2, 0x58, 0xb8, 0x12, 0x0d, 0xcd, 0x0d, 0xce, 0xb0, 0xe7, 0x41, 0x42, 0xcc, 0x33, 0x7c, 0x98, 0xf6, 0xa4, 0x4b }; uint8_t rsa_coefficient_1024[] = { 0x60, 0x6a, 0x6c, 0x5a, 0xf1, 0x55, 0xe9, 0xe4, 0x67, 0x72, 0x2f, 0x99, 0x03, 0x6a, 0x56, 0xa1, 0xed, 0xf2, 0x59, 0xfa, 0xec, 0x88, 0xc5, 0xb7, 0xa8, 0x71, 0x4a, 0x5f, 0xab, 0x86, 0xb0, 0x50, 0x93, 0x3c, 0xe3, 0x70, 0xf9, 0xf2, 0x72, 0xe6, 0xd2, 0xb5, 0x30, 0x3e, 0x60, 0x29, 0x70, 0xd4, 0xf0, 0x31, 0x15, 0x36, 0x3a, 0x27, 0xb6, 0xdf, 0x18, 0xb0, 0xf0, 0x32, 0xef, 0xa3, 0x84, 0xcb }; /* * RSA: 2048-bit RSA known key */ uint8_t rsa_modulus_2048[] = { 0x7f, 0xf1, 0xed, 0x5a, 0xa0, 0xe2, 0x97, 0x05, 0x03, 0xc0, 0xf3, 0xcf, 0x86, 0x4a, 0x01, 0x15, 0xc3, 0x4f, 0x32, 0xf4, 0xf7, 0xbe, 0x57, 0x4a, 0xe1, 0x87, 0xf2, 0x1c, 0xd3, 0xa5, 0x96, 0xc1, 0x54, 0xe5, 0x97, 0x19, 0x7d, 0xf1, 0x13, 0xc3, 0x4d, 0xcf, 0x5a, 0x08, 0x76, 0xfc, 0x6c, 0x93, 0x87, 0x71, 0x20, 0x66, 0xb7, 0xbf, 0x37, 0xbb, 0xc9, 0xf5, 0x16, 0xf4, 0x9c, 0x5c, 0x64, 0x58, 0xc4, 0x9e, 0x17, 0x0e, 0x99, 0x6d, 0x3f, 0x7d, 0x4f, 0xf1, 0x01, 0xde, 0x76, 0x55, 0xa9, 0xfe, 0xa0, 0xa4, 0x95, 0xd1, 0x4e, 0xc6, 0x8b, 0x0a, 0x86, 0x5b, 0x60, 0x40, 0xf1, 0x74, 0x91, 0x26, 0xcf, 0xc4, 0xf7, 0x7a, 0x86, 0xd7, 0x72, 0x47, 0x25, 0x9e, 0x3e, 0x5a, 0xbd, 0x7f, 0x11, 0x9a, 0x28, 0x9e, 0x00, 0x8d, 0xfb, 0x9d, 0x93, 0x8e, 0xb4, 0xcc, 0x7f, 0x22, 0x00, 0x8a, 0x3b, 0xbb, 0xca, 0x45, 0x8e, 0x93, 0xd3, 0xe4, 0x89, 0x96, 0xe1, 0xb8, 0x5f, 0xdf, 0x75, 0x94, 0x89, 0xa5, 0xad, 0x39, 0x76, 0x43, 0xa7, 0xdf, 0xe4, 0x62, 0x39, 0x01, 0x56, 0x31, 0x46, 0x2b, 0xf4, 0x05, 0xa9, 0xa9, 0x33, 0x96, 0x16, 0x75, 0x3f, 0xf2, 0xcd, 0x6b, 0x0d, 0xa9, 0xf2, 0x9b, 0x30, 0x6d, 0x17, 0xec, 0x1a, 0x5a, 0x14, 0x5a, 0x8e, 0xaa, 0x52, 0x35, 0x83, 0x0a, 0x59, 0xbc, 0x56, 0x96, 0x18, 0x08, 0xbf, 0x91, 0xf7, 0x69, 0x81, 0x66, 0xda, 0x13, 0xb6, 0x77, 0xb9, 0x6a, 0x4a, 0x71, 0xd9, 0xae, 0x43, 0x0d, 0xad, 0xb4, 0x5f, 0x11, 0x87, 0x91, 0x84, 0xc6, 0x59, 0xfe, 0xb0, 0x05, 0x83, 0x21, 0x66, 0x7a, 0x70, 0xeb, 0x15, 0xbb, 0xc3, 0x40, 0x37, 0xce, 0xbc, 0xe7, 0x4f, 0x95, 0xf1, 0x83, 0xcf, 0x89, 0xdd, 0xdc, 0xea, 0x01, 0xe1, 0x42, 0xe9, 0x52, 0x8b, 0x1f, 0x91, 0x25}; uint8_t rsa_public_exponent_2048[] = { 0x3 }; uint8_t rsa_private_exponent_2048[] = { 0x55, 0x4b, 0xf3, 0x91, 0xc0, 0x97, 0x0f, 0x58, 0xad, 0x2b, 0x4d, 0x35, 0x04, 0x31, 0x56, 0x0e, 0x82, 0x34, 0xcc, 0xa3, 0x4f, 0xd4, 0x3a, 0x31, 0xeb, 0xaf, 0xf6, 0xbd, 0xe2, 0x6e, 0x64, 0x80, 0xe3, 0x43, 0xba, 0x10, 0xfe, 0xa0, 0xb7, 0xd7, 0x89, 0x34, 0xe6, 0xb0, 0x4f, 0x52, 0xf3, 0x0d, 0x04, 0xf6, 0x15, 0x99, 0xcf, 0xd4, 0xcf, 0xd2, 0x86, 0xa3, 0x64, 0xa3, 0x12, 0xe8, 0x42, 0xe5, 0xd8, 0x69, 0x64, 0xb4, 0x66, 0x48, 0xd4, 0xfe, 0x35, 0x4b, 0x56, 0x94, 0x4e, 0xe3, 0xc6, 0xa9, 0xc0, 0x6d, 0xb9, 0x36, 0x34, 0x84, 0x5c, 0xb1, 0xae, 0xe7, 0x95, 0x80, 0xa0, 0xf8, 0x60, 0xc4, 0x8a, 0x83, 0x4f, 0xa7, 0x04, 0x8f, 0xa1, 0x84, 0xc3, 0xbe, 0xd4, 0x3c, 0x7e, 0x54, 0xb6, 0x66, 0xc5, 0xbe, 0xab, 0x09, 0x52, 0x69, 0x0d, 0x09, 0xcd, 0xdd, 0xaa, 0x16, 0xab, 0x06, 0xd2, 0x7c, 0x3c, 0x58, 0x7d, 0x53, 0x4b, 0x14, 0x41, 0x35, 0x9a, 0x78, 0x74, 0xf5, 0x8e, 0x67, 0x50, 0x52, 0xc5, 0x17, 0xcd, 0xfd, 0x7a, 0xe4, 0x9b, 0xbb, 0xaf, 0x4b, 0x17, 0xa7, 0x3c, 0x09, 0x1d, 0xd6, 0xa1, 0x11, 0x06, 0x36, 0x68, 0x83, 0x66, 0xd6, 0x49, 0x44, 0x9f, 0x0b, 0xe3, 0x17, 0x1a, 0xc5, 0xd7, 0x9a, 0x65, 0x5d, 0x15, 0x81, 0x6a, 0x5d, 0xdd, 0xd7, 0xf4, 0x54, 0xa3, 0x6f, 0x1e, 0x60, 0x87, 0x2a, 0x59, 0xaa, 0x73, 0xf0, 0xdd, 0xdb, 0x66, 0xa8, 0x19, 0x31, 0xfd, 0x00, 0x09, 0x8f, 0xce, 0x9a, 0xec, 0xff, 0x88, 0x5c, 0x4e, 0x67, 0x55, 0xa0, 0x14, 0xdf, 0x28, 0x61, 0x5f, 0x47, 0x8d, 0x49, 0xb3, 0xee, 0x5e, 0xfc, 0xc8, 0x41, 0x75, 0x59, 0x93, 0xa4, 0x24, 0x69, 0xc0, 0x1a, 0x18, 0x04, 0xda, 0x38, 0x0e, 0xf3, 0xa5, 0x04, 0xbf, 0xe3, 0xf9, 0xf3, 0x7c, 0xe5, 0x82, 0xeb}; uint8_t rsa_prime1_2048[] = { 0x97, 0x5e, 0xb8, 0x7b, 0x74, 0xe6, 0xe3, 0x7b, 0x4b, 0xdf, 0x5b, 0xb8, 0x0f, 0xe6, 0xa1, 0xcc, 0x1c, 0x84, 0xc9, 0x60, 0x5d, 0x80, 0x17, 0x6d, 0x61, 0xc2, 0x4d, 0x14, 0x0c, 0x71, 0xda, 0x02, 0x74, 0x6f, 0x1f, 0x85, 0x4f, 0xb9, 0x69, 0xb9, 0x3c, 0x23, 0x74, 0x60, 0x14, 0xc2, 0xb2, 0x44, 0x0c, 0x18, 0xde, 0xfa, 0x12, 0x2c, 0xb8, 0x68, 0x71, 0x62, 0x07, 0x8c, 0x02, 0xe3, 0x08, 0xf9, 0x49, 0xc1, 0x15, 0x13, 0x0f, 0x76, 0x50, 0xd6, 0x6e, 0xd3, 0x7b, 0xfa, 0x68, 0x0e, 0x75, 0x07, 0x0b, 0xee, 0x2c, 0xd7, 0x34, 0xc9, 0x98, 0x33, 0x16, 0xca, 0x60, 0x54, 0x36, 0x12, 0x65, 0xc4, 0x1c, 0xf1, 0xe5, 0x7c, 0x6a, 0x6a, 0x0f, 0x11, 0x45, 0xbb, 0x60, 0xa0, 0x35, 0x97, 0xaa, 0x25, 0x58, 0x29, 0x1b, 0xf8, 0x4d, 0xb5, 0x86, 0x58, 0x68, 0x19, 0x30, 0x6d, 0x07, 0x78, 0x1d, 0x9d}; uint8_t rsa_prime2_2048[] = { 0xd8, 0x62, 0x1a, 0x1b, 0x6e, 0x5f, 0x44, 0x4b, 0x2e, 0x24, 0x54, 0xb7, 0x10, 0x12, 0xef, 0x5d, 0x69, 0x10, 0xf7, 0xe7, 0x12, 0x08, 0xe3, 0x5b, 0x50, 0x4e, 0x65, 0xa2, 0x5f, 0xac, 0x6d, 0x41, 0x43, 0xa0, 0x8a, 0xbf, 0x29, 0xf6, 0xbb, 0xf8, 0x23, 0x60, 0xaa, 0xb8, 0x09, 0x35, 0xd6, 0x00, 0x48, 0x6b, 0xa3, 0x54, 0x61, 0xeb, 0xb6, 0xb5, 0x14, 0x0f, 0x8c, 0xff, 0x61, 0xb2, 0xa0, 0x0c, 0x03, 0x88, 0x23, 0xff, 0x3a, 0x09, 0xe3, 0xc7, 0x51, 0x44, 0x14, 0xb2, 0x55, 0xdb, 0xc7, 0x13, 0x17, 0xd7, 0xb2, 0xb7, 0x2c, 0x60, 0x51, 0x43, 0x70, 0x57, 0x05, 0x23, 0x67, 0x5a, 0x3b, 0x56, 0x12, 0x40, 0xf3, 0x18, 0x78, 0x05, 0xda, 0x48, 0x4d, 0x7e, 0x79, 0xb8, 0x50, 0xb1, 0x05, 0x49, 0x75, 0x53, 0x6c, 0x3d, 0x79, 0xb9, 0xec, 0x22, 0x59, 0x53, 0xc1, 0xf8, 0x48, 0x4f, 0x2f, 0x29}; uint8_t rsa_exponent1_2048[] = { 0x64, 0xe9, 0xd0, 0x52, 0x4d, 0xef, 0x42, 0x52, 0x32, 0x94, 0xe7, 0xd0, 0x0a, 0x99, 0xc1, 0x32, 0xbd, 0xad, 0xdb, 0x95, 0x93, 0xaa, 0xba, 0x48, 0xeb, 0xd6, 0xde, 0x0d, 0x5d, 0xa1, 0x3c, 0x01, 0xa2, 0xf4, 0xbf, 0xae, 0x35, 0x26, 0x46, 0x7b, 0x7d, 0x6c, 0xf8, 0x40, 0x0d, 0xd7, 0x21, 0x82, 0xb2, 0xbb, 0x3f, 0x51, 0x61, 0x73, 0x25, 0x9a, 0xf6, 0x41, 0x5a, 0x5d, 0x57, 0x42, 0x05, 0xfb, 0x86, 0x80, 0xb8, 0xb7, 0x5f, 0xa4, 0x35, 0xe4, 0x49, 0xe2, 0x52, 0xa6, 0xf0, 0x09, 0xa3, 0x5a, 0x07, 0xf4, 0x1d, 0xe4, 0xcd, 0xdb, 0xba, 0xcc, 0xb9, 0xdc, 0x40, 0x38, 0x24, 0x0c, 0x43, 0xd8, 0x13, 0x4b, 0xee, 0x52, 0xf1, 0x9c, 0x0a, 0x0b, 0x83, 0xd2, 0x40, 0x6a, 0xce, 0x65, 0x1c, 0x18, 0xe5, 0x70, 0xbd, 0x50, 0x33, 0xce, 0x59, 0x90, 0x45, 0x66, 0x20, 0x48, 0xaf, 0xa5, 0x69, 0x13}; uint8_t rsa_exponent2_2048[] = { 0x90, 0x41, 0x66, 0xbc, 0xf4, 0x3f, 0x82, 0xdc, 0xc9, 0x6d, 0x8d, 0xcf, 0x60, 0x0c, 0x9f, 0x93, 0x9b, 0x60, 0xa5, 0x44, 0xb6, 0xb0, 0x97, 0x92, 0x35, 0x89, 0x99, 0x16, 0xea, 0x72, 0xf3, 0x80, 0xd7, 0xc0, 0x5c, 0x7f, 0x71, 0x4f, 0x27, 0xfa, 0xc2, 0x40, 0x71, 0xd0, 0x06, 0x23, 0xe4, 0x00, 0x30, 0x47, 0xc2, 0x38, 0x41, 0x47, 0xcf, 0x23, 0x62, 0xb5, 0x08, 0xaa, 0x41, 0x21, 0xc0, 0x08, 0x02, 0x5a, 0xc2, 0xaa, 0x26, 0xb1, 0x42, 0x84, 0xe0, 0xd8, 0x0d, 0xcc, 0x39, 0x3d, 0x2f, 0x62, 0x0f, 0xe5, 0x21, 0xcf, 0x72, 0xea, 0xe0, 0xd7, 0xa0, 0x3a, 0x03, 0x6c, 0xef, 0x91, 0x7c, 0xe4, 0x0c, 0x2b, 0x4c, 0xba, 0xfa, 0xae, 0x91, 0x85, 0x88, 0xfe, 0xfb, 0xd0, 0x35, 0xcb, 0x58, 0xdb, 0xa3, 0x8c, 0xf2, 0xd3, 0xa6, 0x7b, 0xf2, 0xc1, 0x90, 0xe2, 0x81, 0x50, 0x30, 0x34, 0xca, 0x1b}; uint8_t rsa_coefficient_2048[] = { 0x86, 0xfd, 0x64, 0x2c, 0x28, 0x72, 0x4e, 0x59, 0x2a, 0x29, 0xcd, 0xe2, 0xd1, 0xf6, 0x19, 0xc8, 0xf8, 0xf0, 0x69, 0x77, 0x94, 0x03, 0x70, 0x0d, 0x87, 0x27, 0x37, 0x4d, 0xe8, 0xed, 0x56, 0x9f, 0x15, 0x99, 0x14, 0x3f, 0xf8, 0x35, 0x2f, 0x7c, 0x01, 0x11, 0x82, 0x99, 0x90, 0x5f, 0x6d, 0xf8, 0x2c, 0x81, 0x74, 0x22, 0xa1, 0x5c, 0x87, 0x93, 0xc4, 0xa4, 0x0a, 0xd2, 0xf2, 0xe6, 0x51, 0x4d, 0x3a, 0x24, 0x16, 0x7a, 0x8a, 0x36, 0xca, 0x03, 0x58, 0xd7, 0xce, 0x5b, 0x16, 0x3f, 0x65, 0xf7, 0xe8, 0xdc, 0x91, 0xee, 0x0b, 0x80, 0x20, 0x5d, 0x12, 0x75, 0x0d, 0xe1, 0xe2, 0x78, 0x13, 0xcc, 0x3d, 0xe6, 0x84, 0x56, 0x66, 0xa4, 0x69, 0x20, 0x9f, 0x55, 0xf3, 0xcd, 0x48, 0x84, 0x93, 0xc0, 0x4d, 0xf9, 0xa7, 0xb3, 0xfa, 0xf3, 0x31, 0x27, 0x23, 0x70, 0x19, 0x6a, 0xf3, 0x02, 0x7f, 0x9d}; /* * RSA: 1024-bit and 2048-bit known plaintext and signatures */ /* Plaintext message: 1024-bit including NULL termination */ uint8_t rsa_known_plaintext_msg[] = { 0x42, 0xad, 0xcb, 0xba, 0x92, 0x41, 0x72, 0xf3, 0x3e, 0x7c, 0xc0, 0xf7, 0x2b, 0xbe, 0x30, 0xdf, 0x97, 0xa2, 0x11, 0xd1, 0xa6, 0x43, 0x33, 0x22, 0xc9, 0x14, 0xec, 0x07, 0x69, 0x4c, 0xa8, 0xbc, 0xb9, 0x87, 0x54, 0xe1, 0x26, 0x2a, 0x9e, 0xfd, 0xf7, 0xa2, 0x3b, 0xee, 0x77, 0x93, 0xff, 0xa8, 0x34, 0xf5, 0x89, 0xef, 0xa4, 0xb9, 0x00, 0x86, 0x46, 0x63, 0x07, 0x5a, 0x8f, 0x87, 0xb4, 0x6e, 0x0d, 0xd6, 0xb2, 0x32, 0x21, 0x50, 0xab, 0x18, 0xc0, 0x9c, 0x1e, 0xa1, 0x8a, 0x4e, 0xf3, 0x1f, 0xe1, 0x4e, 0xf0, 0xe3, 0x9b, 0x9d, 0x33, 0x84, 0x6d, 0x4b, 0x6f, 0x52, 0x65, 0x2c, 0xc1, 0x41, 0x6a, 0x13, 0x10, 0xc2, 0xf6, 0x2f, 0xc6, 0xaf, 0x35, 0xb4, 0xf2, 0xbf, 0x21, 0x16, 0x2b, 0x45, 0x61, 0x97, 0xcf, 0x4f, 0xa0, 0x1d, 0x99, 0x9d, 0xa0, 0x92, 0x11, 0x6d, 0x34, 0x63, 0x19, 0x73 }; uint8_t rsa_x509_known_signature_1024[] = { 0x43, 0xA3, 0x73, 0x60, 0xD7, 0x6F, 0xAB, 0x76, 0x8C, 0xF7, 0x7C, 0xDD, 0x26, 0x59, 0x75, 0x91, 0x0F, 0x06, 0x95, 0x4A, 0x3A, 0x02, 0x9A, 0x19, 0x33, 0xF0, 0x98, 0x4E, 0x9A, 0x97, 0xEA, 0xFE, 0x45, 0xB5, 0x94, 0xE0, 0x42, 0x46, 0xC7, 0x74, 0x65, 0xE6, 0x0F, 0x81, 0xD0, 0x95, 0x17, 0x8F, 0x82, 0xF6, 0x36, 0x02, 0x59, 0xE9, 0x20, 0x08, 0x38, 0x70, 0x68, 0x67, 0xFE, 0x9B, 0xEA, 0xF8, 0xBA, 0xD0, 0x00, 0x3F, 0x75, 0x2A, 0x2F, 0x7A, 0xC7, 0xE9, 0x44, 0xA4, 0x39, 0xB6, 0x94, 0x85, 0xA7, 0x8A, 0x3A, 0x97, 0x83, 0x93, 0x18, 0x93, 0x99, 0xAC, 0xF7, 0x21, 0xD5, 0x76, 0x30, 0xA5, 0xA1, 0xE5, 0x3B, 0x50, 0x2D, 0x10, 0xBE, 0xD1, 0x96, 0x41, 0x9D, 0xD9, 0xCD, 0x68, 0xD4, 0x49, 0x96, 0x78, 0xBB, 0x62, 0x7D, 0xEC, 0x0D, 0x09, 0xA4, 0x84, 0x6B, 0x6F, 0xA8, 0x41, 0x03, 0x37 }; uint8_t rsa_pkcs_known_signature_1024[] = { 0x7B, 0x9C, 0x75, 0x6D, 0x45, 0xC3, 0xED, 0x9F, 0xFA, 0xE9, 0x9C, 0xFA, 0x8B, 0x1A, 0xAF, 0x86, 0x25, 0x45, 0x52, 0x21, 0x81, 0x94, 0x2C, 0x87, 0x51, 0x65, 0x77, 0x2F, 0x25, 0xA8, 0x6C, 0x85, 0x06, 0xA8, 0xA3, 0xF6, 0x3B, 0xA6, 0xC8, 0x44, 0xF5, 0xBF, 0xE8, 0xE0, 0xF8, 0x20, 0xB5, 0x84, 0xF3, 0xAE, 0x1B, 0x24, 0xA6, 0x19, 0xC5, 0x63, 0xFD, 0x54, 0xFA, 0x88, 0xA2, 0x2D, 0x2C, 0x39, 0x38, 0x4B, 0x68, 0x70, 0xF7, 0xD3, 0x8D, 0xE1, 0x90, 0xE7, 0x41, 0x8D, 0x03, 0x75, 0x39, 0x38, 0x3B, 0x96, 0x47, 0xFF, 0xA7, 0x9B, 0x72, 0x08, 0x76, 0x7D, 0x00, 0x61, 0xD4, 0x07, 0x47, 0xED, 0xB3, 0x62, 0x4D, 0xFD, 0x79, 0x44, 0xD5, 0xF5, 0xDA, 0xDE, 0xE5, 0x89, 0xFB, 0x57, 0xA8, 0x0A, 0x92, 0x41, 0x92, 0x3A, 0x47, 0x85, 0x1D, 0x72, 0xAF, 0x58, 0x85, 0x9D, 0x46, 0x4A, 0xD2, 0x7D }; uint8_t rsa_x509_known_signature_2048[] = { 0x74, 0xEB, 0x2F, 0x01, 0x93, 0xF0, 0xB9, 0x64, 0x12, 0xD6, 0xD6, 0x75, 0xF0, 0x6C, 0xDC, 0x44, 0x5F, 0x09, 0xAC, 0x98, 0x6C, 0xF9, 0x23, 0x7E, 0xBB, 0x44, 0xCB, 0x9A, 0x3C, 0xE9, 0x76, 0x7B, 0x81, 0xAA, 0x69, 0xA6, 0x77, 0x34, 0x85, 0x8E, 0xDB, 0x13, 0x9A, 0xE3, 0xD0, 0xBF, 0x2A, 0x3C, 0x8B, 0x50, 0x3E, 0x8A, 0x95, 0xF7, 0x09, 0x39, 0xED, 0x3F, 0x5A, 0x52, 0x68, 0xA1, 0xF3, 0x42, 0xA8, 0x09, 0x13, 0xAE, 0xFD, 0x9F, 0x40, 0x0C, 0x3D, 0x84, 0x68, 0x07, 0xFF, 0x30, 0x0F, 0x6B, 0x6F, 0xB7, 0x1F, 0x09, 0x11, 0x8E, 0x7B, 0x3F, 0x88, 0xF5, 0x41, 0x07, 0xE1, 0x5C, 0x71, 0x28, 0xAE, 0x71, 0x51, 0xAE, 0xC3, 0xC9, 0xCB, 0xED, 0xAC, 0x87, 0x32, 0xAB, 0xD0, 0x2F, 0x65, 0xA3, 0x7D, 0x90, 0xDC, 0xFF, 0x7A, 0x9D, 0xCE, 0xBC, 0xCA, 0x00, 0x6E, 0x65, 0x3C, 0x99, 0x2F, 0x00, 0x8A, 0x5A, 0xD9, 0x5A, 0x01, 0x83, 0x99, 0x1D, 0x8D, 0xD7, 0x10, 0x3B, 0xE2, 0x9C, 0x9C, 0x49, 0xCA, 0x9C, 0xF6, 0x42, 0x0E, 0x4D, 0xCD, 0x11, 0x70, 0x0C, 0xCC, 0x2C, 0x8F, 0xAA, 0xA5, 0x7C, 0xA8, 0x1D, 0xBD, 0x99, 0x63, 0x6E, 0x44, 0x9D, 0xE6, 0xC0, 0x55, 0x2F, 0x0F, 0x27, 0x43, 0xA3, 0x3C, 0x46, 0xC4, 0x52, 0x59, 0x4F, 0xD4, 0x07, 0xAD, 0xE2, 0xBA, 0x19, 0x23, 0x23, 0xB6, 0x78, 0xFE, 0x65, 0x6D, 0x0D, 0x62, 0x0E, 0xAB, 0xE5, 0x5A, 0x58, 0x28, 0x17, 0xE9, 0x1D, 0x2F, 0x3E, 0x04, 0xED, 0x01, 0x56, 0x0B, 0xB9, 0x4E, 0x2D, 0xF8, 0xC9, 0x7D, 0x12, 0xFE, 0x8A, 0x00, 0x3E, 0x72, 0x9F, 0x28, 0x77, 0x92, 0x58, 0x6E, 0x11, 0x75, 0xF1, 0x31, 0x5B, 0x43, 0xF4, 0x95, 0xD3, 0x59, 0x31, 0xA7, 0xD1, 0x8B, 0x91, 0xED, 0xDE, 0xD9, 0xC0, 0x04, 0xBA, 0x1F, 0x4E, 0x1D, 0xB6 }; uint8_t rsa_pkcs_known_signature_2048[] = { 0x77, 0x5A, 0x7C, 0x5B, 0x95, 0xB8, 0x02, 0xB5, 0xF7, 0xDF, 0x8A, 0x3F, 0x90, 0x7D, 0x32, 0x6E, 0x3B, 0x79, 0x0F, 0x74, 0xAD, 0x4D, 0xE1, 0x61, 0xCD, 0x5D, 0x32, 0x4C, 0x4A, 0x94, 0x90, 0xB2, 0xDB, 0xB0, 0xCE, 0x0E, 0xC8, 0xC2, 0x2D, 0x8B, 0x26, 0x49, 0xE8, 0x0F, 0x37, 0x85, 0x64, 0xF0, 0x2B, 0x94, 0xA5, 0x05, 0xC7, 0x32, 0x4C, 0xFD, 0xE8, 0x1F, 0x5B, 0x3C, 0x74, 0x08, 0x16, 0x02, 0xAE, 0xB6, 0xB8, 0xF1, 0x4A, 0x2F, 0x3F, 0x92, 0xCD, 0x8B, 0x82, 0xCA, 0xCC, 0xB4, 0x8E, 0x68, 0xD6, 0x2F, 0x21, 0x8C, 0x4C, 0x63, 0xA4, 0xEA, 0xDE, 0xE5, 0xF2, 0x8A, 0x3F, 0x9B, 0x81, 0x50, 0x12, 0x30, 0x05, 0xF2, 0x63, 0x64, 0xB2, 0x41, 0x8A, 0x77, 0xAF, 0x07, 0xC1, 0x91, 0x6E, 0x32, 0x43, 0xEC, 0x3B, 0xB2, 0xE5, 0xAE, 0x95, 0x81, 0xEE, 0x34, 0x4C, 0xAF, 0x26, 0x8C, 0x14, 0x7D, 0xB3, 0x0D, 0x47, 0x95, 0x46, 0xFF, 0x5E, 0x12, 0xCC, 0x02, 0x68, 0x52, 0x58, 0x90, 0xE8, 0x38, 0xC5, 0x7F, 0x6F, 0x6A, 0xA6, 0x1C, 0x92, 0xDB, 0x43, 0x82, 0x13, 0x2A, 0x33, 0x0F, 0xEB, 0xEC, 0xF3, 0x52, 0x47, 0x06, 0x0B, 0xB0, 0x38, 0x52, 0xB7, 0x60, 0xB5, 0x4D, 0xC3, 0xF8, 0x26, 0x60, 0x99, 0x67, 0xFA, 0x5C, 0x40, 0x3A, 0x71, 0x8F, 0x30, 0x04, 0xEF, 0xD2, 0xBD, 0x31, 0xA3, 0x1F, 0x9A, 0x5D, 0xAA, 0x0C, 0x8E, 0xA1, 0x87, 0x78, 0x62, 0xFD, 0x15, 0x8C, 0xB4, 0xF5, 0xAF, 0x84, 0xFB, 0x26, 0xC9, 0xDA, 0x58, 0x67, 0x55, 0x27, 0x1C, 0x20, 0xEA, 0xDD, 0x5E, 0xC0, 0xBE, 0x88, 0x46, 0x9C, 0xEF, 0x70, 0x75, 0x91, 0x31, 0x44, 0x40, 0xCD, 0x61, 0x3F, 0xB6, 0x9C, 0x18, 0x6D, 0xCD, 0x16, 0x07, 0x89, 0x7D, 0x73, 0x03, 0xE3, 0x54, 0x22, 0x11, 0x76, 0xF5, 0xE6, 0x4F, 0xF0 }; uchar_t dsa_base_1024[] = { 0x34, 0x32, 0xEF, 0xA6, 0x81, 0x0E, 0xF7, 0xA2, 0x6F, 0x0C, 0x05, 0xB8, 0x6F, 0xE4, 0x0B, 0xD7, 0xB4, 0x5B, 0x77, 0x3E, 0x0D, 0x6D, 0xA9, 0x37, 0x39, 0x69, 0xEC, 0x26, 0x58, 0xDD, 0xE5, 0xF7, 0x26, 0x2A, 0x8C, 0xBD, 0x47, 0x7B, 0x53, 0x12, 0x65, 0xD5, 0x86, 0x7C, 0xAA, 0x47, 0x8D, 0x2C, 0xBD, 0x8A, 0x82, 0x5B, 0x5E, 0xEB, 0x94, 0xAE, 0x79, 0x1D, 0x76, 0x64, 0x9E, 0x3E, 0x33, 0x5A, 0xFC, 0xB6, 0x86, 0x83, 0x6A, 0xAF, 0x7D, 0xC4, 0x50, 0x56, 0x60, 0xEF, 0x57, 0x86, 0x6C, 0xD9, 0x44, 0x72, 0xF2, 0x19, 0xB0, 0x46, 0x52, 0x04, 0xC3, 0x92, 0xF4, 0xF1, 0x36, 0xEF, 0xFA, 0xAF, 0xFA, 0x86, 0xBB, 0x2B, 0x07, 0x04, 0x9F, 0xF5, 0xD4, 0xEC, 0xB5, 0x60, 0x81, 0x8A, 0x6E, 0x5F, 0x96, 0x4C, 0x84, 0x9E, 0xD0, 0x9E, 0xA9, 0x28, 0x95, 0xF9, 0x17, 0x5E, 0x95, 0x4F, 0xA8, 0x45 }; uchar_t dsa_prime_1024[] = { 0xB6, 0x6F, 0x0C, 0xED, 0xAF, 0x2C, 0x79, 0x76, 0x03, 0xC1, 0xB6, 0x4A, 0x60, 0x24, 0x89, 0x6D, 0xFC, 0x8A, 0x8C, 0x4F, 0x0A, 0x61, 0x4B, 0x55, 0xB2, 0x4E, 0xDC, 0x2E, 0xB7, 0xFA, 0xFF, 0x9A, 0xF7, 0xA4, 0x86, 0x71, 0x0E, 0xBF, 0x2A, 0xBB, 0x60, 0x64, 0x49, 0xFB, 0xB8, 0x8C, 0x86, 0xA1, 0x92, 0xBC, 0x0A, 0xF8, 0xF3, 0x62, 0x5E, 0x0D, 0x40, 0xA7, 0x61, 0xCB, 0x45, 0x21, 0x90, 0xF0, 0x3F, 0xC9, 0x25, 0x79, 0x5B, 0x3A, 0xDE, 0x4E, 0xAE, 0xFA, 0x21, 0x74, 0x6F, 0x9A, 0x09, 0xED, 0xA6, 0x7D, 0x6C, 0x89, 0x5A, 0x3E, 0x28, 0xE8, 0x5D, 0x31, 0x20, 0xD9, 0xAF, 0xE8, 0x9F, 0xA4, 0xA6, 0xD7, 0xFE, 0x2F, 0x26, 0x4E, 0x85, 0x61, 0x9B, 0xE6, 0x5E, 0x67, 0x90, 0xF5, 0xDA, 0x8F, 0xE2, 0xD1, 0x26, 0xB1, 0x66, 0xC6, 0xB0, 0xCA, 0x7C, 0xE8, 0x08, 0x85, 0x57, 0xE5, 0xAD, 0x01 }; uchar_t dsa_subprime_1024[] = { 0x80, 0xBD, 0xBC, 0x1F, 0x32, 0x59, 0x51, 0xC6, 0xE0, 0x36, 0xC7, 0x74, 0x47, 0x16, 0xCF, 0x06, 0xDC, 0x8A, 0xA9, 0x07 }; uchar_t dsa_privalue_1024[] = { 0x3F, 0x02, 0xC5, 0xA7, 0x0C, 0x35, 0xAE, 0xF9, 0x9B, 0xED, 0xF4, 0x93, 0xB4, 0x10, 0x09, 0x68, 0x83, 0x2F, 0xCB, 0x9C }; uchar_t dsa_pubvalue_1024[] = { 0x10, 0xEF, 0xCB, 0x38, 0x16, 0xCC, 0xCA, 0x91, 0x13, 0x6C, 0x56, 0x54, 0x67, 0xBF, 0x14, 0x98, 0xB7, 0x9B, 0x67, 0x91, 0xC9, 0x43, 0x6E, 0x04, 0x79, 0x85, 0x0D, 0x74, 0x4C, 0x8B, 0x0E, 0x33, 0x8E, 0x2C, 0xF4, 0x47, 0x4D, 0x2C, 0x3D, 0xE3, 0x50, 0x28, 0x0B, 0x19, 0x8E, 0x7F, 0x25, 0x85, 0xD9, 0xF8, 0x75, 0xE3, 0xE8, 0xE7, 0xDF, 0xAE, 0x6D, 0xC5, 0x63, 0x25, 0x1E, 0x4E, 0x69, 0xBF, 0xCE, 0xA1, 0x9A, 0xEA, 0xDB, 0xC5, 0x73, 0x20, 0x41, 0x9C, 0x1D, 0xCE, 0x28, 0x1D, 0xFE, 0x87, 0x0C, 0x6A, 0x1D, 0x44, 0xF0, 0x56, 0x01, 0x0D, 0xF7, 0x1D, 0x82, 0xFD, 0x8D, 0x20, 0xF2, 0xA3, 0x83, 0x28, 0xD3, 0xED, 0x40, 0x36, 0x0A, 0x4C, 0xAB, 0x2A, 0xB4, 0x9F, 0xA7, 0x9C, 0x53, 0x69, 0xBB, 0xC6, 0xB8, 0x78, 0x5E, 0xAF, 0x8F, 0x4E, 0xFF, 0xCB, 0x2C, 0xB7, 0xD3, 0x53, 0x6D, 0x0A }; uchar_t dsa_known_data[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J' }; /* * NIST-Approved Curves */ /* P-192 */ uchar_t ec_param_oid_secp192r1[] = /* prime192v1/P192 */ {0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x3, 0x1, 0x1}; uchar_t ec_point_p192r1[] = { 0x04, 0xa8, 0x57, 0x22, 0x30, 0x43, 0x82, 0xa4, 0x80, 0x2c, 0x46, 0x79, 0x23, 0x8b, 0xe5, 0x08, 0x02, 0xf7, 0xc6, 0x86, 0xda, 0xe8, 0x9b, 0x7b, 0x8c, 0x79, 0xa5, 0x6e, 0x0c, 0x1c, 0x37, 0x47, 0x1d, 0x51, 0x67, 0xe3, 0xdd, 0x2a, 0xc3, 0x1a, 0x29, 0xec, 0xd3, 0xbc, 0xf6, 0x95, 0xeb, 0x22, 0xe0 }; uchar_t ec_value_p192r1[] = { 0x52, 0x9b, 0x30, 0x58, 0x69, 0x72, 0x1b, 0x57, 0x9c, 0xe5, 0x29, 0xa1, 0x52, 0x70, 0xb9, 0xbe, 0xf4, 0x3a, 0x63, 0xdd, 0x89, 0xc0, 0xd0, 0xa8 }; /* P-224 */ uchar_t ec_param_oid_secp224r1[] = {0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x21}; uchar_t ec_point_p224r1[] = { 0x04, 0x2B, 0xFF, 0xAF, 0xA1, 0xAA, 0x9A, 0x05, 0x44, 0xBC, 0xC8, 0xD4, 0xAF, 0xC8, 0x53, 0x92, 0xD8, 0xC5, 0x01, 0x70, 0xF2, 0x97, 0x5B, 0x7A, 0x23, 0x7D, 0x39, 0x6A, 0xCD, 0x32, 0xF3, 0x3C, 0x69, 0x8F, 0x42, 0x00, 0xD6, 0x38, 0x0A, 0xF4, 0xCE, 0x6D, 0x43, 0x98, 0xDF, 0x2E, 0x62, 0x90, 0x6E, 0xAD, 0xF7, 0x4E, 0x6C, 0x67, 0x83, 0xC5, 0x69 }; uchar_t ec_value_p224r1[] = { 0x91, 0xE9, 0x9A, 0xA5, 0x6F, 0xA7, 0x9D, 0x90, 0xED, 0x41, 0x25, 0x42, 0xA8, 0x31, 0x4E, 0xE2, 0xEB, 0x95, 0x14, 0x89, 0x6D, 0x78, 0xA0, 0x14, 0x45, 0x8B, 0x85, 0x0E }; /* P-256 */ uchar_t ec_param_oid_secp256r1[] = {0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x3, 0x1, 0x7}; uchar_t ec_point_p256r1[] = { 0x04, 0xa0, 0x90, 0x62, 0x74, 0x7d, 0x00, 0x6a, 0x84, 0x01, 0xcd, 0x7b, 0x29, 0xf6, 0x53, 0xe3, 0xd3, 0x2b, 0xb7, 0x1f, 0x51, 0x8a, 0x0c, 0xba, 0xe9, 0x3e, 0xd6, 0xa4, 0x90, 0xd3, 0x3a, 0x70, 0x29, 0x11, 0x70, 0xac, 0x03, 0x8b, 0xb0, 0x11, 0xd7, 0x05, 0xd5, 0xce, 0x17, 0x4d, 0x1e, 0x50, 0xdc, 0xea, 0x3b, 0x42, 0x0b, 0x94, 0xcb, 0xda, 0x4a, 0x07, 0xc9, 0xe6, 0x8e, 0x1d, 0x59, 0xd2, 0x77 }; uchar_t ec_value_p256r1[] = { 0xf3, 0x58, 0xee, 0xc7, 0xec, 0x32, 0x1c, 0x1a, 0xc6, 0x10, 0xb2, 0x97, 0x15, 0x4e, 0x84, 0x5b, 0xed, 0x36, 0x94, 0xc1, 0xa0, 0xaa, 0x8b, 0x91, 0xba, 0x26, 0x73, 0xeb, 0x6b, 0x2d, 0x4c, 0xde }; /* P-384 */ uchar_t ec_param_oid_secp384r1[] = {0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x22}; uchar_t ec_point_p384r1[] = { 0x04, 0x2a, 0x87, 0x73, 0x17, 0x2f, 0x61, 0xf6, 0xbc, 0xd1, 0x8b, 0x31, 0x3d, 0xa1, 0x37, 0x4b, 0x39, 0xa6, 0x1e, 0xe1, 0x8a, 0x88, 0x17, 0x2b, 0x86, 0x1a, 0x36, 0xd1, 0x1c, 0x0f, 0x53, 0xd9, 0xc7, 0x48, 0x31, 0x64, 0xcd, 0x20, 0x38, 0x14, 0xdd, 0x16, 0xde, 0x8d, 0xf7, 0xf6, 0x89, 0x43, 0xa0, 0x34, 0x15, 0x5f, 0x70, 0x99, 0x96, 0x55, 0x03, 0x26, 0x7c, 0x34, 0x9f, 0xe4, 0xfe, 0xaa, 0xcc, 0xbb, 0xa1, 0x91, 0x2c, 0xbd, 0xe8, 0xc6, 0x7b, 0xef, 0x17, 0x87, 0x2d, 0x9f, 0xe3, 0x2b, 0x99, 0x17, 0x6d, 0x96, 0xed, 0x44, 0x55, 0x28, 0x53, 0xce, 0xcd, 0x31, 0x8c, 0x3d, 0x90, 0x2f, 0xcf }; uchar_t ec_value_p384r1[] = { 0xfc, 0xcb, 0x14, 0xdd, 0x5f, 0x86, 0x31, 0x74, 0x27, 0xef, 0x19, 0x18, 0x6c, 0x02, 0x2b, 0x94, 0xbf, 0x56, 0x9f, 0x36, 0x5e, 0x38, 0x6b, 0x82, 0x91, 0x70, 0xc4, 0x0f, 0xd6, 0xbe, 0x32, 0x5c, 0x4d, 0xe3, 0x75, 0x98, 0x05, 0x8c, 0x61, 0xe8, 0x70, 0x32, 0x6f, 0xbc, 0xc9, 0x85, 0x0a, 0x34 }; /* P-521 */ uchar_t ec_param_oid_secp521r1[] = {0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x23}; uchar_t ec_point_p521r1[] = { 0x04, 0x01, 0x41, 0x65, 0x78, 0xe4, 0xbd, 0x99, 0x50, 0xc8, 0x2e, 0x4a, 0x82, 0xac, 0x6c, 0x20, 0xcf, 0xf8, 0x2e, 0x72, 0x40, 0x1d, 0x5f, 0x51, 0x5f, 0xcc, 0xb3, 0xa8, 0x52, 0x8c, 0xa6, 0x41, 0x43, 0xd6, 0xd8, 0x13, 0xfd, 0xd8, 0xbb, 0xd9, 0x7c, 0xa7, 0xbf, 0xa8, 0xa8, 0x65, 0x0f, 0xc8, 0xb9, 0x60, 0x13, 0xbc, 0xd3, 0x16, 0x6a, 0x5f, 0xf0, 0x52, 0x49, 0xce, 0x61, 0x8f, 0x1a, 0xf3, 0x6d, 0xe6, 0xce, 0x01, 0x15, 0x98, 0xb0, 0x2f, 0xa0, 0x28, 0x4b, 0x2b, 0xf1, 0xf4, 0xd0, 0x9e, 0xbd, 0xa2, 0xf5, 0xad, 0x04, 0x23, 0xf6, 0x55, 0xdb, 0x08, 0x45, 0x7b, 0xde, 0x6e, 0x7b, 0xce, 0x1d, 0x26, 0x08, 0xc3, 0x01, 0xfd, 0xb1, 0xe1, 0x56, 0xd3, 0xcc, 0x38, 0x38, 0x93, 0x4d, 0x6e, 0xb1, 0x95, 0xd1, 0x9c, 0x91, 0x65, 0x4c, 0x85, 0xe7, 0x64, 0x4f, 0xe5, 0x27, 0x48, 0x81, 0x02, 0x2f, 0x58, 0x29, 0x17, 0x6b }; uchar_t ec_value_p521r1[] = { 0x01, 0x74, 0x8a, 0x92, 0xca, 0x6f, 0x31, 0x1f, 0x45, 0x22, 0x84, 0x9f, 0x33, 0x20, 0x56, 0xb0, 0x5a, 0xdd, 0xda, 0x73, 0x89, 0xb3, 0x21, 0xab, 0xe5, 0xe0, 0xac, 0xe1, 0x6c, 0xa5, 0x59, 0x1b, 0x54, 0x56, 0xd6, 0x45, 0xcb, 0xcf, 0x9f, 0xbd, 0xec, 0x26, 0x43, 0xe8, 0xc4, 0x84, 0xec, 0xa6, 0xdf, 0x09, 0xfc, 0xe3, 0xe3, 0xcb, 0x89, 0x01, 0xce, 0x19, 0x12, 0x3d, 0x61, 0x10, 0x1d, 0x6a, 0xca, 0x39 }; /* K-163 */ uchar_t ec_param_oid_sect163k1[] = {0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x01}; uchar_t ec_point_t163k1[] = { 0x04, 0x05, 0x95, 0xe3, 0x64, 0xed, 0x0b, 0xf5, 0x0b, 0x28, 0x20, 0x31, 0xb5, 0x25, 0x35, 0x0d, 0xc0, 0x5b, 0x16, 0x64, 0x18, 0x7d, 0x01, 0xe4, 0x11, 0xda, 0xa4, 0x1e, 0x79, 0x7b, 0xcd, 0x5a, 0x29, 0xed, 0xdf, 0xec, 0xa0, 0xc2, 0xb5, 0xf7, 0xf3, 0xf6, 0x5a }; uchar_t ec_value_t163k1[] = { 0x03, 0x0d, 0x02, 0xa7, 0xb7, 0x7b, 0x86, 0xe1, 0x6a, 0x4e, 0xea, 0xd5, 0xa5, 0x01, 0x5c, 0x7c, 0x73, 0x60, 0x5b, 0x44, 0x80 }; /* K-233 */ uchar_t ec_param_oid_sect233k1[] = {0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x1a}; uchar_t ec_point_t233k1[] = { 0x04, 0x00, 0xf1, 0x3e, 0x3d, 0xd9, 0xbf, 0x5c, 0x68, 0x9d, 0xb3, 0x2a, 0x4f, 0x0e, 0xb0, 0xfa, 0x97, 0x1a, 0x50, 0xbc, 0xbb, 0x5f, 0x86, 0x05, 0xe3, 0x60, 0x04, 0x81, 0x4b, 0xce, 0x62, 0x01, 0xe7, 0x57, 0xeb, 0xe2, 0x52, 0xc8, 0x4b, 0x84, 0x46, 0xd4, 0xca, 0xce, 0x1d, 0xf8, 0x07, 0x0c, 0x5b, 0x8c, 0x56, 0xce, 0x08, 0xdb, 0x4e, 0x1b, 0xf7, 0xed, 0x56, 0x19, 0x13 }; uchar_t ec_value_t233k1[] = { 0x00, 0x61, 0xba, 0xcf, 0x3f, 0x7c, 0x0c, 0x16, 0x81, 0x84, 0x7a, 0x2b, 0x07, 0x88, 0x86, 0x83, 0xc7, 0xdb, 0xc0, 0xc6, 0xc7, 0xb9, 0x55, 0x80, 0x7d, 0x9b, 0x89, 0x0f, 0x6f, 0x9d }; /* K-283 */ uchar_t ec_param_oid_sect283k1[] = {0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x10}; uchar_t ec_point_t283k1[] = { 0x04, 0x03, 0x63, 0x96, 0xa4, 0xdd, 0x64, 0xf6, 0x9a, 0x76, 0x4e, 0x46, 0x64, 0x39, 0x3f, 0x6d, 0xb6, 0xcc, 0xf8, 0xa8, 0x85, 0xea, 0xd4, 0x59, 0x38, 0xf5, 0xce, 0xb4, 0x57, 0xf3, 0x68, 0xd9, 0x3a, 0x11, 0xd6, 0x88, 0x2f, 0x03, 0x7f, 0x23, 0x70, 0x4a, 0x11, 0x3f, 0x4d, 0x04, 0x57, 0x48, 0xa0, 0x31, 0xd7, 0x0f, 0xec, 0x35, 0x57, 0x4c, 0x01, 0x11, 0xe5, 0xf0, 0x71, 0xa9, 0x69, 0x44, 0xc9, 0xf1, 0xc1, 0xf9, 0xe8, 0xb3, 0x90, 0xae, 0x7f }; uchar_t ec_value_t283k1[] = { 0x01, 0x4d, 0x29, 0x14, 0xf0, 0xed, 0xd5, 0x7d, 0x44, 0x23, 0xc8, 0xa0, 0xc3, 0x4c, 0x90, 0x54, 0x52, 0xaa, 0x30, 0x90, 0xd9, 0x85, 0xc1, 0x45, 0xbf, 0x1d, 0xd6, 0x2b, 0x91, 0x47, 0x87, 0x40, 0xcf, 0x76, 0xa7, 0xa4 }; /* K-409 */ uchar_t ec_param_oid_sect409k1[] = {0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x24}; uchar_t ec_point_t409k1[] = { 0x04, 0x00, 0xed, 0xe7, 0xa4, 0xe0, 0xe6, 0x06, 0xd5, 0xc7, 0x39, 0x08, 0xf3, 0x35, 0xe4, 0x20, 0xd3, 0xb8, 0xbb, 0x24, 0x41, 0x6a, 0x7a, 0xa6, 0x47, 0x72, 0x29, 0xc8, 0x57, 0x59, 0x3d, 0xc3, 0x53, 0xac, 0x0e, 0xeb, 0x00, 0x48, 0xe4, 0x9b, 0xa3, 0xc6, 0x05, 0x01, 0x7f, 0xa7, 0x81, 0xff, 0x18, 0x48, 0xf6, 0x3b, 0x2a, 0x01, 0xb8, 0xef, 0x75, 0x39, 0x2b, 0xb5, 0x3d, 0x80, 0x54, 0xef, 0xee, 0x37, 0xc8, 0x59, 0xdb, 0xad, 0xff, 0xad, 0x52, 0x42, 0x40, 0x2b, 0xcc, 0xdd, 0xa1, 0xd7, 0x83, 0xd0, 0x7d, 0x21, 0xab, 0xc7, 0xbf, 0xb2, 0x1a, 0x4e, 0xb4, 0xe6, 0xb4, 0x1c, 0xe5, 0x9b, 0xbb, 0xb9, 0xef, 0x68, 0x5c, 0xbf, 0x0d, 0xfd, 0x42 }; uchar_t ec_value_t409k1[] = { 0x00, 0x74, 0xa9, 0xea, 0x4e, 0xeb, 0x48, 0x7d, 0xc4, 0x7c, 0xd6, 0x09, 0xf9, 0x1d, 0x06, 0x0c, 0xbf, 0x61, 0xa8, 0x8a, 0x70, 0x11, 0x2c, 0xca, 0x2d, 0xb8, 0x0b, 0x3a, 0x83, 0x22, 0x9b, 0x69, 0x22, 0x25, 0x13, 0xe3, 0x4c, 0xe1, 0xed, 0x4e, 0xdd, 0xe4, 0x27, 0x38, 0xc0, 0x75, 0x91, 0xb7, 0xfd, 0x6a, 0x73, 0x1c }; /* K-571 */ uchar_t ec_param_oid_sect571k1[] = {0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x26}; uchar_t ec_point_t571k1[] = { 0x04, 0x02, 0x90, 0x9c, 0xfe, 0x4f, 0x09, 0x18, 0x38, 0x71, 0xdc, 0x84, 0xda, 0x80, 0x1d, 0xa5, 0xba, 0xad, 0x52, 0xce, 0x72, 0x19, 0x42, 0xb8, 0x6f, 0xa4, 0x31, 0x68, 0xb6, 0xb2, 0x59, 0x4e, 0x49, 0x73, 0x6e, 0xb6, 0xf7, 0x04, 0x19, 0x6d, 0x78, 0x5b, 0x28, 0x5a, 0xf6, 0x9b, 0x33, 0x6b, 0xac, 0x58, 0x1a, 0xcb, 0x52, 0xab, 0xb8, 0x51, 0xe1, 0x27, 0x6e, 0x55, 0x2b, 0xaa, 0x78, 0xd8, 0x27, 0x19, 0x2f, 0x3b, 0xfd, 0x5d, 0x4d, 0xa7, 0x17, 0x05, 0x8a, 0x27, 0xfa, 0x9f, 0xd5, 0xf0, 0xfe, 0xf7, 0x01, 0x7b, 0x2d, 0x53, 0xc5, 0x4a, 0x82, 0xc9, 0xae, 0xb3, 0xde, 0xf8, 0x93, 0xc7, 0x10, 0x2a, 0x95, 0x43, 0x3f, 0x1f, 0xdd, 0xcb, 0x59, 0xf8, 0xc8, 0x2d, 0xa3, 0xce, 0x7e, 0x65, 0x39, 0x85, 0x61, 0x01, 0xb3, 0x25, 0x11, 0xc8, 0x7a, 0xed, 0x15, 0xc4, 0x9d, 0x60, 0x8e, 0xc7, 0x34, 0x6e, 0x15, 0xa1, 0x0f, 0x9c, 0x86, 0x3d, 0x8d, 0x2f, 0xdc, 0x9e, 0xb3, 0xfd, 0xb7, 0x1c, 0x98 }; uchar_t ec_value_t571k1[] = { 0x00, 0x18, 0xf8, 0xad, 0x6b, 0x49, 0xa4, 0x31, 0x97, 0x4b, 0xcf, 0x23, 0xa0, 0x7f, 0xf4, 0x66, 0x81, 0x7d, 0xa2, 0x72, 0x11, 0x7d, 0x5b, 0xe1, 0xab, 0x9f, 0xf1, 0xb7, 0xee, 0xea, 0x88, 0xee, 0xd6, 0x20, 0x18, 0xfd, 0x51, 0xb2, 0xa4, 0x06, 0xdc, 0x35, 0x13, 0x32, 0x93, 0x56, 0xbe, 0x55, 0x01, 0xf3, 0xd3, 0x8c, 0xba, 0x8c, 0xcd, 0xd0, 0xa2, 0x49, 0x9c, 0x7d, 0xac, 0x50, 0x4a, 0x17, 0xca, 0xbc, 0x52, 0x39, 0x97, 0xf5, 0xfe, 0xc8 }; /* B-163 */ uchar_t ec_param_oid_sect163r2[] = {0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x0f}; uchar_t ec_point_t163r2[] = { 0x04, 0x05, 0xe7, 0xb8, 0x3c, 0xd5, 0x6b, 0xc1, 0xeb, 0x43, 0x0b, 0xbc, 0xc1, 0xd7, 0xc2, 0xf9, 0xa2, 0xc5, 0x88, 0x4d, 0x48, 0x46, 0x04, 0xd2, 0x80, 0x2f, 0x35, 0x35, 0x38, 0xda, 0x85, 0xab, 0x23, 0xce, 0x85, 0xe5, 0x89, 0xcf, 0x00, 0x5d, 0xf5, 0x39, 0xfc }; uchar_t ec_value_t163r2[] = { 0x01, 0x4d, 0xbd, 0x26, 0x63, 0xc4, 0x6a, 0xec, 0x6d, 0xa5, 0x46, 0x8d, 0xa2, 0x65, 0x64, 0x20, 0xb5, 0x05, 0x8a, 0x94, 0x24 }; /* B-233 */ uchar_t ec_param_oid_sect233r1[] = {0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x1b}; uchar_t ec_point_t233r1[] = { 0x04, 0x01, 0x68, 0x1d, 0x09, 0x0b, 0x67, 0xe4, 0x9c, 0xc1, 0xd9, 0xac, 0x98, 0xec, 0x26, 0x91, 0x0a, 0x08, 0x3b, 0xeb, 0x48, 0xc1, 0xea, 0x79, 0x37, 0xff, 0xc5, 0x3d, 0xad, 0xe9, 0xea, 0x01, 0xab, 0x06, 0x22, 0x4f, 0xb3, 0xfa, 0x23, 0xe3, 0x15, 0xf3, 0x7d, 0xa0, 0x5a, 0xff, 0x1d, 0x00, 0xe0, 0xa2, 0x70, 0xbc, 0x31, 0xef, 0xa0, 0xc9, 0xd4, 0xba, 0xa5, 0x16, 0x62 }; uchar_t ec_value_t233r1[] = { 0x00, 0x88, 0x3e, 0x26, 0x83, 0x08, 0x9c, 0xd9, 0x7a, 0x46, 0xae, 0xf8, 0x6d, 0xd3, 0x9c, 0xee, 0xd8, 0xae, 0xf9, 0xd0, 0x5d, 0x96, 0x7e, 0xf9, 0xb0, 0x1c, 0x21, 0x26, 0x9d, 0x64 }; /* B-283 */ uchar_t ec_param_oid_sect283r1[] = {0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x11}; uchar_t ec_point_t283r1[] = { 0x04, 0x03, 0x78, 0x8d, 0x40, 0xd6, 0x34, 0xb6, 0xa0, 0x54, 0x66, 0x23, 0x9d, 0xc0, 0x60, 0x65, 0x7f, 0xeb, 0x6d, 0xe1, 0x9e, 0xee, 0xc3, 0x7a, 0xce, 0x50, 0x4f, 0x66, 0x45, 0x49, 0xcd, 0xbf, 0x5a, 0x8c, 0x84, 0xa7, 0x30, 0x07, 0xc6, 0xbf, 0x90, 0x6b, 0x6d, 0x9b, 0x50, 0x24, 0x66, 0x7b, 0xd2, 0xc9, 0xfe, 0x27, 0xdd, 0xd3, 0xef, 0x15, 0x2e, 0xca, 0x09, 0x93, 0x38, 0x4d, 0x90, 0x9c, 0x0e, 0x6b, 0xad, 0x5b, 0x79, 0xef, 0x45, 0xb0, 0xef }; uchar_t ec_value_t283r1[] = { 0x00, 0xa1, 0xbb, 0x28, 0x7a, 0xc8, 0x63, 0x2a, 0xd4, 0x5e, 0xe1, 0xe2, 0x29, 0x33, 0x74, 0x0f, 0xbb, 0x26, 0x06, 0x36, 0x4f, 0xab, 0x14, 0x35, 0x87, 0x40, 0xb3, 0x99, 0x67, 0xe2, 0x83, 0xcd, 0x44, 0xdf, 0xac, 0xff }; /* B-409 */ uchar_t ec_param_oid_sect409r1[] = {0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x25}; uchar_t ec_point_t409r1[] = { 0x04, 0x01, 0x28, 0x3c, 0x30, 0xa0, 0x5f, 0x13, 0x3e, 0x72, 0xf5, 0x5f, 0xf6, 0xe9, 0x78, 0x20, 0xb2, 0x8e, 0x81, 0xdd, 0x62, 0xa6, 0x8a, 0x57, 0xaf, 0x94, 0xab, 0x0a, 0x7e, 0xef, 0xb5, 0xda, 0xfe, 0xcf, 0x6f, 0x7f, 0xa7, 0x6d, 0x2c, 0xa6, 0xe4, 0xca, 0x32, 0x7e, 0x7f, 0x45, 0xaa, 0xc8, 0x88, 0x7a, 0x67, 0x36, 0x07, 0x00, 0xdc, 0x7d, 0x11, 0xc7, 0x6e, 0x49, 0xc5, 0x57, 0x80, 0xf2, 0x49, 0xf5, 0xce, 0x62, 0x7b, 0xad, 0xb8, 0xae, 0x24, 0x8d, 0x1d, 0x77, 0xbf, 0x83, 0xd6, 0xc3, 0xf3, 0xa9, 0xb9, 0xe3, 0xa6, 0x47, 0x1a, 0x4a, 0x91, 0x11, 0xd1, 0x4a, 0x48, 0x21, 0x10, 0x16, 0x85, 0x49, 0xb4, 0x45, 0x7f, 0xdf, 0x0f, 0x34, 0x8a }; uchar_t ec_value_t409r1[] = { 0x00, 0xef, 0x9d, 0x02, 0xa8, 0xef, 0xe4, 0xa2, 0xe7, 0x5b, 0x6e, 0x3f, 0x15, 0x2f, 0x64, 0x5b, 0x55, 0xc8, 0xbf, 0xec, 0xca, 0x3a, 0xeb, 0x1c, 0xdd, 0x97, 0x4f, 0x3f, 0xb0, 0x08, 0xfb, 0x4e, 0x1d, 0xd3, 0x40, 0x83, 0x75, 0x82, 0x56, 0x27, 0x6b, 0xfd, 0x83, 0xa8, 0xb7, 0xb6, 0x27, 0xc2, 0x85, 0x22, 0x4f, 0x34 }; /* B-571 */ uchar_t ec_param_oid_sect571r1[] = {0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x27}; uchar_t ec_point_t571r1[] = { 0x04, 0x04, 0x30, 0x6c, 0xfe, 0x2b, 0xff, 0x12, 0x23, 0x8a, 0x3b, 0xe0, 0x07, 0x19, 0x8b, 0xd1, 0xf9, 0x8c, 0x14, 0x3e, 0xea, 0x5f, 0x85, 0x7f, 0x03, 0x20, 0x89, 0x9f, 0x9f, 0x6d, 0xde, 0xcd, 0x35, 0x24, 0xa1, 0x83, 0xf7, 0xb9, 0xd1, 0x4b, 0x4f, 0x20, 0xa8, 0x91, 0x36, 0xa4, 0x75, 0x5e, 0xee, 0x5a, 0x0e, 0x47, 0xf0, 0xa9, 0xff, 0xb6, 0x62, 0x65, 0x2b, 0x85, 0x01, 0x49, 0x59, 0x5f, 0x1d, 0x37, 0x54, 0xf5, 0xdc, 0x61, 0x37, 0x48, 0xbd, 0x02, 0xf2, 0xa2, 0x7d, 0x73, 0x00, 0xfb, 0x15, 0x6c, 0x4e, 0x16, 0x22, 0x82, 0xdb, 0x9d, 0xed, 0x6e, 0xa6, 0x5d, 0x97, 0x19, 0xbb, 0x30, 0x13, 0x22, 0x71, 0x04, 0xc7, 0xd3, 0x83, 0xc2, 0x2c, 0xcf, 0x2f, 0xf9, 0x90, 0xe2, 0x9a, 0xca, 0x97, 0x6b, 0x3c, 0x1d, 0x22, 0xf1, 0x38, 0x6c, 0x14, 0x4e, 0xa9, 0x8d, 0x37, 0xf5, 0x51, 0xbc, 0x2b, 0xc8, 0x03, 0x47, 0x25, 0xd5, 0x30, 0x9b, 0x64, 0xfc, 0x7e, 0x80, 0x70, 0x63, 0xc1, 0x34, 0x86 }; uchar_t ec_value_t571r1[] = { 0x03, 0xa0, 0xb6, 0xf6, 0x40, 0x71, 0x56, 0xd8, 0x88, 0xf4, 0x08, 0x13, 0xa1, 0x20, 0x8b, 0x03, 0x04, 0xae, 0x67, 0xc0, 0x7d, 0x1f, 0x19, 0x4b, 0x40, 0xab, 0x75, 0x65, 0x5f, 0x61, 0x0b, 0x0b, 0x72, 0x1d, 0xc3, 0xdf, 0x5c, 0xd2, 0x41, 0xf7, 0x74, 0xe2, 0x26, 0x4d, 0xba, 0xab, 0xcb, 0x6e, 0xcd, 0x86, 0x57, 0x48, 0x7f, 0x3f, 0x2b, 0x91, 0xab, 0x50, 0x61, 0xd0, 0x01, 0xd9, 0x1a, 0xec, 0x7b, 0xb8, 0xcb, 0x3c, 0x72, 0xa7, 0xd5, 0x39 };