From ad20a79e4270ac6d3d7c0af08efb287865dca42a Mon Sep 17 00:00:00 2001 From: bg Date: Mon, 20 Feb 2012 00:33:57 +0100 Subject: [PATCH] introducing RSA-OAEP (can encrypt one message correctly) --- bigint/bigint.c | 18 + bigint/bigint.h | 2 + hfal/hfal-basic.c | 4 + hfal/hfal-basic.h | 1 + mkfiles/rsa.mk | 14 - mkfiles/rsa_oaep.mk | 14 + openocd.cfg | 2 +- rsa/rsa_oaep.c | 124 + rsa/rsa_oaep.h | 50 + test_src/main-rsa-test.c | 349 --- test_src/main-rsa_oaep-test.c | 321 +++ testvectors/rsa-pkcs-1v2-1-vec/oaep-int.txt | 369 +++ testvectors/rsa-pkcs-1v2-1-vec/oaep-vect.txt | 2212 +++++++++++++++ testvectors/rsa-pkcs-1v2-1-vec/pss-int.txt | 162 ++ testvectors/rsa-pkcs-1v2-1-vec/pss-vect.txt | 2581 ++++++++++++++++++ testvectors/rsa-pkcs-1v2-1-vec/readme.txt | 22 + 16 files changed, 5881 insertions(+), 364 deletions(-) delete mode 100644 mkfiles/rsa.mk create mode 100644 mkfiles/rsa_oaep.mk create mode 100644 rsa/rsa_oaep.c create mode 100644 rsa/rsa_oaep.h delete mode 100644 test_src/main-rsa-test.c create mode 100644 test_src/main-rsa_oaep-test.c create mode 100644 testvectors/rsa-pkcs-1v2-1-vec/oaep-int.txt create mode 100644 testvectors/rsa-pkcs-1v2-1-vec/oaep-vect.txt create mode 100644 testvectors/rsa-pkcs-1v2-1-vec/pss-int.txt create mode 100644 testvectors/rsa-pkcs-1v2-1-vec/pss-vect.txt create mode 100644 testvectors/rsa-pkcs-1v2-1-vec/readme.txt diff --git a/bigint/bigint.c b/bigint/bigint.c index 22bad1b..c1a82ab 100644 --- a/bigint/bigint.c +++ b/bigint/bigint.c @@ -81,6 +81,21 @@ void bigint_adjust(bigint_t* a){ /******************************************************************************/ +uint16_t bigint_length_b(bigint_t* a){ + if(!a->length_B || a->length_B==0){ + return 0; + } + return (a->length_B-1) * BIGINT_WORD_SIZE + GET_FBS(a); +} + +/******************************************************************************/ + +uint16_t bigint_length_B(bigint_t* a){ + return (bigint_length_b(a)+7)/8; +} + +/******************************************************************************/ + uint32_t bigint_get_first_set_bit(bigint_t* a){ if(a->length_B==0){ return (uint32_t)(-1); @@ -671,6 +686,9 @@ void bigint_reduce(bigint_t* a, const bigint_t* r){ uint16_t shift; while(a->length_B > r->length_B){ shift = (a->length_B - r->length_B) * 8 * sizeof(bigint_word_t) + GET_FBS(a) - rfbs - 1; + if(a->wordv[a->length_B-1] > r->wordv[r->length_B-1]){ + shift += 1; + } // cli_putstr("\r\nDBG: (p) shift = "); cli_hexdump_rev(&shift, 2); // cli_putstr(" a_len = "); cli_hexdump_rev(&a->length_B, 2); // cli_putstr(" r_len = "); cli_hexdump_rev(&r->length_B, 2); diff --git a/bigint/bigint.h b/bigint/bigint.h index 63938f8..f385811 100644 --- a/bigint/bigint.h +++ b/bigint/bigint.h @@ -50,6 +50,8 @@ typedef struct{ void bigint_adjust(bigint_t* a); uint32_t bigint_get_first_set_bit(bigint_t* a); uint32_t bigint_get_last_set_bit(bigint_t* a); +uint16_t bigint_length_b(bigint_t* a); +uint16_t bigint_length_B(bigint_t* a); void bigint_copy(bigint_t* dest, const bigint_t* src); void bigint_add_u(bigint_t* dest, const bigint_t* a, const bigint_t* b); void bigint_add_scale_u(bigint_t* dest, const bigint_t* a, uint16_t scale); diff --git a/hfal/hfal-basic.c b/hfal/hfal-basic.c index dbb1e7d..a521a9c 100644 --- a/hfal/hfal-basic.c +++ b/hfal/hfal-basic.c @@ -71,6 +71,10 @@ void hfal_hash_mem(const hfdesc_t* hash_descriptor, void* dest, const void* msg, } } +uint16_t hfal_hash_getCtxsize_B(const hfdesc_t* hash_descriptor){ + return hash_descriptor->ctxsize_B; +} + uint16_t hfal_hash_getBlocksize(const hfdesc_t* hash_descriptor){ return hash_descriptor->blocksize_b; } diff --git a/hfal/hfal-basic.h b/hfal/hfal-basic.h index 8186cce..0859da5 100644 --- a/hfal/hfal-basic.h +++ b/hfal/hfal-basic.h @@ -28,6 +28,7 @@ void hfal_hash_lastBlock(hfgen_ctx_t* ctx, const void* block, uint16_t length_b) void hfal_hash_ctx2hash(void* dest, hfgen_ctx_t* ctx); void hfal_hash_free(hfgen_ctx_t* ctx); void hfal_hash_mem(const hfdesc_t* hash_descriptor, void* dest, const void* msg, uint32_t length_b); +uint16_t hfal_hash_getCtxsize_B(const hfdesc_t* hash_descriptor); uint16_t hfal_hash_getBlocksize(const hfdesc_t* hash_descriptor); uint16_t hfal_hash_getHashsize(const hfdesc_t* hash_descriptor); diff --git a/mkfiles/rsa.mk b/mkfiles/rsa.mk deleted file mode 100644 index 219400f..0000000 --- a/mkfiles/rsa.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Makefile for RSA -ALGO_NAME := RSA - -# comment out the following line for removement of RSA from the build process -SIGNATURE += $(ALGO_NAME) - -$(ALGO_NAME)_DIR := rsa/ -$(ALGO_NAME)_INCDIR := memxor/ bigint/ noekeon/ -$(ALGO_NAME)_OBJ := bigint.o bigint_io.o rsa_basic.o rsa_pkcs15.o -$(ALGO_NAME)_TESTBIN := main-rsa-test.o $(CLI_STD) random_dummy.o \ - noekeon.o noekeon_prng.o memxor.o - -$(ALGO_NAME)_PERFORMANCE_TEST := performance - diff --git a/mkfiles/rsa_oaep.mk b/mkfiles/rsa_oaep.mk new file mode 100644 index 0000000..59c1a39 --- /dev/null +++ b/mkfiles/rsa_oaep.mk @@ -0,0 +1,14 @@ +# Makefile for RSA +ALGO_NAME := RSA_OAEP + +# comment out the following line for removement of RSA from the build process +PK_CIPHERS += $(ALGO_NAME) + +$(ALGO_NAME)_DIR := rsa/ +$(ALGO_NAME)_INCDIR := memxor/ bigint/ noekeon/ hfal/ sha1/ mgf1/ +$(ALGO_NAME)_OBJ := bigint.o bigint_io.o rsa_basic.o rsa_oaep.o mgf1.o hfal-basic.o hfal_sha1.o sha1.o +$(ALGO_NAME)_TESTBIN := main-rsa_oaep-test.o $(CLI_STD) random_dummy.o \ + noekeon.o noekeon_prng.o memxor.o + +$(ALGO_NAME)_PERFORMANCE_TEST := performance + diff --git a/openocd.cfg b/openocd.cfg index 47985a1..a7bd3d5 100644 --- a/openocd.cfg +++ b/openocd.cfg @@ -1,5 +1,5 @@ source [find /usr/share/openocd/scripts/interface/luminary-icdi.cfg] -source [find /usr/share/openocd/scripts/target/lm3s9b9x.cfg] +source [find /usr/share/openocd/scripts/target/stellaris.cfg] # GDB can also flash my flash! #gdb_memory_map enable #gdb_flash_program enable diff --git a/rsa/rsa_oaep.c b/rsa/rsa_oaep.c new file mode 100644 index 0000000..0a5cf76 --- /dev/null +++ b/rsa/rsa_oaep.c @@ -0,0 +1,124 @@ + +/* rsa_oaep.c */ +/* + This file is part of the ARM-Crypto-Lib. + Copyright (C) 2006-2012 Daniel Otte (daniel.otte@rub.de) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include +#include +#include +#include "memxor.h" +#include "mgf1.h" +#include "bigint.h" +#include "rsa_basic.h" +#include "rsa_oaep.h" + +#include "random_dummy.h" + +#include "hfal/hfal_sha1.h" + +#include "cli.h" +#include "uart_lowlevel.h" + +mgf1_parameter_t mgf1_default_parameter = { + &sha1_desc +}; + +rsa_oaep_parameter_t rsa_oaep_default_parameter = { + mgf1, + &sha1_desc, + &mgf1_default_parameter +}; + +rsa_label_t rsa_oaep_default_label = { + 0, NULL +}; + +uint8_t rsa_encrypt_oaep(void* dest, uint16_t* out_length, + const void* src, uint16_t length_B, + rsa_publickey_t* key, const rsa_oaep_parameter_t *p, + const rsa_label_t* label, const void* seed){ + + if(!p){ + p = &rsa_oaep_default_parameter; + } + if(!label){ + label = &rsa_oaep_default_label; + } + uint16_t hv_len = (hfal_hash_getHashsize(p->hf)+7)/8; + if(length_B > bigint_length_B(key->modulus) - 2*hv_len - 2){ + /* message too long */ + return 1; + } + uint16_t buffer_len = bigint_length_B(key->modulus); + uint8_t* buffer = (uint8_t*)dest; + uint8_t off; + /* the following needs some explanation: + * off is the offset which is used for compensating the effect of + * changeendian() when it operates on multi-byte words. + * */ + off = (sizeof(bigint_word_t) -(bigint_get_first_set_bit(key->modulus)/8+1)%(sizeof(bigint_word_t)*8)) + % (sizeof(bigint_word_t)); + uart_flush(0); + buffer += off; + buffer_len -= off; + uint8_t* seed_buffer = buffer + 1; + uint16_t db_len = buffer_len - hv_len - 1; + uint8_t* db = seed_buffer + hv_len; + uint16_t maskbuffer_len = db_len>hv_len?db_len:hv_len; + uint8_t maskbuffer[maskbuffer_len]; + bigint_t x; + + memset(buffer, 0, seed_buffer - buffer); + memset(db + hv_len, 0, db_len - hv_len - length_B -1); + hfal_hash_mem(p->hf, db, label->label, label->length_b); + db[db_len - length_B - 1] = 0x01; + memcpy(db+db_len - length_B, src, length_B); + uart_flush(0); + if(seed){ + memcpy(seed_buffer, seed, hv_len); + }else{ + /* generate random seed */ + if(!prng_get_byte){ + return 2; /* ERROR: no random generator specified */ + } + uint16_t i; + for(i=0; imgf(maskbuffer, seed_buffer, hv_len, db_len, p->mgf_parameter); + memxor(db, maskbuffer, db_len); + p->mgf(maskbuffer, db, db_len, hv_len, p->mgf_parameter); + memxor(seed_buffer, maskbuffer, hv_len); + cli_putstr("\r\ngot to 112\r\n"); + uart_flush(0); + + x.wordv = dest; + x.length_B = key->modulus->length_B; + bigint_adjust(&x); + cli_putstr("\r\ngot to 118\r\n"); + uart_flush(0); + + rsa_os2ip(&x, NULL, key->modulus->length_B * sizeof(bigint_word_t)); + rsa_enc(&x, key); + rsa_i2osp(NULL, &x, out_length); + return 0; +} diff --git a/rsa/rsa_oaep.h b/rsa/rsa_oaep.h new file mode 100644 index 0000000..2e63f6e --- /dev/null +++ b/rsa/rsa_oaep.h @@ -0,0 +1,50 @@ +/* rsa_oaep.h */ +/* + This file is part of the AVR-Crypto-Lib. + Copyright (C) 2012 Daniel Otte (daniel.otte@rub.de) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef RSA_OAEP_H_ +#define RSA_OAEP_H_ + +#include +#include "mgf1.h" + + +void mgf1(void* dest, const void* seed, uint16_t seed_len_B, uint16_t out_length_B, const mgf1_parameter_t* p); + + +typedef struct { + void (*mgf)(void* dst, const void* seed, uint16_t slen_B, uint16_t dstlen_B, const mgf1_parameter_t* p); + const hfdesc_t* hf; + mgf1_parameter_t* mgf_parameter; +} rsa_oaep_parameter_t; + +typedef struct { + uint16_t length_b; + const void* label; +} rsa_label_t; + +extern rsa_oaep_parameter_t rsa_oaep_default_parameter; + + +uint8_t rsa_encrypt_oaep(void* dest, uint16_t* out_length, + const void* src, uint16_t length_B, + rsa_publickey_t* key, const rsa_oaep_parameter_t *p, + const rsa_label_t* label, const void* seed); + + +#endif /* RSA_OAEP_H_ */ diff --git a/test_src/main-rsa-test.c b/test_src/main-rsa-test.c deleted file mode 100644 index c2465ae..0000000 --- a/test_src/main-rsa-test.c +++ /dev/null @@ -1,349 +0,0 @@ -/* main-dsa-test.c */ -/* - This file is part of the ARM-Crypto-Lib. - Copyright (C) 2010 Daniel Otte (daniel.otte@rub.de) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ -/* - * DSA test-suit - * -*/ -#include "main-test-common.h" - -#include "noekeon.h" -#include "noekeon_prng.h" -#include "bigint.h" -#include "bigint_io.h" -#include "random_dummy.h" -#include "rsa_basic.h" -#include "rsa_pkcs15.h" - -#include "performance_test.h" - -const char* algo_name = "RSA"; - -/***************************************************************************** - * additional validation-functions * - *****************************************************************************/ - -const uint8_t modulus[] = { - 0xa8, 0xb3, 0xb2, 0x84, 0xaf, 0x8e, 0xb5, 0x0b, 0x38, 0x70, 0x34, 0xa8, 0x60, 0xf1, 0x46, 0xc4, - 0x91, 0x9f, 0x31, 0x87, 0x63, 0xcd, 0x6c, 0x55, 0x98, 0xc8, 0xae, 0x48, 0x11, 0xa1, 0xe0, 0xab, - 0xc4, 0xc7, 0xe0, 0xb0, 0x82, 0xd6, 0x93, 0xa5, 0xe7, 0xfc, 0xed, 0x67, 0x5c, 0xf4, 0x66, 0x85, - 0x12, 0x77, 0x2c, 0x0c, 0xbc, 0x64, 0xa7, 0x42, 0xc6, 0xc6, 0x30, 0xf5, 0x33, 0xc8, 0xcc, 0x72, - 0xf6, 0x2a, 0xe8, 0x33, 0xc4, 0x0b, 0xf2, 0x58, 0x42, 0xe9, 0x84, 0xbb, 0x78, 0xbd, 0xbf, 0x97, - 0xc0, 0x10, 0x7d, 0x55, 0xbd, 0xb6, 0x62, 0xf5, 0xc4, 0xe0, 0xfa, 0xb9, 0x84, 0x5c, 0xb5, 0x14, - 0x8e, 0xf7, 0x39, 0x2d, 0xd3, 0xaa, 0xff, 0x93, 0xae, 0x1e, 0x6b, 0x66, 0x7b, 0xb3, 0xd4, 0x24, - 0x76, 0x16, 0xd4, 0xf5, 0xba, 0x10, 0xd4, 0xcf, 0xd2, 0x26, 0xde, 0x88, 0xd3, 0x9f, 0x16, 0xfb -}; - -const uint8_t public_exponent[] = { - 0x00, 0x01, 0x00, 0x01 -}; - -const uint8_t private_exponent[] = { - 0x53, 0x33, 0x9c, 0xfd, 0xb7, 0x9f, 0xc8, 0x46, 0x6a, 0x65, 0x5c, 0x73, 0x16, 0xac, 0xa8, 0x5c, - 0x55, 0xfd, 0x8f, 0x6d, 0xd8, 0x98, 0xfd, 0xaf, 0x11, 0x95, 0x17, 0xef, 0x4f, 0x52, 0xe8, 0xfd, - 0x8e, 0x25, 0x8d, 0xf9, 0x3f, 0xee, 0x18, 0x0f, 0xa0, 0xe4, 0xab, 0x29, 0x69, 0x3c, 0xd8, 0x3b, - 0x15, 0x2a, 0x55, 0x3d, 0x4a, 0xc4, 0xd1, 0x81, 0x2b, 0x8b, 0x9f, 0xa5, 0xaf, 0x0e, 0x7f, 0x55, - 0xfe, 0x73, 0x04, 0xdf, 0x41, 0x57, 0x09, 0x26, 0xf3, 0x31, 0x1f, 0x15, 0xc4, 0xd6, 0x5a, 0x73, - 0x2c, 0x48, 0x31, 0x16, 0xee, 0x3d, 0x3d, 0x2d, 0x0a, 0xf3, 0x54, 0x9a, 0xd9, 0xbf, 0x7c, 0xbf, - 0xb7, 0x8a, 0xd8, 0x84, 0xf8, 0x4d, 0x5b, 0xeb, 0x04, 0x72, 0x4d, 0xc7, 0x36, 0x9b, 0x31, 0xde, - 0xf3, 0x7d, 0x0c, 0xf5, 0x39, 0xe9, 0xcf, 0xcd, 0xd3, 0xde, 0x65, 0x37, 0x29, 0xea, 0xd5, 0xd1 -}; - -const uint8_t p[] = { - 0xd3, 0x27, 0x37, 0xe7, 0x26, 0x7f, 0xfe, 0x13, 0x41, 0xb2, 0xd5, 0xc0, 0xd1, 0x50, 0xa8, 0x1b, - 0x58, 0x6f, 0xb3, 0x13, 0x2b, 0xed, 0x2f, 0x8d, 0x52, 0x62, 0x86, 0x4a, 0x9c, 0xb9, 0xf3, 0x0a, - 0xf3, 0x8b, 0xe4, 0x48, 0x59, 0x8d, 0x41, 0x3a, 0x17, 0x2e, 0xfb, 0x80, 0x2c, 0x21, 0xac, 0xf1, - 0xc1, 0x1c, 0x52, 0x0c, 0x2f, 0x26, 0xa4, 0x71, 0xdc, 0xad, 0x21, 0x2e, 0xac, 0x7c, 0xa3, 0x9d -}; - -const uint8_t q[] = { - 0xcc, 0x88, 0x53, 0xd1, 0xd5, 0x4d, 0xa6, 0x30, 0xfa, 0xc0, 0x04, 0xf4, 0x71, 0xf2, 0x81, 0xc7, - 0xb8, 0x98, 0x2d, 0x82, 0x24, 0xa4, 0x90, 0xed, 0xbe, 0xb3, 0x3d, 0x3e, 0x3d, 0x5c, 0xc9, 0x3c, - 0x47, 0x65, 0x70, 0x3d, 0x1d, 0xd7, 0x91, 0x64, 0x2f, 0x1f, 0x11, 0x6a, 0x0d, 0xd8, 0x52, 0xbe, - 0x24, 0x19, 0xb2, 0xaf, 0x72, 0xbf, 0xe9, 0xa0, 0x30, 0xe8, 0x60, 0xb0, 0x28, 0x8b, 0x5d, 0x77 -}; - -const uint8_t dp[] = { - 0x0e, 0x12, 0xbf, 0x17, 0x18, 0xe9, 0xce, 0xf5, 0x59, 0x9b, 0xa1, 0xc3, 0x88, 0x2f, 0xe8, 0x04, - 0x6a, 0x90, 0x87, 0x4e, 0xef, 0xce, 0x8f, 0x2c, 0xcc, 0x20, 0xe4, 0xf2, 0x74, 0x1f, 0xb0, 0xa3, - 0x3a, 0x38, 0x48, 0xae, 0xc9, 0xc9, 0x30, 0x5f, 0xbe, 0xcb, 0xd2, 0xd7, 0x68, 0x19, 0x96, 0x7d, - 0x46, 0x71, 0xac, 0xc6, 0x43, 0x1e, 0x40, 0x37, 0x96, 0x8d, 0xb3, 0x78, 0x78, 0xe6, 0x95, 0xc1 -}; - -const uint8_t dq[] = { - 0x95, 0x29, 0x7b, 0x0f, 0x95, 0xa2, 0xfa, 0x67, 0xd0, 0x07, 0x07, 0xd6, 0x09, 0xdf, 0xd4, 0xfc, - 0x05, 0xc8, 0x9d, 0xaf, 0xc2, 0xef, 0x6d, 0x6e, 0xa5, 0x5b, 0xec, 0x77, 0x1e, 0xa3, 0x33, 0x73, - 0x4d, 0x92, 0x51, 0xe7, 0x90, 0x82, 0xec, 0xda, 0x86, 0x6e, 0xfe, 0xf1, 0x3c, 0x45, 0x9e, 0x1a, - 0x63, 0x13, 0x86, 0xb7, 0xe3, 0x54, 0xc8, 0x99, 0xf5, 0xf1, 0x12, 0xca, 0x85, 0xd7, 0x15, 0x83 -}; - -const uint8_t qinv[] = { - 0x4f, 0x45, 0x6c, 0x50, 0x24, 0x93, 0xbd, 0xc0, 0xed, 0x2a, 0xb7, 0x56, 0xa3, 0xa6, 0xed, 0x4d, - 0x67, 0x35, 0x2a, 0x69, 0x7d, 0x42, 0x16, 0xe9, 0x32, 0x12, 0xb1, 0x27, 0xa6, 0x3d, 0x54, 0x11, - 0xce, 0x6f, 0xa9, 0x8d, 0x5d, 0xbe, 0xfd, 0x73, 0x26, 0x3e, 0x37, 0x28, 0x14, 0x27, 0x43, 0x81, - 0x81, 0x66, 0xed, 0x7d, 0xd6, 0x36, 0x87, 0xdd, 0x2a, 0x8c, 0xa1, 0xd2, 0xf4, 0xfb, 0xd8, 0xe1, -}; - -/* -# PKCS#1 v1.5 encryption of 20 random messages with random seeds -# --------------------------------------------------------------------------- -*/ - -const uint8_t message[] = { - 0x66, 0x28, 0x19, 0x4e, 0x12, 0x07, 0x3d, 0xb0, 0x3b, 0xa9, 0x4c, 0xda, 0x9e, 0xf9, 0x53, 0x23, - 0x97, 0xd5, 0x0d, 0xba, 0x79, 0xb9, 0x87, 0x00, 0x4a, 0xfe, 0xfe, 0x34 -}; - -const uint8_t seed[] = { - 0x01, 0x73, 0x41, 0xae, 0x38, 0x75, 0xd5, 0xf8, 0x71, 0x01, 0xf8, 0xcc, 0x4f, 0xa9, 0xb9, 0xbc, - 0x15, 0x6b, 0xb0, 0x46, 0x28, 0xfc, 0xcd, 0xb2, 0xf4, 0xf1, 0x1e, 0x90, 0x5b, 0xd3, 0xa1, 0x55, - 0xd3, 0x76, 0xf5, 0x93, 0xbd, 0x73, 0x04, 0x21, 0x08, 0x74, 0xeb, 0xa0, 0x8a, 0x5e, 0x22, 0xbc, - 0xcc, 0xb4, 0xc9, 0xd3, 0x88, 0x2a, 0x93, 0xa5, 0x4d, 0xb0, 0x22, 0xf5, 0x03, 0xd1, 0x63, 0x38, - 0xb6, 0xb7, 0xce, 0x16, 0xdc, 0x7f, 0x4b, 0xbf, 0x9a, 0x96, 0xb5, 0x97, 0x72, 0xd6, 0x60, 0x6e, - 0x97, 0x47, 0xc7, 0x64, 0x9b, 0xf9, 0xe0, 0x83, 0xdb, 0x98, 0x18, 0x84, 0xa9, 0x54, 0xab, 0x3c, - 0x6f -}; - -const uint8_t encrypted[] = { - 0x50, 0xb4, 0xc1, 0x41, 0x36, 0xbd, 0x19, 0x8c, 0x2f, 0x3c, 0x3e, 0xd2, 0x43, 0xfc, 0xe0, 0x36, - 0xe1, 0x68, 0xd5, 0x65, 0x17, 0x98, 0x4a, 0x26, 0x3c, 0xd6, 0x64, 0x92, 0xb8, 0x08, 0x04, 0xf1, - 0x69, 0xd2, 0x10, 0xf2, 0xb9, 0xbd, 0xfb, 0x48, 0xb1, 0x2f, 0x9e, 0xa0, 0x50, 0x09, 0xc7, 0x7d, - 0xa2, 0x57, 0xcc, 0x60, 0x0c, 0xce, 0xfe, 0x3a, 0x62, 0x83, 0x78, 0x9d, 0x8e, 0xa0, 0xe6, 0x07, - 0xac, 0x58, 0xe2, 0x69, 0x0e, 0xc4, 0xeb, 0xc1, 0x01, 0x46, 0xe8, 0xcb, 0xaa, 0x5e, 0xd4, 0xd5, - 0xcc, 0xe6, 0xfe, 0x7b, 0x0f, 0xf9, 0xef, 0xc1, 0xea, 0xbb, 0x56, 0x4d, 0xbf, 0x49, 0x82, 0x85, - 0xf4, 0x49, 0xee, 0x61, 0xdd, 0x7b, 0x42, 0xee, 0x5b, 0x58, 0x92, 0xcb, 0x90, 0x60, 0x1f, 0x30, - 0xcd, 0xa0, 0x7b, 0xf2, 0x64, 0x89, 0x31, 0x0b, 0xcd, 0x23, 0xb5, 0x28, 0xce, 0xab, 0x3c, 0x31 -}; - -const uint8_t message1[] = { - 0x75, 0x0c, 0x40, 0x47, 0xf5, 0x47, 0xe8, 0xe4, 0x14, 0x11, 0x85, 0x65, 0x23, 0x29, 0x8a, 0xc9, - 0xba, 0xe2, 0x45, 0xef, 0xaf, 0x13, 0x97, 0xfb, 0xe5, 0x6f, 0x9d, 0xd5, -}; - -const uint8_t seed1[] = { - 0xac, 0x47, 0x28, 0xa8, 0x42, 0x8c, 0x1e, 0x52, 0x24, 0x71, 0xa8, 0xdf, 0x73, 0x5a, 0x8e, 0x92, - 0x92, 0xaf, 0x0d, 0x55, 0xbc, 0xb7, 0x3a, 0x12, 0xac, 0x32, 0xc2, 0x64, 0xf3, 0x88, 0x1c, 0x7c, - 0x8a, 0x71, 0x0f, 0x70, 0xfe, 0xb1, 0x04, 0x85, 0xc8, 0x37, 0x0f, 0x78, 0x1f, 0xff, 0xd0, 0x21, - 0x81, 0x6f, 0x05, 0x87, 0x39, 0x76, 0x6d, 0xa0, 0xa9, 0xc9, 0xdb, 0x0e, 0xae, 0x7e, 0x9a, 0x25, - 0xb6, 0xc4, 0x33, 0x18, 0xd0, 0xca, 0xac, 0x23, 0x65, 0x22, 0xca, 0x31, 0x0f, 0x17, 0xfc, 0x52, - 0xad, 0x42, 0x29, 0xc8, 0x3a, 0x24, 0xe9, 0xe5, 0x45, 0xeb, 0x35, 0xe9, 0x82, 0x6d, 0x55, 0x9f, - 0x57 -}; - -const uint8_t message2[] = { -0xd9, 0x4a, 0xe0, 0x83, 0x2e, 0x64, 0x45, 0xce, 0x42, 0x33, 0x1c, 0xb0, 0x6d, 0x53, 0x1a, 0x82, -0xb1, 0xdb, 0x4b, 0xaa, 0xd3, 0x0f, 0x74, 0x6d, 0xc9, 0x16, 0xdf, 0x24, 0xd4, 0xe3, 0xc2, 0x45, -0x1f, 0xff, 0x59, 0xa6, 0x42, 0x3e, 0xb0, 0xe1, 0xd0, 0x2d, 0x4f, 0xe6, 0x46, 0xcf, 0x69, 0x9d, -0xfd, 0x81, 0x8c, 0x6e, 0x97, 0xb0, 0x51 -}; - -const uint8_t seed2[] = { -0xdd, 0x2d, 0x60, 0xa5, 0xe0, 0x08, 0xeb, 0xe1, 0xd0, 0xbe, 0x6f, 0x60, 0xdb, 0xc4, 0x3f, 0x29, -0x62, 0xef, 0x50, 0xbf, 0xde, 0x54, 0x2b, 0xbb, 0xe9, 0x8f, 0xed, 0xd1, 0xfe, 0xac, 0x05, 0x7e, -0x77, 0x1c, 0xf1, 0x5f, 0xc6, 0x32, 0xc8, 0xdb, 0x27, 0x2e, 0x28, 0xd2, 0x9b, 0x57, 0x93, 0xea, -0x6a, 0xb8, 0x06, 0x21, 0x8c, 0x53, 0x82, 0x39, 0xb9, 0x3a, 0x93, 0x5e, 0x65, 0xd2, 0x44, 0x16, -0xec, 0x6c, 0x6e, 0x99, 0xae, 0x04 -}; - -const uint8_t message3[] = { -0x52, 0xe6, 0x50, 0xd9, 0x8e, 0x7f, 0x2a, 0x04, 0x8b, 0x4f, 0x86, 0x85, 0x21, 0x53, 0xb9, 0x7e, -0x01, 0xdd, 0x31, 0x6f, 0x34, 0x6a, 0x19, 0xf6, 0x7a, 0x85 -}; - -const uint8_t seed3[] = { -0x26, 0x29, 0xa7, 0xaa, 0xc0, 0xc3, 0x90, 0x5e, 0x83, 0x1e, 0xb6, 0x02, 0x38, 0x8c, 0x54, 0x5a, -0xf5, 0x54, 0xb9, 0x6b, 0x2a, 0xe5, 0x15, 0x32, 0xe9, 0xcc, 0xdb, 0x89, 0x72, 0xef, 0x30, 0xb6, -0x4a, 0x2f, 0x98, 0xc6, 0x95, 0x29, 0x7a, 0x01, 0xc5, 0x81, 0x2a, 0x2c, 0x40, 0x15, 0x82, 0xf3, -0x7b, 0x14, 0x4a, 0x3e, 0x90, 0xe5, 0x9d, 0x81, 0xb6, 0x90, 0x39, 0xc6, 0x4b, 0x84, 0x4b, 0x02, -0x8c, 0x10, 0x5c, 0x8e, 0x68, 0x36, 0x15, 0xaf, 0xb6, 0x58, 0xb6, 0xc4, 0xd9, 0xf3, 0x82, 0x38, -0xa7, 0x63, 0x01, 0xbb, 0x14, 0x44, 0x91, 0x13, 0xb6, 0x9d, 0xe1, 0x26, 0x04, 0x5e, 0x26, 0xf1, -0x3e, 0xe6, 0xd7 -}; - -rsa_publickey_t pub_key; -rsa_privatekey_t priv_key; - -void load_priv_conventional(void){ - bigint_t *epriv; - epriv = malloc(sizeof(bigint_t)); - if(!epriv){ - cli_putstr("\r\nERROR: OOM!"); - return; - } - epriv->length_B = (sizeof(private_exponent) + sizeof(bigint_word_t) - 1) / sizeof(bigint_word_t); - epriv->wordv = malloc(epriv->length_B * sizeof(bigint_word_t)); - if(!epriv->wordv){ - cli_putstr("\r\nERROR: OOM!"); - return; - } - memcpy(epriv->wordv, private_exponent, sizeof(private_exponent)); - priv_key.components = malloc(sizeof(bigint_t*)); - priv_key.components[0] = epriv; - priv_key.n = 1; - bigint_changeendianess(epriv); - bigint_adjust(epriv); -} - - -void load_priv_crt_mono(void){ - bigint_t **v; - const uint8_t *bv[5] = {p,q,dp,dq,qinv}; - uint16_t sv[5] = {sizeof(p), sizeof(q), sizeof(dp), sizeof(dq), sizeof(qinv)}; - uint8_t i; - v = malloc(5 * sizeof(bigint_t)); - if(!v){ - cli_putstr("\r\nERROR: OOM!"); - return; - } - priv_key.components = malloc(5*sizeof(bigint_t*)); - if(!priv_key.components){ - cli_putstr("\r\nERROR: OOM!"); - return; - } - priv_key.n = 5; - for(i=0; i<5; ++i){ - v[i] = malloc(sizeof(bigint_t)); - v[i]->info = 0; - v[i]->length_B = (sv[i] + sizeof(bigint_word_t) - 1) / sizeof(bigint_word_t); - v[i]->wordv = calloc(v[i]->length_B , sizeof(bigint_word_t)); - if(!v[i]->wordv){ - cli_putstr("\r\nERROR: OOM!"); - return; - } - memcpy(v[i]->wordv, bv[i], sv[i]); - bigint_changeendianess(v[i]); - bigint_adjust(v[i]); - priv_key.components[i] = v[i]; - } -} - - -void load_fix_rsa(void){ - bigint_t *m, *epub; - m = malloc(sizeof(bigint_t)); - epub = malloc(sizeof(bigint_t)); - if(!m || !epub){ - cli_putstr("\r\nOOM!\r\n"); - return; - } - - m->length_B = (sizeof(modulus) + sizeof(bigint_word_t) - 1) / sizeof(bigint_word_t); - epub->length_B = (sizeof(public_exponent) + sizeof(bigint_word_t) - 1) / sizeof(bigint_word_t); - - m->wordv = malloc(m->length_B * sizeof(bigint_word_t)); - epub->wordv = malloc(epub->length_B * sizeof(bigint_word_t)); - - if(!m->wordv || !epub->wordv){ - cli_putstr("\r\nOOM!\r\n"); - return; - } - - memcpy(m->wordv, modulus, sizeof(modulus)); - memcpy(epub->wordv, public_exponent, sizeof(public_exponent)); - - pub_key.modulus = priv_key.modulus = m; - pub_key.exponent = epub; - - bigint_changeendianess(m); - bigint_adjust(m); - bigint_changeendianess(epub); - bigint_adjust(epub); - -// load_priv_conventional(); - load_priv_crt_mono(); -} - - -#define MSG message3 -#define SEED seed3 - -void quick_test(void){ - uint8_t *ciphertext, *plaintext, rc; - uint16_t clen, plen; - ciphertext = malloc(clen = pub_key.modulus->length_B * sizeof(bigint_word_t)); - plaintext = malloc(pub_key.modulus->length_B * sizeof(bigint_word_t)); -// memcpy(ciphertext, message1, sizeof(message1)); - cli_putstr("\r\nplaintext:"); - cli_hexdump_block(MSG, sizeof(MSG), 4, 8); - rc = rsa_encrypt_pkcs15(ciphertext, &clen, MSG, sizeof(MSG), &pub_key, SEED); - if(rc){ - cli_putstr("\r\nERROR: rsa_encrypt_pkcs15 returned: "); - cli_hexdump_byte(rc); - return; - } - cli_putstr("\r\n\r\nciphertext:"); - cli_hexdump_block(ciphertext, clen, 4, 8); - uart_flush(0); - rc = rsa_decrypt_pkcs15(plaintext, &plen, ciphertext, clen, &priv_key, NULL); - if(rc){ - cli_putstr("\r\nERROR: rsa_encrypt_pkcs15 returned: "); - cli_hexdump_byte(rc); - return; - } - cli_putstr("\r\n\r\nplaintext:"); - cli_hexdump_block(plaintext, plen, 4, 8); - free(ciphertext); - free(plaintext); -} - -void reset_prng(void){ - uint8_t buf[16]; - memset(buf, 0, 16); - random_seed(buf); - cli_putstr("\r\nPRNG reset"); -} - -void rsa_init(void){ - load_fix_rsa(); - prng_get_byte = random8; -} - -/***************************************************************************** - * main * - *****************************************************************************/ - -const char echo_test_str[] = "echo-test"; -const char reset_prng_str[] = "reset-prng"; -const char quick_test_str[] = "quick-test"; -const char performance_str[] = "performance"; -const char echo_str[] = "echo"; - -cmdlist_entry_t cmdlist[] = { - { reset_prng_str, NULL, reset_prng }, - { quick_test_str, NULL, quick_test }, -// { performance_str, NULL, testrun_performance_bigint }, - { echo_str, (void*)1, (void_fpt)echo_ctrl }, - { NULL, NULL, NULL } -}; - -void dump_sp(void){ - uint8_t x; - uint8_t *xa = &x; - cli_putstr("\r\nstack pointer: ~"); - cli_hexdump_rev(&xa, 4); -} - -int main (void){ - main_setup(); - - for(;;){ - welcome_msg(algo_name); - rsa_init(); - cmd_interface(cmdlist); - } -} diff --git a/test_src/main-rsa_oaep-test.c b/test_src/main-rsa_oaep-test.c new file mode 100644 index 0000000..4c06228 --- /dev/null +++ b/test_src/main-rsa_oaep-test.c @@ -0,0 +1,321 @@ +/* main-dsa-test.c */ +/* + This file is part of the ARM-Crypto-Lib. + Copyright (C) 2010 Daniel Otte (daniel.otte@rub.de) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ +/* + * RSA test-suit + * +*/ +#include "main-test-common.h" + +#include "noekeon.h" +#include "noekeon_prng.h" +#include "bigint.h" +#include "bigint_io.h" +#include "random_dummy.h" +#include "rsa_basic.h" +#include "rsa_oaep.h" + +#include "performance_test.h" + +const char* algo_name = "RSA-OAEP"; + +/***************************************************************************** + * additional validation-functions * + *****************************************************************************/ + +/* ================================== + * Example 1: A 1024-bit RSA Key Pair + * ================================== */ + +/* ------------------------------ + * Components of the RSA Key Pair + * ------------------------------ */ + +/* RSA modulus n: */ +uint8_t modulus[] = { +0xa8, 0xb3, 0xb2, 0x84, 0xaf, 0x8e, 0xb5, 0x0b, 0x38, 0x70, 0x34, 0xa8, 0x60, 0xf1, 0x46, 0xc4, +0x91, 0x9f, 0x31, 0x87, 0x63, 0xcd, 0x6c, 0x55, 0x98, 0xc8, 0xae, 0x48, 0x11, 0xa1, 0xe0, 0xab, +0xc4, 0xc7, 0xe0, 0xb0, 0x82, 0xd6, 0x93, 0xa5, 0xe7, 0xfc, 0xed, 0x67, 0x5c, 0xf4, 0x66, 0x85, +0x12, 0x77, 0x2c, 0x0c, 0xbc, 0x64, 0xa7, 0x42, 0xc6, 0xc6, 0x30, 0xf5, 0x33, 0xc8, 0xcc, 0x72, +0xf6, 0x2a, 0xe8, 0x33, 0xc4, 0x0b, 0xf2, 0x58, 0x42, 0xe9, 0x84, 0xbb, 0x78, 0xbd, 0xbf, 0x97, +0xc0, 0x10, 0x7d, 0x55, 0xbd, 0xb6, 0x62, 0xf5, 0xc4, 0xe0, 0xfa, 0xb9, 0x84, 0x5c, 0xb5, 0x14, +0x8e, 0xf7, 0x39, 0x2d, 0xd3, 0xaa, 0xff, 0x93, 0xae, 0x1e, 0x6b, 0x66, 0x7b, 0xb3, 0xd4, 0x24, +0x76, 0x16, 0xd4, 0xf5, 0xba, 0x10, 0xd4, 0xcf, 0xd2, 0x26, 0xde, 0x88, 0xd3, 0x9f, 0x16, 0xfb +}; + +/* RSA public exponent e: */ +uint8_t public_exponent[] = { +0x00, 0x01, 0x00, 0x01 +}; + +/* RSA private exponent d: */ +uint8_t private_exponent[] = { +0x53, 0x33, 0x9c, 0xfd, 0xb7, 0x9f, 0xc8, 0x46, 0x6a, 0x65, 0x5c, 0x73, 0x16, 0xac, 0xa8, 0x5c, +0x55, 0xfd, 0x8f, 0x6d, 0xd8, 0x98, 0xfd, 0xaf, 0x11, 0x95, 0x17, 0xef, 0x4f, 0x52, 0xe8, 0xfd, +0x8e, 0x25, 0x8d, 0xf9, 0x3f, 0xee, 0x18, 0x0f, 0xa0, 0xe4, 0xab, 0x29, 0x69, 0x3c, 0xd8, 0x3b, +0x15, 0x2a, 0x55, 0x3d, 0x4a, 0xc4, 0xd1, 0x81, 0x2b, 0x8b, 0x9f, 0xa5, 0xaf, 0x0e, 0x7f, 0x55, +0xfe, 0x73, 0x04, 0xdf, 0x41, 0x57, 0x09, 0x26, 0xf3, 0x31, 0x1f, 0x15, 0xc4, 0xd6, 0x5a, 0x73, +0x2c, 0x48, 0x31, 0x16, 0xee, 0x3d, 0x3d, 0x2d, 0x0a, 0xf3, 0x54, 0x9a, 0xd9, 0xbf, 0x7c, 0xbf, +0xb7, 0x8a, 0xd8, 0x84, 0xf8, 0x4d, 0x5b, 0xeb, 0x04, 0x72, 0x4d, 0xc7, 0x36, 0x9b, 0x31, 0xde, +0xf3, 0x7d, 0x0c, 0xf5, 0x39, 0xe9, 0xcf, 0xcd, 0xd3, 0xde, 0x65, 0x37, 0x29, 0xea, 0xd5, 0xd1 +}; + +/* Prime p: */ +uint8_t p[] = { +0xd3, 0x27, 0x37, 0xe7, 0x26, 0x7f, 0xfe, 0x13, 0x41, 0xb2, 0xd5, 0xc0, 0xd1, 0x50, 0xa8, 0x1b, +0x58, 0x6f, 0xb3, 0x13, 0x2b, 0xed, 0x2f, 0x8d, 0x52, 0x62, 0x86, 0x4a, 0x9c, 0xb9, 0xf3, 0x0a, +0xf3, 0x8b, 0xe4, 0x48, 0x59, 0x8d, 0x41, 0x3a, 0x17, 0x2e, 0xfb, 0x80, 0x2c, 0x21, 0xac, 0xf1, +0xc1, 0x1c, 0x52, 0x0c, 0x2f, 0x26, 0xa4, 0x71, 0xdc, 0xad, 0x21, 0x2e, 0xac, 0x7c, 0xa3, 0x9d +}; + +/* Prime q: */ +uint8_t q[] = { +0xcc, 0x88, 0x53, 0xd1, 0xd5, 0x4d, 0xa6, 0x30, 0xfa, 0xc0, 0x04, 0xf4, 0x71, 0xf2, 0x81, 0xc7, +0xb8, 0x98, 0x2d, 0x82, 0x24, 0xa4, 0x90, 0xed, 0xbe, 0xb3, 0x3d, 0x3e, 0x3d, 0x5c, 0xc9, 0x3c, +0x47, 0x65, 0x70, 0x3d, 0x1d, 0xd7, 0x91, 0x64, 0x2f, 0x1f, 0x11, 0x6a, 0x0d, 0xd8, 0x52, 0xbe, +0x24, 0x19, 0xb2, 0xaf, 0x72, 0xbf, 0xe9, 0xa0, 0x30, 0xe8, 0x60, 0xb0, 0x28, 0x8b, 0x5d, 0x77 +}; + +/* p's CRT exponent dP: */ +uint8_t dp[] = { +0x0e, 0x12, 0xbf, 0x17, 0x18, 0xe9, 0xce, 0xf5, 0x59, 0x9b, 0xa1, 0xc3, 0x88, 0x2f, 0xe8, 0x04, +0x6a, 0x90, 0x87, 0x4e, 0xef, 0xce, 0x8f, 0x2c, 0xcc, 0x20, 0xe4, 0xf2, 0x74, 0x1f, 0xb0, 0xa3, +0x3a, 0x38, 0x48, 0xae, 0xc9, 0xc9, 0x30, 0x5f, 0xbe, 0xcb, 0xd2, 0xd7, 0x68, 0x19, 0x96, 0x7d, +0x46, 0x71, 0xac, 0xc6, 0x43, 0x1e, 0x40, 0x37, 0x96, 0x8d, 0xb3, 0x78, 0x78, 0xe6, 0x95, 0xc1 +}; + +/* q's CRT exponent dQ: */ +uint8_t dq[] = { +0x95, 0x29, 0x7b, 0x0f, 0x95, 0xa2, 0xfa, 0x67, 0xd0, 0x07, 0x07, 0xd6, 0x09, 0xdf, 0xd4, 0xfc, +0x05, 0xc8, 0x9d, 0xaf, 0xc2, 0xef, 0x6d, 0x6e, 0xa5, 0x5b, 0xec, 0x77, 0x1e, 0xa3, 0x33, 0x73, +0x4d, 0x92, 0x51, 0xe7, 0x90, 0x82, 0xec, 0xda, 0x86, 0x6e, 0xfe, 0xf1, 0x3c, 0x45, 0x9e, 0x1a, +0x63, 0x13, 0x86, 0xb7, 0xe3, 0x54, 0xc8, 0x99, 0xf5, 0xf1, 0x12, 0xca, 0x85, 0xd7, 0x15, 0x83 +}; + +/* CRT coefficient qInv: */ +uint8_t qinv[] = { +0x4f, 0x45, 0x6c, 0x50, 0x24, 0x93, 0xbd, 0xc0, 0xed, 0x2a, 0xb7, 0x56, 0xa3, 0xa6, 0xed, 0x4d, +0x67, 0x35, 0x2a, 0x69, 0x7d, 0x42, 0x16, 0xe9, 0x32, 0x12, 0xb1, 0x27, 0xa6, 0x3d, 0x54, 0x11, +0xce, 0x6f, 0xa9, 0x8d, 0x5d, 0xbe, 0xfd, 0x73, 0x26, 0x3e, 0x37, 0x28, 0x14, 0x27, 0x43, 0x81, +0x81, 0x66, 0xed, 0x7d, 0xd6, 0x36, 0x87, 0xdd, 0x2a, 0x8c, 0xa1, 0xd2, 0xf4, 0xfb, 0xd8, 0xe1 +}; + +/* --------------------------------- + * RSAES-OAEP Encryption Example 1.1 + * --------------------------------- */ + +/* Message to be, encrypted: */ +uint8_t message[] = { +0x66, 0x28, 0x19, 0x4e, 0x12, 0x07, 0x3d, 0xb0, 0x3b, 0xa9, 0x4c, 0xda, 0x9e, 0xf9, 0x53, 0x23, +0x97, 0xd5, 0x0d, 0xba, 0x79, 0xb9, 0x87, 0x00, 0x4a, 0xfe, 0xfe, 0x34 +}; + +/* Seed: */ +uint8_t seed[] = { +0x18, 0xb7, 0x76, 0xea, 0x21, 0x06, 0x9d, 0x69, 0x77, 0x6a, 0x33, 0xe9, 0x6b, 0xad, 0x48, 0xe1, +0xdd, 0xa0, 0xa5, 0xef +}; + +/* Encryption: */ +uint8_t encrypted[] = { +0x35, 0x4f, 0xe6, 0x7b, 0x4a, 0x12, 0x6d, 0x5d, 0x35, 0xfe, 0x36, 0xc7, 0x77, 0x79, 0x1a, 0x3f, +0x7b, 0xa1, 0x3d, 0xef, 0x48, 0x4e, 0x2d, 0x39, 0x08, 0xaf, 0xf7, 0x22, 0xfa, 0xd4, 0x68, 0xfb, +0x21, 0x69, 0x6d, 0xe9, 0x5d, 0x0b, 0xe9, 0x11, 0xc2, 0xd3, 0x17, 0x4f, 0x8a, 0xfc, 0xc2, 0x01, +0x03, 0x5f, 0x7b, 0x6d, 0x8e, 0x69, 0x40, 0x2d, 0xe5, 0x45, 0x16, 0x18, 0xc2, 0x1a, 0x53, 0x5f, +0xa9, 0xd7, 0xbf, 0xc5, 0xb8, 0xdd, 0x9f, 0xc2, 0x43, 0xf8, 0xcf, 0x92, 0x7d, 0xb3, 0x13, 0x22, +0xd6, 0xe8, 0x81, 0xea, 0xa9, 0x1a, 0x99, 0x61, 0x70, 0xe6, 0x57, 0xa0, 0x5a, 0x26, 0x64, 0x26, +0xd9, 0x8c, 0x88, 0x00, 0x3f, 0x84, 0x77, 0xc1, 0x22, 0x70, 0x94, 0xa0, 0xd9, 0xfa, 0x1e, 0x8c, +0x40, 0x24, 0x30, 0x9c, 0xe1, 0xec, 0xcc, 0xb5, 0x21, 0x00, 0x35, 0xd4, 0x7a, 0xc7, 0x2e, 0x8a +}; + +rsa_publickey_t pub_key; +rsa_privatekey_t priv_key; + +void load_priv_conventional(void){ + bigint_t *epriv; + epriv = malloc(sizeof(bigint_t)); + if(!epriv){ + cli_putstr("\r\nERROR: OOM!"); + return; + } + epriv->length_B = (sizeof(private_exponent) + sizeof(bigint_word_t) - 1) / sizeof(bigint_word_t); + epriv->wordv = malloc(epriv->length_B * sizeof(bigint_word_t)); + if(!epriv->wordv){ + cli_putstr("\r\nERROR: OOM!"); + return; + } + memcpy(epriv->wordv, private_exponent, sizeof(private_exponent)); + priv_key.components = malloc(sizeof(bigint_t*)); + priv_key.components[0] = epriv; + priv_key.n = 1; + bigint_changeendianess(epriv); + bigint_adjust(epriv); +} + + +void load_priv_crt_mono(void){ + bigint_t **v; + const uint8_t *bv[5] = {p,q,dp,dq,qinv}; + uint16_t sv[5] = {sizeof(p), sizeof(q), sizeof(dp), sizeof(dq), sizeof(qinv)}; + uint8_t i; + v = malloc(5 * sizeof(bigint_t)); + if(!v){ + cli_putstr("\r\nERROR: OOM!"); + return; + } + priv_key.components = malloc(5*sizeof(bigint_t*)); + if(!priv_key.components){ + cli_putstr("\r\nERROR: OOM!"); + return; + } + priv_key.n = 5; + for(i=0; i<5; ++i){ + v[i] = malloc(sizeof(bigint_t)); + v[i]->info = 0; + v[i]->length_B = (sv[i] + sizeof(bigint_word_t) - 1) / sizeof(bigint_word_t); + v[i]->wordv = calloc(v[i]->length_B , sizeof(bigint_word_t)); + if(!v[i]->wordv){ + cli_putstr("\r\nERROR: OOM!"); + return; + } + memcpy(v[i]->wordv, bv[i], sv[i]); + bigint_changeendianess(v[i]); + bigint_adjust(v[i]); + priv_key.components[i] = v[i]; + } +} + + +void load_fix_rsa(void){ + bigint_t *m, *epub; + m = malloc(sizeof(bigint_t)); + epub = malloc(sizeof(bigint_t)); + if(!m || !epub){ + cli_putstr("\r\nOOM!\r\n"); + return; + } + + m->length_B = (sizeof(modulus) + sizeof(bigint_word_t) - 1) / sizeof(bigint_word_t); + epub->length_B = (sizeof(public_exponent) + sizeof(bigint_word_t) - 1) / sizeof(bigint_word_t); + + m->wordv = malloc(m->length_B * sizeof(bigint_word_t)); + epub->wordv = malloc(epub->length_B * sizeof(bigint_word_t)); + + if(!m->wordv || !epub->wordv){ + cli_putstr("\r\nOOM!\r\n"); + return; + } + + memcpy(m->wordv, modulus, sizeof(modulus)); + memcpy(epub->wordv, public_exponent, sizeof(public_exponent)); + + pub_key.modulus = priv_key.modulus = m; + pub_key.exponent = epub; + + bigint_changeendianess(m); + bigint_adjust(m); + bigint_changeendianess(epub); + bigint_adjust(epub); + +// load_priv_conventional(); + load_priv_crt_mono(); +} + + +#define MSG message +#define SEED seed + +void quick_test(void){ + uint8_t *ciphertext, *plaintext, rc; + uint16_t clen; //, plen; + ciphertext = malloc(clen = pub_key.modulus->length_B * sizeof(bigint_word_t)); + plaintext = malloc(pub_key.modulus->length_B * sizeof(bigint_word_t)); +// memcpy(ciphertext, message1, sizeof(message1)); + cli_putstr("\r\nplaintext:"); + cli_hexdump_block(MSG, sizeof(MSG), 4, 8); + uart_flush(0); + rc = rsa_encrypt_oaep(ciphertext, &clen, MSG, sizeof(MSG), &pub_key, NULL, NULL, SEED); + if(rc){ + cli_putstr("\r\nERROR: rsa_encrypt_oaep returned: "); + cli_hexdump_byte(rc); + return; + + } + cli_putstr("\r\n\r\nciphertext:"); + cli_hexdump_block(ciphertext, clen, 4, 8); + uart_flush(0); +/* + rc = rsa_decrypt_pkcs15(plaintext, &plen, ciphertext, clen, &priv_key, NULL); + if(rc){ + cli_putstr("\r\nERROR: rsa_encrypt_pkcs15 returned: "); + cli_hexdump_byte(rc); + return; + } + cli_putstr("\r\n\r\nplaintext:"); + cli_hexdump_block(plaintext, plen, 4, 8); +*/ + free(ciphertext); + free(plaintext); +} + +void reset_prng(void){ + uint8_t buf[16]; + memset(buf, 0, 16); + random_seed(buf); + cli_putstr("\r\nPRNG reset"); +} + +void rsa_init(void){ + load_fix_rsa(); + prng_get_byte = random8; +} + +/***************************************************************************** + * main * + *****************************************************************************/ + +const char echo_test_str[] = "echo-test"; +const char reset_prng_str[] = "reset-prng"; +const char quick_test_str[] = "quick-test"; +const char performance_str[] = "performance"; +const char echo_str[] = "echo"; + +cmdlist_entry_t cmdlist[] = { + { reset_prng_str, NULL, reset_prng }, + { quick_test_str, NULL, quick_test }, +// { performance_str, NULL, testrun_performance_bigint }, + { echo_str, (void*)1, (void_fpt)echo_ctrl }, + { NULL, NULL, NULL } +}; + +void dump_sp(void){ + uint8_t x; + uint8_t *xa = &x; + cli_putstr("\r\nstack pointer: ~"); + cli_hexdump_rev(&xa, 4); +} + +int main (void){ + main_setup(); + + for(;;){ + welcome_msg(algo_name); + rsa_init(); + cmd_interface(cmdlist); + } +} diff --git a/testvectors/rsa-pkcs-1v2-1-vec/oaep-int.txt b/testvectors/rsa-pkcs-1v2-1-vec/oaep-int.txt new file mode 100644 index 0000000..b76b5dd --- /dev/null +++ b/testvectors/rsa-pkcs-1v2-1-vec/oaep-int.txt @@ -0,0 +1,369 @@ +# ================================= +# WORKED-OUT EXAMPLE FOR RSAES-OAEP +# ================================= +# +# This file gives an example of the process of +# encrypting and decrypting a message with +# RSAES-OAEP as specified in PKCS #1 v2.1. +# +# The message is a bit string of length 128, +# while the size of the modulus in the public +# key is 1024 bits. The second representation +# of the private key is used, which means that +# CRT is applied in the decryption process. +# +# The underlying hash function is SHA-1; the +# mask generation function is MGF1 with SHA-1 +# as specified in PKCS #1 v2.1. +# +# This file also contains a demonstration of +# the RSADP decryption primitive with CRT. +# Finally, DER encodings of the RSA keys are +# given at the end of the file. +# +# +# Integers are represented by strings of octets +# with the leftmost octet being the most +# significant octet. For example, +# +# 9,202,000 = (0x)8c 69 50. +# +# ============================================= + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +bb f8 2f 09 06 82 ce 9c 23 38 ac 2b 9d a8 71 f7 +36 8d 07 ee d4 10 43 a4 40 d6 b6 f0 74 54 f5 1f +b8 df ba af 03 5c 02 ab 61 ea 48 ce eb 6f cd 48 +76 ed 52 0d 60 e1 ec 46 19 71 9d 8a 5b 8b 80 7f +af b8 e0 a3 df c7 37 72 3e e6 b4 b7 d9 3a 25 84 +ee 6a 64 9d 06 09 53 74 88 34 b2 45 45 98 39 4e +e0 aa b1 2d 7b 61 a5 1f 52 7a 9a 41 f6 c1 68 7f +e2 53 72 98 ca 2a 8f 59 46 f8 e5 fd 09 1d bd cb + +# RSA public exponent e: +(0x)11 + +# Prime p: +ee cf ae 81 b1 b9 b3 c9 08 81 0b 10 a1 b5 60 01 +99 eb 9f 44 ae f4 fd a4 93 b8 1a 9e 3d 84 f6 32 +12 4e f0 23 6e 5d 1e 3b 7e 28 fa e7 aa 04 0a 2d +5b 25 21 76 45 9d 1f 39 75 41 ba 2a 58 fb 65 99 + +# Prime q: +c9 7f b1 f0 27 f4 53 f6 34 12 33 ea aa d1 d9 35 +3f 6c 42 d0 88 66 b1 d0 5a 0f 20 35 02 8b 9d 86 +98 40 b4 16 66 b4 2e 92 ea 0d a3 b4 32 04 b5 cf +ce 33 52 52 4d 04 16 a5 a4 41 e7 00 af 46 15 03 + +# p's CRT exponent dP: +54 49 4c a6 3e ba 03 37 e4 e2 40 23 fc d6 9a 5a +eb 07 dd dc 01 83 a4 d0 ac 9b 54 b0 51 f2 b1 3e +d9 49 09 75 ea b7 74 14 ff 59 c1 f7 69 2e 9a 2e +20 2b 38 fc 91 0a 47 41 74 ad c9 3c 1f 67 c9 81 + +# q's CRT exponent dQ: +47 1e 02 90 ff 0a f0 75 03 51 b7 f8 78 86 4c a9 +61 ad bd 3a 8a 7e 99 1c 5c 05 56 a9 4c 31 46 a7 +f9 80 3f 8f 6f 8a e3 42 e9 31 fd 8a e4 7a 22 0d +1b 99 a4 95 84 98 07 fe 39 f9 24 5a 98 36 da 3d + +# CRT coefficient qInv: +b0 6c 4f da bb 63 01 19 8d 26 5b db ae 94 23 b3 +80 f2 71 f7 34 53 88 50 93 07 7f cd 39 e2 11 9f +c9 86 32 15 4f 58 83 b1 67 a9 67 bf 40 2b 4e 9e +2e 0f 96 56 e6 98 ea 36 66 ed fb 25 79 80 39 f7 + +# ---------------------------------- +# Step-by-step RSAES-OAEP Encryption +# ---------------------------------- + +# Message M to be encrypted: +d4 36 e9 95 69 fd 32 a7 c8 a0 5b bc 90 d3 2c 49 + +# Label L: +(the empty string) + +# lHash = Hash(L) +# DB = lHash || Padding || M +# seed = random string of octets +# dbMask = MGF(seed, length(DB)) +# maskedDB = DB xor dbMask +# seedMask = MGF(maskedDB, length(seed)) +# maskedSeed = seed xor seedMask +# EM = 0x00 || maskedSeed || maskedDB + +# lHash: +da 39 a3 ee 5e 6b 4b 0d 32 55 bf ef 95 60 18 90 +af d8 07 09 + +# DB: +da 39 a3 ee 5e 6b 4b 0d 32 55 bf ef 95 60 18 90 +af d8 07 09 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 01 d4 36 e9 95 69 +fd 32 a7 c8 a0 5b bc 90 d3 2c 49 + +# seed: +aa fd 12 f6 59 ca e6 34 89 b4 79 e5 07 6d de c2 +f0 6c b5 8f + +# dbMask: +06 e1 de b2 36 9a a5 a5 c7 07 d8 2c 8e 4e 93 24 +8a c7 83 de e0 b2 c0 46 26 f5 af f9 3e dc fb 25 +c9 c2 b3 ff 8a e1 0e 83 9a 2d db 4c dc fe 4f f4 +77 28 b4 a1 b7 c1 36 2b aa d2 9a b4 8d 28 69 d5 +02 41 21 43 58 11 59 1b e3 92 f9 82 fb 3e 87 d0 +95 ae b4 04 48 db 97 2f 3a c1 4e af f4 9c 8c 3b +7c fc 95 1a 51 ec d1 dd e6 12 64 + +# maskedDB: +dc d8 7d 5c 68 f1 ee a8 f5 52 67 c3 1b 2e 8b b4 +25 1f 84 d7 e0 b2 c0 46 26 f5 af f9 3e dc fb 25 +c9 c2 b3 ff 8a e1 0e 83 9a 2d db 4c dc fe 4f f4 +77 28 b4 a1 b7 c1 36 2b aa d2 9a b4 8d 28 69 d5 +02 41 21 43 58 11 59 1b e3 92 f9 82 fb 3e 87 d0 +95 ae b4 04 48 db 97 2f 3a c1 4f 7b c2 75 19 52 +81 ce 32 d2 f1 b7 6d 4d 35 3e 2d + +# seedMask: +41 87 0b 5a b0 29 e6 57 d9 57 50 b5 4c 28 3c 08 +72 5d be a9 + +# maskedSeed: +eb 7a 19 ac e9 e3 00 63 50 e3 29 50 4b 45 e2 ca +82 31 0b 26 + +# EM = 00 || maskedSeed || maskedDB: +00 eb 7a 19 ac e9 e3 00 63 50 e3 29 50 4b 45 e2 +ca 82 31 0b 26 dc d8 7d 5c 68 f1 ee a8 f5 52 67 +c3 1b 2e 8b b4 25 1f 84 d7 e0 b2 c0 46 26 f5 af +f9 3e dc fb 25 c9 c2 b3 ff 8a e1 0e 83 9a 2d db +4c dc fe 4f f4 77 28 b4 a1 b7 c1 36 2b aa d2 9a +b4 8d 28 69 d5 02 41 21 43 58 11 59 1b e3 92 f9 +82 fb 3e 87 d0 95 ae b4 04 48 db 97 2f 3a c1 4f +7b c2 75 19 52 81 ce 32 d2 f1 b7 6d 4d 35 3e 2d + +# Ciphertext, the RSA encryption of EM: +12 53 e0 4d c0 a5 39 7b b4 4a 7a b8 7e 9b f2 a0 +39 a3 3d 1e 99 6f c8 2a 94 cc d3 00 74 c9 5d f7 +63 72 20 17 06 9e 52 68 da 5d 1c 0b 4f 87 2c f6 +53 c1 1d f8 23 14 a6 79 68 df ea e2 8d ef 04 bb +6d 84 b1 c3 1d 65 4a 19 70 e5 78 3b d6 eb 96 a0 +24 c2 ca 2f 4a 90 fe 9f 2e f5 c9 c1 40 e5 bb 48 +da 95 36 ad 87 00 c8 4f c9 13 0a de a7 4e 55 8d +51 a7 4d df 85 d8 b5 0d e9 68 38 d6 06 3e 09 55 + +# -------------------------------------------- +# Step-by-step RSAES-OAEP Decryption Using CRT +# -------------------------------------------- + +# c = the integer value of C above +# m1 = c^dP mod p = (c mod p)^dP mod p +# m2 = c^dQ mod q = (c mod q)^dQ mod q +# h = (m1-m2)*qInv mod p +# m = m2 + q*h = the integer value of EM above + +# c mod p: +de 63 d4 72 35 66 fa a7 59 bf e4 08 82 1d d5 25 +72 ec 92 85 4d df 87 a2 b6 64 d4 4d aa 37 ca 34 +6a 05 20 3d 82 ff 2d e8 e3 6c ec 1d 34 f9 8e b6 +05 e2 a7 d2 6d e7 af 36 9c e4 ec ae 14 e3 56 33 + +# c mod q: +a2 d9 24 de d9 c3 6d 62 3e d9 a6 5b 5d 86 2c fb +ec 8b 19 9c 64 27 9c 54 14 e6 41 19 6e f1 c9 3c +50 7a 9b 52 13 88 1a ad 05 b4 cc fa 02 8a c1 ec +61 42 09 74 bf 16 25 83 6b 0b 7d 05 fb b7 53 36 + +# m1: +89 6c a2 6c d7 e4 87 1c 7f c9 68 a8 ed ea 11 e2 +71 82 4f 0e 03 65 52 17 94 f1 e9 e9 43 b4 a4 4b +57 c9 e3 95 a1 46 74 78 f5 26 49 6b 4b b9 1f 1c +ba ea 90 0f fc 60 2c f0 c6 63 6e ba 84 fc 9f f7 + +# m2: +4e bb 22 75 85 f0 c1 31 2d ca 19 e0 b5 41 db 14 +99 fb f1 4e 27 0e 69 8e 23 9a 8c 27 a9 6c da 9a +74 09 74 de 93 7b 5c 9c 93 ea d9 46 2c 65 75 02 +1a 23 d4 64 99 dc 9f 6b 35 89 75 59 60 8f 19 be + +# h: +01 2b 2b 24 15 0e 76 e1 59 bd 8d db 42 76 e0 7b +fa c1 88 e0 8d 60 47 cf 0e fb 8a e2 ae bd f2 51 +c4 0e bc 23 dc fd 4a 34 42 43 94 ad a9 2c fc be +1b 2e ff bb 60 fd fb 03 35 9a 95 36 8d 98 09 25 + +# m: +00 eb 7a 19 ac e9 e3 00 63 50 e3 29 50 4b 45 e2 +ca 82 31 0b 26 dc d8 7d 5c 68 f1 ee a8 f5 52 67 +c3 1b 2e 8b b4 25 1f 84 d7 e0 b2 c0 46 26 f5 af +f9 3e dc fb 25 c9 c2 b3 ff 8a e1 0e 83 9a 2d db +4c dc fe 4f f4 77 28 b4 a1 b7 c1 36 2b aa d2 9a +b4 8d 28 69 d5 02 41 21 43 58 11 59 1b e3 92 f9 +82 fb 3e 87 d0 95 ae b4 04 48 db 97 2f 3a c1 4f +7b c2 75 19 52 81 ce 32 d2 f1 b7 6d 4d 35 3e 2d + +# The intermediate values in the remaining +# decryption process are the same as during +# RSAES-OAEP encryption of M. + +# ============================================= + +# ======================== +# DER Encoding of RSA Keys +# ======================== + +# ------------ +# RSAPublicKey +# ------------ +30 81 87 +# modulus + 02 81 81 + 00 bb f8 2f 09 06 82 ce + 9c 23 38 ac 2b 9d a8 71 + f7 36 8d 07 ee d4 10 43 + a4 40 d6 b6 f0 74 54 f5 + 1f b8 df ba af 03 5c 02 + ab 61 ea 48 ce eb 6f cd + 48 76 ed 52 0d 60 e1 ec + 46 19 71 9d 8a 5b 8b 80 + 7f af b8 e0 a3 df c7 37 + 72 3e e6 b4 b7 d9 3a 25 + 84 ee 6a 64 9d 06 09 53 + 74 88 34 b2 45 45 98 39 + 4e e0 aa b1 2d 7b 61 a5 + 1f 52 7a 9a 41 f6 c1 68 + 7f e2 53 72 98 ca 2a 8f + 59 46 f8 e5 fd 09 1d bd + cb +# publicExponent + 02 01 + 11 + +# ------------- +# RSAPrivateKey +# ------------- +30 82 02 5b +# version + 02 01 + 00 +# modulus + 02 81 81 + 00 bb f8 2f 09 06 82 ce + 9c 23 38 ac 2b 9d a8 71 + f7 36 8d 07 ee d4 10 43 + a4 40 d6 b6 f0 74 54 f5 + 1f b8 df ba af 03 5c 02 + ab 61 ea 48 ce eb 6f cd + 48 76 ed 52 0d 60 e1 ec + 46 19 71 9d 8a 5b 8b 80 + 7f af b8 e0 a3 df c7 37 + 72 3e e6 b4 b7 d9 3a 25 + 84 ee 6a 64 9d 06 09 53 + 74 88 34 b2 45 45 98 39 + 4e e0 aa b1 2d 7b 61 a5 + 1f 52 7a 9a 41 f6 c1 68 + 7f e2 53 72 98 ca 2a 8f + 59 46 f8 e5 fd 09 1d bd + cb +# publicExponent + 02 01 + 11 +# privateExponent + 02 81 81 + 00 a5 da fc 53 41 fa f2 + 89 c4 b9 88 db 30 c1 cd + f8 3f 31 25 1e 06 68 b4 + 27 84 81 38 01 57 96 41 + b2 94 10 b3 c7 99 8d 6b + c4 65 74 5e 5c 39 26 69 + d6 87 0d a2 c0 82 a9 39 + e3 7f dc b8 2e c9 3e da + c9 7f f3 ad 59 50 ac cf + bc 11 1c 76 f1 a9 52 94 + 44 e5 6a af 68 c5 6c 09 + 2c d3 8d c3 be f5 d2 0a + 93 99 26 ed 4f 74 a1 3e + dd fb e1 a1 ce cc 48 94 + af 94 28 c2 b7 b8 88 3f + e4 46 3a 4b c8 5b 1c b3 + c1 +# prime1 + 02 41 + 00 ee cf ae 81 b1 b9 b3 + c9 08 81 0b 10 a1 b5 60 + 01 99 eb 9f 44 ae f4 fd + a4 93 b8 1a 9e 3d 84 f6 + 32 12 4e f0 23 6e 5d 1e + 3b 7e 28 fa e7 aa 04 0a + 2d 5b 25 21 76 45 9d 1f + 39 75 41 ba 2a 58 fb 65 + 99 +# prime2 + 02 41 + 00 c9 7f b1 f0 27 f4 53 + f6 34 12 33 ea aa d1 d9 + 35 3f 6c 42 d0 88 66 b1 + d0 5a 0f 20 35 02 8b 9d + 86 98 40 b4 16 66 b4 2e + 92 ea 0d a3 b4 32 04 b5 + cf ce 33 52 52 4d 04 16 + a5 a4 41 e7 00 af 46 15 + 03 +# exponent1 + 02 40 + 54 49 4c a6 3e ba 03 37 + e4 e2 40 23 fc d6 9a 5a + eb 07 dd dc 01 83 a4 d0 + ac 9b 54 b0 51 f2 b1 3e + d9 49 09 75 ea b7 74 14 + ff 59 c1 f7 69 2e 9a 2e + 20 2b 38 fc 91 0a 47 41 + 74 ad c9 3c 1f 67 c9 81 +# exponent2 + 02 40 + 47 1e 02 90 ff 0a f0 75 + 03 51 b7 f8 78 86 4c a9 + 61 ad bd 3a 8a 7e 99 1c + 5c 05 56 a9 4c 31 46 a7 + f9 80 3f 8f 6f 8a e3 42 + e9 31 fd 8a e4 7a 22 0d + 1b 99 a4 95 84 98 07 fe + 39 f9 24 5a 98 36 da 3d +# coefficient + 02 41 + 00 b0 6c 4f da bb 63 01 + 19 8d 26 5b db ae 94 23 + b3 80 f2 71 f7 34 53 88 + 50 93 07 7f cd 39 e2 11 + 9f c9 86 32 15 4f 58 83 + b1 67 a9 67 bf 40 2b 4e + 9e 2e 0f 96 56 e6 98 ea + 36 66 ed fb 25 79 80 39 + f7 + +# ------------------------ +# PrivateKeyInfo (PKCS #8) +# ------------------------ +30 82 02 75 +# version + 02 01 + 00 +# privateKeyAlgorithmIdentifier + 30 0d + 06 09 + 2a 86 48 86 f7 0d 01 01 01 +# parameters + 05 00 +# privateKey = RSAPrivateKey encoding + 04 82 02 5f +# DER encoding of RSAPrivateKey structure + 30 82 02 5b ... 79 80 39 f7 + +# ============================================= diff --git a/testvectors/rsa-pkcs-1v2-1-vec/oaep-vect.txt b/testvectors/rsa-pkcs-1v2-1-vec/oaep-vect.txt new file mode 100644 index 0000000..e92120c --- /dev/null +++ b/testvectors/rsa-pkcs-1v2-1-vec/oaep-vect.txt @@ -0,0 +1,2212 @@ +========================= +TEST VECTORS FOR RSA-OAEP +========================= + +# This file contains test vectors for the +# RSAES-OAEP encryption scheme as defined in +# PKCS #1 v2.1. 10 RSA keys of different sizes +# have been generated. For each key, 6 random +# messages of length between 1 and 64 octets +# have been RSAES-OAEP encrypted via a random +# seed of length 20 octets. +# +# The underlying hash function is SHA-1; the +# mask generation function is MGF1 with SHA-1 +# as specified in PKCS #1 v2.1. +# +# Integers are represented by strings of octets +# with the leftmost octet being the most +# significant octet. For example, +# +# 9,202,000 = (0x)8c 69 50. +# +# Key lengths: +# +# Key 1: 1024 bits +# Key 2: 1025 bits +# Key 3: 1026 bits +# Key 4: 1027 bits +# Key 5: 1028 bits +# Key 6: 1029 bits +# Key 7: 1030 bits +# Key 8: 1031 bits +# Key 9: 1536 bits +# Key 10: 2048 bits +# ============================================= + +# ================================== +# Example 1: A 1024-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +a8 b3 b2 84 af 8e b5 0b 38 70 34 a8 60 f1 46 c4 +91 9f 31 87 63 cd 6c 55 98 c8 ae 48 11 a1 e0 ab +c4 c7 e0 b0 82 d6 93 a5 e7 fc ed 67 5c f4 66 85 +12 77 2c 0c bc 64 a7 42 c6 c6 30 f5 33 c8 cc 72 +f6 2a e8 33 c4 0b f2 58 42 e9 84 bb 78 bd bf 97 +c0 10 7d 55 bd b6 62 f5 c4 e0 fa b9 84 5c b5 14 +8e f7 39 2d d3 aa ff 93 ae 1e 6b 66 7b b3 d4 24 +76 16 d4 f5 ba 10 d4 cf d2 26 de 88 d3 9f 16 fb + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +53 33 9c fd b7 9f c8 46 6a 65 5c 73 16 ac a8 5c +55 fd 8f 6d d8 98 fd af 11 95 17 ef 4f 52 e8 fd +8e 25 8d f9 3f ee 18 0f a0 e4 ab 29 69 3c d8 3b +15 2a 55 3d 4a c4 d1 81 2b 8b 9f a5 af 0e 7f 55 +fe 73 04 df 41 57 09 26 f3 31 1f 15 c4 d6 5a 73 +2c 48 31 16 ee 3d 3d 2d 0a f3 54 9a d9 bf 7c bf +b7 8a d8 84 f8 4d 5b eb 04 72 4d c7 36 9b 31 de +f3 7d 0c f5 39 e9 cf cd d3 de 65 37 29 ea d5 d1 + +# Prime p: +d3 27 37 e7 26 7f fe 13 41 b2 d5 c0 d1 50 a8 1b +58 6f b3 13 2b ed 2f 8d 52 62 86 4a 9c b9 f3 0a +f3 8b e4 48 59 8d 41 3a 17 2e fb 80 2c 21 ac f1 +c1 1c 52 0c 2f 26 a4 71 dc ad 21 2e ac 7c a3 9d + +# Prime q: +cc 88 53 d1 d5 4d a6 30 fa c0 04 f4 71 f2 81 c7 +b8 98 2d 82 24 a4 90 ed be b3 3d 3e 3d 5c c9 3c +47 65 70 3d 1d d7 91 64 2f 1f 11 6a 0d d8 52 be +24 19 b2 af 72 bf e9 a0 30 e8 60 b0 28 8b 5d 77 + +# p's CRT exponent dP: +0e 12 bf 17 18 e9 ce f5 59 9b a1 c3 88 2f e8 04 +6a 90 87 4e ef ce 8f 2c cc 20 e4 f2 74 1f b0 a3 +3a 38 48 ae c9 c9 30 5f be cb d2 d7 68 19 96 7d +46 71 ac c6 43 1e 40 37 96 8d b3 78 78 e6 95 c1 + +# q's CRT exponent dQ: +95 29 7b 0f 95 a2 fa 67 d0 07 07 d6 09 df d4 fc +05 c8 9d af c2 ef 6d 6e a5 5b ec 77 1e a3 33 73 +4d 92 51 e7 90 82 ec da 86 6e fe f1 3c 45 9e 1a +63 13 86 b7 e3 54 c8 99 f5 f1 12 ca 85 d7 15 83 + +# CRT coefficient qInv: +4f 45 6c 50 24 93 bd c0 ed 2a b7 56 a3 a6 ed 4d +67 35 2a 69 7d 42 16 e9 32 12 b1 27 a6 3d 54 11 +ce 6f a9 8d 5d be fd 73 26 3e 37 28 14 27 43 81 +81 66 ed 7d d6 36 87 dd 2a 8c a1 d2 f4 fb d8 e1 + +# --------------------------------- +# RSAES-OAEP Encryption Example 1.1 +# --------------------------------- + +# Message to be encrypted: +66 28 19 4e 12 07 3d b0 3b a9 4c da 9e f9 53 23 +97 d5 0d ba 79 b9 87 00 4a fe fe 34 + +# Seed: +18 b7 76 ea 21 06 9d 69 77 6a 33 e9 6b ad 48 e1 +dd a0 a5 ef + +# Encryption: +35 4f e6 7b 4a 12 6d 5d 35 fe 36 c7 77 79 1a 3f +7b a1 3d ef 48 4e 2d 39 08 af f7 22 fa d4 68 fb +21 69 6d e9 5d 0b e9 11 c2 d3 17 4f 8a fc c2 01 +03 5f 7b 6d 8e 69 40 2d e5 45 16 18 c2 1a 53 5f +a9 d7 bf c5 b8 dd 9f c2 43 f8 cf 92 7d b3 13 22 +d6 e8 81 ea a9 1a 99 61 70 e6 57 a0 5a 26 64 26 +d9 8c 88 00 3f 84 77 c1 22 70 94 a0 d9 fa 1e 8c +40 24 30 9c e1 ec cc b5 21 00 35 d4 7a c7 2e 8a + +# --------------------------------- +# RSAES-OAEP Encryption Example 1.2 +# --------------------------------- + +# Message to be encrypted: +75 0c 40 47 f5 47 e8 e4 14 11 85 65 23 29 8a c9 +ba e2 45 ef af 13 97 fb e5 6f 9d d5 + +# Seed: +0c c7 42 ce 4a 9b 7f 32 f9 51 bc b2 51 ef d9 25 +fe 4f e3 5f + +# Encryption: +64 0d b1 ac c5 8e 05 68 fe 54 07 e5 f9 b7 01 df +f8 c3 c9 1e 71 6c 53 6f c7 fc ec 6c b5 b7 1c 11 +65 98 8d 4a 27 9e 15 77 d7 30 fc 7a 29 93 2e 3f +00 c8 15 15 23 6d 8d 8e 31 01 7a 7a 09 df 43 52 +d9 04 cd eb 79 aa 58 3a dc c3 1e a6 98 a4 c0 52 +83 da ba 90 89 be 54 91 f6 7c 1a 4e e4 8d c7 4b +bb e6 64 3a ef 84 66 79 b4 cb 39 5a 35 2d 5e d1 +15 91 2d f6 96 ff e0 70 29 32 94 6d 71 49 2b 44 + +# --------------------------------- +# RSAES-OAEP Encryption Example 1.3 +# --------------------------------- + +# Message to be encrypted: +d9 4a e0 83 2e 64 45 ce 42 33 1c b0 6d 53 1a 82 +b1 db 4b aa d3 0f 74 6d c9 16 df 24 d4 e3 c2 45 +1f ff 59 a6 42 3e b0 e1 d0 2d 4f e6 46 cf 69 9d +fd 81 8c 6e 97 b0 51 + +# Seed: +25 14 df 46 95 75 5a 67 b2 88 ea f4 90 5c 36 ee +c6 6f d2 fd + +# Encryption: +42 37 36 ed 03 5f 60 26 af 27 6c 35 c0 b3 74 1b +36 5e 5f 76 ca 09 1b 4e 8c 29 e2 f0 be fe e6 03 +59 5a a8 32 2d 60 2d 2e 62 5e 95 eb 81 b2 f1 c9 +72 4e 82 2e ca 76 db 86 18 cf 09 c5 34 35 03 a4 +36 08 35 b5 90 3b c6 37 e3 87 9f b0 5e 0e f3 26 +85 d5 ae c5 06 7c d7 cc 96 fe 4b 26 70 b6 ea c3 +06 6b 1f cf 56 86 b6 85 89 aa fb 7d 62 9b 02 d8 +f8 62 5c a3 83 36 24 d4 80 0f b0 81 b1 cf 94 eb + +# --------------------------------- +# RSAES-OAEP Encryption Example 1.4 +# --------------------------------- + +# Message to be encrypted: +52 e6 50 d9 8e 7f 2a 04 8b 4f 86 85 21 53 b9 7e +01 dd 31 6f 34 6a 19 f6 7a 85 + +# Seed: +c4 43 5a 3e 1a 18 a6 8b 68 20 43 62 90 a3 7c ef +b8 5d b3 fb + +# Encryption: +45 ea d4 ca 55 1e 66 2c 98 00 f1 ac a8 28 3b 05 +25 e6 ab ae 30 be 4b 4a ba 76 2f a4 0f d3 d3 8e +22 ab ef c6 97 94 f6 eb bb c0 5d db b1 12 16 24 +7d 2f 41 2f d0 fb a8 7c 6e 3a cd 88 88 13 64 6f +d0 e4 8e 78 52 04 f9 c3 f7 3d 6d 82 39 56 27 22 +dd dd 87 71 fe c4 8b 83 a3 1e e6 f5 92 c4 cf d4 +bc 88 17 4f 3b 13 a1 12 aa e3 b9 f7 b8 0e 0f c6 +f7 25 5b a8 80 dc 7d 80 21 e2 2a d6 a8 5f 07 55 + +# --------------------------------- +# RSAES-OAEP Encryption Example 1.5 +# --------------------------------- + +# Message to be encrypted: +8d a8 9f d9 e5 f9 74 a2 9f ef fb 46 2b 49 18 0f +6c f9 e8 02 + +# Seed: +b3 18 c4 2d f3 be 0f 83 fe a8 23 f5 a7 b4 7e d5 +e4 25 a3 b5 + +# Encryption: +36 f6 e3 4d 94 a8 d3 4d aa cb a3 3a 21 39 d0 0a +d8 5a 93 45 a8 60 51 e7 30 71 62 00 56 b9 20 e2 +19 00 58 55 a2 13 a0 f2 38 97 cd cd 73 1b 45 25 +7c 77 7f e9 08 20 2b ef dd 0b 58 38 6b 12 44 ea +0c f5 39 a0 5d 5d 10 32 9d a4 4e 13 03 0f d7 60 +dc d6 44 cf ef 20 94 d1 91 0d 3f 43 3e 1c 7c 6d +d1 8b c1 f2 df 7f 64 3d 66 2f b9 dd 37 ea d9 05 +91 90 f4 fa 66 ca 39 e8 69 c4 eb 44 9c bd c4 39 + +# --------------------------------- +# RSAES-OAEP Encryption Example 1.6 +# --------------------------------- + +# Message to be encrypted: +26 52 10 50 84 42 71 + +# Seed: +e4 ec 09 82 c2 33 6f 3a 67 7f 6a 35 61 74 eb 0c +e8 87 ab c2 + +# Encryption: +42 ce e2 61 7b 1e ce a4 db 3f 48 29 38 6f bd 61 +da fb f0 38 e1 80 d8 37 c9 63 66 df 24 c0 97 b4 +ab 0f ac 6b df 59 0d 82 1c 9f 10 64 2e 68 1a d0 +5b 8d 78 b3 78 c0 f4 6c e2 fa d6 3f 74 e0 ad 3d +f0 6b 07 5d 7e b5 f5 63 6f 8d 40 3b 90 59 ca 76 +1b 5c 62 bb 52 aa 45 00 2e a7 0b aa ce 08 de d2 +43 b9 d8 cb d6 2a 68 ad e2 65 83 2b 56 56 4e 43 +a6 fa 42 ed 19 9a 09 97 69 74 2d f1 53 9e 82 55 + +# ============================================= + +# ================================== +# Example 2: A 1025-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +01 94 7c 7f ce 90 42 5f 47 27 9e 70 85 1f 25 d5 +e6 23 16 fe 8a 1d f1 93 71 e3 e6 28 e2 60 54 3e +49 01 ef 60 81 f6 8c 0b 81 41 19 0d 2a e8 da ba +7d 12 50 ec 6d b6 36 e9 44 ec 37 22 87 7c 7c 1d +0a 67 f1 4b 16 94 c5 f0 37 94 51 a4 3e 49 a3 2d +de 83 67 0b 73 da 91 a1 c9 9b c2 3b 43 6a 60 05 +5c 61 0f 0b af 99 c1 a0 79 56 5b 95 a3 f1 52 66 +32 d1 d4 da 60 f2 0e da 25 e6 53 c4 f0 02 76 6f +45 + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +08 23 f2 0f ad b5 da 89 08 8a 9d 00 89 3e 21 fa +4a 1b 11 fb c9 3c 64 a3 be 0b aa ea 97 fb 3b 93 +c3 ff 71 37 04 c1 9c 96 3c 1d 10 7a ae 99 05 47 +39 f7 9e 02 e1 86 de 86 f8 7a 6d de fe a6 d8 cc +d1 d3 c8 1a 47 bf a7 25 5b e2 06 01 a4 a4 b2 f0 +8a 16 7b 5e 27 9d 71 5b 1b 45 5b dd 7e ab 24 59 +41 d9 76 8b 9a ce fb 3c cd a5 95 2d a3 ce e7 25 +25 b4 50 16 63 a8 ee 15 c9 e9 92 d9 24 62 fe 39 + +# Prime p: +01 59 db de 04 a3 3e f0 6f b6 08 b8 0b 19 0f 4d +3e 22 bc c1 3a c8 e4 a0 81 03 3a bf a4 16 ed b0 +b3 38 aa 08 b5 73 09 ea 5a 52 40 e7 dc 6e 54 37 +8c 69 41 4c 31 d9 7d db 1f 40 6d b3 76 9c c4 1a +43 + +# Prime q: +01 2b 65 2f 30 40 3b 38 b4 09 95 fd 6f f4 1a 1a +cc 8a da 70 37 32 36 b7 20 2d 39 b2 ee 30 cf b4 +6d b0 95 11 f6 f3 07 cc 61 cc 21 60 6c 18 a7 5b +8a 62 f8 22 df 03 1b a0 df 0d af d5 50 6f 56 8b +d7 + +# p's CRT exponent dP: +43 6e f5 08 de 73 65 19 c2 da 4c 58 0d 98 c8 2c +b7 45 2a 3f b5 ef ad c3 b9 c7 78 9a 1b c6 58 4f +79 5a dd bb d3 24 39 c7 46 86 55 2e cb 6c 2c 30 +7a 4d 3a f7 f5 39 ee c1 57 24 8c 7b 31 f1 a2 55 + +# q's CRT exponent dQ: +01 2b 15 a8 9f 3d fb 2b 39 07 3e 73 f0 2b dd 0c +1a 7b 37 9d d4 35 f0 5c dd e2 ef f9 e4 62 94 8b +7c ec 62 ee 90 50 d5 e0 81 6e 07 85 a8 56 b4 91 +08 dc b7 5f 36 83 87 4d 1c a6 32 9a 19 01 30 66 +ff + +# CRT coefficient qInv: +02 70 db 17 d5 91 4b 01 8d 76 11 8b 24 38 9a 73 +50 ec 83 6b 00 63 a2 17 21 23 6f d8 ed b6 d8 9b +51 e7 ee b8 7b 61 1b 71 32 cb 7e a7 35 6c 23 15 +1c 1e 77 51 50 7c 78 6d 9e e1 79 41 70 a8 c8 e8 + +# --------------------------------- +# RSAES-OAEP Encryption Example 2.1 +# --------------------------------- + +# Message to be encrypted: +8f f0 0c aa 60 5c 70 28 30 63 4d 9a 6c 3d 42 c6 +52 b5 8c f1 d9 2f ec 57 0b ee e7 + +# Seed: +8c 40 7b 5e c2 89 9e 50 99 c5 3e 8c e7 93 bf 94 +e7 1b 17 82 + +# Encryption: +01 81 af 89 22 b9 fc b4 d7 9d 92 eb e1 98 15 99 +2f c0 c1 43 9d 8b cd 49 13 98 a0 f4 ad 3a 32 9a +5b d9 38 55 60 db 53 26 83 c8 b7 da 04 e4 b1 2a +ed 6a ac df 47 1c 34 c9 cd a8 91 ad dc c2 df 34 +56 65 3a a6 38 2e 9a e5 9b 54 45 52 57 eb 09 9d +56 2b be 10 45 3f 2b 6d 13 c5 9c 02 e1 0f 1f 8a +bb 5d a0 d0 57 09 32 da cf 2d 09 01 db 72 9d 0f +ef cc 05 4e 70 96 8e a5 40 c8 1b 04 bc ae fe 72 +0e + +# --------------------------------- +# RSAES-OAEP Encryption Example 2.2 +# --------------------------------- + +# Message to be encrypted: +2d + +# Seed: +b6 00 cf 3c 2e 50 6d 7f 16 77 8c 91 0d 3a 8b 00 +3e ee 61 d5 + +# Encryption: +01 87 59 ff 1d f6 3b 27 92 41 05 62 31 44 16 a8 +ae af 2a c6 34 b4 6f 94 0a b8 2d 64 db f1 65 ee +e3 30 11 da 74 9d 4b ab 6e 2f cd 18 12 9c 9e 49 +27 7d 84 53 11 2b 42 9a 22 2a 84 71 b0 70 99 39 +98 e7 58 86 1c 4d 3f 6d 74 9d 91 c4 29 0d 33 2c +7a 4a b3 f7 ea 35 ff 3a 07 d4 97 c9 55 ff 0f fc +95 00 6b 62 c6 d2 96 81 0d 9b fa b0 24 19 6c 79 +34 01 2c 2d f9 78 ef 29 9a ba 23 99 40 cb a1 02 +45 + +# --------------------------------- +# RSAES-OAEP Encryption Example 2.3 +# --------------------------------- + +# Message to be encrypted: +74 fc 88 c5 1b c9 0f 77 af 9d 5e 9a 4a 70 13 3d +4b 4e 0b 34 da 3c 37 c7 ef 8e + +# Seed: +a7 37 68 ae ea a9 1f 9d 8c 1e d6 f9 d2 b6 34 67 +f0 7c ca e3 + +# Encryption: +01 88 02 ba b0 4c 60 32 5e 81 c4 96 23 11 f2 be +7c 2a dc e9 30 41 a0 07 19 c8 8f 95 75 75 f2 c7 +9f 1b 7b c8 ce d1 15 c7 06 b3 11 c0 8a 2d 98 6c +a3 b6 a9 33 6b 14 7c 29 c6 f2 29 40 9d de c6 51 +bd 1f dd 5a 0b 7f 61 0c 99 37 fd b4 a3 a7 62 36 +4b 8b 32 06 b4 ea 48 5f d0 98 d0 8f 63 d4 aa 8b +b2 69 7d 02 7b 75 0c 32 d7 f7 4e af 51 80 d2 e9 +b6 6b 17 cb 2f a5 55 23 bc 28 0d a1 0d 14 be 20 +53 + +# --------------------------------- +# RSAES-OAEP Encryption Example 2.4 +# --------------------------------- + +# Message to be encrypted: +a7 eb 2a 50 36 93 1d 27 d4 e8 91 32 6d 99 69 2f +fa dd a9 bf 7e fd 3e 34 e6 22 c4 ad c0 85 f7 21 +df e8 85 07 2c 78 a2 03 b1 51 73 9b e5 40 fa 8c +15 3a 10 f0 0a + +# Seed: +9a 7b 3b 0e 70 8b d9 6f 81 90 ec ab 4f b9 b2 b3 +80 5a 81 56 + +# Encryption: +00 a4 57 8c bc 17 63 18 a6 38 fb a7 d0 1d f1 57 +46 af 44 d4 f6 cd 96 d7 e7 c4 95 cb f4 25 b0 9c +64 9d 32 bf 88 6d a4 8f ba f9 89 a2 11 71 87 ca +fb 1f b5 80 31 76 90 e3 cc d4 46 92 0b 7a f8 2b +31 db 58 04 d8 7d 01 51 4a cb fa 91 56 e7 82 f8 +67 f6 be d9 44 9e 0e 9a 2c 09 bc ec c6 aa 08 76 +36 96 5e 34 b3 ec 76 6f 2f e2 e4 30 18 a2 fd de +b1 40 61 6a 0e 9d 82 e5 33 10 24 ee 06 52 fc 76 +41 + +# --------------------------------- +# RSAES-OAEP Encryption Example 2.5 +# --------------------------------- + +# Message to be encrypted: +2e f2 b0 66 f8 54 c3 3f 3b dc bb 59 94 a4 35 e7 +3d 6c 6c + +# Seed: +eb 3c eb bc 4a dc 16 bb 48 e8 8c 8a ec 0e 34 af +7f 42 7f d3 + +# Encryption: +00 eb c5 f5 fd a7 7c fd ad 3c 83 64 1a 90 25 e7 +7d 72 d8 a6 fb 33 a8 10 f5 95 0f 8d 74 c7 3e 8d +93 1e 86 34 d8 6a b1 24 62 56 ae 07 b6 00 5b 71 +b7 f2 fb 98 35 12 18 33 1c e6 9b 8f fb dc 9d a0 +8b bc 9c 70 4f 87 6d eb 9d f9 fc 2e c0 65 ca d8 +7f 90 90 b0 7a cc 17 aa 7f 99 7b 27 ac a4 88 06 +e8 97 f7 71 d9 51 41 fe 45 26 d8 a5 30 1b 67 86 +27 ef ab 70 7f d4 0f be bd 6e 79 2a 25 61 3e 7a +ec + +# --------------------------------- +# RSAES-OAEP Encryption Example 2.6 +# --------------------------------- + +# Message to be encrypted: +8a 7f b3 44 c8 b6 cb 2c f2 ef 1f 64 3f 9a 32 18 +f6 e1 9b ba 89 c0 + +# Seed: +4c 45 cf 4d 57 c9 8e 3d 6d 20 95 ad c5 1c 48 9e +b5 0d ff 84 + +# Encryption: +01 08 39 ec 20 c2 7b 90 52 e5 5b ef b9 b7 7e 6f +c2 6e 90 75 d7 a5 43 78 c6 46 ab df 51 e4 45 bd +57 15 de 81 78 9f 56 f1 80 3d 91 70 76 4a 9e 93 +cb 78 79 86 94 02 3e e7 39 3c e0 4b c5 d8 f8 c5 +a5 2c 17 1d 43 83 7e 3a ca 62 f6 09 eb 0a a5 ff +b0 96 0e f0 41 98 dd 75 4f 57 f7 fb e6 ab f7 65 +cf 11 8b 4c a4 43 b2 3b 5a ab 26 6f 95 23 26 ac +45 81 10 06 44 32 5f 8b 72 1a cd 5d 04 ff 14 ef +3a + +# ============================================= + +# ================================== +# Example 3: A 1026-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +02 b5 8f ec 03 9a 86 07 00 a4 d7 b6 46 2f 93 e6 +cd d4 91 16 1d dd 74 f4 e8 10 b4 0e 3c 16 52 00 +6a 5c 27 7b 27 74 c1 13 05 a4 cb ab 5a 78 ef a5 +7e 17 a8 6d f7 a3 fa 36 fc 4b 1d 22 49 f2 2e c7 +c2 dd 6a 46 32 32 ac ce a9 06 d6 6e be 80 b5 70 +4b 10 72 9d a6 f8 33 23 4a bb 5e fd d4 a2 92 cb +fa d3 3b 4d 33 fa 7a 14 b8 c3 97 b5 6e 3a cd 21 +20 34 28 b7 7c df a3 3a 6d a7 06 b3 d8 b0 fc 43 +e9 + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +15 b4 8a 5b 56 83 a9 46 70 e2 3b 57 18 f8 14 fa +0e 13 f8 50 38 f5 07 11 18 2c ba 61 51 05 81 f3 +d2 2c 7e 23 2e f9 37 e2 2e 55 1d 68 b8 6e 2f 8c +b1 aa d8 be 2e 48 8f 5d f7 ef d2 79 e3 f5 68 d4 +ea f3 6f 80 cf 71 41 ac e6 0f cc 91 13 fb 6c 4a +84 1f d5 0b bc 7c 51 2f fc be ff 21 48 7a a8 11 +eb 3c a8 c6 20 05 34 6a 86 de 86 bf a1 d8 a9 48 +fd 3f 34 8c 22 ea ad f3 33 c3 ce 6c e1 32 08 fd + +# Prime p: +01 bf 01 d2 16 d7 35 95 cf 02 70 c2 be b7 8d 40 +a0 d8 44 7d 31 da 91 9a 98 3f 7e ea 78 1b 77 d8 +5f e3 71 b3 e9 37 3e 7b 69 21 7d 31 50 a0 2d 89 +58 de 7f ad 9d 55 51 60 95 8b 44 54 12 7e 0e 7e +af + +# Prime q: +01 8d 33 99 65 81 66 db 38 29 81 6d 7b 29 54 16 +75 9e 9c 91 98 7f 5b 2d 8a ec d6 3b 04 b4 8b d7 +b2 fc f2 29 bb 7f 8a 6d c8 8b a1 3d d2 e3 9a d5 +5b 6d 1a 06 16 07 08 f9 70 0b e8 0b 8f d3 74 4c +e7 + +# p's CRT exponent dP: +06 c0 a2 49 d2 0a 6f 2e e7 5c 88 b4 94 d5 3f 6a +ae 99 aa 42 7c 88 c2 8b 16 3a 76 94 45 e5 f3 90 +cf 40 c2 74 fd 6e a6 32 9a 5c e7 c7 ce 03 a2 15 +83 96 ee 2a 78 45 78 6e 09 e2 88 5a 97 28 e4 e5 + +# q's CRT exponent dQ: +d1 d2 7c 29 fe dd 92 d8 6c 34 8e dd 0c cb fa c1 +4f 74 6e 05 1c e1 d1 81 1d f3 5d 61 f2 ee 1c 97 +d4 bf 28 04 80 2f 64 27 18 7b a8 e9 0a 8a f4 42 +43 b4 07 9b 03 44 5e 60 2e 29 fa 51 93 e6 4f e9 + +# CRT coefficient qInv: +8c b2 f7 56 bd 89 41 b1 d3 b7 70 e5 ad 31 ee 37 +3b 28 ac da 69 ff 9b 6f 40 fe 57 8b 9f 1a fb 85 +83 6f 96 27 d3 7a cf f7 3c 27 79 e6 34 bb 26 01 +1c 2c 8f 7f 33 61 ae 2a 9e a6 5e d6 89 e3 63 9a + +# --------------------------------- +# RSAES-OAEP Encryption Example 3.1 +# --------------------------------- + +# Message to be encrypted: +08 78 20 b5 69 e8 fa 8d + +# Seed: +8c ed 6b 19 62 90 80 57 90 e9 09 07 40 15 e6 a2 +0b 0c 48 94 + +# Encryption: +02 6a 04 85 d9 6a eb d9 6b 43 82 08 50 99 b9 62 +e6 a2 bd ec 3d 90 c8 db 62 5e 14 37 2d e8 5e 2d +5b 7b aa b6 5c 8f af 91 bb 55 04 fb 49 5a fc e5 +c9 88 b3 f6 a5 2e 20 e1 d6 cb d3 56 6c 5c d1 f2 +b8 31 8b b5 42 cc 0e a2 5c 4a ab 99 32 af a2 07 +60 ea dd ec 78 43 96 a0 7e a0 ef 24 d4 e6 f4 d3 +7e 50 52 a7 a3 1e 14 6a a4 80 a1 11 bb e9 26 40 +13 07 e0 0f 41 00 33 84 2b 6d 82 fe 5c e4 df ae +80 + +# --------------------------------- +# RSAES-OAEP Encryption Example 3.2 +# --------------------------------- + +# Message to be encrypted: +46 53 ac af 17 19 60 b0 1f 52 a7 be 63 a3 ab 21 +dc 36 8e c4 3b 50 d8 2e c3 78 1e 04 + +# Seed: +b4 29 1d 65 67 55 08 48 cc 15 69 67 c8 09 ba ab +6c a5 07 f0 + +# Encryption: +02 4d b8 9c 78 02 98 9b e0 78 38 47 86 30 84 94 +1b f2 09 d7 61 98 7e 38 f9 7c b5 f6 f1 bc 88 da +72 a5 0b 73 eb af 11 c8 79 c4 f9 5d f3 7b 85 0b +8f 65 d7 62 2e 25 b1 b8 89 e8 0f e8 0b ac a2 06 +9d 6e 0e 1d 82 99 53 fc 45 90 69 de 98 ea 97 98 +b4 51 e5 57 e9 9a bf 8f e3 d9 cc f9 09 6e bb f3 +e5 25 5d 3b 4e 1c 6d 2e ca df 06 7a 35 9e ea 86 +40 5a cd 47 d5 e1 65 51 7c ca fd 47 d6 db ee 4b +f5 + +# --------------------------------- +# RSAES-OAEP Encryption Example 3.3 +# --------------------------------- + +# Message to be encrypted: +d9 4c d0 e0 8f a4 04 ed 89 + +# Seed: +ce 89 28 f6 05 95 58 25 40 08 ba dd 97 94 fa dc +d2 fd 1f 65 + +# Encryption: +02 39 bc e6 81 03 24 41 52 88 77 d6 d1 c8 bb 28 +aa 3b c9 7f 1d f5 84 56 36 18 99 57 97 68 38 44 +ca 86 66 47 32 f4 be d7 a0 aa b0 83 aa ab fb 72 +38 f5 82 e3 09 58 c2 02 4e 44 e5 70 43 b9 79 50 +fd 54 3d a9 77 c9 0c dd e5 33 7d 61 84 42 f9 9e +60 d7 78 3a b5 9c e6 dd 9d 69 c4 7a d1 e9 62 be +c2 2d 05 89 5c ff 8d 3f 64 ed 52 61 d9 2b 26 78 +51 03 93 48 49 90 ba 3f 7f 06 81 8a e6 ff ce 8a +3a + +# --------------------------------- +# RSAES-OAEP Encryption Example 3.4 +# --------------------------------- + +# Message to be encrypted: +6c c6 41 b6 b6 1e 6f 96 39 74 da d2 3a 90 13 28 +4e f1 + +# Seed: +6e 29 79 f5 2d 68 14 a5 7d 83 b0 90 05 48 88 f1 +19 a5 b9 a3 + +# Encryption: +02 99 4c 62 af d7 6f 49 8b a1 fd 2c f6 42 85 7f +ca 81 f4 37 3c b0 8f 1c ba ee 6f 02 5c 3b 51 2b +42 c3 e8 77 91 13 47 66 48 03 9d be 04 93 f9 24 +62 92 fa c2 89 50 60 0e 7c 0f 32 ed f9 c8 1b 9d +ec 45 c3 bd e0 cc 8d 88 47 59 01 69 90 7b 7d c5 +99 1c eb 29 bb 07 14 d6 13 d9 6d f0 f1 2e c5 d8 +d3 50 7c 8e e7 ae 78 dd 83 f2 16 fa 61 de 10 03 +63 ac a4 8a 7e 91 4a e9 f4 2d df be 94 3b 09 d9 +a0 + +# --------------------------------- +# RSAES-OAEP Encryption Example 3.5 +# --------------------------------- + +# Message to be encrypted: +df 51 51 83 2b 61 f4 f2 58 91 fb 41 72 f3 28 d2 +ed df 83 71 ff cf db e9 97 93 92 95 f3 0e ca 69 +18 01 7c fd a1 15 3b f7 a6 af 87 59 32 23 + +# Seed: +2d 76 0b fe 38 c5 9d e3 4c dc 8b 8c 78 a3 8e 66 +28 4a 2d 27 + +# Encryption: +01 62 04 2f f6 96 95 92 a6 16 70 31 81 1a 23 98 +34 ce 63 8a bf 54 fe c8 b9 94 78 12 2a fe 2e e6 +7f 8c 5b 18 b0 33 98 05 bf db c5 a4 e6 72 0b 37 +c5 9c fb a9 42 46 4c 59 7f f5 32 a1 19 82 15 45 +fd 2e 59 b1 14 e6 1d af 71 82 05 29 f5 02 9c f5 +24 95 43 27 c3 4e c5 e6 f5 ba 7e fc c4 de 94 3a +b8 ad 4e d7 87 b1 45 43 29 f7 0d b7 98 a3 a8 f4 +d9 2f 82 74 e2 b2 94 8a de 62 7c e8 ee 33 e4 3c +60 + +# --------------------------------- +# RSAES-OAEP Encryption Example 3.6 +# --------------------------------- + +# Message to be encrypted: +3c 3b ad 89 3c 54 4a 6d 52 0a b0 22 31 91 88 c8 +d5 04 b7 a7 88 b8 50 90 3b 85 97 2e aa 18 55 2e +11 34 a7 ad 60 98 82 62 54 ff 7a b6 72 b3 d8 eb +31 58 fa c6 d4 cb ae f1 + +# Seed: +f1 74 77 9c 5f d3 cf e0 07 ba dc b7 a3 6c 9b 55 +bf cf bf 0e + +# Encryption: +00 11 20 51 e7 5d 06 49 43 bc 44 78 07 5e 43 48 +2f d5 9c ee 06 79 de 68 93 ee c3 a9 43 da a4 90 +b9 69 1c 93 df c0 46 4b 66 23 b9 f3 db d3 e7 00 +83 26 4f 03 4b 37 4f 74 16 4e 1a 00 76 37 25 e5 +74 74 4b a0 b9 db 83 43 4f 31 df 96 f6 e2 a2 6f +6d 8e ba 34 8b d4 68 6c 22 38 ac 07 c3 7a ac 37 +85 d1 c7 ee a2 f8 19 fd 91 49 17 98 ed 8e 9c ef +5e 43 b7 81 b0 e0 27 6e 37 c4 3f f9 49 2d 00 57 +30 + +# ============================================= + +# ================================== +# Example 4: A 1027-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +05 12 40 b6 cc 00 04 fa 48 d0 13 46 71 c0 78 c7 +c8 de c3 b3 e2 f2 5b c2 56 44 67 33 9d b3 88 53 +d0 6b 85 ee a5 b2 de 35 3b ff 42 ac 2e 46 bc 97 +fa e6 ac 96 18 da 95 37 a5 c8 f5 53 c1 e3 57 62 +59 91 d6 10 8d cd 78 85 fb 3a 25 41 3f 53 ef ca +d9 48 cb 35 cd 9b 9a e9 c1 c6 76 26 d1 13 d5 7d +de 4c 5b ea 76 bb 5b b7 de 96 c0 0d 07 37 2e 96 +85 a6 d7 5c f9 d2 39 fa 14 8d 70 93 1b 5f 3f b0 +39 + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +04 11 ff ca 3b 7c a5 e9 e9 be 7f e3 8a 85 10 5e +35 38 96 db 05 c5 79 6a ec d2 a7 25 16 1e b3 65 +1c 86 29 a9 b8 62 b9 04 d7 b0 c7 b3 7f 8c b5 a1 +c2 b5 40 01 01 8a 00 a1 eb 2c af e4 ee 4e 94 92 +c3 48 bc 2b ed ab 4b 9e bb f0 64 e8 ef f3 22 b9 +00 9f 8e ec 65 39 05 f4 0d f8 8a 3c dc 49 d4 56 +7f 75 62 7d 41 ac a6 24 12 9b 46 a0 b7 c6 98 e5 +e6 5f 2b 7b a1 02 c7 49 a1 01 35 b6 54 0d 04 01 + +# Prime p: +02 74 58 c1 9e c1 63 69 19 e7 36 c9 af 25 d6 09 +a5 1b 8f 56 1d 19 c6 bf 69 43 dd 1e e1 ab 8a 4a +3f 23 21 00 bd 40 b8 8d ec c6 ba 23 55 48 b6 ef +79 2a 11 c9 de 82 3d 0a 79 22 c7 09 5b 6e ba 57 +01 + +# Prime q: +02 10 ee 9b 33 ab 61 71 6e 27 d2 51 bd 46 5f 4b +35 a1 a2 32 e2 da 00 90 1c 29 4b f2 23 50 ce 49 +0d 09 9f 64 2b 53 75 61 2d b6 3b a1 f2 03 86 49 +2b f0 4d 34 b3 c2 2b ce b9 09 d1 34 41 b5 3b 51 +39 + +# p's CRT exponent dP: +39 fa 02 8b 82 6e 88 c1 12 1b 75 0a 8b 24 2f a9 +a3 5c 5b 66 bd fd 1f a6 37 d3 cc 48 a8 4a 4f 45 +7a 19 4e 77 27 e4 9f 7b cc 6e 5a 5a 41 26 57 fc +47 0c 73 22 eb c3 74 16 ef 45 8c 30 7a 8c 09 01 + +# q's CRT exponent dQ: +01 5d 99 a8 41 95 94 39 79 fa 9e 1b e2 c3 c1 b6 +9f 43 2f 46 fd 03 e4 7d 5b ef bb bf d6 b1 d1 37 +1d 83 ef b3 30 a3 e0 20 94 2b 2f ed 11 5e 5d 02 +be 24 fd 92 c9 01 9d 1c ec d6 dd 4c f1 e5 4c c8 +99 + +# CRT coefficient qInv: +01 f0 b7 01 51 70 b3 f5 e4 22 23 ba 30 30 1c 41 +a6 d8 7c bb 70 e3 0c b7 d3 c6 7d 25 47 3d b1 f6 +cb f0 3e 3f 91 26 e3 e9 79 68 27 9a 86 5b 2c 2b +42 65 24 cf c5 2a 68 3d 31 ed 30 eb 98 4b e4 12 +ba + +# --------------------------------- +# RSAES-OAEP Encryption Example 4.1 +# --------------------------------- + +# Message to be encrypted: +4a 86 60 95 34 ee 43 4a 6c bc a3 f7 e9 62 e7 6d +45 5e 32 64 c1 9f 60 5f 6e 5f f6 13 7c 65 c5 6d +7f b3 44 cd 52 bc 93 37 4f 3d 16 6c 9f 0c 6f 9c +50 6b ad 19 33 09 72 d2 + +# Seed: +1c ac 19 ce 99 3d ef 55 f9 82 03 f6 85 28 96 c9 +5c cc a1 f3 + +# Encryption: +04 cc e1 96 14 84 5e 09 41 52 a3 fe 18 e5 4e 33 +30 c4 4e 5e fb c6 4a e1 68 86 cb 18 69 01 4c c5 +78 1b 1f 8f 9e 04 53 84 d0 11 2a 13 5c a0 d1 2e +9c 88 a8 e4 06 34 16 de aa e3 84 4f 60 d6 e9 6f +e1 55 14 5f 45 25 b9 a3 44 31 ca 37 66 18 0f 70 +e1 5a 5e 5d 8e 8b 1a 51 6f f8 70 60 9f 13 f8 96 +93 5c ed 18 82 79 a5 8e d1 3d 07 11 42 77 d7 5c +65 68 60 7e 0a b0 92 fd 80 3a 22 3e 4a 8e e0 b1 +a8 + +# --------------------------------- +# RSAES-OAEP Encryption Example 4.2 +# --------------------------------- + +# Message to be encrypted: +b0 ad c4 f3 fe 11 da 59 ce 99 27 73 d9 05 99 43 +c0 30 46 49 7e e9 d9 f9 a0 6d f1 16 6d b4 6d 98 +f5 8d 27 ec 07 4c 02 ee e6 cb e2 44 9c 8b 9f c5 +08 0c 5c 3f 44 33 09 25 12 ec 46 aa 79 37 43 c8 + +# Seed: +f5 45 d5 89 75 85 e3 db 71 aa 0c b8 da 76 c5 1d +03 2a e9 63 + +# Encryption: +00 97 b6 98 c6 16 56 45 b3 03 48 6f bf 5a 2a 44 +79 c0 ee 85 88 9b 54 1a 6f 0b 85 8d 6b 65 97 b1 +3b 85 4e b4 f8 39 af 03 39 9a 80 d7 9b da 65 78 +c8 41 f9 0d 64 57 15 b2 80 d3 71 43 99 2d d1 86 +c8 0b 94 9b 77 5c ae 97 37 0e 4e c9 74 43 13 6c +6d a4 84 e9 70 ff db 13 23 a2 08 47 82 1d 3b 18 +38 1d e1 3b b4 9a ae a6 65 30 c4 a4 b8 27 1f 3e +ae 17 2c d3 66 e0 7e 66 36 f1 01 9d 2a 28 ae d1 +5e + +# --------------------------------- +# RSAES-OAEP Encryption Example 4.3 +# --------------------------------- + +# Message to be encrypted: +bf 6d 42 e7 01 70 7b 1d 02 06 b0 c8 b4 5a 1c 72 +64 1f f1 28 89 21 9a 82 bd ea 96 5b 5e 79 a9 6b +0d 01 63 ed 9d 57 8e c9 ad a2 0f 2f bc f1 ea 3c +40 89 d8 34 19 ba 81 b0 c6 0f 36 06 da 99 + +# Seed: +ad 99 7f ee f7 30 d6 ea 7b e6 0d 0d c5 2e 72 ea +cb fd d2 75 + +# Encryption: +03 01 f9 35 e9 c4 7a bc b4 8a cb be 09 89 5d 9f +59 71 af 14 83 9d a4 ff 95 41 7e e4 53 d1 fd 77 +31 90 72 bb 72 97 e1 b5 5d 75 61 cd 9d 1b b2 4c +1a 9a 37 c6 19 86 43 08 24 28 04 87 9d 86 eb d0 +01 dc e5 18 39 75 e1 50 69 89 b7 0e 5a 83 43 41 +54 d5 cb fd 6a 24 78 7e 60 eb 0c 65 8d 2a c1 93 +30 2d 11 92 c6 e6 22 d4 a1 2a d4 b5 39 23 bc a2 +46 df 31 c6 39 5e 37 70 2c 6a 78 ae 08 1f b9 d0 +65 + +# --------------------------------- +# RSAES-OAEP Encryption Example 4.4 +# --------------------------------- + +# Message to be encrypted: +fb 2e f1 12 f5 e7 66 eb 94 01 92 97 93 47 94 f7 +be 2f 6f c1 c5 8e + +# Seed: +13 64 54 df 57 30 f7 3c 80 7a 7e 40 d8 c1 a3 12 +ac 5b 9d d3 + +# Encryption: +02 d1 10 ad 30 af b7 27 be b6 91 dd 0c f1 7d 0a +f1 a1 e7 fa 0c c0 40 ec 1a 4b a2 6a 42 c5 9d 0a +79 6a 2e 22 c8 f3 57 cc c9 8b 65 19 ac eb 68 2e +94 5e 62 cb 73 46 14 a5 29 40 7c d4 52 be e3 e4 +4f ec e8 42 3c c1 9e 55 54 8b 8b 99 4b 84 9c 7e +cd e4 93 3e 76 03 7e 1d 0c e4 42 75 b0 87 10 c6 +8e 43 01 30 b9 29 73 0e d7 7e 09 b0 15 64 2c 55 +93 f0 4e 4f fb 94 10 79 81 02 a8 e9 6f fd fe 11 +e4 + +# --------------------------------- +# RSAES-OAEP Encryption Example 4.5 +# --------------------------------- + +# Message to be encrypted: +28 cc d4 47 bb 9e 85 16 6d ab b9 e5 b7 d1 ad ad +c4 b9 d3 9f 20 4e 96 d5 e4 40 ce 9a d9 28 bc 1c +22 84 + +# Seed: +bc a8 05 7f 82 4b 2e a2 57 f2 86 14 07 ee f6 3d +33 20 86 81 + +# Encryption: +00 db b8 a7 43 9d 90 ef d9 19 a3 77 c5 4f ae 8f +e1 1e c5 8c 3b 85 83 62 e2 3a d1 b8 a4 43 10 79 +90 66 b9 93 47 aa 52 56 91 d2 ad c5 8d 9b 06 e3 +4f 28 8c 17 03 90 c5 f0 e1 1c 0a a3 64 59 59 f1 +8e e7 9e 8f 2b e8 d7 ac 5c 23 d0 61 f1 8d d7 4b +8c 5f 2a 58 fc b5 eb 0c 54 f9 9f 01 a8 32 47 56 +82 92 53 65 83 34 09 48 d7 a8 c9 7c 4a cd 1e 98 +d1 e2 9d c3 20 e9 7a 26 05 32 a8 aa 7a 75 8a 1e +c2 + +# --------------------------------- +# RSAES-OAEP Encryption Example 4.6 +# --------------------------------- + +# Message to be encrypted: +f2 22 42 75 1e c6 b1 + +# Seed: +2e 7e 1e 17 f6 47 b5 dd d0 33 e1 54 72 f9 0f 68 +12 f3 ac 4e + +# Encryption: +00 a5 ff a4 76 8c 8b be ca ee 2d b7 7e 8f 2e ec +99 59 59 33 54 55 20 83 5e 5b a7 db 94 93 d3 e1 +7c dd ef e6 a5 f5 67 62 44 71 90 8d b4 e2 d8 3a +0f be e6 06 08 fc 84 04 95 03 b2 23 4a 07 dc 83 +b2 7b 22 84 7a d8 92 0f f4 2f 67 4e f7 9b 76 28 +0b 00 23 3d 2b 51 b8 cb 27 03 a9 d4 2b fb c8 25 +0c 96 ec 32 c0 51 e5 7f 1b 4b a5 28 db 89 c3 7e +4c 54 e2 7e 6e 64 ac 69 63 5a e8 87 d9 54 16 19 +a9 + +# ============================================= + +# ================================== +# Example 5: A 1028-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +0a ad f3 f9 c1 25 e5 d8 91 f3 1a c4 48 e9 93 de +fe 58 0f 80 2b 45 f9 d7 f2 2b a5 02 1e 9c 47 57 +6b 5a 1e 68 03 1b a9 db 4e 6d ab e4 d9 6a 1d 6f +3d 26 72 68 cf f4 08 00 5f 11 8e fc ad b9 98 88 +d1 c2 34 46 71 66 b2 a2 b8 49 a0 5a 88 9c 06 0a +c0 da 0c 5f ae 8b 55 f3 09 ba 62 e7 03 74 2f a0 +32 6f 2d 10 b0 11 02 14 89 ff 49 77 70 19 0d 89 +5f d3 9f 52 29 3c 39 ef d7 3a 69 8b da b9 f1 0e +d9 + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +02 56 eb 4c ba 70 67 f2 d2 be 54 0d cd ff 45 82 +a3 6b 7d 31 d1 c9 09 9b b2 14 b7 98 48 46 6a 26 +8f 80 f5 8a 49 ac 04 c0 e3 64 89 34 a0 20 6c 04 +53 7c 19 b2 36 64 3a 60 82 73 21 44 df 75 fa 21 +75 88 f7 94 68 2b e8 91 68 27 6d c7 26 c5 c0 cb +db 84 d3 1b bf 26 d0 a4 3a f4 95 71 7f 7d 52 8a +cf ee 34 15 61 f6 ff 3c ae 05 c5 78 f8 47 0d 96 +82 f9 c0 d0 72 f9 f6 06 8b 56 d5 88 0f 68 2b e2 +c5 + +# Prime p: +03 b0 d3 96 2f 6d 17 54 9c bf ca 11 29 43 48 dc +f0 e7 e3 9f 8c 2b c6 82 4f 21 64 b6 06 d6 87 86 +0d ae 1e 63 23 93 cf ed f5 13 22 82 29 06 9e 2f +60 e4 ac d7 e6 33 a4 36 06 3f 82 38 5f 48 99 37 +07 + +# Prime q: +02 e4 c3 2e 2f 51 72 69 b7 07 23 09 f0 0c 0e 31 +36 5f 7c e2 8b 23 6b 82 91 2d f2 39 ab f3 95 72 +cf 0e d6 04 b0 29 82 e5 35 64 c5 2d 6a 05 39 7d +e5 c0 52 a2 fd dc 14 1e f7 18 98 36 34 6a eb 33 +1f + +# p's CRT exponent dP: +01 e8 4b 11 9d 25 16 1f a6 7b 00 25 6a 5b d9 b6 +45 d2 b2 32 ec b0 5b 01 51 80 02 9a 88 62 2a dc +3f 09 b3 ae ac de 61 61 ab 7c de 22 c2 ad 26 e7 +79 7d f5 4e 07 2c bd 3b 26 73 80 0b 3e 43 38 db +d5 + +# q's CRT exponent dQ: +eb 90 aa 1a 40 13 5b 4c ea 07 19 7c ed c8 81 9b +e1 e7 cb ff 25 47 66 21 16 f4 65 a4 a9 f4 87 ab +12 f3 ba 4f ef 13 82 22 65 a6 52 97 d9 8b 7b de +d9 37 2e 3f fe 81 a3 8b 3e 96 00 fe d0 55 75 4f + +# CRT coefficient qInv: +01 2f 7f 81 38 f9 40 40 62 eb 85 a4 29 24 52 0b +38 f5 bb 88 6a 01 96 f4 8b b8 dc ea 60 fd 92 cc +02 7f 18 e7 81 58 a3 4a 5c 5d 5f 86 0a 0f 6c 04 +07 1a 7d 01 31 2c 06 50 62 f1 eb 48 b7 9d 1c 83 +cb + +# --------------------------------- +# RSAES-OAEP Encryption Example 5.1 +# --------------------------------- + +# Message to be encrypted: +af 71 a9 01 e3 a6 1d 31 32 f0 fc 1f db 47 4f 9e +a6 57 92 57 ff c2 4d 16 41 70 14 5b 3d bd e8 + +# Seed: +44 c9 2e 28 3f 77 b9 49 9c 60 3d 96 36 60 c8 7d +2f 93 94 61 + +# Encryption: +03 60 46 a4 a4 7d 9e d3 ba 9a 89 13 9c 10 50 38 +eb 74 92 b0 5a 5d 68 bf d5 3a cc ff 45 97 f7 a6 +86 51 b4 7b 4a 46 27 d9 27 e4 85 ee d7 b4 56 64 +20 e8 b4 09 87 9e 5d 60 6e ae 25 1d 22 a5 df 79 +9f 79 20 bf c1 17 b9 92 57 2a 53 b1 26 31 46 bc +ea 03 38 5c c5 e8 53 c9 a1 01 c8 c3 e1 bd a3 1a +51 98 07 49 6c 6c b5 e5 ef b4 08 82 3a 35 2b 8f +a0 66 1f b6 64 ef ad d5 93 de b9 9f ff 5e d0 00 +e5 + +# --------------------------------- +# RSAES-OAEP Encryption Example 5.2 +# --------------------------------- + +# Message to be encrypted: +a3 b8 44 a0 82 39 a8 ac 41 60 5a f1 7a 6c fd a4 +d3 50 13 65 85 90 3a 41 7a 79 26 87 60 51 9a 4b +4a c3 30 3e c7 3f 0f 87 cf b3 23 99 + +# Seed: +cb 28 f5 86 06 59 fc ee e4 9c 3e ea fc e6 25 a7 +08 03 bd 32 + +# Encryption: +03 d6 eb 65 4e dc e6 15 bc 59 f4 55 26 5e d4 e5 +a1 82 23 cb b9 be 4e 40 69 b4 73 80 4d 5d e9 6f +54 dc aa a6 03 d0 49 c5 d9 4a a1 47 0d fc d2 25 +40 66 b7 c7 b6 1f f1 f6 f6 77 0e 32 15 c5 13 99 +fd 4e 34 ec 50 82 bc 48 f0 89 84 0a d0 43 54 ae +66 dc 0f 1b d1 8e 46 1a 33 cc 12 58 b4 43 a2 83 +7a 6d f2 67 59 aa 23 02 33 49 86 f8 73 80 c9 cc +9d 53 be 9f 99 60 5d 2c 9a 97 da 7b 09 15 a4 a7 +ad + +# --------------------------------- +# RSAES-OAEP Encryption Example 5.3 +# --------------------------------- + +# Message to be encrypted: +30 8b 0e cb d2 c7 6c b7 7f c6 f7 0c 5e dd 23 3f +d2 f2 09 29 d6 29 f0 26 95 3b b6 2a 8f 4a 3a 31 +4b de 19 5d e8 5b 5f 81 6d a2 aa b0 74 d2 6c b6 +ac dd f3 23 ae 3b 9c 67 8a c3 cf 12 fb dd e7 + +# Seed: +22 85 f4 0d 77 04 82 f9 a9 ef a2 c7 2c b3 ac 55 +71 6d c0 ca + +# Encryption: +07 70 95 21 81 64 9f 9f 9f 07 ff 62 6f f3 a2 2c +35 c4 62 44 3d 90 5d 45 6a 9f d0 bf f4 3c ac 2c +a7 a9 f5 54 e9 47 8b 9a cc 3a c8 38 b0 20 40 ff +d3 e1 84 7d e2 e4 25 39 29 f9 dd 9e e4 04 43 25 +a9 b0 5c ab b8 08 b2 ee 84 0d 34 e1 5d 10 5a 3f +1f 7b 27 69 5a 1a 07 a2 d7 3f e0 8e ca aa 3c 9c +9d 4d 5a 89 ff 89 0d 54 72 7d 7a e4 0c 0e c1 a8 +dd 86 16 5d 8e e2 c6 36 81 41 01 6a 48 b5 5b 69 +67 + +# --------------------------------- +# RSAES-OAEP Encryption Example 5.4 +# --------------------------------- + +# Message to be encrypted: +15 c5 b9 ee 11 85 + +# Seed: +49 fa 45 d3 a7 8d d1 0d fd 57 73 99 d1 eb 00 af +7e ed 55 13 + +# Encryption: +08 12 b7 67 68 eb cb 64 2d 04 02 58 e5 f4 44 1a +01 85 21 bd 96 68 7e 6c 5e 89 9f cd 6c 17 58 8f +f5 9a 82 cc 8a e0 3a 4b 45 b3 12 99 af 17 88 c3 +29 f7 dc d2 85 f8 cf 4c ed 82 60 6b 97 61 26 71 +a4 5b ed ca 13 34 42 14 4d 16 17 d1 14 f8 02 85 +7f 0f 9d 73 97 51 c5 7a 3f 9e e4 00 91 2c 61 e2 +e6 99 2b e0 31 a4 3d d4 8f a6 ba 14 ee f7 c4 22 +b5 ed c4 e7 af a0 4f dd 38 f4 02 d1 c8 bb 71 9a +bf + +# --------------------------------- +# RSAES-OAEP Encryption Example 5.5 +# --------------------------------- + +# Message to be encrypted: +21 02 6e 68 00 c7 fa 72 8f ca ab a0 d1 96 ae 28 +d7 a2 ac 4f fd 8a bc e7 94 f0 98 5f 60 c8 a6 73 +72 77 36 5d 3f ea 11 db 89 23 a2 02 9a + +# Seed: +f0 28 74 13 23 4c c5 03 47 24 a0 94 c4 58 6b 87 +af f1 33 fc + +# Encryption: +07 b6 0e 14 ec 95 4b fd 29 e6 0d 00 47 e7 89 f5 +1d 57 18 6c 63 58 99 03 30 67 93 ce d3 f6 82 41 +c7 43 52 9a ba 6a 63 74 f9 2e 19 e0 16 3e fa 33 +69 7e 19 6f 76 61 df aa a4 7a ac 6b de 5e 51 de +b5 07 c7 2c 58 9a 2c a1 69 3d 96 b1 46 03 81 24 +9b 2c db 9e ac 44 76 9f 24 89 c5 d3 d2 f9 9f 0e +e3 c7 ee 5b f6 4a 5a c7 9c 42 bd 43 3f 14 9b e8 +cb 59 54 83 61 64 05 95 51 3c 97 af 7b c2 50 97 +23 + +# --------------------------------- +# RSAES-OAEP Encryption Example 5.6 +# --------------------------------- + +# Message to be encrypted: +54 1e 37 b6 8b 6c 88 72 b8 4c 02 + +# Seed: +d9 fb a4 5c 96 f2 1e 6e 26 d2 9e b2 cd cb 65 85 +be 9c b3 41 + +# Encryption: +08 c3 6d 4d da 33 42 3b 2e d6 83 0d 85 f6 41 1b +a1 dc f4 70 a1 fa e0 eb ef ee 7c 08 9f 25 6c ef +74 cb 96 ea 69 c3 8f 60 f3 9a be e4 41 29 bc b4 +c9 2d e7 f7 97 62 3b 20 07 4e 3d 9c 28 99 70 1e +d9 07 1e 1e fa 0b dd 84 d4 c3 e5 13 03 02 d8 f0 +24 0b ab a4 b8 4a 71 cc 03 2f 22 35 a5 ff 0f ae +27 7c 3e 8f 91 12 be f4 4c 9a e2 0d 17 5f c9 a4 +05 8b fc 93 0b a3 1b 02 e2 e4 f4 44 48 37 10 f2 +4a + +# ============================================= + +# ================================== +# Example 6: A 1029-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +12 b1 7f 6d ad 2e cd 19 ff 46 dc 13 f7 86 0f 09 +e0 e0 cf b6 77 b3 8a 52 59 23 05 ce af 02 2c 16 +6d b9 0d 04 ac 29 e3 3f 7d d1 2d 9f af 66 e0 81 +6b b6 3e ad 26 7c c7 d4 6c 17 c3 7b e2 14 bc a2 +a2 2d 72 3a 64 e4 44 07 43 6b 6f c9 65 72 9a ef +c2 55 4f 37 6c d5 dc ea 68 29 37 80 a6 2b f3 9d +00 29 48 5a 16 0b bb 9e 5d c0 97 2d 21 a5 04 f5 +2e 5e e0 28 aa 41 63 32 f5 10 b2 e9 cf f5 f7 22 +af + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +02 95 ec a3 56 06 18 36 95 59 ce cd 30 3a a9 cf +da fc 1d 9f 06 95 9d f7 5f fe f9 29 aa 89 69 61 +bc d1 90 dc 69 97 ed a7 f5 96 3e 72 4d 07 b4 dc +11 f3 06 5e 5a e9 7d 96 83 51 12 28 0b 90 84 bb +14 f2 a2 1e bd 4e 88 9d 41 b9 c4 13 2e c1 95 6f +ca b8 bb 2f ed 05 75 88 49 36 52 2c 5f f7 d3 32 +61 90 48 24 e7 ca de e4 e0 bb 37 2d 24 57 cf 78 +e2 bd 12 86 22 8f f8 3f 10 73 1c e6 3c 90 cf f3 +f9 + +# Prime p: +04 a6 ce 8b 73 58 df a6 9b dc f7 42 61 70 05 af +b5 38 5f 5f 3a 58 a2 4e f7 4a 22 a8 c0 5c b7 cc +38 eb d4 cc 9d 9a 9d 78 9a 62 cd 0f 60 f0 cb 94 +1d 34 23 c9 69 2e fa 4f e3 ad ff 29 0c 47 49 a3 +8b + +# Prime q: +04 04 c9 a8 03 37 1f ed b4 c5 be 39 f3 c0 0b 00 +9e 5e 08 a6 3b e1 e4 00 35 cd ac a5 01 1c c7 01 +cf 7e eb cb 99 f0 ff e1 7c fd 0a 4b f7 be fd 2d +d5 36 ac 94 6d b7 97 fd bc 4a be 8f 29 34 9b 91 +ed + +# p's CRT exponent dP: +03 96 1c 8f 76 0a a2 bd 51 54 c7 aa fd 77 22 5b +3b ac d0 13 9a e7 b5 94 8e a3 31 1f cc d8 6f b9 +5c 75 af a7 67 28 4b 9b 2d e5 59 57 2f 15 d8 d0 +44 c7 eb 83 a1 be 5f ad f2 cc 37 7c 0d 84 75 29 +4b + +# q's CRT exponent dQ: +02 21 97 e0 66 74 21 96 aa bc 03 fa 2f ee b4 e7 +0b 15 cb 78 7d 61 7a cd 31 bb 75 c7 bc 23 4a d7 +06 f7 c4 8d 21 82 d1 f0 ff 9c 22 8d cf 41 96 7b +6c 0b a6 d2 c0 ad 11 0a 1b 85 78 31 ec 24 5e 2c +b1 + +# CRT coefficient qInv: +04 01 c4 c0 c5 3d 45 db db 5e 9d 96 d0 fe cf 42 +75 df 09 74 bc 4a 07 36 b4 a7 4c 32 69 05 3e fb +68 6a ce 24 06 e2 2c 9e 05 8d db 4a e5 40 62 7a +e2 fd b0 82 61 e8 e7 e4 bc bc 99 4d aa fa 30 5c +45 + +# --------------------------------- +# RSAES-OAEP Encryption Example 6.1 +# --------------------------------- + +# Message to be encrypted: +40 46 ca 8b aa 33 47 ca 27 f4 9e 0d 81 f9 cc 1d +71 be 9b a5 17 d4 + +# Seed: +dd 0f 6c fe 41 5e 88 e5 a4 69 a5 1f bb a6 df d4 +0a db 43 84 + +# Encryption: +06 30 ee bc d2 85 6c 24 f7 98 80 6e 41 f9 e6 73 +45 ed a9 ce da 38 6a cc 9f ac ae a1 ee ed 06 ac +e5 83 70 97 18 d9 d1 69 fa df 41 4d 5c 76 f9 29 +96 83 3e f3 05 b7 5b 1e 4b 95 f6 62 a2 0f ae dc +3b ae 0c 48 27 a8 bf 8a 88 ed bd 57 ec 20 3a 27 +a8 41 f0 2e 43 a6 15 ba b1 a8 ca c0 70 1d e3 4d +eb de f6 2a 08 80 89 b5 5e c3 6e a7 52 2f d3 ec +8d 06 b6 a0 73 e6 df 83 31 53 bc 0a ef d9 3b d1 +a3 + +# --------------------------------- +# RSAES-OAEP Encryption Example 6.2 +# --------------------------------- + +# Message to be encrypted: +5c c7 2c 60 23 1d f0 3b 3d 40 f9 b5 79 31 bc 31 +10 9f 97 25 27 f2 8b 19 e7 48 0c 72 88 cb 3c 92 +b2 25 12 21 4e 4b e6 c9 14 79 2d da bd f5 7f aa +8a a7 + +# Seed: +8d 14 bd 94 6a 13 51 14 8f 5c ae 2e d9 a0 c6 53 +e8 5e bd 85 + +# Encryption: +0e bc 37 37 61 73 a4 fd 2f 89 cc 55 c2 ca 62 b2 +6b 11 d5 1c 3c 7c e4 9e 88 45 f7 4e 76 07 31 7c +43 6b c8 d2 3b 96 67 df eb 9d 08 72 34 b4 7b c6 +83 71 75 ae 5c 05 59 f6 b8 1d 7d 22 41 6d 3e 50 +f4 ac 53 3d 8f 08 12 f2 db 9e 79 1f e9 c7 75 ac +8b 6a d0 f5 35 ad 9c eb 23 a4 a0 20 14 c5 8a b3 +f8 d3 16 14 99 a2 60 f3 93 48 e7 14 ae 2a 1d 34 +43 20 8f d8 b7 22 cc fd fb 39 3e 98 01 1f 99 e6 +3f + +# --------------------------------- +# RSAES-OAEP Encryption Example 6.3 +# --------------------------------- + +# Message to be encrypted: +b2 0e 65 13 03 09 2f 4b cc b4 30 70 c0 f8 6d 23 +04 93 62 ed 96 64 2f c5 63 2c 27 db 4a 52 e3 d8 +31 f2 ab 06 8b 23 b1 49 87 9c 00 2f 6b f3 fe ee +97 59 11 12 56 2c + +# Seed: +6c 07 5b c4 55 20 f1 65 c0 bf 5e a4 c5 df 19 1b +c9 ef 0e 44 + +# Encryption: +0a 98 bf 10 93 61 93 94 43 6c f6 8d 8f 38 e2 f1 +58 fd e8 ea 54 f3 43 5f 23 9b 8d 06 b8 32 18 44 +20 24 76 ae ed 96 00 94 92 48 0c e3 a8 d7 05 49 +8c 4c 8c 68 f0 15 01 dc 81 db 60 8f 60 08 73 50 +c8 c3 b0 bd 2e 9e f6 a8 14 58 b7 c8 01 b8 9f 2e +4f e9 9d 49 00 ba 6a 4b 5e 5a 96 d8 65 dc 67 6c +77 55 92 87 94 13 0d 62 80 a8 16 0a 19 0f 2d f3 +ea 7c f9 aa 02 71 d8 8e 9e 69 05 ec f1 c5 15 2d +65 + +# --------------------------------- +# RSAES-OAEP Encryption Example 6.4 +# --------------------------------- + +# Message to be encrypted: +68 4e 30 38 c5 c0 41 f7 + +# Seed: +3b bc 3b d6 63 7d fe 12 84 69 01 02 9b f5 b0 c0 +71 03 43 9c + +# Encryption: +00 8e 7a 67 ca cf b5 c4 e2 4b ec 7d ee 14 91 17 +f1 95 98 ce 8c 45 80 8f ef 88 c6 08 ff 9c d6 e6 +95 26 3b 9a 3c 0a d4 b8 ba 4c 95 23 8e 96 a8 42 +2b 85 35 62 9c 8d 53 82 37 44 79 ad 13 fa 39 97 +4b 24 2f 9a 75 9e ea f9 c8 3a d5 a8 ca 18 94 0a +01 62 ba 75 58 76 df 26 3f 4b d5 0c 65 25 c5 60 +90 26 7c 1f 0e 09 ce 08 99 a0 cf 35 9e 88 12 0a +bd 9b f8 93 44 5b 3c ae 77 d3 60 73 59 ae 9a 52 +f8 + +# --------------------------------- +# RSAES-OAEP Encryption Example 6.5 +# --------------------------------- + +# Message to be encrypted: +32 48 8c b2 62 d0 41 d6 e4 dd 35 f9 87 bf 3c a6 +96 db 1f 06 ac 29 a4 46 93 + +# Seed: +b4 6b 41 89 3e 8b ef 32 6f 67 59 38 3a 83 07 1d +ae 7f ca bc + +# Encryption: +00 00 34 74 41 6c 7b 68 bd f9 61 c3 85 73 79 44 +d7 f1 f4 0c b3 95 34 3c 69 3c c0 b4 fe 63 b3 1f +ed f1 ea ee ac 9c cc 06 78 b3 1d c3 2e 09 77 48 +95 14 c4 f0 90 85 f6 29 8a 96 53 f0 1a ea 40 45 +ff 58 2e e8 87 be 26 ae 57 5b 73 ee f7 f3 77 49 +21 e3 75 a3 d1 9a dd a0 ca 31 aa 18 49 88 7c 1f +42 ca c9 67 7f 7a 2f 4e 92 3f 6e 5a 86 8b 38 c0 +84 ef 18 75 94 dc 9f 7f 04 8f ea 2e 02 95 53 84 +ab + +# --------------------------------- +# RSAES-OAEP Encryption Example 6.6 +# --------------------------------- + +# Message to be encrypted: +50 ba 14 be 84 62 72 02 79 c3 06 ba + +# Seed: +0a 24 03 31 2a 41 e3 d5 2f 06 0f bc 13 a6 7d e5 +cf 76 09 a7 + +# Encryption: +0a 02 6d da 5f c8 78 5f 7b d9 bf 75 32 7b 63 e8 +5e 2c 0f de e5 da db 65 eb dc ac 9a e1 de 95 c9 +2c 67 2a b4 33 aa 7a 8e 69 ce 6a 6d 88 97 fa c4 +ac 4a 54 de 84 1a e5 e5 bb ce 76 87 87 9d 79 63 +4c ea 7a 30 68 40 65 c7 14 d5 24 09 b9 28 25 6b +bf 53 ea bc d5 23 1e b7 25 95 04 53 73 99 bd 29 +16 4b 72 6d 33 a4 6d a7 01 36 0a 41 68 a0 91 cc +ab 72 d4 4a 62 fe d2 46 c0 ff ea 5b 13 48 ab 54 +70 + +# ============================================= + +# ================================== +# Example 7: A 1030-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +31 11 79 f0 bc fc 9b 9d 3c a3 15 d0 0e f3 0d 7b +dd 3a 2c fa e9 91 1b fe dc b9 48 b3 a4 78 2d 07 +32 b6 ab 44 aa 4b f0 37 41 a6 44 dc 01 be c3 e6 +9b 01 a0 33 e6 75 d8 ac d7 c4 92 5c 6b 1a ec 31 +19 05 1d fd 89 76 2d 21 5d 45 47 5f fc b5 9f 90 +81 48 62 3f 37 17 71 56 f6 ae 86 dd 7a 7c 5f 43 +dc 1e 1f 90 82 54 05 8a 28 4a 5f 06 c0 02 17 93 +a8 7f 1a c5 fe ff 7d ca ee 69 c5 e5 1a 37 89 e3 +73 + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +07 0c fc ff 2f eb 82 76 e2 74 32 c4 5d fe e4 8f +49 b7 91 7d 65 30 e1 f0 ca 34 60 f3 2e 02 76 17 +44 87 c5 6e 22 a4 5d 25 00 d7 77 54 95 21 9d 7d +16 5a 9c f3 bd 92 c3 2a f9 a9 8d 8d c9 cc 29 68 +00 ad c9 4a 0a 54 fb 40 f3 42 91 bf 84 ee 8e a1 +2b 6f 10 93 59 c6 d3 54 2a 50 f9 c7 67 f5 cf ff +05 a6 81 c2 e6 56 fb 77 ca aa db 4b e9 46 8d 8a +bc d4 df 98 f5 8e 86 d2 05 3f a1 34 9f 74 8e 21 +b1 + +# Prime p: +07 49 26 2c 11 1c d4 70 ec 25 66 e6 b3 73 2f c0 +93 29 46 9a a1 90 71 d3 b9 c0 19 06 51 4c 6f 1d +26 ba a1 4b ea b0 97 1c 8b 7e 61 1a 4f 79 00 9d +6f ea 77 69 28 ca 25 28 5b 0d e3 64 3d 1a 3f 8c +71 + +# Prime q: +06 bc 1e 50 e9 6c 02 bf 63 6e 9e ea 8b 89 9b be +bf 76 51 de 77 dd 47 4c 3e 9b c2 3b ad 81 82 b6 +19 04 c7 d9 7d fb eb fb 1e 00 10 88 78 b6 e6 7e +41 53 91 d6 79 42 c2 b2 bf 9b 44 35 f8 8b 0c b0 +23 + +# p's CRT exponent dP: +03 bc 7e a7 f0 aa b1 43 ab c6 ce 8b 97 11 86 36 +a3 01 72 e4 cf e0 2c 8f a0 dd a3 b7 ba af 90 f8 +09 29 82 98 55 25 f4 88 bd fc b4 bd 72 6e 22 63 +9a c6 4a 30 92 ab 7f fc bf 1d 53 34 cf a5 0b 5b +f1 + +# q's CRT exponent dQ: +02 62 a6 aa 29 c2 a3 c6 7d c5 34 6c 06 38 1a fd +98 7a a3 cc 93 cf bf ec f5 4f dd 9f 9d 78 7d 7f +59 a5 23 d3 98 97 9d a1 37 a2 f6 38 1f e9 48 01 +f7 c9 4d a2 15 18 dc 34 cb 40 87 0c 46 97 99 4a +d9 + +# CRT coefficient qInv: +64 9d 4c 17 b6 ee 17 21 e7 72 d0 38 9a 55 9c 3d +3c df 95 50 d4 57 c4 6b 03 7b 74 64 1b 1d 52 16 +6a f8 a2 13 c8 39 62 06 cd fb a4 42 2f 18 d6 f6 +1d bc b5 d2 14 c9 71 bf 48 2a eb 97 6a 73 70 c2 + +# --------------------------------- +# RSAES-OAEP Encryption Example 7.1 +# --------------------------------- + +# Message to be encrypted: +47 aa e9 09 + +# Seed: +43 dd 09 a0 7f f4 ca c7 1c aa 46 32 ee 5e 1c 1d +ae e4 cd 8f + +# Encryption: +16 88 e4 ce 77 94 bb a6 cb 70 14 16 9e cd 55 9c +ed e2 a3 0b 56 a5 2b 68 d9 fe 18 cf 19 73 ef 97 +b2 a0 31 53 95 1c 75 5f 62 94 aa 49 ad bd b5 58 +45 ab 68 75 fb 39 86 c9 3e cf 92 79 62 84 0d 28 +2f 9e 54 ce 8b 69 0f 7c 0c b8 bb d7 34 40 d9 57 +1d 1b 16 cd 92 60 f9 ea b4 78 3c c4 82 e5 22 3d +c6 09 73 87 17 83 ec 27 b0 ae 0f d4 77 32 cb c2 +86 a1 73 fc 92 b0 0f b4 ba 68 24 64 7c d9 3c 85 +c1 + +# --------------------------------- +# RSAES-OAEP Encryption Example 7.2 +# --------------------------------- + +# Message to be encrypted: +1d 9b 2e 22 23 d9 bc 13 bf b9 f1 62 ce 73 5d b4 +8b a7 c6 8f 68 22 a0 a1 a7 b6 ae 16 58 34 e7 + +# Seed: +3a 9c 3c ec 7b 84 f9 bd 3a de cb c6 73 ec 99 d5 +4b 22 bc 9b + +# Encryption: +10 52 ed 39 7b 2e 01 e1 d0 ee 1c 50 bf 24 36 3f +95 e5 04 f4 a0 34 34 a0 8f d8 22 57 4e d6 b9 73 +6e db b5 f3 90 db 10 32 14 79 a8 a1 39 35 0e 2b +d4 97 7c 37 78 ef 33 1f 3e 78 ae 11 8b 26 84 51 +f2 0a 2f 01 d4 71 f5 d5 3c 56 69 37 17 1b 2d bc +2d 4b de 45 9a 57 99 f0 37 2d 65 74 23 9b 23 23 +d2 45 d0 bb 81 c2 86 b6 3c 89 a3 61 01 73 37 e4 +90 2f 88 a4 67 f4 c7 f2 44 bf d5 ab 46 43 7f f3 +b6 + +# --------------------------------- +# RSAES-OAEP Encryption Example 7.3 +# --------------------------------- + +# Message to be encrypted: +d9 76 fc + +# Seed: +76 a7 5e 5b 61 57 a5 56 cf 88 84 bb 2e 45 c2 93 +dd 54 5c f5 + +# Encryption: +21 55 cd 84 3f f2 4a 4e e8 ba db 76 94 26 00 28 +a4 90 81 3b a8 b3 69 a4 cb f1 06 ec 14 8e 52 98 +70 7f 59 65 be 7d 10 1c 10 49 ea 85 84 c2 4c d6 +34 55 ad 9c 10 4d 68 62 82 d3 fb 80 3a 4c 11 c1 +c2 e9 b9 1c 71 78 80 1d 1b 66 40 f0 03 f5 72 8d +f0 07 b8 a4 cc c9 2b ce 05 e4 1a 27 27 8d 7c 85 +01 8c 52 41 43 13 a5 07 77 89 00 1d 4f 01 91 0b +72 aa d0 5d 22 0a a1 4a 58 73 3a 74 89 bc 54 55 +6b + +# --------------------------------- +# RSAES-OAEP Encryption Example 7.4 +# --------------------------------- + +# Message to be encrypted: +d4 73 86 23 df 22 3a a4 38 43 df 84 67 53 4c 41 +d0 13 e0 c8 03 c6 24 e2 63 66 6b 23 9b de 40 a5 +f2 9a eb 8d e7 9e 3d aa 61 dd 03 70 f4 9b d4 b0 +13 83 4b 98 21 2a ef 6b 1c 5e e3 73 b3 cb + +# Seed: +78 66 31 4a 6a d6 f2 b2 50 a3 59 41 db 28 f5 86 +4b 58 58 59 + +# Encryption: +0a b1 4c 37 3a eb 7d 43 28 d0 aa ad 8c 09 4d 88 +b9 eb 09 8b 95 f2 10 54 a2 90 82 52 2b e7 c2 7a +31 28 78 b6 37 91 7e 3d 81 9e 6c 3c 56 8d b5 d8 +43 80 2b 06 d5 1d 9e 98 a2 be 0b f4 0c 03 14 23 +b0 0e df bf f8 32 0e fb 91 71 bd 20 44 65 3a 4c +b9 c5 12 2f 6c 65 e8 3c da 2e c3 c1 26 02 7a 9c +1a 56 ba 87 4d 0f ea 23 f3 80 b8 2c f2 40 b8 cf +54 00 04 75 8c 4c 77 d9 34 15 7a 74 f3 fc 12 bf +ac + +# --------------------------------- +# RSAES-OAEP Encryption Example 7.5 +# --------------------------------- + +# Message to be encrypted: +bb 47 23 1c a5 ea 1d 3a d4 6c 99 34 5d 9a 8a 61 + +# Seed: +b2 16 6e d4 72 d5 8d b1 0c ab 2c 6b 00 0c cc f1 +0a 7d c5 09 + +# Encryption: +02 83 87 a3 18 27 74 34 79 8b 4d 97 f4 60 06 8d +f5 29 8f ab a5 04 1b a1 17 61 a1 cb 73 16 b2 41 +84 11 4e c5 00 25 7e 25 89 ed 3b 60 7a 1e bb e9 +7a 6c c2 e0 2b f1 b6 81 f4 23 12 a3 3b 7a 77 d8 +e7 85 5c 4a 6d e0 3e 3c 04 64 3f 78 6b 91 a2 64 +a0 d6 80 5e 2c ea 91 e6 81 77 eb 7a 64 d9 25 5e +4f 27 e7 13 b7 cc ec 00 dc 20 0e bd 21 c2 ea 2b +b8 90 fe ae 49 42 df 94 1d c3 f9 78 90 ed 34 74 +78 + +# --------------------------------- +# RSAES-OAEP Encryption Example 7.6 +# --------------------------------- + +# Message to be encrypted: +21 84 82 70 95 d3 5c 3f 86 f6 00 e8 e5 97 54 01 +32 96 + +# Seed: +52 67 3b de 2c a1 66 c2 aa 46 13 1a c1 dc 80 8d +67 d7 d3 b1 + +# Encryption: +14 c6 78 a9 4a d6 05 25 ef 39 e9 59 b2 f3 ba 5c +09 7a 94 ff 91 2b 67 db ac e8 05 35 c1 87 ab d4 +7d 07 54 20 b1 87 21 52 bb a0 8f 7f c3 1f 31 3b +bf 92 73 c9 12 fc 4c 01 49 a9 b0 cf b7 98 07 e3 +46 eb 33 20 69 61 1b ec 0f f9 bc d1 68 f1 f7 c3 +3e 77 31 3c ea 45 4b 94 e2 54 9e ec f0 02 e2 ac +f7 f6 f2 d2 84 5d 4f e0 aa b2 e5 a9 2d df 68 c4 +80 ae 11 24 79 35 d1 f6 25 74 84 22 16 ae 67 41 +15 + +# ============================================= + +# ================================== +# Example 8: A 1031-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +5b df 0e 30 d3 21 dd a5 14 7f 88 24 08 fa 69 19 +54 80 df 8f 80 d3 f6 e8 bf 58 18 50 4f 36 42 7c +a9 b1 f5 54 0b 9c 65 a8 f6 97 4c f8 44 7a 24 4d +92 80 20 1b b4 9f cb be 63 78 d1 94 4c d2 27 e2 +30 f9 6e 3d 10 f8 19 dc ef 27 6c 64 a0 0b 2a 4b +67 01 e7 d0 1d e5 fa bd e3 b1 e9 a0 df 82 f4 63 +13 59 cd 22 66 96 47 fb b1 71 72 46 13 4e d7 b4 +97 cf ff bd c4 2b 59 c7 3a 96 ed 90 16 62 12 df +f7 + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +0f 7d 1e 9e 5a aa 25 fd 13 e4 a0 66 3a e1 44 e0 +d1 5f 5c d1 8b cd b0 9d f2 cc 7e 64 e3 c5 e9 15 +ad 62 64 53 04 16 1d 09 8c 71 5b b7 ab 8b d0 1d +07 ea f3 fe d7 c7 ed 08 af 2a 8a 62 ef 44 ab 16 +b3 20 e1 4a f7 2a 48 f9 6a fe 26 2a 0a e4 cf 65 +e6 35 e9 10 79 0c d4 ee 5c ea 76 8a 4b 26 39 f7 +e6 f6 77 b3 f0 bb 6b e3 2b 75 74 7d 89 09 03 6f +02 64 f5 8d 40 1c db a1 31 71 61 57 a7 5e cf 63 +31 + +# Prime p: +0a 02 ef 84 48 d9 fa d8 bb d0 d0 04 c8 c2 aa 97 +51 ef 97 21 c1 b0 d0 32 36 a5 4b 0d f9 47 cb ae +d5 a2 55 ee 9e 8e 20 d4 91 ea 17 23 fe 09 47 04 +a9 76 2e 88 af d1 6e bb 59 94 41 2c a9 66 dc 4f +9f + +# Prime q: +09 2d 36 2e 7e d3 a0 bf d9 e9 fd 0e 6c 03 01 b6 +df 29 15 9c f5 0c c8 3b 9b 0c f4 d6 ee a7 1a 61 +e0 02 b4 6e 0a e9 f2 de 62 d2 5b 5d 74 52 d4 98 +b8 1c 9a c6 fc 58 59 3d 4c 3f b4 f5 d7 2d fb b0 +a9 + +# p's CRT exponent dP: +07 c7 14 10 af 10 39 62 db 36 74 04 e3 7a e8 50 +ba a4 e9 c2 9d d9 21 45 81 52 94 a6 7c 7d 1c 6d +ed 26 3a a0 30 a9 b6 33 ae 50 30 3e 14 03 5d 1a +f0 14 12 3e ba 68 78 20 30 8d 8e bc 85 b6 95 7d +7d + +# q's CRT exponent dQ: +ae 2c 75 38 0c 02 c0 16 ad 05 89 1b 33 01 de 88 +1f 28 ae 11 71 18 2b 6b 2c 83 be a7 c5 15 ec a9 +ca 29 8c 7b 1c ab 58 17 a5 97 06 8f c8 50 60 de +4d a8 a0 16 37 8a ae 43 c7 f9 67 bc c3 79 04 b9 + +# CRT coefficient qInv: +05 98 d1 05 9e 3a da 4f 63 20 75 2c 09 d8 05 ff +7d 1f 1a e0 d0 17 ae ee e9 ce fa 0d 7d d7 ff 77 +5e 44 b5 78 32 2f 64 05 d6 21 1d a1 95 19 66 6a +a8 7f dc 4c d8 c8 8f 6b 6e 3d 67 e9 61 dc bb a3 +d0 + +# --------------------------------- +# RSAES-OAEP Encryption Example 8.1 +# --------------------------------- + +# Message to be encrypted: +05 0b 75 5e 5e 68 80 f7 b9 e9 d6 92 a7 4c 37 aa +e4 49 b3 1b fe a6 de ff 83 74 7a 89 7f 6c 2c 82 +5b b1 ad bf 85 0a 3c 96 99 4b 5d e5 b3 3c bc 7d +4a 17 91 3a 79 67 + +# Seed: +77 06 ff ca 1e cf b1 eb ee 2a 55 e5 c6 e2 4c d2 +79 7a 41 25 + +# Encryption: +09 b3 68 3d 8a 2e b0 fb 29 5b 62 ed 1f b9 29 0b +71 44 57 b7 82 53 19 f4 64 78 72 af 88 9b 30 40 +94 72 02 0a d1 29 12 bf 19 b1 1d 48 19 f4 96 14 +82 4f fd 84 d0 9c 0a 17 e7 d1 73 09 d1 29 19 79 +04 10 aa 29 95 69 9f 6a 86 db e3 24 2b 5a cc 23 +af 45 69 10 80 d6 b1 ae 81 0f b3 e3 05 70 87 f0 +97 00 92 ce 00 be 95 62 ff 40 53 b6 26 2c e0 ca +a9 3e 13 72 3d 2e 3a 5b a0 75 d4 5f 0d 61 b5 4b +61 + +# --------------------------------- +# RSAES-OAEP Encryption Example 8.2 +# --------------------------------- + +# Message to be encrypted: +4e b6 8d cd 93 ca 9b 19 df 11 1b d4 36 08 f5 57 +02 6f e4 aa 1d 5c fa c2 27 a3 eb 5a b9 54 8c 18 +a0 6d de d2 3f 81 82 59 86 b2 fc d7 11 09 ec ef +7e ff 88 87 3f 07 5c 2a a0 c4 69 f6 9c 92 bc + +# Seed: +a3 71 7d a1 43 b4 dc ff bc 74 26 65 a8 fa 95 05 +85 54 83 43 + +# Encryption: +2e cf 15 c9 7c 5a 15 b1 47 6a e9 86 b3 71 b5 7a +24 28 4f 4a 16 2a 8d 0c 81 82 e7 90 5e 79 22 56 +f1 81 2b a5 f8 3f 1f 7a 13 0e 42 dc c0 22 32 84 +4e dc 14 a3 1a 68 ee 97 ae 56 4a 38 3a 34 11 65 +64 24 c5 f6 2d db 64 60 93 c3 67 be 1f cd a4 26 +cf 00 a0 6d 8a cb 7e 57 77 6f bb d8 55 ac 3d f5 +06 fc 16 b1 d7 c3 f2 11 0f 3d 80 68 e9 1e 18 63 +63 83 1c 84 09 68 0d 8d a9 ec d8 cf 1f a2 0e e3 +9d + +# --------------------------------- +# RSAES-OAEP Encryption Example 8.3 +# --------------------------------- + +# Message to be encrypted: +86 04 ac 56 32 8c 1a b5 ad 91 78 61 + +# Seed: +ee 06 20 90 73 cc a0 26 bb 26 4e 51 85 bf 8c 68 +b7 73 9f 86 + +# Encryption: +4b c8 91 30 a5 b2 da bb 7c 2f cf 90 eb 5d 0e af +9e 68 1b 71 46 a3 8f 31 73 a3 d9 cf ec 52 ea 9e +0a 41 93 2e 64 8a 9d 69 34 4c 50 da 76 3f 51 a0 +3c 95 76 21 31 e8 05 22 54 dc d2 24 8c ba 40 fd +31 66 77 86 ce 05 a2 b7 b5 31 ac 9d ac 9e d5 84 +a5 9b 67 7c 1a 8a ed 8c 5d 15 d6 8c 05 56 9e 2b +e7 80 bf 7d b6 38 fd 2b fd 2a 85 ab 27 68 60 f3 +77 73 38 fc a9 89 ff d7 43 d1 3e e0 8e 0c a9 89 +3f + +# --------------------------------- +# RSAES-OAEP Encryption Example 8.4 +# --------------------------------- + +# Message to be encrypted: +fd da 5f bf 6e c3 61 a9 d9 a4 ac 68 af 21 6a 06 +86 f4 38 b1 e0 e5 c3 6b 95 5f 74 e1 07 f3 9c 0d +dd cc + +# Seed: +99 0a d5 73 dc 48 a9 73 23 5b 6d 82 54 36 18 f2 +e9 55 10 5d + +# Encryption: +2e 45 68 47 d8 fc 36 ff 01 47 d6 99 35 94 b9 39 +72 27 d5 77 75 2c 79 d0 f9 04 fc b0 39 d4 d8 12 +fe a6 05 a7 b5 74 dd 82 ca 78 6f 93 75 23 48 43 +8e e9 f5 b5 45 49 85 d5 f0 e1 69 9e 3e 7a d1 75 +a3 2e 15 f0 3d eb 04 2a b9 fe 1d d9 db 1b b8 6f +8c 08 9c cb 45 e7 ef 0c 5e e7 ca 9b 72 90 ca 6b +15 be d4 70 39 78 8a 8a 93 ff 83 e0 e8 d6 24 4c +71 00 63 62 de ef 69 b6 f4 16 fb 3c 68 43 83 fb +d0 + +# --------------------------------- +# RSAES-OAEP Encryption Example 8.5 +# --------------------------------- + +# Message to be encrypted: +4a 5f 49 14 be e2 5d e3 c6 93 41 de 07 + +# Seed: +ec c6 3b 28 f0 75 6f 22 f5 2a c8 e6 ec 12 51 a6 +ec 30 47 18 + +# Encryption: +1f b9 35 6f d5 c4 b1 79 6d b2 eb f7 d0 d3 93 cc +81 0a df 61 45 de fc 2f ce 71 4f 79 d9 38 00 d5 +e2 ac 21 1e a8 bb ec ca 4b 65 4b 94 c3 b1 8b 30 +dd 57 6c e3 4d c9 54 36 ef 57 a0 94 15 64 59 23 +35 9a 5d 7b 41 71 ef 22 c2 46 70 f1 b2 29 d3 60 +3e 91 f7 66 71 b7 df 97 e7 31 7c 97 73 44 76 d5 +f3 d1 7d 21 cf 82 b5 ba 9f 83 df 2e 58 8d 36 98 +4f d1 b5 84 46 8b d2 3b 2e 87 5f 32 f6 89 53 f7 +b2 + +# --------------------------------- +# RSAES-OAEP Encryption Example 8.6 +# --------------------------------- + +# Message to be encrypted: +8e 07 d6 6f 7b 88 0a 72 56 3a bc d3 f3 50 92 bc +33 40 9f b7 f8 8f 24 72 be + +# Seed: +39 25 c7 1b 36 2d 40 a0 a6 de 42 14 55 79 ba 1e +7d d4 59 fc + +# Encryption: +3a fd 9c 66 00 14 7b 21 79 8d 81 8c 65 5a 0f 4c +92 12 db 26 d0 b0 df dc 2a 75 94 cc b3 d2 2f 5b +f1 d7 c3 e1 12 cd 73 fc 7d 50 9c 7a 8b af dd 3c +27 4d 13 99 00 9f 96 09 ec 4b e6 47 7e 45 3f 07 +5a a3 3d b3 82 87 0c 1c 34 09 ae f3 92 d7 38 6a +e3 a6 96 b9 9a 94 b4 da 05 89 44 7e 95 5d 16 c9 +8b 17 60 2a 59 bd 73 62 79 fc d8 fb 28 0c 44 62 +d5 90 bf a9 bf 13 fe d5 70 ea fd e9 73 30 a2 c2 +10 + +# ============================================= + +# ================================== +# Example 9: A 1536-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +cf 2c d4 1e 34 ca 3a 72 8e a5 cb 8a ff 64 c3 6d +27 bd ef 53 64 e3 36 fd 68 d3 12 3c 5a 19 6a 8c +28 70 13 e8 53 d5 15 6d 58 d1 51 95 45 20 fb 4f +6d 7b 17 ab b6 81 77 65 90 9c 57 61 19 65 9d 90 +2b 19 06 ed 8a 2b 10 c1 55 c2 4d 12 45 28 da b9 +ee ae 37 9b ea c6 6e 4a 41 17 86 dc b8 fd 00 62 +eb c0 30 de 12 19 a0 4c 2a 8c 1b 7d d3 13 1e 4d +6b 6c ae e2 e3 1a 5e d4 1a c1 50 9b 2e f1 ee 2a +b1 83 64 be 56 8c a9 41 c2 5e cc 84 ff 9d 64 3b +5e c1 aa ae 10 2a 20 d7 3f 47 9b 78 0f d6 da 91 +07 52 12 d9 ea c0 3a 06 74 d8 99 eb a2 e4 31 f4 +c4 4b 61 5b 6b a2 23 2b d4 b3 3b ae d7 3d 62 5d + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +19 8c 14 1e 23 71 5a 92 bc cf 6a 11 9a 5b c1 13 +89 46 8d 28 11 f5 48 d7 27 e1 7b 4a b0 eb 98 6d +6f 21 1e fb 53 b7 1f 7c cb ea 87 ee 69 c7 5e e6 +15 00 8c 53 32 de b5 2b f3 90 ab df bf e3 7d 72 +05 36 81 59 b2 63 8c 1d e3 26 e2 1d 22 25 1f 0f +b5 84 8b 3b f1 50 05 d2 a7 43 30 f0 af e9 16 ee +62 cc c1 34 4d 1d 83 a7 09 e6 06 76 27 38 40 f7 +f3 77 42 4a 5e 0a 4d a7 5f 01 b3 1f f7 68 19 cf +9c bf dd 21 52 43 c3 91 7c 03 ef 38 19 93 12 e5 +67 b3 bf 7a ed 3a b4 57 f3 71 ef 8a 14 23 f4 5b +68 c6 e2 82 ec 11 1b ba 28 33 b9 87 fd 69 fa d8 +3b c1 b8 c6 13 c5 e1 ea 16 c1 1e d1 25 ea 7e c1 + +# Prime p: +fc 8d 6c 04 be c4 eb 9a 81 92 ca 79 00 cb e5 36 +e2 e8 b5 19 de cf 33 b2 45 97 98 c6 90 9d f4 f1 +76 db 7d 23 19 0f c7 2b 88 65 a7 18 af 89 5f 1b +cd 91 45 29 80 27 42 3b 60 5e 70 a4 7c f5 83 90 +a8 c3 e8 8f c8 c4 8e 8b 32 e3 da 21 0d fb e3 e8 +81 ea 56 74 b6 a3 48 c2 1e 93 f9 e5 5e a6 5e fd + +# Prime q: +d2 00 d4 5e 78 8a ac ea 60 6a 40 1d 04 60 f8 7d +d5 c1 02 7e 12 dc 1a 0d 75 86 e8 93 9d 9c f7 89 +b4 0f 51 ac 04 42 96 1d e7 d2 1c c2 1e 05 c8 31 +55 c1 f2 aa 91 93 38 7c fd f9 56 cb 48 d1 53 ba +27 04 06 f9 bb ba 53 7d 49 87 d9 e2 f9 94 2d 7a +14 cb ff fe a7 4f ec dd a9 28 d2 3e 25 9f 5e e1 + +# p's CRT exponent dP: +db 16 80 2f 79 a2 f0 d4 5f 35 8d 69 fd 33 e4 4b +81 fa e8 28 62 2e 93 a5 42 53 e9 97 d0 1b 07 43 +75 9d a0 e8 12 b4 aa 4e 6c 8b ea b2 32 8d 54 31 +95 5a 41 8a 67 ff 26 a8 c5 c8 07 a5 da 35 4e 05 +ef 31 cc 8c f7 58 f4 63 73 29 50 b0 3e 26 57 26 +fb 94 e3 9d 6a 57 2a 26 24 4a b0 8d b7 57 52 ad + +# q's CRT exponent dQ: +a0 a3 17 cf e7 df 14 23 f8 7a 6d ee 84 51 f4 e2 +b4 a6 7e 54 97 f2 9b 4f 1e 4e 83 0b 9f ad d9 40 +11 67 02 6f 55 96 e5 a3 9c 97 81 7e 0f 5f 16 e2 +7e 19 ec 99 02 e0 1d 7e a6 fb 9a a3 c7 60 af ee +1e 38 1b 69 de 6a c9 c0 75 85 a0 6a d9 c4 ba 00 +bf 75 c8 ad 2f a8 98 a4 79 e8 0a e2 94 fe d2 a1 + +# CRT coefficient qInv: +0b 21 f3 35 c3 53 34 2e b4 4c 3a a2 44 45 78 0c +2d 65 5b 94 01 74 ca e3 8c 7c 8a 4e 64 93 c0 ba +9f d3 03 74 82 67 b0 83 b9 a7 a6 cb 61 e4 2d b3 +62 b8 c9 89 6d b7 06 4e 02 ad 5a e6 15 87 da 15 +b4 64 9c 90 59 49 09 fe b3 7d bc b6 54 be b7 26 +8e c8 01 e5 a8 b4 aa 39 11 be bd 88 54 2f 05 be + +# --------------------------------- +# RSAES-OAEP Encryption Example 9.1 +# --------------------------------- + +# Message to be encrypted: +f7 35 fd 55 ba 92 59 2c 3b 52 b8 f9 c4 f6 9a aa +1c be f8 fe 88 ad d0 95 59 54 12 46 7f 9c f4 ec +0b 89 6c 59 ed a1 62 10 e7 54 9c 8a bb 10 cd bc +21 a1 2e c9 b6 b5 b8 fd 2f 10 39 9e b6 + +# Seed: +8e c9 65 f1 34 a3 ec 99 31 e9 2a 1c a0 dc 81 69 +d5 ea 70 5c + +# Encryption: +26 7b cd 11 8a ca b1 fc 8b a8 1c 85 d7 30 03 cb +86 10 fa 55 c1 d9 7d a8 d4 8a 7c 7f 06 89 6a 4d +b7 51 aa 28 42 55 b9 d3 6a d6 5f 37 65 3d 82 9f +1b 37 f9 7b 80 01 94 25 45 b2 fc 2c 55 a7 37 6c +a7 a1 be 4b 17 60 c8 e0 5a 33 e5 aa 25 26 b8 d9 +8e 31 70 88 e7 83 4c 75 5b 2a 59 b1 26 31 a1 82 +c0 5d 5d 43 ab 17 79 26 4f 84 56 f5 15 ce 57 df +df 51 2d 54 93 da b7 b7 33 8d c4 b7 d7 8d b9 c0 +91 ac 3b af 53 7a 69 fc 7f 54 9d 97 9f 0e ff 9a +94 fd a4 16 9b d4 d1 d1 9a 69 c9 9e 33 c3 b5 54 +90 d5 01 b3 9b 1e da e1 18 ff 67 93 a1 53 26 15 +84 d3 a5 f3 9f 6e 68 2e 3d 17 c8 cd 12 61 fa 72 + +# --------------------------------- +# RSAES-OAEP Encryption Example 9.2 +# --------------------------------- + +# Message to be encrypted: +81 b9 06 60 50 15 a6 3a ab e4 2d df 11 e1 97 89 +12 f5 40 4c 74 74 b2 6d ce 3e d4 82 bf 96 1e cc +81 8b f4 20 c5 46 59 + +# Seed: +ec b1 b8 b2 5f a5 0c da b0 8e 56 04 28 67 f4 af +58 26 d1 6c + +# Encryption: +93 ac 9f 06 71 ec 29 ac bb 44 4e ff c1 a5 74 13 +51 d6 0f db 0e 39 3f bf 75 4a cf 0d e4 97 61 a1 +48 41 df 77 72 e9 bc 82 77 39 66 a1 58 4c 4d 72 +ba ea 00 11 8f 83 f3 5c ca 6e 53 7c bd 4d 81 1f +55 83 b2 97 83 d8 a6 d9 4c d3 1b e7 0d 6f 52 6c +10 ff 09 c6 fa 7c e0 69 79 5a 3f cd 05 11 fd 5f +cb 56 4b cc 80 ea 9c 78 f3 8b 80 01 25 39 d8 a4 +dd f6 fe 81 e9 cd db 7f 50 db bb bc c7 e5 d8 60 +97 cc f4 ec 49 18 9f b8 bf 31 8b e6 d5 a0 71 5d +51 6b 49 af 19 12 58 cd 32 dc 83 3c e6 eb 46 73 +c0 3a 19 bb ac e8 8c c5 48 95 f6 36 cc 0c 1e c8 +90 96 d1 1c e2 35 a2 65 ca 17 64 23 2a 68 9a e8 + +# --------------------------------- +# RSAES-OAEP Encryption Example 9.3 +# --------------------------------- + +# Message to be encrypted: +fd 32 64 29 df 9b 89 0e 09 b5 4b 18 b8 f3 4f 1e +24 + +# Seed: +e8 9b b0 32 c6 ce 62 2c bd b5 3b c9 46 60 14 ea +77 f7 77 c0 + +# Encryption: +81 eb dd 95 05 4b 0c 82 2e f9 ad 76 93 f5 a8 7a +df b4 b4 c4 ce 70 df 2d f8 4e d4 9c 04 da 58 ba +5f c2 0a 19 e1 a6 e8 b7 a3 90 0b 22 79 6d c4 e8 +69 ee 6b 42 79 2d 15 a8 ec eb 56 c0 9c 69 91 4e +81 3c ea 8f 69 31 e4 b8 ed 6f 42 1a f2 98 d5 95 +c9 7f 47 89 c7 ca a6 12 c7 ef 36 09 84 c2 1b 93 +ed c5 40 10 68 b5 af 4c 78 a8 77 1b 98 4d 53 b8 +ea 8a df 2f 6a 7d 4a 0b a7 6c 75 e1 dd 9f 65 8f +20 de d4 a4 60 71 d4 6d 77 91 b5 68 03 d8 fe a7 +f0 b0 f8 e4 1a e3 f0 93 83 a6 f9 58 5f e7 75 3e +aa ff d2 bf 94 56 31 08 be ec c2 07 bb b5 35 f5 +fc c7 05 f0 dd e9 f7 08 c6 2f 49 a9 c9 03 71 d3 + +# --------------------------------- +# RSAES-OAEP Encryption Example 9.4 +# --------------------------------- + +# Message to be encrypted: +f1 45 9b 5f 0c 92 f0 1a 0f 72 3a 2e 56 62 48 4d +8f 8c 0a 20 fc 29 da d6 ac d4 3b b5 f3 ef fd f4 +e1 b6 3e 07 fd fe 66 28 d0 d7 4c a1 9b f2 d6 9e +4a 0a bf 86 d2 93 92 5a 79 67 72 f8 08 8e + +# Seed: +60 6f 3b 99 c0 b9 cc d7 71 ea a2 9e a0 e4 c8 84 +f3 18 9c cc + +# Encryption: +bc c3 5f 94 cd e6 6c b1 13 66 25 d6 25 b9 44 32 +a3 5b 22 f3 d2 fa 11 a6 13 ff 0f ca 5b d5 7f 87 +b9 02 cc dc 1c d0 ae bc b0 71 5e e8 69 d1 d1 fe +39 5f 67 93 00 3f 5e ca 46 50 59 c8 86 60 d4 46 +ff 5f 08 18 55 20 22 55 7e 38 c0 8a 67 ea d9 91 +26 22 54 f1 06 82 97 5e c5 63 97 76 85 37 f4 97 +7a f6 d5 f6 aa ce b7 fb 25 de c5 93 72 30 23 1f +d8 97 8a f4 91 19 a2 9f 29 e4 24 ab 82 72 b4 75 +62 79 2d 5c 94 f7 74 b8 82 9d 0b 0d 9f 1a 8c 9e +dd f3 75 74 d5 fa 24 8e ef a9 c5 27 1f c5 ec 25 +79 c8 1b dd 61 b4 10 fa 61 fe 36 e4 24 22 1c 11 +3a dd b2 75 66 4c 80 1d 34 ca 8c 63 51 e4 a8 58 + +# --------------------------------- +# RSAES-OAEP Encryption Example 9.5 +# --------------------------------- + +# Message to be encrypted: +53 e6 e8 c7 29 d6 f9 c3 19 dd 31 7e 74 b0 db 8e +4c cc a2 5f 3c 83 05 74 6e 13 7a c6 3a 63 ef 37 +39 e7 b5 95 ab b9 6e 8d 55 e5 4f 7b d4 1a b4 33 +37 8f fb 91 1d + +# Seed: +fc bc 42 14 02 e9 ec ab c6 08 2a fa 40 ba 5f 26 +52 2c 84 0e + +# Encryption: +23 2a fb c9 27 fa 08 c2 f6 a2 7b 87 d4 a5 cb 09 +c0 7d c2 6f ae 73 d7 3a 90 55 88 39 f4 fd 66 d2 +81 b8 7e c7 34 bc e2 37 ba 16 66 98 ed 82 91 06 +a7 de 69 42 cd 6c dc e7 8f ed 8d 2e 4d 81 42 8e +66 49 0d 03 62 64 ce f9 2a f9 41 d3 e3 50 55 fe +39 81 e1 4d 29 cb b9 a4 f6 74 73 06 3b ae c7 9a +11 79 f5 a1 7c 9c 18 32 f2 83 8f d7 d5 e5 9b b9 +65 9d 56 dc e8 a0 19 ed ef 1b b3 ac cc 69 7c c6 +cc 7a 77 8f 60 a0 64 c7 f6 f5 d5 29 c6 21 02 62 +e0 03 de 58 3e 81 e3 16 7b 89 97 1f b8 c0 e1 5d +44 ff fe f8 9b 53 d8 d6 4d d7 97 d1 59 b5 6d 2b +08 ea 53 07 ea 12 c2 41 bd 58 d4 ee 27 8a 1f 2e + +# --------------------------------- +# RSAES-OAEP Encryption Example 9.6 +# --------------------------------- + +# Message to be encrypted: +b6 b2 8e a2 19 8d 0c 10 08 bc 64 + +# Seed: +23 aa de 0e 1e 08 bb 9b 9a 78 d2 30 2a 52 f9 c2 +1b 2e 1b a2 + +# Encryption: +43 8c c7 dc 08 a6 8d a2 49 e4 25 05 f8 57 3b a6 +0e 2c 27 73 d5 b2 90 f4 cf 9d ff 71 8e 84 20 81 +c3 83 e6 70 24 a0 f2 95 94 ea 98 7b 9d 25 e4 b7 +38 f2 85 97 0d 19 5a bb 3a 8c 80 54 e3 d7 9d 6b +9c 9a 83 27 ba 59 6f 12 59 e2 71 26 67 47 66 90 +7d 8d 58 2f f3 a8 47 61 54 92 9a db 1e 6d 12 35 +b2 cc b4 ec 8f 66 3b a9 cc 67 0a 92 be bd 85 3c +8d bf 69 c6 43 6d 01 6f 61 ad d8 36 e9 47 32 45 +04 34 20 7f 9f d4 c4 3d ec 2a 12 a9 58 ef a0 1e +fe 26 69 89 9b 5e 60 4c 25 5c 55 fb 71 66 de 55 +89 e3 69 59 7b b0 91 68 c0 6d d5 db 17 7e 06 a1 +74 0e b2 d5 c8 2f ae ca 6d 92 fc ee 99 31 ba 9f + +# ============================================= + +# =================================== +# Example 10: A 2048-bit RSA Key Pair +# =================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +ae 45 ed 56 01 ce c6 b8 cc 05 f8 03 93 5c 67 4d +db e0 d7 5c 4c 09 fd 79 51 fc 6b 0c ae c3 13 a8 +df 39 97 0c 51 8b ff ba 5e d6 8f 3f 0d 7f 22 a4 +02 9d 41 3f 1a e0 7e 4e be 9e 41 77 ce 23 e7 f5 +40 4b 56 9e 4e e1 bd cf 3c 1f b0 3e f1 13 80 2d +4f 85 5e b9 b5 13 4b 5a 7c 80 85 ad ca e6 fa 2f +a1 41 7e c3 76 3b e1 71 b0 c6 2b 76 0e de 23 c1 +2a d9 2b 98 08 84 c6 41 f5 a8 fa c2 6b da d4 a0 +33 81 a2 2f e1 b7 54 88 50 94 c8 25 06 d4 01 9a +53 5a 28 6a fe b2 71 bb 9b a5 92 de 18 dc f6 00 +c2 ae ea e5 6e 02 f7 cf 79 fc 14 cf 3b dc 7c d8 +4f eb bb f9 50 ca 90 30 4b 22 19 a7 aa 06 3a ef +a2 c3 c1 98 0e 56 0c d6 4a fe 77 95 85 b6 10 76 +57 b9 57 85 7e fd e6 01 09 88 ab 7d e4 17 fc 88 +d8 f3 84 c4 e6 e7 2c 3f 94 3e 0c 31 c0 c4 a5 cc +36 f8 79 d8 a3 ac 9d 7d 59 86 0e aa da 6b 83 bb + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +05 6b 04 21 6f e5 f3 54 ac 77 25 0a 4b 6b 0c 85 +25 a8 5c 59 b0 bd 80 c5 64 50 a2 2d 5f 43 8e 59 +6a 33 3a a8 75 e2 91 dd 43 f4 8c b8 8b 9d 5f c0 +d4 99 f9 fc d1 c3 97 f9 af c0 70 cd 9e 39 8c 8d +19 e6 1d b7 c7 41 0a 6b 26 75 df bf 5d 34 5b 80 +4d 20 1a dd 50 2d 5c e2 df cb 09 1c e9 99 7b be +be 57 30 6f 38 3e 4d 58 81 03 f0 36 f7 e8 5d 19 +34 d1 52 a3 23 e4 a8 db 45 1d 6f 4a 5b 1b 0f 10 +2c c1 50 e0 2f ee e2 b8 8d ea 4a d4 c1 ba cc b2 +4d 84 07 2d 14 e1 d2 4a 67 71 f7 40 8e e3 05 64 +fb 86 d4 39 3a 34 bc f0 b7 88 50 1d 19 33 03 f1 +3a 22 84 b0 01 f0 f6 49 ea f7 93 28 d4 ac 5c 43 +0a b4 41 49 20 a9 46 0e d1 b7 bc 40 ec 65 3e 87 +6d 09 ab c5 09 ae 45 b5 25 19 01 16 a0 c2 61 01 +84 82 98 50 9c 1c 3b f3 a4 83 e7 27 40 54 e1 5e +97 07 50 36 e9 89 f6 09 32 80 7b 52 57 75 1e 79 + +# Prime p: +ec f5 ae cd 1e 55 15 ff fa cb d7 5a 28 16 c6 eb +f4 90 18 cd fb 46 38 e1 85 d6 6a 73 96 b6 f8 09 +0f 80 18 c7 fd 95 cc 34 b8 57 dc 17 f0 cc 65 16 +bb 13 46 ab 4d 58 2c ad ad 7b 41 03 35 23 87 b7 +03 38 d0 84 04 7c 9d 95 39 b6 49 62 04 b3 dd 6e +a4 42 49 92 07 be c0 1f 96 42 87 ff 63 36 c3 98 +46 58 33 68 46 f5 6e 46 86 18 81 c1 02 33 d2 17 +6b f1 5a 5e 96 dd c7 80 bc 86 8a a7 7d 3c e7 69 + +# Prime q: +bc 46 c4 64 fc 6a c4 ca 78 3b 0e b0 8a 3c 84 1b +77 2f 7e 9b 2f 28 ba bd 58 8a e8 85 e1 a0 c6 1e +48 58 a0 fb 25 ac 29 99 90 f3 5b e8 51 64 c2 59 +ba 11 75 cd d7 19 27 07 13 51 84 99 2b 6c 29 b7 +46 dd 0d 2c ab e1 42 83 5f 7d 14 8c c1 61 52 4b +4a 09 94 6d 48 b8 28 47 3f 1c e7 6b 6c b6 88 6c +34 5c 03 e0 5f 41 d5 1b 5c 3a 90 a3 f2 40 73 c7 +d7 4a 4f e2 5d 9c f2 1c 75 96 0f 3f c3 86 31 83 + +# p's CRT exponent dP: +c7 35 64 57 1d 00 fb 15 d0 8a 3d e9 95 7a 50 91 +5d 71 26 e9 44 2d ac f4 2b c8 2e 86 2e 56 73 ff +6a 00 8e d4 d2 e3 74 61 7d f8 9f 17 a1 60 b4 3b +7f da 9c b6 b6 b7 42 18 60 98 15 f7 d4 5c a2 63 +c1 59 aa 32 d2 72 d1 27 fa f4 bc 8c a2 d7 73 78 +e8 ae b1 9b 0a d7 da 3c b3 de 0a e7 31 49 80 f6 +2b 6d 4b 0a 87 5d 1d f0 3c 1b ae 39 cc d8 33 ef +6c d7 e2 d9 52 8b f0 84 d1 f9 69 e7 94 e9 f6 c1 + +# q's CRT exponent dQ: +26 58 b3 7f 6d f9 c1 03 0b e1 db 68 11 7f a9 d8 +7e 39 ea 2b 69 3b 7e 6d 3a 2f 70 94 74 13 ee c6 +14 2e 18 fb 8d fc b6 ac 54 5d 7c 86 a0 ad 48 f8 +45 71 70 f0 ef b2 6b c4 81 26 c5 3e fd 1d 16 92 +01 98 dc 2a 11 07 dc 28 2d b6 a8 0c d3 06 23 60 +ba 3f a1 3f 70 e4 31 2f f1 a6 cd 6b 8f c4 cd 9c +5c 3d b1 7c 6d 6a 57 21 2f 73 ae 29 f6 19 32 7b +ad 59 b1 53 85 85 85 ba 4e 28 b6 0a 62 a4 5e 49 + +# CRT coefficient qInv: +6f 38 52 6b 39 25 08 55 34 ef 3e 41 5a 83 6e de +8b 86 15 8a 2c 7c bf ec cb 0b d8 34 30 4f ec 68 +3b a8 d4 f4 79 c4 33 d4 34 16 e6 32 69 62 3c ea +10 07 76 d8 5a ff 40 1d 3f ff 61 0e e6 54 11 ce +3b 13 63 d6 3a 97 09 ee de 42 64 7c ea 56 14 93 +d5 45 70 a8 79 c1 86 82 cd 97 71 0b 96 20 5e c3 +11 17 d7 3b 5f 36 22 3f ad d6 e8 ba 90 dd 7c 0e +e6 1d 44 e1 63 25 1e 20 c7 f6 6e b3 05 11 7c b8 + +# ---------------------------------- +# RSAES-OAEP Encryption Example 10.1 +# ---------------------------------- + +# Message to be encrypted: +8b ba 6b f8 2a 6c 0f 86 d5 f1 75 6e 97 95 68 70 +b0 89 53 b0 6b 4e b2 05 bc 16 94 ee + +# Seed: +47 e1 ab 71 19 fe e5 6c 95 ee 5e aa d8 6f 40 d0 +aa 63 bd 33 + +# Encryption: +53 ea 5d c0 8c d2 60 fb 3b 85 85 67 28 7f a9 15 +52 c3 0b 2f eb fb a2 13 f0 ae 87 70 2d 06 8d 19 +ba b0 7f e5 74 52 3d fb 42 13 9d 68 c3 c5 af ee +e0 bf e4 cb 79 69 cb f3 82 b8 04 d6 e6 13 96 14 +4e 2d 0e 60 74 1f 89 93 c3 01 4b 58 b9 b1 95 7a +8b ab cd 23 af 85 4f 4c 35 6f b1 66 2a a7 2b fc +c7 e5 86 55 9d c4 28 0d 16 0c 12 67 85 a7 23 eb +ee be ff 71 f1 15 94 44 0a ae f8 7d 10 79 3a 87 +74 a2 39 d4 a0 4c 87 fe 14 67 b9 da f8 52 08 ec +6c 72 55 79 4a 96 cc 29 14 2f 9a 8b d4 18 e3 c1 +fd 67 34 4b 0c d0 82 9d f3 b2 be c6 02 53 19 62 +93 c6 b3 4d 3f 75 d3 2f 21 3d d4 5c 62 73 d5 05 +ad f4 cc ed 10 57 cb 75 8f c2 6a ee fa 44 12 55 +ed 4e 64 c1 99 ee 07 5e 7f 16 64 61 82 fd b4 64 +73 9b 68 ab 5d af f0 e6 3e 95 52 01 68 24 f0 54 +bf 4d 3c 8c 90 a9 7b b6 b6 55 32 84 eb 42 9f cc + +# ---------------------------------- +# RSAES-OAEP Encryption Example 10.2 +# ---------------------------------- + +# Message to be encrypted: +e6 ad 18 1f 05 3b 58 a9 04 f2 45 75 10 37 3e 57 + +# Seed: +6d 17 f5 b4 c1 ff ac 35 1d 19 5b f7 b0 9d 09 f0 +9a 40 79 cf + +# Encryption: +a2 b1 a4 30 a9 d6 57 e2 fa 1c 2b b5 ed 43 ff b2 +5c 05 a3 08 fe 90 93 c0 10 31 79 5f 58 74 40 01 +10 82 8a e5 8f b9 b5 81 ce 9d dd d3 e5 49 ae 04 +a0 98 54 59 bd e6 c6 26 59 4e 7b 05 dc 42 78 b2 +a1 46 5c 13 68 40 88 23 c8 5e 96 dc 66 c3 a3 09 +83 c6 39 66 4f c4 56 9a 37 fe 21 e5 a1 95 b5 77 +6e ed 2d f8 d8 d3 61 af 68 6e 75 02 29 bb d6 63 +f1 61 86 8a 50 61 5e 0c 33 7b ec 0c a3 5f ec 0b +b1 9c 36 eb 2e 0b bc c0 58 2f a1 d9 3a ac db 06 +10 63 f5 9f 2c e1 ee 43 60 5e 5d 89 ec a1 83 d2 +ac df e9 f8 10 11 02 2a d3 b4 3a 3d d4 17 da c9 +4b 4e 11 ea 81 b1 92 96 6e 96 6b 18 20 82 e7 19 +64 60 7b 4f 80 02 f3 62 99 84 4a 11 f2 ae 0f ae +ac 2e ae 70 f8 f4 f9 80 88 ac dc d0 ac 55 6e 9f +cc c5 11 52 19 08 fa d2 6f 04 c6 42 01 45 03 05 +77 87 58 b0 53 8b f8 b5 bb 14 4a 82 8e 62 97 95 + +# ---------------------------------- +# RSAES-OAEP Encryption Example 10.3 +# ---------------------------------- + +# Message to be encrypted: +51 0a 2c f6 0e 86 6f a2 34 05 53 c9 4e a3 9f bc +25 63 11 e8 3e 94 45 4b 41 24 + +# Seed: +38 53 87 51 4d ec cc 7c 74 0d d8 cd f9 da ee 49 +a1 cb fd 54 + +# Encryption: +98 86 c3 e6 76 4a 8b 9a 84 e8 41 48 eb d8 c3 b1 +aa 80 50 38 1a 78 f6 68 71 4c 16 d9 cf d2 a6 ed +c5 69 79 c5 35 d9 de e3 b4 4b 85 c1 8b e8 92 89 +92 37 17 11 47 22 16 d9 5d da 98 d2 ee 83 47 c9 +b1 4d ff df f8 4a a4 8d 25 ac 06 f7 d7 e6 53 98 +ac 96 7b 1c e9 09 25 f6 7d ce 04 9b 7f 81 2d b0 +74 29 97 a7 4d 44 fe 81 db e0 e7 a3 fe af 2e 5c +40 af 88 8d 55 0d db be 3b c2 06 57 a2 95 43 f8 +fc 29 13 b9 bd 1a 61 b2 ab 22 56 ec 40 9b bd 7d +c0 d1 77 17 ea 25 c4 3f 42 ed 27 df 87 38 bf 4a +fc 67 66 ff 7a ff 08 59 55 5e e2 83 92 0f 4c 8a +63 c4 a7 34 0c ba fd dc 33 9e cd b4 b0 51 50 02 +f9 6c 93 2b 5b 79 16 7a f6 99 c0 ad 3f cc fd f0 +f4 4e 85 a7 02 62 bf 2e 18 fe 34 b8 50 58 99 75 +e8 67 ff 96 9d 48 ea bf 21 22 71 54 6c dc 05 a6 +9e cb 52 6e 52 87 0c 83 6f 30 7b d7 98 78 0e de + +# ---------------------------------- +# RSAES-OAEP Encryption Example 10.4 +# ---------------------------------- + +# Message to be encrypted: +bc dd 19 0d a3 b7 d3 00 df 9a 06 e2 2c aa e2 a7 +5f 10 c9 1f f6 67 b7 c1 6b de 8b 53 06 4a 26 49 +a9 40 45 c9 + +# Seed: +5c ac a6 a0 f7 64 16 1a 96 84 f8 5d 92 b6 e0 ef +37 ca 8b 65 + +# Encryption: +63 18 e9 fb 5c 0d 05 e5 30 7e 16 83 43 6e 90 32 +93 ac 46 42 35 8a aa 22 3d 71 63 01 3a ba 87 e2 +df da 8e 60 c6 86 0e 29 a1 e9 26 86 16 3e a0 b9 +17 5f 32 9c a3 b1 31 a1 ed d3 a7 77 59 a8 b9 7b +ad 6a 4f 8f 43 96 f2 8c f6 f3 9c a5 81 12 e4 81 +60 d6 e2 03 da a5 85 6f 3a ca 5f fe d5 77 af 49 +94 08 e3 df d2 33 e3 e6 04 db e3 4a 9c 4c 90 82 +de 65 52 7c ac 63 31 d2 9d c8 0e 05 08 a0 fa 71 +22 e7 f3 29 f6 cc a5 cf a3 4d 4d 1d a4 17 80 54 +57 e0 08 be c5 49 e4 78 ff 9e 12 a7 63 c4 77 d1 +5b bb 78 f5 b6 9b d5 78 30 fc 2c 4e d6 86 d7 9b +c7 2a 95 d8 5f 88 13 4c 6b 0a fe 56 a8 cc fb c8 +55 82 8b b3 39 bd 17 90 9c f1 d7 0d e3 33 5a e0 +70 39 09 3e 60 6d 65 53 65 de 65 50 b8 72 cd 6d +e1 d4 40 ee 03 1b 61 94 5f 62 9a d8 a3 53 b0 d4 +09 39 e9 6a 3c 45 0d 2a 8d 5e ee 9f 67 80 93 c8 + +# ---------------------------------- +# RSAES-OAEP Encryption Example 10.5 +# ---------------------------------- + +# Message to be encrypted: +a7 dd 6c 7d c2 4b 46 f9 dd 5f 1e 91 ad a4 c3 b3 +df 94 7e 87 72 32 a9 + +# Seed: +95 bc a9 e3 85 98 94 b3 dd 86 9f a7 ec d5 bb c6 +40 1b f3 e4 + +# Encryption: +75 29 08 72 cc fd 4a 45 05 66 0d 65 1f 56 da 6d +aa 09 ca 13 01 d8 90 63 2f 6a 99 2f 3d 56 5c ee +46 4a fd ed 40 ed 3b 5b e9 35 67 14 ea 5a a7 65 +5f 4a 13 66 c2 f1 7c 72 8f 6f 2c 5a 5d 1f 8e 28 +42 9b c4 e6 f8 f2 cf f8 da 8d c0 e0 a9 80 8e 45 +fd 09 ea 2f a4 0c b2 b6 ce 6f ff f5 c0 e1 59 d1 +1b 68 d9 0a 85 f7 b8 4e 10 3b 09 e6 82 66 64 80 +c6 57 50 5c 09 29 25 94 68 a3 14 78 6d 74 ea b1 +31 57 3c f2 34 bf 57 db 7d 9e 66 cc 67 48 19 2e +00 2d c0 de ea 93 05 85 f0 83 1f dc d9 bc 33 d5 +1f 79 ed 2f fc 16 bc f4 d5 98 12 fc eb ca a3 f9 +06 9b 0e 44 56 86 d6 44 c2 5c cf 63 b4 56 ee 5f +a6 ff e9 6f 19 cd f7 51 fe d9 ea f3 59 57 75 4d +bf 4b fe a5 21 6a a1 84 4d c5 07 cb 2d 08 0e 72 +2e ba 15 03 08 c2 b5 ff 11 93 62 0f 17 66 ec f4 +48 1b af b9 43 bd 29 28 77 f2 13 6c a4 94 ab a0 + +# ---------------------------------- +# RSAES-OAEP Encryption Example 10.6 +# ---------------------------------- + +# Message to be encrypted: +ea f1 a7 3a 1b 0c 46 09 53 7d e6 9c d9 22 8b bc +fb 9a 8c a8 c6 c3 ef af 05 6f e4 a7 f4 63 4e d0 +0b 7c 39 ec 69 22 d7 b8 ea 2c 04 eb ac + +# Seed: +9f 47 dd f4 2e 97 ee a8 56 a9 bd bc 71 4e b3 ac +22 f6 eb 32 + +# Encryption: +2d 20 7a 73 43 2a 8f b4 c0 30 51 b3 f7 3b 28 a6 +17 64 09 8d fa 34 c4 7a 20 99 5f 81 15 aa 68 16 +67 9b 55 7e 82 db ee 58 49 08 c6 e6 97 82 d7 de +b3 4d bd 65 af 06 3d 57 fc a7 6a 5f d0 69 49 2f +d6 06 8d 99 84 d2 09 35 05 65 a6 2e 5c 77 f2 30 +38 c1 2c b1 0c 66 34 70 9b 54 7c 46 f6 b4 a7 09 +bd 85 ca 12 2d 74 46 5e f9 77 62 c2 97 63 e0 6d +bc 7a 9e 73 8c 78 bf ca 01 02 dc 5e 79 d6 5b 97 +3f 28 24 0c aa b2 e1 61 a7 8b 57 d2 62 45 7e d8 +19 5d 53 e3 c7 ae 9d a0 21 88 3c 6d b7 c2 4a fd +d2 32 2e ac 97 2a d3 c3 54 c5 fc ef 1e 14 6c 3a +02 90 fb 67 ad f0 07 06 6e 00 42 8d 2c ec 18 ce +58 f9 32 86 98 de fe f4 b2 eb 5e c7 69 18 fd e1 +c1 98 cb b3 8b 7a fc 67 62 6a 9a ef ec 43 22 bf +d9 0d 25 63 48 1c 9a 22 1f 78 c8 27 2c 82 d1 b6 +2a b9 14 e1 c6 9f 6a f6 ef 30 ca 52 60 db 4a 46 + +# ============================================= diff --git a/testvectors/rsa-pkcs-1v2-1-vec/pss-int.txt b/testvectors/rsa-pkcs-1v2-1-vec/pss-int.txt new file mode 100644 index 0000000..667c753 --- /dev/null +++ b/testvectors/rsa-pkcs-1v2-1-vec/pss-int.txt @@ -0,0 +1,162 @@ +# ================================= +# WORKED-OUT EXAMPLE FOR RSASSA-PSS +# ================================= +# +# This file gives an example of the process of +# signing a message with RSASSA-PSS as +# specified in PKCS #1 v2.1. +# +# The message is an octet string of length 114, +# while the size of the modulus in the public +# key is 1024 bits. The message is signed via a +# random salt of length 20 octets +# +# The underlying hash function in the EMSA-PSS +# encoding method is SHA-1; the mask generation +# function is MGF1 with SHA-1 as specified in +# PKCS #1 v2.1. +# +# Integers are represented by strings of octets +# with the leftmost octet being the most +# significant octet. For example, +# +# 9,202,000 = (0x)8c 69 50. +# +# ============================================= + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +a2 ba 40 ee 07 e3 b2 bd 2f 02 ce 22 7f 36 a1 95 +02 44 86 e4 9c 19 cb 41 bb bd fb ba 98 b2 2b 0e +57 7c 2e ea ff a2 0d 88 3a 76 e6 5e 39 4c 69 d4 +b3 c0 5a 1e 8f ad da 27 ed b2 a4 2b c0 00 fe 88 +8b 9b 32 c2 2d 15 ad d0 cd 76 b3 e7 93 6e 19 95 +5b 22 0d d1 7d 4e a9 04 b1 ec 10 2b 2e 4d e7 75 +12 22 aa 99 15 10 24 c7 cb 41 cc 5e a2 1d 00 ee +b4 1f 7c 80 08 34 d2 c6 e0 6b ce 3b ce 7e a9 a5 + +# RSA public exponent e: +01 00 01 + +# Prime p: +d1 7f 65 5b f2 7c 8b 16 d3 54 62 c9 05 cc 04 a2 +6f 37 e2 a6 7f a9 c0 ce 0d ce d4 72 39 4a 0d f7 +43 fe 7f 92 9e 37 8e fd b3 68 ed df f4 53 cf 00 +7a f6 d9 48 e0 ad e7 57 37 1f 8a 71 1e 27 8f 6b + +# Prime q: +c6 d9 2b 6f ee 74 14 d1 35 8c e1 54 6f b6 29 87 +53 0b 90 bd 15 e0 f1 49 63 a5 e2 63 5a db 69 34 +7e c0 c0 1b 2a b1 76 3f d8 ac 1a 59 2f b2 27 57 +46 3a 98 24 25 bb 97 a3 a4 37 c5 bf 86 d0 3f 2f + +# p's CRT exponent dP: +9d 0d bf 83 e5 ce 9e 4b 17 54 dc d5 cd 05 bc b7 +b5 5f 15 08 33 0e a4 9f 14 d4 e8 89 55 0f 82 56 +cb 5f 80 6d ff 34 b1 7a da 44 20 88 53 57 7d 08 +e4 26 28 90 ac f7 52 46 1c ea 05 54 76 01 bc 4f + +# q's CRT exponent dQ: +12 91 a5 24 c6 b7 c0 59 e9 0e 46 dc 83 b2 17 1e +b3 fa 98 81 8f d1 79 b6 c8 bf 6c ec aa 47 63 03 +ab f2 83 fe 05 76 9c fc 49 57 88 fe 5b 1d df de +9e 88 4a 3c d5 e9 36 b7 e9 55 eb f9 7e b5 63 b1 + +# CRT coefficient qInv: +a6 3f 1d a3 8b 95 0c 9a d1 c6 7c e0 d6 77 ec 29 +14 cd 7d 40 06 2d f4 2a 67 eb 19 8a 17 6f 97 42 +aa c7 c5 fe a1 4f 22 97 66 2b 84 81 2c 4d ef c4 +9a 80 25 ab 43 82 28 6b e4 c0 37 88 dd 01 d6 9f + +# --------------------------------- +# Step-by-step RSASSA-PSS Signature +# --------------------------------- + +# Message M to be signed: +85 9e ef 2f d7 8a ca 00 30 8b dc 47 11 93 bf 55 +bf 9d 78 db 8f 8a 67 2b 48 46 34 f3 c9 c2 6e 64 +78 ae 10 26 0f e0 dd 8c 08 2e 53 a5 29 3a f2 17 +3c d5 0c 6d 5d 35 4f eb f7 8b 26 02 1c 25 c0 27 +12 e7 8c d4 69 4c 9f 46 97 77 e4 51 e7 f8 e9 e0 +4c d3 73 9c 6b bf ed ae 48 7f b5 56 44 e9 ca 74 +ff 77 a5 3c b7 29 80 2f 6e d4 a5 ff a8 ba 15 98 +90 fc + +# mHash = Hash(M) +# salt = random string of octets +# M' = Padding || mHash || salt +# H = Hash(M') +# DB = Padding || salt +# dbMask = MGF(H, length(DB)) +# maskedDB = DB xor dbMask (leftmost bit set to +# zero) +# EM = maskedDB || H || 0xbc + +# mHash: +37 b6 6a e0 44 58 43 35 3d 47 ec b0 b4 fd 14 c1 +10 e6 2d 6a + +# salt: +e3 b5 d5 d0 02 c1 bc e5 0c 2b 65 ef 88 a1 88 d8 +3b ce 7e 61 + +# M': +00 00 00 00 00 00 00 00 37 b6 6a e0 44 58 43 35 +3d 47 ec b0 b4 fd 14 c1 10 e6 2d 6a e3 b5 d5 d0 +02 c1 bc e5 0c 2b 65 ef 88 a1 88 d8 3b ce 7e 61 + +# H: +df 1a 89 6f 9d 8b c8 16 d9 7c d7 a2 c4 3b ad 54 +6f be 8c fe + +# DB: +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 01 e3 b5 d5 d0 02 c1 bc e5 0c +2b 65 ef 88 a1 88 d8 3b ce 7e 61 + +# dbMask: +66 e4 67 2e 83 6a d1 21 ba 24 4b ed 65 76 b8 67 +d9 a4 47 c2 8a 6e 66 a5 b8 7d ee 7f bc 7e 65 af +50 57 f8 6f ae 89 84 d9 ba 7f 96 9a d6 fe 02 a4 +d7 5f 74 45 fe fd d8 5b 6d 3a 47 7c 28 d2 4b a1 +e3 75 6f 79 2d d1 dc e8 ca 94 44 0e cb 52 79 ec +d3 18 3a 31 1f c8 97 39 a9 66 43 13 6e 8b 0f 46 +5e 87 a4 53 5c d4 c5 9b 10 02 8d + +# maskedDB: +66 e4 67 2e 83 6a d1 21 ba 24 4b ed 65 76 b8 67 +d9 a4 47 c2 8a 6e 66 a5 b8 7d ee 7f bc 7e 65 af +50 57 f8 6f ae 89 84 d9 ba 7f 96 9a d6 fe 02 a4 +d7 5f 74 45 fe fd d8 5b 6d 3a 47 7c 28 d2 4b a1 +e3 75 6f 79 2d d1 dc e8 ca 94 44 0e cb 52 79 ec +d3 18 3a 31 1f c8 96 da 1c b3 93 11 af 37 ea 4a +75 e2 4b db fd 5c 1d a0 de 7c ec + +# Encoded message EM: +66 e4 67 2e 83 6a d1 21 ba 24 4b ed 65 76 b8 67 +d9 a4 47 c2 8a 6e 66 a5 b8 7d ee 7f bc 7e 65 af +50 57 f8 6f ae 89 84 d9 ba 7f 96 9a d6 fe 02 a4 +d7 5f 74 45 fe fd d8 5b 6d 3a 47 7c 28 d2 4b a1 +e3 75 6f 79 2d d1 dc e8 ca 94 44 0e cb 52 79 ec +d3 18 3a 31 1f c8 96 da 1c b3 93 11 af 37 ea 4a +75 e2 4b db fd 5c 1d a0 de 7c ec df 1a 89 6f 9d +8b c8 16 d9 7c d7 a2 c4 3b ad 54 6f be 8c fe bc + +# Signature S, the RSA decryption of EM: +8d aa 62 7d 3d e7 59 5d 63 05 6c 7e c6 59 e5 44 +06 f1 06 10 12 8b aa e8 21 c8 b2 a0 f3 93 6d 54 +dc 3b dc e4 66 89 f6 b7 95 1b b1 8e 84 05 42 76 +97 18 d5 71 5d 21 0d 85 ef bb 59 61 92 03 2c 42 +be 4c 29 97 2c 85 62 75 eb 6d 5a 45 f0 5f 51 87 +6f c6 74 3d ed dd 28 ca ec 9b b3 0e a9 9e 02 c3 +48 82 69 60 4f e4 97 f7 4c cd 7c 7f ca 16 71 89 +71 23 cb d3 0d ef 5d 54 a2 b5 53 6a d9 0a 74 7e + +# ============================================= diff --git a/testvectors/rsa-pkcs-1v2-1-vec/pss-vect.txt b/testvectors/rsa-pkcs-1v2-1-vec/pss-vect.txt new file mode 100644 index 0000000..001e3c4 --- /dev/null +++ b/testvectors/rsa-pkcs-1v2-1-vec/pss-vect.txt @@ -0,0 +1,2581 @@ +# =========================== +# TEST VECTORS FOR RSASSA-PSS +# =========================== +# +# This file contains test vectors for the +# RSASSA-PSS signature scheme with appendix as +# defined in PKCS #1 v2.1. 10 RSA keys of +# different sizes have been generated. For each +# key, 6 random messages of length between 1 +# and 256 octets have been RSASSA-PSS signed +# via a random salt of length 20 octets. +# +# The underlying hash function in the EMSA-PSS +# encoding method is SHA-1; the mask generation +# function is MGF1 with SHA-1 as specified in +# PKCS #1 v2.1. +# +# Integers are represented by strings of octets +# with the leftmost octet being the most +# significant octet. For example, +# +# 9,202,000 = (0x)8c 69 50. +# +# Key lengths: +# +# Key 1: 1024 bits +# Key 2: 1025 bits +# Key 3: 1026 bits +# Key 4: 1027 bits +# Key 5: 1028 bits +# Key 6: 1029 bits +# Key 7: 1030 bits +# Key 8: 1031 bits +# Key 9: 1536 bits +# Key 10: 2048 bits +# +# ============================================= + +# ================================== +# Example 1: A 1024-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +a5 6e 4a 0e 70 10 17 58 9a 51 87 dc 7e a8 41 d1 +56 f2 ec 0e 36 ad 52 a4 4d fe b1 e6 1f 7a d9 91 +d8 c5 10 56 ff ed b1 62 b4 c0 f2 83 a1 2a 88 a3 +94 df f5 26 ab 72 91 cb b3 07 ce ab fc e0 b1 df +d5 cd 95 08 09 6d 5b 2b 8b 6d f5 d6 71 ef 63 77 +c0 92 1c b2 3c 27 0a 70 e2 59 8e 6f f8 9d 19 f1 +05 ac c2 d3 f0 cb 35 f2 92 80 e1 38 6b 6f 64 c4 +ef 22 e1 e1 f2 0d 0c e8 cf fb 22 49 bd 9a 21 37 + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +33 a5 04 2a 90 b2 7d 4f 54 51 ca 9b bb d0 b4 47 +71 a1 01 af 88 43 40 ae f9 88 5f 2a 4b be 92 e8 +94 a7 24 ac 3c 56 8c 8f 97 85 3a d0 7c 02 66 c8 +c6 a3 ca 09 29 f1 e8 f1 12 31 88 44 29 fc 4d 9a +e5 5f ee 89 6a 10 ce 70 7c 3e d7 e7 34 e4 47 27 +a3 95 74 50 1a 53 26 83 10 9c 2a ba ca ba 28 3c +31 b4 bd 2f 53 c3 ee 37 e3 52 ce e3 4f 9e 50 3b +d8 0c 06 22 ad 79 c6 dc ee 88 35 47 c6 a3 b3 25 + +# Prime p: +e7 e8 94 27 20 a8 77 51 72 73 a3 56 05 3e a2 a1 +bc 0c 94 aa 72 d5 5c 6e 86 29 6b 2d fc 96 79 48 +c0 a7 2c bc cc a7 ea cb 35 70 6e 09 a1 df 55 a1 +53 5b d9 b3 cc 34 16 0b 3b 6d cd 3e da 8e 64 43 + +# Prime q: +b6 9d ca 1c f7 d4 d7 ec 81 e7 5b 90 fc ca 87 4a +bc de 12 3f d2 70 01 80 aa 90 47 9b 6e 48 de 8d +67 ed 24 f9 f1 9d 85 ba 27 58 74 f5 42 cd 20 dc +72 3e 69 63 36 4a 1f 94 25 45 2b 26 9a 67 99 fd + +# p's CRT exponent dP: +28 fa 13 93 86 55 be 1f 8a 15 9c ba ca 5a 72 ea +19 0c 30 08 9e 19 cd 27 4a 55 6f 36 c4 f6 e1 9f +55 4b 34 c0 77 79 04 27 bb dd 8d d3 ed e2 44 83 +28 f3 85 d8 1b 30 e8 e4 3b 2f ff a0 27 86 19 79 + +# q's CRT exponent dQ: +1a 8b 38 f3 98 fa 71 20 49 89 8d 7f b7 9e e0 a7 +76 68 79 12 99 cd fa 09 ef c0 e5 07 ac b2 1e d7 +43 01 ef 5b fd 48 be 45 5e ae b6 e1 67 82 55 82 +75 80 a8 e4 e8 e1 41 51 d1 51 0a 82 a3 f2 e7 29 + +# CRT coefficient qInv: +27 15 6a ba 41 26 d2 4a 81 f3 a5 28 cb fb 27 f5 +68 86 f8 40 a9 f6 e8 6e 17 a4 4b 94 fe 93 19 58 +4b 8e 22 fd de 1e 5a 2e 3b d8 aa 5b a8 d8 58 41 +94 eb 21 90 ac f8 32 b8 47 f1 3a 3d 24 a7 9f 4d + +# -------------------------------- +# RSASSA-PSS Signature Example 1.1 +# -------------------------------- + +# Message to be signed: +cd c8 7d a2 23 d7 86 df 3b 45 e0 bb bc 72 13 26 +d1 ee 2a f8 06 cc 31 54 75 cc 6f 0d 9c 66 e1 b6 +23 71 d4 5c e2 39 2e 1a c9 28 44 c3 10 10 2f 15 +6a 0d 8d 52 c1 f4 c4 0b a3 aa 65 09 57 86 cb 76 +97 57 a6 56 3b a9 58 fe d0 bc c9 84 e8 b5 17 a3 +d5 f5 15 b2 3b 8a 41 e7 4a a8 67 69 3f 90 df b0 +61 a6 e8 6d fa ae e6 44 72 c0 0e 5f 20 94 57 29 +cb eb e7 7f 06 ce 78 e0 8f 40 98 fb a4 1f 9d 61 +93 c0 31 7e 8b 60 d4 b6 08 4a cb 42 d2 9e 38 08 +a3 bc 37 2d 85 e3 31 17 0f cb f7 cc 72 d0 b7 1c +29 66 48 b3 a4 d1 0f 41 62 95 d0 80 7a a6 25 ca +b2 74 4f d9 ea 8f d2 23 c4 25 37 02 98 28 bd 16 +be 02 54 6f 13 0f d2 e3 3b 93 6d 26 76 e0 8a ed +1b 73 31 8b 75 0a 01 67 d0 + +# Salt: +de e9 59 c7 e0 64 11 36 14 20 ff 80 18 5e d5 7f +3e 67 76 af + +# Signature: +90 74 30 8f b5 98 e9 70 1b 22 94 38 8e 52 f9 71 +fa ac 2b 60 a5 14 5a f1 85 df 52 87 b5 ed 28 87 +e5 7c e7 fd 44 dc 86 34 e4 07 c8 e0 e4 36 0b c2 +26 f3 ec 22 7f 9d 9e 54 63 8e 8d 31 f5 05 12 15 +df 6e bb 9c 2f 95 79 aa 77 59 8a 38 f9 14 b5 b9 +c1 bd 83 c4 e2 f9 f3 82 a0 d0 aa 35 42 ff ee 65 +98 4a 60 1b c6 9e b2 8d eb 27 dc a1 2c 82 c2 d4 +c3 f6 6c d5 00 f1 ff 2b 99 4d 8a 4e 30 cb b3 3c + +# -------------------------------- +# RSASSA-PSS Signature Example 1.2 +# -------------------------------- + +# Message to be signed: +85 13 84 cd fe 81 9c 22 ed 6c 4c cb 30 da eb 5c +f0 59 bc 8e 11 66 b7 e3 53 0c 4c 23 3e 2b 5f 8f +71 a1 cc a5 82 d4 3e cc 72 b1 bc a1 6d fc 70 13 +22 6b 9e + +# Salt: +ef 28 69 fa 40 c3 46 cb 18 3d ab 3d 7b ff c9 8f +d5 6d f4 2d + +# Signature: +3e f7 f4 6e 83 1b f9 2b 32 27 41 42 a5 85 ff ce +fb dc a7 b3 2a e9 0d 10 fb 0f 0c 72 99 84 f0 4e +f2 9a 9d f0 78 07 75 ce 43 73 9b 97 83 83 90 db +0a 55 05 e6 3d e9 27 02 8d 9d 29 b2 19 ca 2c 45 +17 83 25 58 a5 5d 69 4a 6d 25 b9 da b6 60 03 c4 +cc cd 90 78 02 19 3b e5 17 0d 26 14 7d 37 b9 35 +90 24 1b e5 1c 25 05 5f 47 ef 62 75 2c fb e2 14 +18 fa fe 98 c2 2c 4d 4d 47 72 4f db 56 69 e8 43 + +# -------------------------------- +# RSASSA-PSS Signature Example 1.3 +# -------------------------------- + +# Message to be signed: +a4 b1 59 94 17 61 c4 0c 6a 82 f2 b8 0d 1b 94 f5 +aa 26 54 fd 17 e1 2d 58 88 64 67 9b 54 cd 04 ef +8b d0 30 12 be 8d c3 7f 4b 83 af 79 63 fa ff 0d +fa 22 54 77 43 7c 48 01 7f f2 be 81 91 cf 39 55 +fc 07 35 6e ab 3f 32 2f 7f 62 0e 21 d2 54 e5 db +43 24 27 9f e0 67 e0 91 0e 2e 81 ca 2c ab 31 c7 +45 e6 7a 54 05 8e b5 0d 99 3c db 9e d0 b4 d0 29 +c0 6d 21 a9 4c a6 61 c3 ce 27 fa e1 d6 cb 20 f4 +56 4d 66 ce 47 67 58 3d 0e 5f 06 02 15 b5 90 17 +be 85 ea 84 89 39 12 7b d8 c9 c4 d4 7b 51 05 6c +03 1c f3 36 f1 7c 99 80 f3 b8 f5 b9 b6 87 8e 8b +79 7a a4 3b 88 26 84 33 3e 17 89 3f e9 ca a6 aa +29 9f 7e d1 a1 8e e2 c5 48 64 b7 b2 b9 9b 72 61 +8f b0 25 74 d1 39 ef 50 f0 19 c9 ee f4 16 97 13 +38 e7 d4 70 + +# Salt: +71 0b 9c 47 47 d8 00 d4 de 87 f1 2a fd ce 6d f1 +81 07 cc 77 + +# Signature: +66 60 26 fb a7 1b d3 e7 cf 13 15 7c c2 c5 1a 8e +4a a6 84 af 97 78 f9 18 49 f3 43 35 d1 41 c0 01 +54 c4 19 76 21 f9 62 4a 67 5b 5a bc 22 ee 7d 5b +aa ff aa e1 c9 ba ca 2c c3 73 b3 f3 3e 78 e6 14 +3c 39 5a 91 aa 7f ac a6 64 eb 73 3a fd 14 d8 82 +72 59 d9 9a 75 50 fa ca 50 1e f2 b0 4e 33 c2 3a +a5 1f 4b 9e 82 82 ef db 72 8c c0 ab 09 40 5a 91 +60 7c 63 69 96 1b c8 27 0d 2d 4f 39 fc e6 12 b1 + +# -------------------------------- +# RSASSA-PSS Signature Example 1.4 +# -------------------------------- + +# Message to be signed: +bc 65 67 47 fa 9e af b3 f0 + +# Salt: +05 6f 00 98 5d e1 4d 8e f5 ce a9 e8 2f 8c 27 be +f7 20 33 5e + +# Signature: +46 09 79 3b 23 e9 d0 93 62 dc 21 bb 47 da 0b 4f +3a 76 22 64 9a 47 d4 64 01 9b 9a ea fe 53 35 9c +17 8c 91 cd 58 ba 6b cb 78 be 03 46 a7 bc 63 7f +4b 87 3d 4b ab 38 ee 66 1f 19 96 34 c5 47 a1 ad +84 42 e0 3d a0 15 b1 36 e5 43 f7 ab 07 c0 c1 3e +42 25 b8 de 8c ce 25 d4 f6 eb 84 00 f8 1f 7e 18 +33 b7 ee 6e 33 4d 37 09 64 ca 79 fd b8 72 b4 d7 +52 23 b5 ee b0 81 01 59 1f b5 32 d1 55 a6 de 87 + +# -------------------------------- +# RSASSA-PSS Signature Example 1.5 +# -------------------------------- + +# Message to be signed: +b4 55 81 54 7e 54 27 77 0c 76 8e 8b 82 b7 55 64 +e0 ea 4e 9c 32 59 4d 6b ff 70 65 44 de 0a 87 76 +c7 a8 0b 45 76 55 0e ee 1b 2a ca bc 7e 8b 7d 3e +f7 bb 5b 03 e4 62 c1 10 47 ea dd 00 62 9a e5 75 +48 0a c1 47 0f e0 46 f1 3a 2b f5 af 17 92 1d c4 +b0 aa 8b 02 be e6 33 49 11 65 1d 7f 85 25 d1 0f +32 b5 1d 33 be 52 0d 3d df 5a 70 99 55 a3 df e7 +82 83 b9 e0 ab 54 04 6d 15 0c 17 7f 03 7f dc cc +5b e4 ea 5f 68 b5 e5 a3 8c 9d 7e dc cc c4 97 5f +45 5a 69 09 b4 + +# Salt: +80 e7 0f f8 6a 08 de 3e c6 09 72 b3 9b 4f bf dc +ea 67 ae 8e + +# Signature: +1d 2a ad 22 1c a4 d3 1d df 13 50 92 39 01 93 98 +e3 d1 4b 32 dc 34 dc 5a f4 ae ae a3 c0 95 af 73 +47 9c f0 a4 5e 56 29 63 5a 53 a0 18 37 76 15 b1 +6c b9 b1 3b 3e 09 d6 71 eb 71 e3 87 b8 54 5c 59 +60 da 5a 64 77 6e 76 8e 82 b2 c9 35 83 bf 10 4c +3f db 23 51 2b 7b 4e 89 f6 33 dd 00 63 a5 30 db +45 24 b0 1c 3f 38 4c 09 31 0e 31 5a 79 dc d3 d6 +84 02 2a 7f 31 c8 65 a6 64 e3 16 97 8b 75 9f ad + +# -------------------------------- +# RSASSA-PSS Signature Example 1.6 +# -------------------------------- + +# Message to be signed: +10 aa e9 a0 ab 0b 59 5d 08 41 20 7b 70 0d 48 d7 +5f ae dd e3 b7 75 cd 6b 4c c8 8a e0 6e 46 94 ec +74 ba 18 f8 52 0d 4f 5e a6 9c bb e7 cc 2b eb a4 +3e fd c1 02 15 ac 4e b3 2d c3 02 a1 f5 3d c6 c4 +35 22 67 e7 93 6c fe bf 7c 8d 67 03 57 84 a3 90 +9f a8 59 c7 b7 b5 9b 8e 39 c5 c2 34 9f 18 86 b7 +05 a3 02 67 d4 02 f7 48 6a b4 f5 8c ad 5d 69 ad +b1 7a b8 cd 0c e1 ca f5 02 5a f4 ae 24 b1 fb 87 +94 c6 07 0c c0 9a 51 e2 f9 91 13 11 e3 87 7d 00 +44 c7 1c 57 a9 93 39 50 08 80 6b 72 3a c3 83 73 +d3 95 48 18 18 52 8c 1e 70 53 73 92 82 05 35 29 +51 0e 93 5c d0 fa 77 b8 fa 53 cc 2d 47 4b d4 fb +3c c5 c6 72 d6 ff dc 90 a0 0f 98 48 71 2c 4b cf +e4 6c 60 57 36 59 b1 1e 64 57 e8 61 f0 f6 04 b6 +13 8d 14 4f 8c e4 e2 da 73 + +# Salt: +a8 ab 69 dd 80 1f 00 74 c2 a1 fc 60 64 98 36 c6 +16 d9 96 81 + +# Signature: +2a 34 f6 12 5e 1f 6b 0b f9 71 e8 4f bd 41 c6 32 +be 8f 2c 2a ce 7d e8 b6 92 6e 31 ff 93 e9 af 98 +7f bc 06 e5 1e 9b e1 4f 51 98 f9 1f 3f 95 3b d6 +7d a6 0a 9d f5 97 64 c3 dc 0f e0 8e 1c be f0 b7 +5f 86 8d 10 ad 3f ba 74 9f ef 59 fb 6d ac 46 a0 +d6 e5 04 36 93 31 58 6f 58 e4 62 8f 39 aa 27 89 +82 54 3b c0 ee b5 37 dc 61 95 80 19 b3 94 fb 27 +3f 21 58 58 a0 a0 1a c4 d6 50 b9 55 c6 7f 4c 58 + +# ============================================= + +# ================================== +# Example 2: A 1025-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +01 d4 0c 1b cf 97 a6 8a e7 cd bd 8a 7b f3 e3 4f +a1 9d cc a4 ef 75 a4 74 54 37 5f 94 51 4d 88 fe +d0 06 fb 82 9f 84 19 ff 87 d6 31 5d a6 8a 1f f3 +a0 93 8e 9a bb 34 64 01 1c 30 3a d9 91 99 cf 0c +7c 7a 8b 47 7d ce 82 9e 88 44 f6 25 b1 15 e5 e9 +c4 a5 9c f8 f8 11 3b 68 34 33 6a 2f d2 68 9b 47 +2c bb 5e 5c ab e6 74 35 0c 59 b6 c1 7e 17 68 74 +fb 42 f8 fc 3d 17 6a 01 7e dc 61 fd 32 6c 4b 33 +c9 + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +02 7d 14 7e 46 73 05 73 77 fd 1e a2 01 56 57 72 +17 6a 7d c3 83 58 d3 76 04 56 85 a2 e7 87 c2 3c +15 57 6b c1 6b 9f 44 44 02 d6 bf c5 d9 8a 3e 88 +ea 13 ef 67 c3 53 ec a0 c0 dd ba 92 55 bd 7b 8b +b5 0a 64 4a fd fd 1d d5 16 95 b2 52 d2 2e 73 18 +d1 b6 68 7a 1c 10 ff 75 54 5f 3d b0 fe 60 2d 5f +2b 7f 29 4e 36 01 ea b7 b9 d1 ce cd 76 7f 64 69 +2e 3e 53 6c a2 84 6c b0 c2 dd 48 6a 39 fa 75 b1 + +# Prime p: +01 66 01 e9 26 a0 f8 c9 e2 6e ca b7 69 ea 65 a5 +e7 c5 2c c9 e0 80 ef 51 94 57 c6 44 da 68 91 c5 +a1 04 d3 ea 79 55 92 9a 22 e7 c6 8a 7a f9 fc ad +77 7c 3c cc 2b 9e 3d 36 50 bc e4 04 39 9b 7e 59 +d1 + +# Prime q: +01 4e af a1 d4 d0 18 4d a7 e3 1f 87 7d 12 81 dd +da 62 56 64 86 9e 83 79 e6 7a d3 b7 5e ae 74 a5 +80 e9 82 7a bd 6e b7 a0 02 cb 54 11 f5 26 67 97 +76 8f b8 e9 5a e4 0e 3e 8a 01 f3 5f f8 9e 56 c0 +79 + +# p's CRT exponent dP: +e2 47 cc e5 04 93 9b 8f 0a 36 09 0d e2 00 93 87 +55 e2 44 4b 29 53 9a 7d a7 a9 02 f6 05 68 35 c0 +db 7b 52 55 94 97 cf e2 c6 1a 80 86 d0 21 3c 47 +2c 78 85 18 00 b1 71 f6 40 1d e2 e9 c2 75 6f 31 + +# q's CRT exponent dQ: +b1 2f ba 75 78 55 e5 86 e4 6f 64 c3 8a 70 c6 8b +3f 54 8d 93 d7 87 b3 99 99 9d 4c 8f 0b bd 25 81 +c2 1e 19 ed 00 18 a6 d5 d3 df 86 42 4b 3a bc ad +40 19 9d 31 49 5b 61 30 9f 27 c1 bf 55 d4 87 c1 + +# CRT coefficient qInv: +56 4b 1e 1f a0 03 bd a9 1e 89 09 04 25 aa c0 5b +91 da 9e e2 50 61 e7 62 8d 5f 51 30 4a 84 99 2f +dc 33 76 2b d3 78 a5 9f 03 0a 33 4d 53 2b d0 da +e8 f2 98 ea 9e d8 44 63 6a d5 fb 8c bd c0 3c ad + +# -------------------------------- +# RSASSA-PSS Signature Example 2.1 +# -------------------------------- + +# Message to be signed: +da ba 03 20 66 26 3f ae db 65 98 48 11 52 78 a5 +2c 44 fa a3 a7 6f 37 51 5e d3 36 32 10 72 c4 0a +9d 9b 53 bc 05 01 40 78 ad f5 20 87 51 46 aa e7 +0f f0 60 22 6d cb 7b 1f 1f c2 7e 93 60 + +# Salt: +57 bf 16 0b cb 02 bb 1d c7 28 0c f0 45 85 30 b7 +d2 83 2f f7 + +# Signature: +01 4c 5b a5 33 83 28 cc c6 e7 a9 0b f1 c0 ab 3f +d6 06 ff 47 96 d3 c1 2e 4b 63 9e d9 13 6a 5f ec +6c 16 d8 88 4b dd 99 cf dc 52 14 56 b0 74 2b 73 +68 68 cf 90 de 09 9a db 8d 5f fd 1d ef f3 9b a4 +00 7a b7 46 ce fd b2 2d 7d f0 e2 25 f5 46 27 dc +65 46 61 31 72 1b 90 af 44 53 63 a8 35 8b 9f 60 +76 42 f7 8f ab 0a b0 f4 3b 71 68 d6 4b ae 70 d8 +82 78 48 d8 ef 1e 42 1c 57 54 dd f4 2c 25 89 b5 +b3 + +# -------------------------------- +# RSASSA-PSS Signature Example 2.2 +# -------------------------------- + +# Message to be signed: +e4 f8 60 1a 8a 6d a1 be 34 44 7c 09 59 c0 58 57 +0c 36 68 cf d5 1d d5 f9 cc d6 ad 44 11 fe 82 13 +48 6d 78 a6 c4 9f 93 ef c2 ca 22 88 ce bc 2b 9b +60 bd 04 b1 e2 20 d8 6e 3d 48 48 d7 09 d0 32 d1 +e8 c6 a0 70 c6 af 9a 49 9f cf 95 35 4b 14 ba 61 +27 c7 39 de 1b b0 fd 16 43 1e 46 93 8a ec 0c f8 +ad 9e b7 2e 83 2a 70 35 de 9b 78 07 bd c0 ed 8b +68 eb 0f 5a c2 21 6b e4 0c e9 20 c0 db 0e dd d3 +86 0e d7 88 ef ac ca ca 50 2d 8f 2b d6 d1 a7 c1 +f4 1f f4 6f 16 81 c8 f1 f8 18 e9 c4 f6 d9 1a 0c +78 03 cc c6 3d 76 a6 54 4d 84 3e 08 4e 36 3b 8a +cc 55 aa 53 17 33 ed b5 de e5 b5 19 6e 9f 03 e8 +b7 31 b3 77 64 28 d9 e4 57 fe 3f bc b3 db 72 74 +44 2d 78 58 90 e9 cb 08 54 b6 44 4d ac e7 91 d7 +27 3d e1 88 97 19 33 8a 77 fe + +# Salt: +7f 6d d3 59 e6 04 e6 08 70 e8 98 e4 7b 19 bf 2e +5a 7b 2a 90 + +# Signature: +01 09 91 65 6c ca 18 2b 7f 29 d2 db c0 07 e7 ae +0f ec 15 8e b6 75 9c b9 c4 5c 5f f8 7c 76 35 dd +46 d1 50 88 2f 4d e1 e9 ae 65 e7 f7 d9 01 8f 68 +36 95 4a 47 c0 a8 1a 8a 6b 6f 83 f2 94 4d 60 81 +b1 aa 7c 75 9b 25 4b 2c 34 b6 91 da 67 cc 02 26 +e2 0b 2f 18 b4 22 12 76 1d cd 4b 90 8a 62 b3 71 +b5 91 8c 57 42 af 4b 53 7e 29 69 17 67 4f b9 14 +19 47 61 62 1c c1 9a 41 f6 fb 95 3f bc bb 64 9d +ea + +# -------------------------------- +# RSASSA-PSS Signature Example 2.3 +# -------------------------------- + +# Message to be signed: +52 a1 d9 6c 8a c3 9e 41 e4 55 80 98 01 b9 27 a5 +b4 45 c1 0d 90 2a 0d cd 38 50 d2 2a 66 d2 bb 07 +03 e6 7d 58 67 11 45 95 aa bf 5a 7a eb 5a 8f 87 +03 4b bb 30 e1 3c fd 48 17 a9 be 76 23 00 23 60 +6d 02 86 a3 fa f8 a4 d2 2b 72 8e c5 18 07 9f 9e +64 52 6e 3a 0c c7 94 1a a3 38 c4 37 99 7c 68 0c +ca c6 7c 66 bf a1 + +# Salt: +fc a8 62 06 8b ce 22 46 72 4b 70 8a 05 19 da 17 +e6 48 68 8c + +# Signature: +00 7f 00 30 01 8f 53 cd c7 1f 23 d0 36 59 fd e5 +4d 42 41 f7 58 a7 50 b4 2f 18 5f 87 57 85 20 c3 +07 42 af d8 43 59 b6 e6 e8 d3 ed 95 9d c6 fe 48 +6b ed c8 e2 cf 00 1f 63 a7 ab e1 62 56 a1 b8 4d +f0 d2 49 fc 05 d3 19 4c e5 f0 91 27 42 db bf 80 +dd 17 4f 6c 51 f6 ba d7 f1 6c f3 36 4e ba 09 5a +06 26 7d c3 79 38 03 ac 75 26 ae be 0a 47 5d 38 +b8 c2 24 7a b5 1c 48 98 df 70 47 dc 6a df 52 c6 +c4 + +# -------------------------------- +# RSASSA-PSS Signature Example 2.4 +# -------------------------------- + +# Message to be signed: +a7 18 2c 83 ac 18 be 65 70 a1 06 aa 9d 5c 4e 3d +bb d4 af ae b0 c6 0c 4a 23 e1 96 9d 79 ff + +# Salt: +80 70 ef 2d e9 45 c0 23 87 68 4b a0 d3 30 96 73 +22 35 d4 40 + +# Signature: +00 9c d2 f4 ed be 23 e1 23 46 ae 8c 76 dd 9a d3 +23 0a 62 07 61 41 f1 6c 15 2b a1 85 13 a4 8e f6 +f0 10 e0 e3 7f d3 df 10 a1 ec 62 9a 0c b5 a3 b5 +d2 89 30 07 29 8c 30 93 6a 95 90 3b 6b a8 55 55 +d9 ec 36 73 a0 61 08 fd 62 a2 fd a5 6d 1c e2 e8 +5c 4d b6 b2 4a 81 ca 3b 49 6c 36 d4 fd 06 eb 7c +91 66 d8 e9 48 77 c4 2b ea 62 2b 3b fe 92 51 fd +c2 1d 8d 53 71 ba da d7 8a 48 82 14 79 63 35 b4 +0b + +# -------------------------------- +# RSASSA-PSS Signature Example 2.5 +# -------------------------------- + +# Message to be signed: +86 a8 3d 4a 72 ee 93 2a 4f 56 30 af 65 79 a3 86 +b7 8f e8 89 99 e0 ab d2 d4 90 34 a4 bf c8 54 dd +94 f1 09 4e 2e 8c d7 a1 79 d1 95 88 e4 ae fc 1b +1b d2 5e 95 e3 dd 46 1f + +# Salt: +17 63 9a 4e 88 d7 22 c4 fc a2 4d 07 9a 8b 29 c3 +24 33 b0 c9 + +# Signature: +00 ec 43 08 24 93 1e bd 3b aa 43 03 4d ae 98 ba +64 6b 8c 36 01 3d 16 71 c3 cf 1c f8 26 0c 37 4b +19 f8 e1 cc 8d 96 50 12 40 5e 7e 9b f7 37 86 12 +df cc 85 fc e1 2c da 11 f9 50 bd 0b a8 87 67 40 +43 6c 1d 25 95 a6 4a 1b 32 ef cf b7 4a 21 c8 73 +b3 cc 33 aa f4 e3 dc 39 53 de 67 f0 67 4c 04 53 +b4 fd 9f 60 44 06 d4 41 b8 16 09 8c b1 06 fe 34 +72 bc 25 1f 81 5f 59 db 2e 43 78 a3 ad dc 18 1e +cf + +# -------------------------------- +# RSASSA-PSS Signature Example 2.6 +# -------------------------------- + +# Message to be signed: +04 9f 91 54 d8 71 ac 4a 7c 7a b4 53 25 ba 75 45 +a1 ed 08 f7 05 25 b2 66 7c f1 + +# Salt: +37 81 0d ef 10 55 ed 92 2b 06 3d f7 98 de 5d 0a +ab f8 86 ee + +# Signature: +00 47 5b 16 48 f8 14 a8 dc 0a bd c3 7b 55 27 f5 +43 b6 66 bb 6e 39 d3 0e 5b 49 d3 b8 76 dc cc 58 +ea c1 4e 32 a2 d5 5c 26 16 01 44 56 ad 2f 24 6f +c8 e3 d5 60 da 3d df 37 9a 1c 0b d2 00 f1 02 21 +df 07 8c 21 9a 15 1b c8 d4 ec 9d 2f c2 56 44 67 +81 10 14 ef 15 d8 ea 01 c2 eb bf f8 c2 c8 ef ab +38 09 6e 55 fc be 32 85 c7 aa 55 88 51 25 4f af +fa 92 c1 c7 2b 78 75 86 63 ef 45 82 84 31 39 d7 +a6 + +# ============================================= + +# ================================== +# Example 3: A 1026-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +02 f2 46 ef 45 1e d3 ee bb 9a 31 02 00 cc 25 85 +9c 04 8e 4b e7 98 30 29 91 11 2e b6 8c e6 db 67 +4e 28 0d a2 1f ed ed 1a e7 48 80 ca 52 2b 18 db +24 93 85 01 28 27 c5 15 f0 e4 66 a1 ff a6 91 d9 +81 70 57 4e 9d 0e ad b0 87 58 6c a4 89 33 da 3c +c9 53 d9 5b d0 ed 50 de 10 dd cb 67 36 10 7d 6c +83 1c 7f 66 3e 83 3c a4 c0 97 e7 00 ce 0f b9 45 +f8 8f b8 5f e8 e5 a7 73 17 25 65 b9 14 a4 71 a4 +43 + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +65 14 51 73 3b 56 de 5a c0 a6 89 a4 ae b6 e6 89 +4a 69 01 4e 07 6c 88 dd 7a 66 7e ab 32 32 bb cc +d2 fc 44 ba 2f a9 c3 1d b4 6f 21 ed d1 fd b2 3c +5c 12 8a 5d a5 ba b9 1e 7f 95 2b 67 75 9c 7c ff +70 54 15 ac 9f a0 90 7c 7c a6 17 8f 66 8f b9 48 +d8 69 da 4c c3 b7 35 6f 40 08 df d5 44 9d 32 ee +02 d9 a4 77 eb 69 fc 29 26 6e 5d 90 70 51 23 75 +a5 0f bb cc 27 e2 38 ad 98 42 5f 6e bb f8 89 91 + +# Prime p: +01 bd 36 e1 8e ce 4b 0f db 2e 9c 9d 54 8b d1 a7 +d6 e2 c2 1c 6f dc 35 07 4a 1d 05 b1 c6 c8 b3 d5 +58 ea 26 39 c9 a9 a4 21 68 01 69 31 72 52 55 8b +d1 48 ad 21 5a ac 55 0e 2d cf 12 a8 2d 0e bf e8 +53 + +# Prime q: +01 b1 b6 56 ad 86 d8 e1 9d 5d c8 62 92 b3 a1 92 +fd f6 e0 dd 37 87 7b ad 14 82 2f a0 01 90 ca b2 +65 f9 0d 3f 02 05 7b 6f 54 d6 ec b1 44 91 e5 ad +ea ce bc 48 bf 0e bd 2a 2a d2 6d 40 2e 54 f6 16 +51 + +# p's CRT exponent dP: +1f 27 79 fd 2e 3e 5e 6b ae 05 53 95 18 fb a0 cd +0e ad 1a a4 51 3a 7c ba 18 f1 cf 10 e3 f6 81 95 +69 3d 27 8a 0f 0e e7 2f 89 f9 bc 76 0d 80 e2 f9 +d0 26 1d 51 65 01 c6 ae 39 f1 4a 47 6c e2 cc f5 + +# q's CRT exponent dQ: +01 1a 0d 36 79 4b 04 a8 54 aa b4 b2 46 2d 43 9a +50 46 c9 1d 94 0b 2b c6 f7 5b 62 95 6f ef 35 a2 +a6 e6 3c 53 09 81 7f 30 7b bf f9 d5 9e 7e 33 1b +d3 63 f6 d6 68 49 b1 83 46 ad ea 16 9f 0a e9 ae +c1 + +# CRT coefficient qInv: +0b 30 f0 ec f5 58 75 2f b3 a6 ce 4b a2 b8 c6 75 +f6 59 eb a6 c3 76 58 5a 1b 39 71 2d 03 8a e3 d2 +b4 6f cb 41 8a e1 5d 09 05 da 64 40 e1 51 3a 30 +b9 b7 d6 66 8f bc 5e 88 e5 ab 7a 17 5e 73 ba 35 + +# -------------------------------- +# RSASSA-PSS Signature Example 3.1 +# -------------------------------- + +# Message to be signed: +59 4b 37 33 3b bb 2c 84 52 4a 87 c1 a0 1f 75 fc +ec 0e 32 56 f1 08 e3 8d ca 36 d7 0d 00 57 + +# Salt: +f3 1a d6 c8 cf 89 df 78 ed 77 fe ac bc c2 f8 b0 +a8 e4 cf aa + +# Signature: +00 88 b1 35 fb 17 94 b6 b9 6c 4a 3e 67 81 97 f8 +ca c5 2b 64 b2 fe 90 7d 6f 27 de 76 11 24 96 4a +99 a0 1a 88 27 40 ec fa ed 6c 01 a4 74 64 bb 05 +18 23 13 c0 13 38 a8 cd 09 72 14 cd 68 ca 10 3b +d5 7d 3b c9 e8 16 21 3e 61 d7 84 f1 82 46 7a bf +8a 01 cf 25 3e 99 a1 56 ea a8 e3 e1 f9 0e 3c 6e +4e 3a a2 d8 3e d0 34 5b 89 fa fc 9c 26 07 7c 14 +b6 ac 51 45 4f a2 6e 44 6e 3a 2f 15 3b 2b 16 79 +7f + +# -------------------------------- +# RSASSA-PSS Signature Example 3.2 +# -------------------------------- + +# Message to be signed: +8b 76 95 28 88 4a 0d 1f fd 09 0c f1 02 99 3e 79 +6d ad cf bd dd 38 e4 4f f6 32 4c a4 51 + +# Salt: +fc f9 f0 e1 f1 99 a3 d1 d0 da 68 1c 5b 86 06 fc +64 29 39 f7 + +# Signature: +02 a5 f0 a8 58 a0 86 4a 4f 65 01 7a 7d 69 45 4f +3f 97 3a 29 99 83 9b 7b bc 48 bf 78 64 11 69 17 +95 56 f5 95 fa 41 f6 ff 18 e2 86 c2 78 30 79 bc +09 10 ee 9c c3 4f 49 ba 68 11 24 f9 23 df a8 8f +42 61 41 a3 68 a5 f5 a9 30 c6 28 c2 c3 c2 00 e1 +8a 76 44 72 1a 0c be c6 dd 3f 62 79 bd e3 e8 f2 +be 5e 2d 4e e5 6f 97 e7 ce af 33 05 4b e7 04 2b +d9 1a 63 bb 09 f8 97 bd 41 e8 11 97 de e9 9b 11 +af + +# -------------------------------- +# RSASSA-PSS Signature Example 3.3 +# -------------------------------- + +# Message to be signed: +1a bd ba 48 9c 5a da 2f 99 5e d1 6f 19 d5 a9 4d +9e 6e c3 4a 8d 84 f8 45 57 d2 6e 5e f9 b0 2b 22 +88 7e 3f 9a 4b 69 0a d1 14 92 09 c2 0c 61 43 1f +0c 01 7c 36 c2 65 7b 35 d7 b0 7d 3f 5a d8 70 85 +07 a9 c1 b8 31 df 83 5a 56 f8 31 07 18 14 ea 5d +3d 8d 8f 6a de 40 cb a3 8b 42 db 7a 2d 3d 7a 29 +c8 f0 a7 9a 78 38 cf 58 a9 75 7f a2 fe 4c 40 df +9b aa 19 3b fc 6f 92 b1 23 ad 57 b0 7a ce 3e 6a +c0 68 c9 f1 06 af d9 ee b0 3b 4f 37 c2 5d bf bc +fb 30 71 f6 f9 77 17 66 d0 72 f3 bb 07 0a f6 60 +55 32 97 3a e2 50 51 + +# Salt: +98 6e 7c 43 db b6 71 bd 41 b9 a7 f4 b6 af c8 0e +80 5f 24 23 + +# Signature: +02 44 bc d1 c8 c1 69 55 73 6c 80 3b e4 01 27 2e +18 cb 99 08 11 b1 4f 72 db 96 41 24 d5 fa 76 06 +49 cb b5 7a fb 87 55 db b6 2b f5 1f 46 6c f2 3a +0a 16 07 57 6e 98 3d 77 8f ce ff a9 2d f7 54 8a +ea 8e a4 ec ad 2c 29 dd 9f 95 bc 07 fe 91 ec f8 +be e2 55 bf e8 76 2f d7 69 0a a9 bf a4 fa 08 49 +ef 72 8c 2c 42 c4 53 23 64 52 2d f2 ab 7f 9f 8a +03 b6 3f 7a 49 91 75 82 86 68 f5 ef 5a 29 e3 80 +2c + +# -------------------------------- +# RSASSA-PSS Signature Example 3.4 +# -------------------------------- + +# Message to be signed: +8f b4 31 f5 ee 79 2b 6c 2a c7 db 53 cc 42 86 55 +ae b3 2d 03 f4 e8 89 c5 c2 5d e6 83 c4 61 b5 3a +cf 89 f9 f8 d3 aa bd f6 b9 f0 c2 a1 de 12 e1 5b +49 ed b3 91 9a 65 2f e9 49 1c 25 a7 fc e1 f7 22 +c2 54 36 08 b6 9d c3 75 ec + +# Salt: +f8 31 2d 9c 8e ea 13 ec 0a 4c 7b 98 12 0c 87 50 +90 87 c4 78 + +# Signature: +01 96 f1 2a 00 5b 98 12 9c 8d f1 3c 4c b1 6f 8a +a8 87 d3 c4 0d 96 df 3a 88 e7 53 2e f3 9c d9 92 +f2 73 ab c3 70 bc 1b e6 f0 97 cf eb bf 01 18 fd +9e f4 b9 27 15 5f 3d f2 2b 90 4d 90 70 2d 1f 7b +a7 a5 2b ed 8b 89 42 f4 12 cd 7b d6 76 c9 d1 8e +17 03 91 dc d3 45 c0 6a 73 09 64 b3 f3 0b cc e0 +bb 20 ba 10 6f 9a b0 ee b3 9c f8 a6 60 7f 75 c0 +34 7f 0a f7 9f 16 af a0 81 d2 c9 2d 1e e6 f8 36 +b8 + +# -------------------------------- +# RSASSA-PSS Signature Example 3.5 +# -------------------------------- + +# Message to be signed: +fe f4 16 1d fa af 9c 52 95 05 1d fc 1f f3 81 0c +8c 9e c2 e8 66 f7 07 54 22 c8 ec 42 16 a9 c4 ff +49 42 7d 48 3c ae 10 c8 53 4a 41 b2 fd 15 fe e0 +69 60 ec 6f b3 f7 a7 e9 4a 2f 8a 2e 3e 43 dc 4a +40 57 6c 30 97 ac 95 3b 1d e8 6f 0b 4e d3 6d 64 +4f 23 ae 14 42 55 29 62 24 64 ca 0c bf 0b 17 41 +34 72 38 15 7f ab 59 e4 de 55 24 09 6d 62 ba ec +63 ac 64 + +# Salt: +50 32 7e fe c6 29 2f 98 01 9f c6 7a 2a 66 38 56 +3e 9b 6e 2d + +# Signature: +02 1e ca 3a b4 89 22 64 ec 22 41 1a 75 2d 92 22 +10 76 d4 e0 1c 0e 6f 0d de 9a fd 26 ba 5a cf 6d +73 9e f9 87 54 5d 16 68 3e 56 74 c9 e7 0f 1d e6 +49 d7 e6 1d 48 d0 ca eb 4f b4 d8 b2 4f ba 84 a6 +e3 10 8f ee 7d 07 05 97 32 66 ac 52 4b 4a d2 80 +f7 ae 17 dc 59 d9 6d 33 51 58 6b 5a 3b db 89 5d +1e 1f 78 20 ac 61 35 d8 75 34 80 99 83 82 ba 32 +b7 34 95 59 60 8c 38 74 52 90 a8 5e f4 e9 f9 bd +83 + +# -------------------------------- +# RSASSA-PSS Signature Example 3.6 +# -------------------------------- + +# Message to be signed: +ef d2 37 bb 09 8a 44 3a ee b2 bf 6c 3f 8c 81 b8 +c0 1b 7f cb 3f eb + +# Salt: +b0 de 3f c2 5b 65 f5 af 96 b1 d5 cc 3b 27 d0 c6 +05 30 87 b3 + +# Signature: +01 2f af ec 86 2f 56 e9 e9 2f 60 ab 0c 77 82 4f +42 99 a0 ca 73 4e d2 6e 06 44 d5 d2 22 c7 f0 bd +e0 39 64 f8 e7 0a 5c b6 5e d4 4e 44 d5 6a e0 ed +f1 ff 86 ca 03 2c c5 dd 44 04 db b7 6a b8 54 58 +6c 44 ee d8 33 6d 08 d4 57 ce 6c 03 69 3b 45 c0 +f1 ef ef 93 62 4b 95 b8 ec 16 9c 61 6d 20 e5 53 +8e bc 0b 67 37 a6 f8 2b 4b c0 57 09 24 fc 6b 35 +75 9a 33 48 42 62 79 f8 b3 d7 74 4e 2d 22 24 26 +ce + +# ============================================= + +# ================================== +# Example 4: A 1027-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +05 4a db 78 86 44 7e fe 6f 57 e0 36 8f 06 cf 52 +b0 a3 37 07 60 d1 61 ce f1 26 b9 1b e7 f8 9c 42 +1b 62 a6 ec 1d a3 c3 11 d7 5e d5 0e 0a b5 ff f3 +fd 33 8a cc 3a a8 a4 e7 7e e2 63 69 ac b8 1b a9 +00 fa 83 f5 30 0c f9 bb 6c 53 ad 1d c8 a1 78 b8 +15 db 42 35 a9 a9 da 0c 06 de 4e 61 5e a1 27 7c +e5 59 e9 c1 08 de 58 c1 4a 81 aa 77 f5 a6 f8 d1 +33 54 94 49 88 48 c8 b9 59 40 74 0b e7 bf 7c 37 +05 + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +fa 04 1f 8c d9 69 7c ee d3 8e c8 ca a2 75 52 3b +4d d7 2b 09 a3 01 d3 54 1d 72 f5 d3 1c 05 cb ce +2d 69 83 b3 61 83 af 10 69 0b d4 6c 46 13 1e 35 +78 94 31 a5 56 77 1d d0 04 9b 57 46 1b f0 60 c1 +f6 84 72 e8 a6 7c 25 f3 57 e5 b6 b4 73 8f a5 41 +a7 30 34 6b 4a 07 64 9a 2d fa 80 6a 69 c9 75 b6 +ab a6 46 78 ac c7 f5 91 3e 89 c6 22 f2 d8 ab b1 +e3 e3 25 54 e3 9d f9 4b a6 0c 00 2e 38 7d 90 11 + +# Prime p: +02 92 32 33 6d 28 38 94 5d ba 9d d7 72 3f 4e 62 +4a 05 f7 37 5b 92 7a 87 ab e6 a8 93 a1 65 8f d4 +9f 47 f6 c7 b0 fa 59 6c 65 fa 68 a2 3f 0a b4 32 +96 2d 18 d4 34 3b d6 fd 67 1a 5e a8 d1 48 41 39 +95 + +# Prime q: +02 0e f5 ef e7 c5 39 4a ed 22 72 f7 e8 1a 74 f4 +c0 2d 14 58 94 cb 1b 3c ab 23 a9 a0 71 0a 2a fc +7e 33 29 ac bb 74 3d 01 f6 80 c4 d0 2a fb 4c 8f +de 7e 20 93 08 11 bb 2b 99 57 88 b5 e8 72 c2 0b +b1 + +# p's CRT exponent dP: +02 6e 7e 28 01 0e cf 24 12 d9 52 3a d7 04 64 7f +b4 fe 9b 66 b1 a6 81 58 1b 0e 15 55 3a 89 b1 54 +28 28 89 8f 27 24 3e ba b4 5f f5 e1 ac b9 d4 df +1b 05 1f bc 62 82 4d bc 6f 6c 93 26 1a 78 b9 a7 +59 + +# q's CRT exponent dQ: +01 2d dc c8 6e f6 55 99 8c 39 dd ae 11 71 86 69 +e5 e4 6c f1 49 5b 07 e1 3b 10 14 cd 69 b3 af 68 +30 4a d2 a6 b6 43 21 e7 8b f3 bb ca 9b b4 94 e9 +1d 45 17 17 e2 d9 75 64 c6 54 94 65 d0 20 5c f4 +21 + +# CRT coefficient qInv: +01 06 00 c4 c2 18 47 45 9f e5 76 70 3e 2e be ca +e8 a5 09 4e e6 3f 53 6b f4 ac 68 d3 c1 3e 5e 4f +12 ac 5c c1 0a b6 a2 d0 5a 19 92 14 d1 82 47 47 +d5 51 90 96 36 b7 74 c2 2c ac 0b 83 75 99 ab cc +75 + +# -------------------------------- +# RSASSA-PSS Signature Example 4.1 +# -------------------------------- + +# Message to be signed: +9f b0 3b 82 7c 82 17 d9 + +# Salt: +ed 7c 98 c9 5f 30 97 4f be 4f bd dc f0 f2 8d 60 +21 c0 e9 1d + +# Signature: +03 23 d5 b7 bf 20 ba 45 39 28 9a e4 52 ae 42 97 +08 0f ef f4 51 84 23 ff 48 11 a8 17 83 7e 7d 82 +f1 83 6c df ab 54 51 4f f0 88 7b dd ee bf 40 bf +99 b0 47 ab c3 ec fa 6a 37 a3 ef 00 f4 a0 c4 a8 +8a ae 09 04 b7 45 c8 46 c4 10 7e 87 97 72 3e 8a +c8 10 d9 e3 d9 5d fa 30 ff 49 66 f4 d7 5d 13 76 +8d 20 85 7f 2b 14 06 f2 64 cf e7 5e 27 d7 65 2f +4b 5e d3 57 5f 28 a7 02 f8 c4 ed 9c f9 b2 d4 49 +48 + +# -------------------------------- +# RSASSA-PSS Signature Example 4.2 +# -------------------------------- + +# Message to be signed: +0c a2 ad 77 79 7e ce 86 de 5b f7 68 75 0d db 5e +d6 a3 11 6a d9 9b bd 17 ed f7 f7 82 f0 db 1c d0 +5b 0f 67 74 68 c5 ea 42 0d c1 16 b1 0e 80 d1 10 +de 2b 04 61 ea 14 a3 8b e6 86 20 39 2e 7e 89 3c +b4 ea 93 93 fb 88 6c 20 ff 79 06 42 30 5b f3 02 +00 38 92 e5 4d f9 f6 67 50 9d c5 39 20 df 58 3f +50 a3 dd 61 ab b6 fa b7 5d 60 03 77 e3 83 e6 ac +a6 71 0e ee a2 71 56 e0 67 52 c9 4c e2 5a e9 9f +cb f8 59 2d be 2d 7e 27 45 3c b4 4d e0 71 00 eb +b1 a2 a1 98 11 a4 78 ad be ab 27 0f 94 e8 fe 36 +9d 90 b3 ca 61 2f 9f + +# Salt: +22 d7 1d 54 36 3a 42 17 aa 55 11 3f 05 9b 33 84 +e3 e5 7e 44 + +# Signature: +04 9d 01 85 84 5a 26 4d 28 fe b1 e6 9e da ec 09 +06 09 e8 e4 6d 93 ab b3 83 71 ce 51 f4 aa 65 a5 +99 bd aa a8 1d 24 fb a6 6a 08 a1 16 cb 64 4f 3f +1e 65 3d 95 c8 9d b8 bb d5 da ac 27 09 c8 98 40 +00 17 84 10 a7 c6 aa 86 67 dd c3 8c 74 1f 71 0e +c8 66 5a a9 05 2b e9 29 d4 e3 b1 67 82 c1 66 21 +14 c5 41 4b b0 35 34 55 c3 92 fc 28 f3 db 59 05 +4b 5f 36 5c 49 e1 d1 56 f8 76 ee 10 cb 4f d7 05 +98 + +# -------------------------------- +# RSASSA-PSS Signature Example 4.3 +# -------------------------------- + +# Message to be signed: +28 80 62 af c0 8f cd b7 c5 f8 65 0b 29 83 73 00 +46 1d d5 67 6c 17 a2 0a 3c 8f b5 14 89 49 e3 f7 +3d 66 b3 ae 82 c7 24 0e 27 c5 b3 ec 43 28 ee 7d +6d df 6a 6a 0c 9b 5b 15 bc da 19 6a 9d 0c 76 b1 +19 d5 34 d8 5a bd 12 39 62 d5 83 b7 6c e9 d1 80 +bc e1 ca + +# Salt: +4a f8 70 fb c6 51 60 12 ca 91 6c 70 ba 86 2a c7 +e8 24 36 17 + +# Signature: +03 fb c4 10 a2 ce d5 95 00 fb 99 f9 e2 af 27 81 +ad a7 4e 13 14 56 24 60 27 82 e2 99 48 13 ee fc +a0 51 9e cd 25 3b 85 5f b6 26 a9 0d 77 1e ae 02 +8b 0c 47 a1 99 cb d9 f8 e3 26 97 34 af 41 63 59 +90 90 71 3a 3f a9 10 fa 09 60 65 27 21 43 2b 97 +10 36 a7 18 1a 2b c0 ca b4 3b 0b 59 8b c6 21 74 +61 d7 db 30 5f f7 e9 54 c5 b5 bb 23 1c 39 e7 91 +af 6b cf a7 6b 14 7b 08 13 21 f7 26 41 48 2a 2a +ad + +# -------------------------------- +# RSASSA-PSS Signature Example 4.4 +# -------------------------------- + +# Message to be signed: +6f 4f 9a b9 50 11 99 ce f5 5c 6c f4 08 fe 7b 36 +c5 57 c4 9d 42 0a 47 63 d2 46 3c 8a d4 4b 3c fc +5b e2 74 2c 0e 7d 9b 0f 66 08 f0 8c 7f 47 b6 93 +ee + +# Salt: +40 d2 e1 80 fa e1 ea c4 39 c1 90 b5 6c 2c 0e 14 +dd f9 a2 26 + +# Signature: +04 86 64 4b c6 6b f7 5d 28 33 5a 61 79 b1 08 51 +f4 3f 09 bd ed 9f ac 1a f3 32 52 bb 99 53 ba 42 +98 cd 64 66 b2 75 39 a7 0a da a3 f8 9b 3d b3 c7 +4a b6 35 d1 22 f4 ee 7c e5 57 a6 1e 59 b8 2f fb +78 66 30 e5 f9 db 53 c7 7d 9a 0c 12 fa b5 95 8d +4c 2c e7 da a8 07 cd 89 ba 2c c7 fc d0 2f f4 70 +ca 67 b2 29 fc ce 81 4c 85 2c 73 cc 93 be a3 5b +e6 84 59 ce 47 8e 9d 46 55 d1 21 c8 47 2f 37 1d +4f + +# -------------------------------- +# RSASSA-PSS Signature Example 4.5 +# -------------------------------- + +# Message to be signed: +e1 7d 20 38 5d 50 19 55 82 3c 3f 66 62 54 c1 d3 +dd 36 ad 51 68 b8 f1 8d 28 6f dc f6 7a 7d ad 94 +09 70 85 fa b7 ed 86 fe 21 42 a2 87 71 71 79 97 +ef 1a 7a 08 88 4e fc 39 35 6d 76 07 7a af 82 45 +9a 7f ad 45 84 88 75 f2 81 9b 09 89 37 fe 92 3b +cc 9d c4 42 d7 2d 75 4d 81 20 25 09 0c 9b c0 3d +b3 08 0c 13 8d d6 3b 35 5d 0b 4b 85 d6 68 8a c1 +9f 4d e1 50 84 a0 ba 4e 37 3b 93 ef 4a 55 50 96 +69 19 15 dc 23 c0 0e 95 4c de b2 0a 47 cd 55 d1 +6c 3d 86 81 d4 6e d7 f2 ed 5e a4 27 95 be 17 ba +ed 25 f0 f4 d1 13 b3 63 6a dd d5 85 f1 6a 8b 5a +ec 0c 8f a9 c5 f0 3c bf 3b 9b 73 + +# Salt: +24 97 dc 2b 46 15 df ae 5a 66 3d 49 ff d5 6b f7 +ef c1 13 04 + +# Signature: +02 2a 80 04 53 53 90 4c b3 0c bb 54 2d 7d 49 90 +42 1a 6e ec 16 a8 02 9a 84 22 ad fd 22 d6 af f8 +c4 cc 02 94 af 11 0a 0c 06 7e c8 6a 7d 36 41 34 +45 9b b1 ae 8f f8 36 d5 a8 a2 57 98 40 99 6b 32 +0b 19 f1 3a 13 fa d3 78 d9 31 a6 56 25 da e2 73 +9f 0c 53 67 0b 35 d9 d3 cb ac 08 e7 33 e4 ec 2b +83 af 4b 91 96 d6 3e 7c 4f f1 dd ea e2 a1 22 79 +1a 12 5b fe a8 de b0 de 8c cf 1f 4f fa f6 e6 fb +0a + +# -------------------------------- +# RSASSA-PSS Signature Example 4.6 +# -------------------------------- + +# Message to be signed: +af bc 19 d4 79 24 90 18 fd f4 e0 9f 61 87 26 44 +04 95 de 11 dd ee e3 88 72 d7 75 fc ea 74 a2 38 +96 b5 34 3c 9c 38 d4 6a f0 db a2 24 d0 47 58 0c +c6 0a 65 e9 39 1c f9 b5 9b 36 a8 60 59 8d 4e 82 +16 72 2f 99 3b 91 cf ae 87 bc 25 5a f8 9a 6a 19 +9b ca 4a 39 1e ad bc 3a 24 90 3c 0b d6 67 36 8f +6b e7 8e 3f ea bf b4 ff d4 63 12 27 63 74 0f fb +be fe ab 9a 25 56 4b c5 d1 c2 4c 93 e4 22 f7 50 +73 e2 ad 72 bf 45 b1 0d f0 0b 52 a1 47 12 8e 73 +fe e3 3f a3 f0 57 7d 77 f8 0f bc 2d f1 be d3 13 +29 0c 12 77 7f 50 + +# Salt: +a3 34 db 6f ae bf 11 08 1a 04 f8 7c 2d 62 1c de +c7 93 0b 9b + +# Signature: +00 93 8d cb 6d 58 30 46 06 5f 69 c7 8d a7 a1 f1 +75 70 66 a7 fa 75 12 5a 9d 29 29 f0 b7 9a 60 b6 +27 b0 82 f1 1f 5b 19 6f 28 eb 9d aa 6f 21 c0 5e +51 40 f6 ae f1 73 7d 20 23 07 5c 05 ec f0 4a 02 +8c 68 6a 2a b3 e7 d5 a0 66 4f 29 5c e1 29 95 e8 +90 90 8b 6a d2 1f 08 39 eb 65 b7 03 93 a7 b5 af +d9 87 1d e0 ca a0 ce de c5 b8 19 62 67 56 20 9d +13 ab 1e 7b b9 54 6a 26 ff 37 e9 a5 1a f9 fd 56 +2e + +# ============================================= + +# ================================== +# Example 5: A 1028-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +0d 10 f6 61 f2 99 40 f5 ed 39 aa 26 09 66 de b4 +78 43 67 9d 2b 6f b2 5b 3d e3 70 f3 ac 7c 19 91 +63 91 fd 25 fb 52 7e bf a6 a4 b4 df 45 a1 75 9d +99 6c 4b b4 eb d1 88 28 c4 4f c5 2d 01 91 87 17 +40 52 5f 47 a4 b0 cc 8d a3 25 ed 8a a6 76 b0 d0 +f6 26 e0 a7 7f 07 69 21 70 ac ac 80 82 f4 2f aa +7d c7 cd 12 3e 73 0e 31 a8 79 85 20 4c ab cb e6 +67 0d 43 a2 dd 2b 2d de f5 e0 53 92 fc 21 3b c5 +07 + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +03 ce 08 b1 04 ff f3 96 a9 79 bd 3e 4e 46 92 5b +63 19 dd b6 3a cb cf d8 19 f1 7d 16 b8 07 7b 3a +87 10 1f f3 4b 77 fe 48 b8 b2 05 a9 6e 91 51 ba +8e ce a6 4d 0c ce 7b 23 c3 e6 a6 b8 30 58 bc 49 +da e8 16 ae 73 6d b5 a4 70 8e 2a d4 35 23 2b 56 +7f 90 96 ce 59 ff 28 06 1e 79 ab 1c 02 d7 17 e6 +b2 3c ea 6d b8 eb 51 92 fa 7c 1e ab 22 7d ba 74 +62 1c 45 60 18 96 ee f1 37 92 c8 44 0b eb 15 aa +c1 + +# Prime p: +03 f2 f3 31 f4 14 2d 4f 24 b4 3a a1 02 79 a8 96 +52 d4 e7 53 72 21 a1 a7 b2 a2 5d eb 55 1e 5d e9 +ac 49 74 11 c2 27 a9 4e 45 f9 1c 2d 1c 13 cc 04 +6c f4 ce 14 e3 2d 05 87 34 21 0d 44 a8 7e e1 b7 +3f + +# Prime q: +03 4f 09 0d 73 b5 58 03 03 0c f0 36 1a 5d 80 81 +bf b7 9f 85 15 23 fe ac 0a 21 24 d0 8d 40 13 ff +08 48 77 71 a8 70 d0 47 9d c0 68 6c 62 f7 71 8d +fe cf 02 4b 17 c9 26 76 78 05 91 71 33 9c c0 08 +39 + +# p's CRT exponent dP: +02 aa 66 3a db f5 1a b8 87 a0 18 cb 42 6e 78 bc +2f e1 82 dc b2 f7 bc b5 04 41 d1 7f df 0f 06 79 +8b 50 71 c6 e2 f5 fe b4 d5 4a d8 18 23 11 c1 ef +62 d4 c4 9f 18 d1 f5 1f 54 b2 d2 cf fb a4 da 1b +e5 + +# q's CRT exponent dQ: +02 bb e7 06 07 8b 5c 0b 39 15 12 d4 11 db 1b 19 +9b 5a 56 64 b8 40 42 ea d3 7f e9 94 ae 72 b9 53 +2d fb fb 3e 9e 69 81 a0 fb b8 06 51 31 41 b7 c2 +16 3f e5 6c 39 5e 4b fa ee 57 e3 83 3f 9b 91 8d +f9 + +# CRT coefficient qInv: +02 42 b6 cd 00 d3 0a 76 7a ee 9a 89 8e ad 45 3c +8e ae a6 3d 50 0b 7d 1e 00 71 3e da e5 1c e3 6b +23 b6 64 df 26 e6 3e 26 6e c8 f7 6e 6e 63 ed 1b +a4 1e b0 33 b1 20 f7 ea 52 12 ae 21 a9 8f bc 16 + +# -------------------------------- +# RSASSA-PSS Signature Example 5.1 +# -------------------------------- + +# Message to be signed: +30 c7 d5 57 45 8b 43 6d ec fd c1 4d 06 cb 7b 96 +b0 67 18 c4 8d 7d e5 74 82 a8 68 ae 7f 06 58 70 +a6 21 65 06 d1 1b 77 93 23 df df 04 6c f5 77 51 +29 13 4b 4d 56 89 e4 d9 c0 ce 1e 12 d7 d4 b0 6c +b5 fc 58 20 de cf a4 1b af 59 bf 25 7b 32 f0 25 +b7 67 9b 44 5b 94 99 c9 25 55 14 58 85 99 2f 1b +76 f8 48 91 ee 4d 3b e0 f5 15 0f d5 90 1e 3a 4c +8e d4 3f d3 6b 61 d0 22 e6 5a d5 00 8d bf 33 29 +3c 22 bf bf d0 73 21 f0 f1 d5 fa 9f df 00 14 c2 +fc b0 35 8a ad 0e 35 4b 0d 29 + +# Salt: +08 1b 23 3b 43 56 77 50 bd 6e 78 f3 96 a8 8b 9f +6a 44 51 51 + +# Signature: +0b a3 73 f7 6e 09 21 b7 0a 8f bf e6 22 f0 bf 77 +b2 8a 3d b9 8e 36 10 51 c3 d7 cb 92 ad 04 52 91 +5a 4d e9 c0 17 22 f6 82 3e eb 6a df 7e 0c a8 29 +0f 5d e3 e5 49 89 0a c2 a3 c5 95 0a b2 17 ba 58 +59 08 94 95 2d e9 6f 8d f1 11 b2 57 52 15 da 6c +16 15 90 c7 45 be 61 24 76 ee 57 8e d3 84 ab 33 +e3 ec e9 74 81 a2 52 f5 c7 9a 98 b5 53 2a e0 0c +dd 62 f2 ec c0 cd 1b ae fe 80 d8 0b 96 21 93 ec +1d + +# -------------------------------- +# RSASSA-PSS Signature Example 5.2 +# -------------------------------- + +# Message to be signed: +e7 b3 2e 15 56 ea 1b 27 95 04 6a c6 97 39 d2 2a +c8 96 6b f1 1c 11 6f 61 4b 16 67 40 e9 6b 90 65 +3e 57 50 94 5f cf 77 21 86 c0 37 90 a0 7f da 32 +3e 1a 61 91 6b 06 ee 21 57 db 3d ff 80 d6 7d 5e +39 a5 3a e2 68 c8 f0 9e d9 9a 73 20 05 b0 bc 6a +04 af 4e 08 d5 7a 00 e7 20 1b 30 60 ef aa db 73 +11 3b fc 08 7f d8 37 09 3a a2 52 35 b8 c1 49 f5 +62 15 f0 31 c2 4a d5 bd e7 f2 99 60 df 7d 52 40 +70 f7 44 9c 6f 78 50 84 be 1a 0f 73 30 47 f3 36 +f9 15 47 38 67 45 47 db 02 a9 f4 4d fc 6e 60 30 +10 81 e1 ce 99 84 7f 3b 5b 60 1f f0 6b 4d 57 76 +a9 74 0b 9a a0 d3 40 58 fd 3b 90 6e 4f 78 59 df +b0 7d 71 73 e5 e6 f6 35 0a da c2 1f 27 b2 30 74 +69 + +# Salt: +bd 0c e1 95 49 d0 70 01 20 cb e5 10 77 db bb b0 +0a 8d 8b 09 + +# Signature: +08 18 0d e8 25 e4 b8 b0 14 a3 2d a8 ba 76 15 55 +92 12 04 f2 f9 0d 5f 24 b7 12 90 8f f8 4f 3e 22 +0a d1 79 97 c0 dd 6e 70 66 30 ba 3e 84 ad d4 d5 +e7 ab 00 4e 58 07 4b 54 97 09 56 5d 43 ad 9e 97 +b5 a7 a1 a2 9e 85 b9 f9 0f 4a af cd f5 83 21 de +8c 59 74 ef 9a bf 2d 52 6f 33 c0 f2 f8 2e 95 d1 +58 ea 6b 81 f1 73 6d b8 d1 af 3d 6a c6 a8 3b 32 +d1 8b ae 0f f1 b2 fe 27 de 4c 76 ed 8c 79 80 a3 +4e + +# -------------------------------- +# RSASSA-PSS Signature Example 5.3 +# -------------------------------- + +# Message to be signed: +8d 83 96 e3 65 07 fe 1e f6 a1 90 17 54 8e 0c 71 +66 74 c2 fe c2 33 ad b2 f7 75 66 5e c4 1f 2b d0 +ba 39 6b 06 1a 9d aa 7e 86 6f 7c 23 fd 35 31 95 +43 00 a3 42 f9 24 53 5e a1 49 8c 48 f6 c8 79 93 +28 65 fc 02 00 0c 52 87 23 b7 ad 03 35 74 5b 51 +20 9a 0a fe d9 32 af 8f 08 87 c2 19 00 4d 2a bd +89 4e a9 25 59 ee 31 98 af 3a 73 4f e9 b9 63 8c +26 3a 72 8a d9 5a 5a e8 ce 3e b1 58 39 f3 aa 78 +52 bb 39 07 06 e7 76 0e 43 a7 12 91 a2 e3 f8 27 +23 7d ed a8 51 87 4c 51 76 65 f5 45 f2 72 38 df +86 55 7f 37 5d 09 cc d8 bd 15 d8 cc f6 1f 5d 78 +ca 5c 7f 5c de 78 2e 6b f5 d0 05 70 56 d4 ba d9 +8b 3d 2f 95 75 e8 24 ab 7a 33 ff 57 b0 ac 10 0a +b0 d6 ea d7 aa 0b 50 f6 e4 d3 e5 ec 0b 96 6b + +# Salt: +81 57 79 a9 1b 3a 8b d0 49 bf 2a eb 92 01 42 77 +22 22 c9 ca + +# Signature: +05 e0 fd bd f6 f7 56 ef 73 31 85 cc fa 8c ed 2e +b6 d0 29 d9 d5 6e 35 56 1b 5d b8 e7 02 57 ee 6f +d0 19 d2 f0 bb f6 69 fe 9b 98 21 e7 8d f6 d4 1e +31 60 8d 58 28 0f 31 8e e3 4f 55 99 41 c8 df 13 +28 75 74 ba c0 00 b7 e5 8d c4 f4 14 ba 49 fb 12 +7f 9d 0f 89 36 63 8c 76 e8 53 56 c9 94 f7 97 50 +f7 fa 3c f4 fd 48 2d f7 5e 3f b9 97 8c d0 61 f7 +ab b1 75 72 e6 e6 3e 0b de 12 cb dc f1 8c 68 b9 +79 + +# -------------------------------- +# RSASSA-PSS Signature Example 5.4 +# -------------------------------- + +# Message to be signed: +32 8c 65 9e 0a 64 37 43 3c ce b7 3c 14 + +# Salt: +9a ec 4a 74 80 d5 bb c4 29 20 d7 ca 23 5d b6 74 +98 9c 9a ac + +# Signature: +0b c9 89 85 3b c2 ea 86 87 32 71 ce 18 3a 92 3a +b6 5e 8a 53 10 0e 6d f5 d8 7a 24 c4 19 4e b7 97 +81 3e e2 a1 87 c0 97 dd 87 2d 59 1d a6 0c 56 86 +05 dd 7e 74 2d 5a f4 e3 3b 11 67 8c cb 63 90 32 +04 a3 d0 80 b0 90 2c 89 ab a8 86 8f 00 9c 0f 1c +0c b8 58 10 bb dd 29 12 1a bb 84 71 ff 2d 39 e4 +9f d9 2d 56 c6 55 c8 e0 37 ad 18 fa fb dc 92 c9 +58 63 f7 f6 1e a9 ef a2 8f ea 40 13 69 d1 9d ae +a1 + +# -------------------------------- +# RSASSA-PSS Signature Example 5.5 +# -------------------------------- + +# Message to be signed: +f3 7b 96 23 79 a4 7d 41 5a 37 6e ec 89 73 15 0b +cb 34 ed d5 ab 65 40 41 b6 14 30 56 0c 21 44 58 +2b a1 33 c8 67 d8 52 d6 b8 e2 33 21 90 13 02 ec +b4 5b 09 ec 88 b1 52 71 78 fa 04 32 63 f3 06 7d +9f fe 97 30 32 a9 9f 4c b0 8a d2 c7 e0 a2 45 6c +dd 57 a7 df 56 fe 60 53 52 7a 5a eb 67 d7 e5 52 +06 3c 1c a9 7b 1b ef fa 7b 39 e9 97 ca f2 78 78 +ea 0f 62 cb eb c8 c2 1d f4 c8 89 a2 02 85 1e 94 +90 88 49 0c 24 9b 6e 9a cf 1d 80 63 f5 be 23 43 +98 9b f9 5c 4d a0 1a 2b e7 8b 4a b6 b3 78 01 5b +c3 79 57 f7 69 48 b5 e5 8e 44 0c 28 45 3d 40 d7 +cf d5 7e 7d 69 06 00 47 4a b5 e7 59 73 b1 ea 0c +5f 1e 45 d1 41 90 af e2 f4 eb 6d 3b df 71 f1 d2 +f8 bb 15 6a 1c 29 5d 04 aa eb 9d 68 9d ce 79 ed +62 bc 44 3e + +# Salt: +e2 0c 1e 98 78 51 2c 39 97 0f 58 37 5e 15 49 a6 +8b 64 f3 1d + +# Signature: +0a ef a9 43 b6 98 b9 60 9e df 89 8a d2 27 44 ac +28 dc 23 94 97 ce a3 69 cb bd 84 f6 5c 95 c0 ad +77 6b 59 47 40 16 4b 59 a7 39 c6 ff 7c 2f 07 c7 +c0 77 a8 6d 95 23 8f e5 1e 1f cf 33 57 4a 4a e0 +68 4b 42 a3 f6 bf 67 7d 91 82 0c a8 98 74 46 7b +2c 23 ad d7 79 69 c8 07 17 43 0d 0e fc 1d 36 95 +89 2c e8 55 cb 7f 70 11 63 0f 4d f2 6d ef 8d df +36 fc 23 90 5f 57 fa 62 43 a4 85 c7 70 d5 68 1f +cd + +# -------------------------------- +# RSASSA-PSS Signature Example 5.6 +# -------------------------------- + +# Message to be signed: +c6 10 3c 33 0c 1e f7 18 c1 41 e4 7b 8f a8 59 be +4d 5b 96 25 9e 7d 14 20 70 ec d4 85 83 9d ba 5a +83 69 c1 7c 11 14 03 5e 53 2d 19 5c 74 f4 4a 04 +76 a2 d3 e8 a4 da 21 00 16 ca ce d0 e3 67 cb 86 +77 10 a4 b5 aa 2d f2 b8 e5 da f5 fd c6 47 80 7d +4d 5e bb 6c 56 b9 76 3c cd ae 4d ea 33 08 eb 0a +c2 a8 95 01 cb 20 9d 26 39 fa 5b f8 7c e7 90 74 +7d 3c b2 d2 95 e8 45 64 f2 f6 37 82 4f 0c 13 02 +81 29 b0 aa 4a 42 2d 16 22 82 + +# Salt: +23 29 1e 4a 33 07 e8 bb b7 76 62 3a b3 4e 4a 5f +4c c8 a8 db + +# Signature: +02 80 2d cc fa 8d fa f5 27 9b f0 b4 a2 9b a1 b1 +57 61 1f ae aa f4 19 b8 91 9d 15 94 19 00 c1 33 +9e 7e 92 e6 fa e5 62 c5 3e 6c c8 e8 41 04 b1 10 +bc e0 3a d1 85 25 e3 c4 9a 0e ad ad 5d 3f 28 f2 +44 a8 ed 89 ed ba fb b6 86 27 7c fa 8a e9 09 71 +4d 6b 28 f4 bf 8e 29 3a a0 4c 41 ef e7 c0 a8 12 +66 d5 c0 61 e2 57 5b e0 32 aa 46 46 74 ff 71 62 +62 19 bd 74 cc 45 f0 e7 ed 4e 3f f9 6e ee 75 8e +8f + +# ============================================= + +# ================================== +# Example 6: A 1029-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +16 4c a3 1c ff 60 9f 3a 0e 71 01 b0 39 f2 e4 fe +6d d3 75 19 ab 98 59 8d 17 9e 17 49 96 59 80 71 +f4 7d 3a 04 55 91 58 d7 be 37 3c f1 aa 53 f0 aa +6e f0 90 39 e5 67 8c 2a 4c 63 90 05 14 c8 c4 f8 +aa ed 5d e1 2a 5f 10 b0 9c 31 1a f8 c0 ff b5 b7 +a2 97 f2 ef c6 3b 8d 6b 05 10 93 1f 0b 98 e4 8b +f5 fc 6e c4 e7 b8 db 1f fa eb 08 c3 8e 02 ad b8 +f0 3a 48 22 9c 99 e9 69 43 1f 61 cb 8c 4d c6 98 +d1 + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +03 b6 64 ee 3b 75 66 72 3f c6 ea f2 8a bb 43 0a +39 80 f1 12 6c 81 de 8a d7 09 ea b3 9a c9 dc d0 +b1 55 0b 37 29 d8 70 68 e9 52 00 9d f5 44 53 4c +1f 50 82 9a 78 f4 59 1e b8 fd 57 14 04 26 a6 bb +04 05 b6 a6 f5 1a 57 d9 26 7b 7b bc 65 33 91 a6 +99 a2 a9 0d ac 8a e2 26 bc c6 0f a8 cd 93 4c 73 +c7 b0 3b 1f 6b 81 81 58 63 18 38 a8 61 2e 6e 6e +a9 2b e2 4f 83 24 fa f5 b1 fd 85 87 22 52 67 ba +6f + +# Prime p: +04 f0 54 8c 96 26 ab 1e bf 12 44 93 47 41 d9 9a +06 22 0e fa 2a 58 56 aa 0e 75 73 0b 2e c9 6a dc +86 be 89 4f a2 80 3b 53 a5 e8 5d 27 6a cb d2 9a +b8 23 f8 0a 73 91 bb 54 a5 05 16 72 fb 04 ee b5 +43 + +# Prime q: +04 83 e0 ae 47 91 55 87 74 3f f3 45 36 2b 55 5d +39 62 d9 8b b6 f1 5f 84 8b 4c 92 b1 77 1c a8 ed +10 7d 8d 3e e6 5e c4 45 17 dd 0f aa 48 1a 38 7e +90 2f 7a 2e 74 7c 26 9e 7e a4 44 80 bc 53 8b 8e +5b + +# p's CRT exponent dP: +03 a8 e8 ae a9 92 0c 1a a3 b2 f0 d8 46 e4 b8 50 +d8 1c a3 06 a5 1c 83 54 4f 94 9f 64 f9 0d cf 3f +8e 26 61 f0 7e 56 12 20 a1 80 38 8f be 27 3e 70 +e2 e5 dc a8 3a 0e 13 48 dd 64 90 c7 31 d6 ec e1 +ab + +# q's CRT exponent dQ: +01 35 bd cd b6 0b f2 19 7c 43 6e d3 4b 32 cd 8b +4f c7 77 78 83 2b a7 67 03 55 1f b2 42 b3 01 69 +95 93 af 77 fd 8f c3 94 a8 52 6a d2 3c c4 1a 03 +80 6b d8 97 fe 4b 0e a6 46 55 8a ad dc c9 9e 8a +25 + +# CRT coefficient qInv: +03 04 c0 3d 9c 73 65 03 a9 84 ab bd 9b a2 23 01 +40 7c 4a 2a b1 dd 85 76 64 81 b6 0d 45 40 11 52 +e6 92 be 14 f4 12 1d 9a a3 fd 6e 0b 4d 1d 3a 97 +35 38 a3 1d 42 ee 6e 1e 5e f6 20 23 1a 2b ba f3 +5f + +# -------------------------------- +# RSASSA-PSS Signature Example 6.1 +# -------------------------------- + +# Message to be signed: +0a 20 b7 74 ad dc 2f a5 12 45 ed 7c b9 da 60 9e +50 ca c6 63 6a 52 54 3f 97 45 8e ed 73 40 f8 d5 +3f fc 64 91 8f 94 90 78 ee 03 ef 60 d4 2b 5f ec +24 60 50 bd 55 05 cd 8c b5 97 ba d3 c4 e7 13 b0 +ef 30 64 4e 76 ad ab b0 de 01 a1 56 1e fb 25 51 +58 c7 4f c8 01 e6 e9 19 e5 81 b4 6f 0f 0d dd 08 +e4 f3 4c 78 10 b5 ed 83 18 f9 1d 7c 8c + +# Salt: +5b 4e a2 ef 62 9c c2 2f 3b 53 8e 01 69 04 b4 7b +1e 40 bf d5 + +# Signature: +04 c0 cf ac ec 04 e5 ba db ec e1 59 a5 a1 10 3f +69 b3 f3 2b a5 93 cb 4c c4 b1 b7 ab 45 59 16 a9 +6a 27 cd 26 78 ea 0f 46 ba 37 f7 fc 9c 86 32 5f +29 73 3b 38 9f 1d 97 f4 3e 72 01 c0 f3 48 fc 45 +fe 42 89 23 35 36 2e ee 01 8b 5b 16 1f 2f 93 93 +03 12 25 c7 13 01 2a 57 6b c8 8e 23 05 24 89 86 +8d 90 10 cb f0 33 ec c5 68 e8 bc 15 2b dc 59 d5 +60 e4 12 91 91 5d 28 56 52 08 e2 2a ee c9 ef 85 +d1 + +# -------------------------------- +# RSASSA-PSS Signature Example 6.2 +# -------------------------------- + +# Message to be signed: +2a af f6 63 1f 62 1c e6 15 76 0a 9e bc e9 4b b3 +33 07 7a d8 64 88 c8 61 d4 b7 6d 29 c1 f4 87 46 +c6 11 ae 1e 03 ce d4 44 5d 7c fa 1f e5 f6 2e 1b +3f 08 45 2b de 3b 6e f8 19 73 ba fb b5 7f 97 bc +ee f8 73 98 53 95 b8 26 05 89 aa 88 cb 7d b5 0a +b4 69 26 2e 55 1b dc d9 a5 6f 27 5a 0a c4 fe 48 +47 00 c3 5f 3d bf 2b 46 9e de 86 47 41 b8 6f a5 +91 72 a3 60 ba 95 a0 2e 13 9b e5 0d df b7 cf 0b +42 fa ea bb fb ba a8 6a 44 97 69 9c 4f 2d fd 5b +08 40 6a f7 e1 41 44 42 7c 25 3e c0 ef a2 0e af +9a 8b e8 cd 49 ce 1f 1b c4 e9 3e 61 9c f2 aa 8e +d4 fb 39 bc 85 90 d0 f7 b9 64 88 f7 31 7a c9 ab +f7 be e4 e3 a0 e7 15 + +# Salt: +83 14 6a 9e 78 27 22 c2 8b 01 4f 98 b4 26 7b da +2a c9 50 4f + +# Signature: +0a 23 14 25 0c f5 2b 6e 4e 90 8d e5 b3 56 46 bc +aa 24 36 1d a8 16 0f b0 f9 25 75 90 ab 3a ce 42 +b0 dc 3e 77 ad 2d b7 c2 03 a2 0b d9 52 fb b5 6b +15 67 04 6e cf aa 93 3d 7b 10 00 c3 de 9f f0 5b +7d 98 9b a4 6f d4 3b c4 c2 d0 a3 98 6b 7f fa 13 +47 1d 37 eb 5b 47 d6 47 07 bd 29 0c fd 6a 9f 39 +3a d0 8e c1 e3 bd 71 bb 57 92 61 50 35 cd af 2d +89 29 ae d3 be 09 83 79 37 7e 77 7c e7 9a aa 47 +73 + +# -------------------------------- +# RSASSA-PSS Signature Example 6.3 +# -------------------------------- + +# Message to be signed: +0f 61 95 d0 4a 6e 6f c7 e2 c9 60 0d bf 84 0c 39 +ea 8d 4d 62 4f d5 35 07 01 6b 0e 26 85 8a 5e 0a +ec d7 ad a5 43 ae 5c 0a b3 a6 25 99 cb a0 a5 4e +6b f4 46 e2 62 f9 89 97 8f 9d df 5e 9a 41 + +# Salt: +a8 7b 8a ed 07 d7 b8 e2 da f1 4d dc a4 ac 68 c4 +d0 aa bf f8 + +# Signature: +08 6d f6 b5 00 09 8c 12 0f 24 ff 84 23 f7 27 d9 +c6 1a 5c 90 07 d3 b6 a3 1c e7 cf 8f 3c be c1 a2 +6b b2 0e 2b d4 a0 46 79 32 99 e0 3e 37 a2 1b 40 +19 4f b0 45 f9 0b 18 bf 20 a4 79 92 cc d7 99 cf +9c 05 9c 29 9c 05 26 85 49 54 aa de 8a 6a d9 d9 +7e c9 1a 11 45 38 3f 42 46 8b 23 1f 4d 72 f2 37 +06 d9 85 3c 3f a4 3c e8 ac e8 bf e7 48 49 87 a1 +ec 6a 16 c8 da f8 1f 7c 8b f4 27 74 70 7a 9d f4 +56 + +# -------------------------------- +# RSASSA-PSS Signature Example 6.4 +# -------------------------------- + +# Message to be signed: +33 7d 25 fe 98 10 eb ca 0d e4 d4 65 8d 3c eb 8e +0f e4 c0 66 ab a3 bc c4 8b 10 5d 3b f7 e0 25 7d +44 fe ce a6 59 6f 4d 0c 59 a0 84 02 83 36 78 f7 +06 20 f9 13 8d fe b7 de d9 05 e4 a6 d5 f0 5c 47 +3d 55 93 66 52 e2 a5 df 43 c0 cf da 7b ac af 30 +87 f4 52 4b 06 cf 42 15 7d 01 53 97 39 f7 fd de +c9 d5 81 25 df 31 a3 2e ab 06 c1 9b 71 f1 d5 bf + +# Salt: +a3 79 32 f8 a7 49 4a 94 2d 6f 76 74 38 e7 24 d6 +d0 c0 ef 18 + +# Signature: +0b 5b 11 ad 54 98 63 ff a9 c5 1a 14 a1 10 6c 2a +72 cc 8b 64 6e 5c 72 62 50 97 86 10 5a 98 47 76 +53 4c a9 b5 4c 1c c6 4b f2 d5 a4 4f d7 e8 a6 9d +b6 99 d5 ea 52 08 7a 47 48 fd 2a bc 1a fe d1 e5 +d6 f7 c8 90 25 53 0b da a2 21 3d 7e 03 0f a5 5d +f6 f3 4b cf 1c e4 6d 2e df 4e 3a e4 f3 b0 18 91 +a0 68 c9 e3 a4 4b bc 43 13 3e da d6 ec b9 f3 54 +00 c4 25 2a 57 62 d6 57 44 b9 9c b9 f4 c5 59 32 +9f + +# -------------------------------- +# RSASSA-PSS Signature Example 6.5 +# -------------------------------- + +# Message to be signed: +84 ec 50 2b 07 2e 82 87 78 9d 8f 92 35 82 9e a3 +b1 87 af d4 d4 c7 85 61 1b da 5f 9e b3 cb 96 71 +7e fa 70 07 22 7f 1c 08 cb cb 97 2e 66 72 35 e0 +fb 7d 43 1a 65 70 32 6d 2e cc e3 5a db 37 3d c7 +53 b3 be 5f 82 9b 89 17 54 93 19 3f ab 16 ba db +41 37 1b 3a ac 0a e6 70 07 6f 24 be f4 20 c1 35 +ad d7 ce e8 d3 5f bc 94 4d 79 fa fb 9e 30 7a 13 +b0 f5 56 cb 65 4a 06 f9 73 ed 22 67 23 30 19 7e +f5 a7 48 bf 82 6a 5d b2 38 3a 25 36 4b 68 6b 93 +72 bb 23 39 ae b1 ac 9e 98 89 32 7d 01 6f 16 70 +77 6d b0 62 01 ad bd ca f8 a5 e3 b7 4e 10 8b 73 + +# Salt: +7b 79 0c 1d 62 f7 b8 4e 94 df 6a f2 89 17 cf 57 +10 18 11 0e + +# Signature: +02 d7 1f a9 b5 3e 46 54 fe fb 7f 08 38 5c f6 b0 +ae 3a 81 79 42 eb f6 6c 35 ac 67 f0 b0 69 95 2a +3c e9 c7 e1 f1 b0 2e 48 0a 95 00 83 6d e5 d6 4c +db 7e cd e0 45 42 f7 a7 99 88 78 7e 24 c2 ba 05 +f5 fd 48 2c 02 3e d5 c3 0e 04 83 9d c4 4b ed 2a +3a 3a 4f ee 01 11 3c 89 1a 47 d3 2e b8 02 5c 28 +cb 05 0b 5c db 57 6c 70 fe 76 ef 52 34 05 c0 84 +17 fa f3 50 b0 37 a4 3c 37 93 39 fc b1 8d 3a 35 +6b + +# -------------------------------- +# RSASSA-PSS Signature Example 6.6 +# -------------------------------- + +# Message to be signed: +99 06 d8 9f 97 a9 fd ed d3 cc d8 24 db 68 73 26 +f3 0f 00 aa 25 a7 fc a2 af cb 3b 0f 86 cd 41 e7 +3f 0e 8f f7 d2 d8 3f 59 e2 8e d3 1a 5a 0d 55 15 +23 37 4d e2 2e 4c 7e 8f f5 68 b3 86 ee 3d c4 11 +63 f1 0b f6 7b b0 06 26 1c 90 82 f9 af 90 bf 1d +90 49 a6 b9 fa e7 1c 7f 84 fb e6 e5 5f 02 78 9d +e7 74 f2 30 f1 15 02 6a 4b 4e 96 c5 5b 04 a9 5d +a3 aa cb b2 ce ce 8f 81 76 4a 1f 1c 99 51 54 11 +08 7c f7 d3 4a ed ed 09 32 c1 83 + +# Salt: +fb be 05 90 25 b6 9b 89 fb 14 ae 22 89 e7 aa af +e6 0c 0f cd + +# Signature: +0a 40 a1 6e 2f e2 b3 8d 1d f9 05 46 16 7c f9 46 +9c 9e 3c 36 81 a3 44 2b 4b 2c 2f 58 1d eb 38 5c +e9 9f c6 18 8b b0 2a 84 1d 56 e7 6d 30 18 91 e2 +45 60 55 0f cc 2a 26 b5 5f 4c cb 26 d8 37 d3 50 +a1 54 bc ac a8 39 2d 98 fa 67 95 9e 97 27 b7 8c +ad 03 26 9f 56 96 8f c5 6b 68 bd 67 99 26 d8 3c +c9 cb 21 55 50 64 5c cd a3 1c 76 0f f3 58 88 94 +3d 2d 8a 1d 35 1e 81 e5 d0 7b 86 18 2e 75 10 81 +ef + +# ============================================= + +# ================================== +# Example 7: A 1030-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +37 c9 da 4a 66 c8 c4 08 b8 da 27 d0 c9 d7 9f 8c +cb 1e af c1 d2 fe 48 74 6d 94 0b 7c 4e f5 de e1 +8a d1 26 47 ce fa a0 c4 b3 18 8b 22 1c 51 53 86 +75 9b 93 f0 20 24 b2 5a b9 24 2f 83 57 d8 f3 fd +49 64 0e e5 e6 43 ea f6 c6 4d ee fa 70 89 72 7c +8f f0 39 93 33 39 15 c6 ef 21 bf 59 75 b6 e5 0d +11 8b 51 00 8e c3 3e 9f 01 a0 a5 45 a1 0a 83 6a +43 dd bc a9 d8 b5 c5 d3 54 80 22 d7 06 4e a2 9a +b3 + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +3b ed 99 90 52 d9 57 bc 06 d6 51 ee f6 e3 a9 80 +94 b1 62 1b d3 8b 54 49 bd 6c 4a ea 3d e7 e0 84 +67 9a 44 84 de d2 5b e0 f0 82 6c f3 37 78 25 41 +4b 14 d4 d6 1d b1 4d e6 26 fb b8 0e 5f 4f ae c9 +56 f9 a0 a2 d2 4f 99 57 63 80 f0 84 eb 62 e4 6a +57 d5 54 27 8b 53 56 26 19 3c e0 20 60 57 5e b6 +6c 57 98 d3 6f 6c 5d 40 fb 00 d8 09 b4 2a 73 10 +2c 1c 74 ee 95 bd 71 42 0f ff ef 63 18 b5 2c 29 + +# Prime p: +07 ee fb 42 4b 0e 3a 40 e4 20 8e e5 af b2 80 b2 +23 17 30 81 14 dd e0 b4 b6 4f 73 01 84 ec 68 da +6c e2 86 7a 9f 48 ed 77 26 d5 e2 61 4e d0 4a 54 +10 73 6c 8c 71 4e e7 02 47 42 98 c6 29 2a f0 75 +35 + +# Prime q: +07 08 30 db f9 47 ea c0 22 8d e2 63 14 b5 9b 66 +99 4c c6 0e 83 60 e7 5d 38 76 29 8f 8f 8a 7d 14 +1d a0 64 e5 ca 02 6a 97 3e 28 f2 54 73 8c ee 66 +9c 72 1b 03 4c b5 f8 e2 44 da dd 7c d1 e1 59 d5 +47 + +# p's CRT exponent dP: +05 24 d2 0c 3d 95 cf f7 5a f2 31 34 83 22 7d 87 +02 71 7a a5 76 de 15 5f 96 05 15 50 1a db 1d 70 +e1 c0 4d e9 1b 75 b1 61 db f0 39 83 56 12 7e de +da 7b bc 19 a3 2d c1 62 1c c9 f5 3c 26 5d 0c e3 +31 + +# q's CRT exponent dQ: +05 f9 84 a1 f2 3c 93 8d 6a 0e 89 72 4b cf 3d d9 +3f 99 46 92 60 37 fe 7c 6b 13 a2 9e 52 84 85 5f +89 08 95 91 d4 40 97 56 27 bf 5c 9e 3a 8b 5c a7 +9c 77 2a d2 73 e4 0d 32 1a f4 a6 c9 7d fd ed 78 +d3 + +# CRT coefficient qInv: +dd d9 18 ad ad a2 9d ca b9 81 ff 9a cb a4 25 70 +23 c0 9a 38 01 cc ce 09 8c e2 68 f8 55 d0 df 57 +0c d6 e7 b9 b1 4b d9 a5 a9 25 4c bc 31 5b e6 f8 +ba 1e 25 46 dd d5 69 c5 ea 19 ee d8 35 3b de 5e + +# -------------------------------- +# RSASSA-PSS Signature Example 7.1 +# -------------------------------- + +# Message to be signed: +9e ad 0e 01 94 56 40 67 4e b4 1c ad 43 5e 23 74 +ea ef a8 ad 71 97 d9 79 13 c4 49 57 d8 d8 3f 40 +d7 6e e6 0e 39 bf 9c 0f 9e af 30 21 42 1a 07 4d +1a de 96 2c 6e 9d 3d c3 bb 17 4f e4 df e6 52 b0 +91 15 49 5b 8f d2 79 41 74 02 0a 06 02 b5 ca 51 +84 8c fc 96 ce 5e b5 7f c0 a2 ad c1 dd a3 6a 7c +c4 52 64 1a 14 91 1b 37 e4 5b fa 11 da a5 c7 ec +db 74 f6 d0 10 0d 1d 3e 39 e7 52 80 0e 20 33 97 +de 02 33 07 7b 9a 88 85 55 37 fa e9 27 f9 24 38 +0d 78 0f 98 e1 8d cf f3 9c 5e a7 41 b1 7d 6f dd +18 85 bc 9d 58 14 82 d7 71 ce b5 62 d7 8a 8b f8 +8f 0c 75 b1 13 63 e5 e3 6c d4 79 ce b0 54 5f 9d +a8 42 03 e0 e6 e5 08 37 5c c9 e8 44 b8 8b 7a c7 +a0 a2 01 ea 0f 1b ee 9a 2c 57 79 20 ca 02 c0 1b +9d 83 20 e9 74 a5 6f 4e fb 57 63 b9 62 55 ab bf +80 37 bf 18 02 cf 01 8f 56 37 94 93 e5 69 a9 + +# Salt: +b7 86 7a 59 95 8c b5 43 28 f8 77 5e 65 46 ec 06 +d2 7e aa 50 + +# Signature: +18 7f 39 07 23 c8 90 25 91 f0 15 4b ae 6d 4e cb +ff e0 67 f0 e8 b7 95 47 6e a4 f4 d5 1c cc 81 05 +20 bb 3c a9 bc a7 d0 b1 f2 ea 8a 17 d8 73 fa 27 +57 0a cd 64 2e 38 08 56 1c b9 e9 75 cc fd 80 b2 +3d c5 77 1c db 33 06 a5 f2 31 59 da cb d3 aa 2d +b9 3d 46 d7 66 e0 9e d1 5d 90 0a d8 97 a8 d2 74 +dc 26 b4 7e 99 4a 27 e9 7e 22 68 a7 66 53 3a e4 +b5 e4 2a 2f ca f7 55 c1 c4 79 4b 29 4c 60 55 58 +23 + +# -------------------------------- +# RSASSA-PSS Signature Example 7.2 +# -------------------------------- + +# Message to be signed: +8d 80 d2 d0 8d bd 19 c1 54 df 3f 14 67 3a 14 bd +03 73 52 31 f2 4e 86 bf 15 3d 0e 69 e7 4c bf f7 +b1 83 6e 66 4d e8 3f 68 01 24 37 0f c0 f9 6c 9b +65 c0 7a 36 6b 64 4c 4a b3 + +# Salt: +0c 09 58 22 66 df 08 63 10 82 1b a7 e1 8d f6 4d +fe e6 de 09 + +# Signature: +10 fd 89 76 8a 60 a6 77 88 ab b5 85 6a 78 7c 85 +61 f3 ed cf 9a 83 e8 98 f7 dc 87 ab 8c ce 79 42 +9b 43 e5 69 06 94 1a 88 61 94 f1 37 e5 91 fe 7c +33 95 55 36 1f bb e1 f2 4f eb 2d 4b cd b8 06 01 +f3 09 6b c9 13 2d ee a6 0a e1 30 82 f4 4f 9a d4 +1c d6 28 93 6a 4d 51 17 6e 42 fc 59 cb 76 db 81 +5c e5 ab 4d b9 9a 10 4a af ea 68 f5 d3 30 32 9e +bf 25 8d 4e de 16 06 4b d1 d0 03 93 d5 e1 57 0e +b8 + +# -------------------------------- +# RSASSA-PSS Signature Example 7.3 +# -------------------------------- + +# Message to be signed: +80 84 05 cd fc 1a 58 b9 bb 03 97 c7 20 72 2a 81 +ff fb 76 27 8f 33 59 17 ef 9c 47 38 14 b3 e0 16 +ba 29 73 cd 27 65 f8 f3 f8 2d 6c c3 8a a7 f8 55 +18 27 fe 8d 1e 38 84 b7 e6 1c 94 68 3b 8f 82 f1 +84 3b da e2 25 7e ee c9 81 2a d4 c2 cf 28 3c 34 +e0 b0 ae 0f e3 cb 99 0c f8 8f 2e f9 + +# Salt: +28 03 9d cf e1 06 d3 b8 29 66 11 25 8c 4a 56 65 +1c 9e 92 dd + +# Signature: +2b 31 fd e9 98 59 b9 77 aa 09 58 6d 8e 27 46 62 +b2 5a 2a 64 06 40 b4 57 f5 94 05 1c b1 e7 f7 a9 +11 86 54 55 24 29 26 cf 88 fe 80 df a3 a7 5b a9 +68 98 44 a1 1e 63 4a 82 b0 75 af bd 69 c1 2a 0d +f9 d2 5f 84 ad 49 45 df 3d c8 fe 90 c3 ce fd f2 +6e 95 f0 53 43 04 b5 bd ba 20 d3 e5 64 0a 2e bf +b8 98 aa c3 5a e4 0f 26 fc e5 56 3c 2f 9f 24 f3 +04 2a f7 6f 3c 70 72 d6 87 bb fb 95 9a 88 46 0a +f1 + +# -------------------------------- +# RSASSA-PSS Signature Example 7.4 +# -------------------------------- + +# Message to be signed: +f3 37 b9 ba d9 37 de 22 a1 a0 52 df f1 11 34 a8 +ce 26 97 62 02 98 19 39 b9 1e 07 15 ae 5e 60 96 +49 da 1a df ce f3 f4 cc a5 9b 23 83 60 e7 d1 e4 +96 c7 bf 4b 20 4b 5a cf f9 bb d6 16 6a 1d 87 a3 +6e f2 24 73 73 75 10 39 f8 a8 00 b8 39 98 07 b3 +a8 5f 44 89 34 97 c0 d0 5f b7 01 7b 82 22 81 52 +de 6f 25 e6 11 6d cc 75 03 c7 86 c8 75 c2 8f 3a +a6 07 e9 4a b0 f1 98 63 ab 1b 50 73 77 0b 0c d5 +f5 33 ac de 30 c6 fb 95 3c f3 da 68 02 64 e3 0f +c1 1b ff 9a 19 bf fa b4 77 9b 62 23 c3 fb 3f e0 +f7 1a ba de 4e b7 c0 9c 41 e2 4c 22 d2 3f a1 48 +e6 a1 73 fe b6 39 84 d1 bc 6e e3 a0 2d 91 5b 75 +2c ea f9 2a 30 15 ec eb 38 ca 58 6c 68 01 b3 7c +34 ce fb 2c ff 25 ea 23 c0 86 62 dc ab 26 a7 a9 +3a 28 5d 05 d3 04 4c + +# Salt: +a7 78 21 eb bb ef 24 62 8e 4e 12 e1 d0 ea 96 de +39 8f 7b 0f + +# Signature: +32 c7 ca 38 ff 26 94 9a 15 00 0c 4b a0 4b 2b 13 +b3 5a 38 10 e5 68 18 4d 7e ca ba a1 66 b7 ff ab +dd f2 b6 cf 4b a0 71 24 92 37 90 f2 e5 b1 a5 be +04 0a ea 36 fe 13 2e c1 30 e1 f1 05 67 98 2d 17 +ac 3e 89 b8 d2 6c 30 94 03 4e 76 2d 2e 03 12 64 +f0 11 70 be ec b3 d1 43 9e 05 84 6f 25 45 83 67 +a7 d9 c0 20 60 44 46 72 67 1e 64 e8 77 86 45 59 +ca 19 b2 07 4d 58 8a 28 1b 58 04 d2 37 72 fb be +19 + +# -------------------------------- +# RSASSA-PSS Signature Example 7.5 +# -------------------------------- + +# Message to be signed: +45 01 3c eb af d9 60 b2 55 47 6a 8e 25 98 b9 aa +32 ef be 6d c1 f3 4f 4a 49 8d 8c f5 a2 b4 54 8d +08 c5 5d 5f 95 f7 bc c9 61 91 63 05 6f 2d 58 b5 +2f a0 32 + +# Salt: +9d 5a d8 eb 45 21 34 b6 5d c3 a9 8b 6a 73 b5 f7 +41 60 9c d6 + +# Signature: +07 eb 65 1d 75 f1 b5 2b c2 63 b2 e1 98 33 6e 99 +fb eb c4 f3 32 04 9a 92 2a 10 81 56 07 ee 2d 98 +9d b3 a4 49 5b 7d cc d3 8f 58 a2 11 fb 7e 19 31 +71 a3 d8 91 13 24 37 eb ca 44 f3 18 b2 80 50 9e +52 b5 fa 98 fc ce 82 05 d9 69 7c 8e e4 b7 ff 59 +d4 c5 9c 79 03 8a 19 70 bd 2a 0d 45 1e cd c5 ef +11 d9 97 9c 9d 35 f8 c7 0a 61 63 71 76 07 89 0d +58 6a 7c 6d c0 1c 79 f8 6a 8f 28 e8 52 35 f8 c2 +f1 + +# -------------------------------- +# RSASSA-PSS Signature Example 7.6 +# -------------------------------- + +# Message to be signed: +23 58 09 70 86 c8 99 32 3e 75 d9 c9 0d 0c 09 f1 +2d 9d 54 ed fb df 70 a9 c2 eb 5a 04 d8 f3 6b 9b +2b df 2a ab e0 a5 bd a1 96 89 37 f9 d6 eb d3 b6 +b2 57 ef b3 13 6d 41 31 f9 ac b5 9b 85 e2 60 2c +2a 3f cd c8 35 49 4a 1f 4e 5e c1 8b 22 6c 80 23 +2b 36 a7 5a 45 fd f0 9a 7e a9 e9 8e fb de 14 50 +d1 19 4b f1 2e 15 a4 c5 f9 eb 5c 0b ce 52 69 e0 +c3 b2 8c fa b6 55 d8 1a 61 a2 0b 4b e2 f5 44 59 +bb 25 a0 db 94 c5 22 18 be 10 9a 74 26 de 83 01 +44 24 78 9a aa 90 e5 05 6e 63 2a 69 81 15 e2 82 +c1 a5 64 10 f2 6c 20 72 f1 93 48 1a 9d cd 88 05 +72 00 5e 64 f4 08 2e cf + +# Salt: +3f 2e fc 59 58 80 a7 d4 7f cf 3c ba 04 98 3e a5 +4c 4b 73 fb + +# Signature: +18 da 3c dc fe 79 bf b7 7f d9 c3 2f 37 7a d3 99 +14 6f 0a 8e 81 06 20 23 32 71 a6 e3 ed 32 48 90 +3f 5c dc 92 dc 79 b5 5d 3e 11 61 5a a0 56 a7 95 +85 37 92 a3 99 8c 34 9c a5 c4 57 e8 ca 7d 29 d7 +96 aa 24 f8 34 91 70 9b ef cf b1 51 0e a5 13 c9 +28 29 a3 f0 0b 10 4f 65 56 34 f3 20 75 2e 13 0e +c0 cc f6 75 4f f8 93 db 30 29 32 bb 02 5e b6 0e +87 82 25 98 fc 61 9e 0e 98 17 37 a9 a4 c4 15 2d +33 + +# ============================================= + +# ================================== +# Example 8: A 1031-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +49 53 70 a1 fb 18 54 3c 16 d3 63 1e 31 63 25 5d +f6 2b e6 ee e8 90 d5 f2 55 09 e4 f7 78 a8 ea 6f +bb bc df 85 df f6 4e 0d 97 20 03 ab 36 81 fb ba +6d d4 1f d5 41 82 9b 2e 58 2d e9 f2 a4 a4 e0 a2 +d0 90 0b ef 47 53 db 3c ee 0e e0 6c 7d fa e8 b1 +d5 3b 59 53 21 8f 9c ce ea 69 5b 08 66 8e de aa +dc ed 94 63 b1 d7 90 d5 eb f2 7e 91 15 b4 6c ad +4d 9a 2b 8e fa b0 56 1b 08 10 34 47 39 ad a0 73 +3f + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +6c 66 ff e9 89 80 c3 8f cd ea b5 15 98 98 83 61 +65 f4 b4 b8 17 c4 f6 a8 d4 86 ee 4e a9 13 0f e9 +b9 09 2b d1 36 d1 84 f9 5f 50 4a 60 7e ac 56 58 +46 d2 fd d6 59 7a 89 67 c7 39 6e f9 5a 6e ee bb +45 78 a6 43 96 6d ca 4d 8e e3 de 84 2d e6 32 79 +c6 18 15 9c 1a b5 4a 89 43 7b 6a 61 20 e4 93 0a +fb 52 a4 ba 6c ed 8a 49 47 ac 64 b3 0a 34 97 cb +e7 01 c2 d6 26 6d 51 72 19 ad 0e c6 d3 47 db e9 + +# Prime p: +08 da d7 f1 13 63 fa a6 23 d5 d6 d5 e8 a3 19 32 +8d 82 19 0d 71 27 d2 84 6c 43 9b 0a b7 26 19 b0 +a4 3a 95 32 0e 4e c3 4f c3 a9 ce a8 76 42 23 05 +bd 76 c5 ba 7b e9 e2 f4 10 c8 06 06 45 a1 d2 9e +db + +# Prime q: +08 47 e7 32 37 6f c7 90 0f 89 8e a8 2e b2 b0 fc +41 85 65 fd ae 62 f7 d9 ec 4c e2 21 7b 97 99 0d +d2 72 db 15 7f 99 f6 3c 0d cb b9 fb ac db d4 c4 +da db 6d f6 77 56 35 8c a4 17 48 25 b4 8f 49 70 +6d + +# p's CRT exponent dP: +05 c2 a8 3c 12 4b 36 21 a2 aa 57 ea 2c 3e fe 03 +5e ff 45 60 f3 3d de bb 7a da b8 1f ce 69 a0 c8 +c2 ed c1 65 20 dd a8 3d 59 a2 3b e8 67 96 3a c6 +5f 2c c7 10 bb cf b9 6e e1 03 de b7 71 d1 05 fd +85 + +# q's CRT exponent dQ: +04 ca e8 aa 0d 9f aa 16 5c 87 b6 82 ec 14 0b 8e +d3 b5 0b 24 59 4b 7a 3b 2c 22 0b 36 69 bb 81 9f +98 4f 55 31 0a 1a e7 82 36 51 d4 a0 2e 99 44 79 +72 59 51 39 36 34 34 e5 e3 0a 7e 7d 24 15 51 e1 +b9 + +# CRT coefficient qInv: +07 d3 e4 7b f6 86 60 0b 11 ac 28 3c e8 8d bb 3f +60 51 e8 ef d0 46 80 e4 4c 17 1e f5 31 b8 0b 2b +7c 39 fc 76 63 20 e2 cf 15 d8 d9 98 20 e9 6f f3 +0d c6 96 91 83 9c 4b 40 d7 b0 6e 45 30 7d c9 1f +3f + +# -------------------------------- +# RSASSA-PSS Signature Example 8.1 +# -------------------------------- + +# Message to be signed: +81 33 2f 4b e6 29 48 41 5e a1 d8 99 79 2e ea cf +6c 6e 1d b1 da 8b e1 3b 5c ea 41 db 2f ed 46 70 +92 e1 ff 39 89 14 c7 14 25 97 75 f5 95 f8 54 7f +73 56 92 a5 75 e6 92 3a f7 8f 22 c6 99 7d db 90 +fb 6f 72 d7 bb 0d d5 74 4a 31 de cd 3d c3 68 58 +49 83 6e d3 4a ec 59 63 04 ad 11 84 3c 4f 88 48 +9f 20 97 35 f5 fb 7f da f7 ce c8 ad dc 58 18 16 +8f 88 0a cb f4 90 d5 10 05 b7 a8 e8 4e 43 e5 42 +87 97 75 71 dd 99 ee a4 b1 61 eb 2d f1 f5 10 8f +12 a4 14 2a 83 32 2e db 05 a7 54 87 a3 43 5c 9a +78 ce 53 ed 93 bc 55 08 57 d7 a9 fb + +# Salt: +1d 65 49 1d 79 c8 64 b3 73 00 9b e6 f6 f2 46 7b +ac 4c 78 fa + +# Signature: +02 62 ac 25 4b fa 77 f3 c1 ac a2 2c 51 79 f8 f0 +40 42 2b 3c 5b af d4 0a 8f 21 cf 0f a5 a6 67 cc +d5 99 3d 42 db af b4 09 c5 20 e2 5f ce 2b 1e e1 +e7 16 57 7f 1e fa 17 f3 da 28 05 2f 40 f0 41 9b +23 10 6d 78 45 aa f0 11 25 b6 98 e7 a4 df e9 2d +39 67 bb 00 c4 d0 d3 5b a3 55 2a b9 a8 b3 ee f0 +7c 7f ec db c5 42 4a c4 db 1e 20 cb 37 d0 b2 74 +47 69 94 0e a9 07 e1 7f bb ca 67 3b 20 52 23 80 +c5 + +# -------------------------------- +# RSASSA-PSS Signature Example 8.2 +# -------------------------------- + +# Message to be signed: +e2 f9 6e af 0e 05 e7 ba 32 6e cc a0 ba 7f d2 f7 +c0 23 56 f3 ce de 9d 0f aa bf 4f cc 8e 60 a9 73 +e5 59 5f d9 ea 08 + +# Salt: +43 5c 09 8a a9 90 9e b2 37 7f 12 48 b0 91 b6 89 +87 ff 18 38 + +# Signature: +27 07 b9 ad 51 15 c5 8c 94 e9 32 e8 ec 0a 28 0f +56 33 9e 44 a1 b5 8d 4d dc ff 2f 31 2e 5f 34 dc +fe 39 e8 9c 6a 94 dc ee 86 db bd ae 5b 79 ba 4e +08 19 a9 e7 bf d9 d9 82 e7 ee 6c 86 ee 68 39 6e +8b 3a 14 c9 c8 f3 4b 17 8e b7 41 f9 d3 f1 21 10 +9b f5 c8 17 2f ad a2 e7 68 f9 ea 14 33 03 2c 00 +4a 8a a0 7e b9 90 00 0a 48 dc 94 c8 ba c8 aa be +2b 09 b1 aa 46 c0 a2 aa 0e 12 f6 3f bb a7 75 ba +7e + +# -------------------------------- +# RSASSA-PSS Signature Example 8.3 +# -------------------------------- + +# Message to be signed: +e3 5c 6e d9 8f 64 a6 d5 a6 48 fc ab 8a db 16 33 +1d b3 2e 5d 15 c7 4a 40 ed f9 4c 3d c4 a4 de 79 +2d 19 08 89 f2 0f 1e 24 ed 12 05 4a 6b 28 79 8f +cb 42 d1 c5 48 76 9b 73 4c 96 37 31 42 09 2a ed +27 76 03 f4 73 8d f4 dc 14 46 58 6d 0e c6 4d a4 +fb 60 53 6d b2 ae 17 fc 7e 3c 04 bb fb bb d9 07 +bf 11 7c 08 63 6f a1 6f 95 f5 1a 62 16 93 4d 3e +34 f8 50 30 f1 7b bb c5 ba 69 14 40 58 af f0 81 +e0 b1 9c f0 3c 17 19 5c 5e 88 8b a5 8f 6f e0 a0 +2e 5c 3b da 97 19 a7 + +# Salt: +c6 eb be 76 df 0c 4a ea 32 c4 74 17 5b 2f 13 68 +62 d0 45 29 + +# Signature: +2a d2 05 09 d7 8c f2 6d 1b 6c 40 61 46 08 6e 4b +0c 91 a9 1c 2b d1 64 c8 7b 96 6b 8f aa 42 aa 0c +a4 46 02 23 23 ba 4b 1a 1b 89 70 6d 7f 4c 3b e5 +7d 7b 69 70 2d 16 8a b5 95 5e e2 90 35 6b 8c 4a +29 ed 46 7d 54 7e c2 3c ba df 28 6c cb 58 63 c6 +67 9d a4 67 fc 93 24 a1 51 c7 ec 55 aa c6 db 40 +84 f8 27 26 82 5c fe 1a a4 21 bc 64 04 9f b4 2f +23 14 8f 9c 25 b2 dc 30 04 37 c3 8d 42 8a a7 5f +96 + +# -------------------------------- +# RSASSA-PSS Signature Example 8.4 +# -------------------------------- + +# Message to be signed: +db c5 f7 50 a7 a1 4b e2 b9 3e 83 8d 18 d1 4a 86 +95 e5 2e 8a dd 9c 0a c7 33 b8 f5 6d 27 47 e5 29 +a0 cc a5 32 dd 49 b9 02 ae fe d5 14 44 7f 9e 81 +d1 61 95 c2 85 38 68 cb 9b 30 f7 d0 d4 95 c6 9d +01 b5 c5 d5 0b 27 04 5d b3 86 6c 23 24 a4 4a 11 +0b 17 17 74 6d e4 57 d1 c8 c4 5c 3c d2 a9 29 70 +c3 d5 96 32 05 5d 4c 98 a4 1d 6e 99 e2 a3 dd d5 +f7 f9 97 9a b3 cd 18 f3 75 05 d2 51 41 de 2a 1b +ff 17 b3 a7 dc e9 41 9e cc 38 5c f1 1d 72 84 0f +19 95 3f d0 50 92 51 f6 ca fd e2 89 3d 0e 75 c7 +81 ba 7a 50 12 ca 40 1a 4f a9 9e 04 b3 c3 24 9f +92 6d 5a fe 82 cc 87 da b2 2c 3c 1b 10 5d e4 8e +34 ac e9 c9 12 4e 59 59 7a c7 eb f8 + +# Salt: +02 1f dc c6 eb b5 e1 9b 1c b1 6e 9c 67 f2 76 81 +65 7f e2 0a + +# Signature: +1e 24 e6 e5 86 28 e5 17 50 44 a9 eb 6d 83 7d 48 +af 12 60 b0 52 0e 87 32 7d e7 89 7e e4 d5 b9 f0 +df 0b e3 e0 9e d4 de a8 c1 45 4f f3 42 3b b0 8e +17 93 24 5a 9d f8 bf 6a b3 96 8c 8e dd c3 b5 32 +85 71 c7 7f 09 1c c5 78 57 69 12 df eb d1 64 b9 +de 54 54 fe 0b e1 c1 f6 38 5b 32 83 60 ce 67 ec +7a 05 f6 e3 0e b4 5c 17 c4 8a c7 00 41 d2 ca b6 +7f 0a 2a e7 aa fd cc 8d 24 5e a3 44 2a 63 00 cc +c7 + +# -------------------------------- +# RSASSA-PSS Signature Example 8.5 +# -------------------------------- + +# Message to be signed: +04 dc 25 1b e7 2e 88 e5 72 34 85 b6 38 3a 63 7e +2f ef e0 76 60 c5 19 a5 60 b8 bc 18 bd ed b8 6e +ae 23 64 ea 53 ba 9d ca 6e b3 d2 e7 d6 b8 06 af +42 b3 e8 7f 29 1b 4a 88 81 d5 bf 57 2c c9 a8 5e +19 c8 6a cb 28 f0 98 f9 da 03 83 c5 66 d3 c0 f5 +8c fd 8f 39 5d cf 60 2e 5c d4 0e 8c 71 83 f7 14 +99 6e 22 97 ef + +# Salt: +c5 58 d7 16 7c bb 45 08 ad a0 42 97 1e 71 b1 37 +7e ea 42 69 + +# Signature: +33 34 1b a3 57 6a 13 0a 50 e2 a5 cf 86 79 22 43 +88 d5 69 3f 5a cc c2 35 ac 95 ad d6 8e 5e b1 ee +c3 16 66 d0 ca 7a 1c da 6f 70 a1 aa 76 2c 05 75 +2a 51 95 0c db 8a f3 c5 37 9f 18 cf e6 b5 bc 55 +a4 64 82 26 a1 5e 91 2e f1 9a d7 7a de ea 91 1d +67 cf ef d6 9b a4 3f a4 11 91 35 ff 64 21 17 ba +98 5a 7e 01 00 32 5e 95 19 f1 ca 6a 92 16 bd a0 +55 b5 78 50 15 29 11 25 e9 0d cd 07 a2 ca 96 73 +ee + +# -------------------------------- +# RSASSA-PSS Signature Example 8.6 +# -------------------------------- + +# Message to be signed: +0e a3 7d f9 a6 fe a4 a8 b6 10 37 3c 24 cf 39 0c +20 fa 6e 21 35 c4 00 c8 a3 4f 5c 18 3a 7e 8e a4 +c9 ae 09 0e d3 17 59 f4 2d c7 77 19 cc a4 00 ec +dc c5 17 ac fc 7a c6 90 26 75 b2 ef 30 c5 09 66 +5f 33 21 48 2f c6 9a 9f b5 70 d1 5e 01 c8 45 d0 +d8 e5 0d 2a 24 cb f1 cf 0e 71 49 75 a5 db 7b 18 +d9 e9 e9 cb 91 b5 cb 16 86 90 60 ed 18 b7 b5 62 +45 50 3f 0c af 90 35 2b 8d e8 1c b5 a1 d9 c6 33 +60 92 f0 cd + +# Salt: +76 fd 4e 64 fd c9 8e b9 27 a0 40 3e 35 a0 84 e7 +6b a9 f9 2a + +# Signature: +1e d1 d8 48 fb 1e db 44 12 9b d9 b3 54 79 5a f9 +7a 06 9a 7a 00 d0 15 10 48 59 3e 0c 72 c3 51 7f +f9 ff 2a 41 d0 cb 5a 0a c8 60 d7 36 a1 99 70 4f +7c b6 a5 39 86 a8 8b bd 8a bc c0 07 6a 2c e8 47 +88 00 31 52 5d 44 9d a2 ac 78 35 63 74 c5 36 e3 +43 fa a7 cb a4 2a 5a aa 65 06 08 77 91 c0 6a 8e +98 93 35 ae d1 9b fa b2 d5 e6 7e 27 fb 0c 28 75 +af 89 6c 21 b6 e8 e7 30 9d 04 e4 f6 72 7e 69 46 +3e + +# ============================================= + +# ================================== +# Example 9: A 1536-bit RSA Key Pair +# ================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +e6 bd 69 2a c9 66 45 79 04 03 fd d0 f5 be b8 b9 +bf 92 ed 10 00 7f c3 65 04 64 19 dd 06 c0 5c 5b +5b 2f 48 ec f9 89 e4 ce 26 91 09 97 9c bb 40 b4 +a0 ad 24 d2 24 83 d1 ee 31 5a d4 cc b1 53 42 68 +35 26 91 c5 24 f6 dd 8e 6c 29 d2 24 cf 24 69 73 +ae c8 6c 5b f6 b1 40 1a 85 0d 1b 9a d1 bb 8c bc +ec 47 b0 6f 0f 8c 7f 45 d3 fc 8f 31 92 99 c5 43 +3d db c2 b3 05 3b 47 de d2 ec d4 a4 ca ef d6 14 +83 3d c8 bb 62 2f 31 7e d0 76 b8 05 7f e8 de 3f +84 48 0a d5 e8 3e 4a 61 90 4a 4f 24 8f b3 97 02 +73 57 e1 d3 0e 46 31 39 81 5c 6f d4 fd 5a c5 b8 +17 2a 45 23 0e cb 63 18 a0 4f 14 55 d8 4e 5a 8b + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +6a 7f d8 4f b8 5f ad 07 3b 34 40 6d b7 4f 8d 61 +a6 ab c1 21 96 a9 61 dd 79 56 5e 9d a6 e5 18 7b +ce 2d 98 02 50 f7 35 95 75 35 92 70 d9 15 90 bb +0e 42 7c 71 46 0b 55 d5 14 10 b1 91 bc f3 09 fe +a1 31 a9 2c 8e 70 27 38 fa 71 9f 1e 00 41 f5 2e +40 e9 1f 22 9f 4d 96 a1 e6 f1 72 e1 55 96 b4 51 +0a 6d ae c2 61 05 f2 be bc 53 31 6b 87 bd f2 13 +11 66 60 70 e8 df ee 69 d5 2c 71 a9 76 ca ae 79 +c7 2b 68 d2 85 80 dc 68 6d 9f 51 29 d2 25 f8 2b +3d 61 55 13 a8 82 b3 db 91 41 6b 48 ce 08 88 82 +13 e3 7e eb 9a f8 00 d8 1c ab 32 8c e4 20 68 99 +03 c0 0c 7b 5f d3 1b 75 50 3a 6d 41 96 84 d6 29 + +# Prime p: +f8 eb 97 e9 8d f1 26 64 ee fd b7 61 59 6a 69 dd +cd 0e 76 da ec e6 ed 4b f5 a1 b5 0a c0 86 f7 92 +8a 4d 2f 87 26 a7 7e 51 5b 74 da 41 98 8f 22 0b +1c c8 7a a1 fc 81 0c e9 9a 82 f2 d1 ce 82 1e dc +ed 79 4c 69 41 f4 2c 7a 1a 0b 8c 4d 28 c7 5e c6 +0b 65 22 79 f6 15 4a 76 2a ed 16 5d 47 de e3 67 + +# Prime q: +ed 4d 71 d0 a6 e2 4b 93 c2 e5 f6 b4 bb e0 5f 5f +b0 af a0 42 d2 04 fe 33 78 d3 65 c2 f2 88 b6 a8 +da d7 ef e4 5d 15 3e ef 40 ca cc 7b 81 ff 93 40 +02 d1 08 99 4b 94 a5 e4 72 8c d9 c9 63 37 5a e4 +99 65 bd a5 5c bf 0e fe d8 d6 55 3b 40 27 f2 d8 +62 08 a6 e6 b4 89 c1 76 12 80 92 d6 29 e4 9d 3d + +# p's CRT exponent dP: +2b b6 8b dd fb 0c 4f 56 c8 55 8b ff af 89 2d 80 +43 03 78 41 e7 fa 81 cf a6 1a 38 c5 e3 9b 90 1c +8e e7 11 22 a5 da 22 27 bd 6c de eb 48 14 52 c1 +2a d3 d6 1d 5e 4f 77 6a 0a b5 56 59 1b ef e3 e5 +9e 5a 7f dd b8 34 5e 1f 2f 35 b9 f4 ce e5 7c 32 +41 4c 08 6a ec 99 3e 93 53 e4 80 d9 ee c6 28 9f + +# q's CRT exponent dQ: +4f f8 97 70 9f ad 07 97 46 49 45 78 e7 0f d8 54 +61 30 ee ab 56 27 c4 9b 08 0f 05 ee 4a d9 f3 e4 +b7 cb a9 d6 a5 df f1 13 a4 1c 34 09 33 68 33 f1 +90 81 6d 8a 6b c4 2e 9b ec 56 b7 56 7d 0f 3c 9c +69 6d b6 19 b2 45 d9 01 dd 85 6d b7 c8 09 2e 77 +e9 a1 cc cd 56 ee 4d ba 42 c5 fd b6 1a ec 26 69 + +# CRT coefficient qInv: +77 b9 d1 13 7b 50 40 4a 98 27 29 31 6e fa fc 7d +fe 66 d3 4e 5a 18 26 00 d5 f3 0a 0a 85 12 05 1c +56 0d 08 1d 4d 0a 18 35 ec 3d 25 a6 0f 4e 4d 6a +a9 48 b2 bf 3d bb 5b 12 4c bb c3 48 92 55 a3 a9 +48 37 2f 69 78 49 67 45 f9 43 e1 db 4f 18 38 2c +ea a5 05 df c6 57 57 bb 3f 85 7a 58 dc e5 21 56 + +# -------------------------------- +# RSASSA-PSS Signature Example 9.1 +# -------------------------------- + +# Message to be signed: +a8 8e 26 58 55 e9 d7 ca 36 c6 87 95 f0 b3 1b 59 +1c d6 58 7c 71 d0 60 a0 b3 f7 f3 ea ef 43 79 59 +22 02 8b c2 b6 ad 46 7c fc 2d 7f 65 9c 53 85 aa +70 ba 36 72 cd de 4c fe 49 70 cc 79 04 60 1b 27 +88 72 bf 51 32 1c 4a 97 2f 3c 95 57 0f 34 45 d4 +f5 79 80 e0 f2 0d f5 48 46 e6 a5 2c 66 8f 12 88 +c0 3f 95 00 6e a3 2f 56 2d 40 d5 2a f9 fe b3 2f +0f a0 6d b6 5b 58 8a 23 7b 34 e5 92 d5 5c f9 79 +f9 03 a6 42 ef 64 d2 ed 54 2a a8 c7 7d c1 dd 76 +2f 45 a5 93 03 ed 75 e5 41 ca 27 1e 2b 60 ca 70 +9e 44 fa 06 61 13 1e 8d 5d 41 63 fd 8d 39 85 66 +ce 26 de 87 30 e7 2f 9c ca 73 76 41 c2 44 15 94 +20 63 70 28 df 0a 18 07 9d 62 08 ea 8b 47 11 a2 +c7 50 f5 + +# Salt: +c0 a4 25 31 3d f8 d7 56 4b d2 43 4d 31 15 23 d5 +25 7e ed 80 + +# Signature: +58 61 07 22 6c 3c e0 13 a7 c8 f0 4d 1a 6a 29 59 +bb 4b 8e 20 5b a4 3a 27 b5 0f 12 41 11 bc 35 ef +58 9b 03 9f 59 32 18 7c b6 96 d7 d9 a3 2c 0c 38 +30 0a 5c dd a4 83 4b 62 d2 eb 24 0a f3 3f 79 d1 +3d fb f0 95 bf 59 9e 0d 96 86 94 8c 19 64 74 7b +67 e8 9c 9a ba 5c d8 50 16 23 6f 56 6c c5 80 2c +b1 3e ad 51 bc 7c a6 be f3 b9 4d cb db b1 d5 70 +46 97 71 df 0e 00 b1 a8 a0 67 77 47 2d 23 16 27 +9e da e8 64 74 66 8d 4e 1e ff f9 5f 1d e6 1c 60 +20 da 32 ae 92 bb f1 65 20 fe f3 cf 4d 88 f6 11 +21 f2 4b bd 9f e9 1b 59 ca f1 23 5b 2a 93 ff 81 +fc 40 3a dd f4 eb de a8 49 34 a9 cd af 8e 1a 9e + +# -------------------------------- +# RSASSA-PSS Signature Example 9.2 +# -------------------------------- + +# Message to be signed: +c8 c9 c6 af 04 ac da 41 4d 22 7e f2 3e 08 20 c3 +73 2c 50 0d c8 72 75 e9 5b 0d 09 54 13 99 3c 26 +58 bc 1d 98 85 81 ba 87 9c 2d 20 1f 14 cb 88 ce +d1 53 a0 19 69 a7 bf 0a 7b e7 9c 84 c1 48 6b c1 +2b 3f a6 c5 98 71 b6 82 7c 8c e2 53 ca 5f ef a8 +a8 c6 90 bf 32 6e 8e 37 cd b9 6d 90 a8 2e ba b6 +9f 86 35 0e 18 22 e8 bd 53 6a 2e + +# Salt: +b3 07 c4 3b 48 50 a8 da c2 f1 5f 32 e3 78 39 ef +8c 5c 0e 91 + +# Signature: +80 b6 d6 43 25 52 09 f0 a4 56 76 38 97 ac 9e d2 +59 d4 59 b4 9c 28 87 e5 88 2e cb 44 34 cf d6 6d +d7 e1 69 93 75 38 1e 51 cd 7f 55 4f 2c 27 17 04 +b3 99 d4 2b 4b e2 54 0a 0e ca 61 95 1f 55 26 7f +7c 28 78 c1 22 84 2d ad b2 8b 01 bd 5f 8c 02 5f +7e 22 84 18 a6 73 c0 3d 6b c0 c7 36 d0 a2 95 46 +bd 67 f7 86 d9 d6 92 cc ea 77 8d 71 d9 8c 20 63 +b7 a7 10 92 18 7a 4d 35 af 10 81 11 d8 3e 83 ea +e4 6c 46 aa 34 27 7e 06 04 45 89 90 37 88 f1 d5 +e7 ce e2 5f b4 85 e9 29 49 11 88 14 d6 f2 c3 ee +36 14 89 01 6f 32 7f b5 bc 51 7e b5 04 70 bf fa +1a fa 5f 4c e9 aa 0c e5 b8 ee 19 bf 55 01 b9 58 + +# -------------------------------- +# RSASSA-PSS Signature Example 9.3 +# -------------------------------- + +# Message to be signed: +0a fa d4 2c cd 4f c6 06 54 a5 50 02 d2 28 f5 2a +4a 5f e0 3b 8b bb 08 ca 82 da ca 55 8b 44 db e1 +26 6e 50 c0 e7 45 a3 6d 9d 29 04 e3 40 8a bc d1 +fd 56 99 94 06 3f 4a 75 cc 72 f2 fe e2 a0 cd 89 +3a 43 af 1c 5b 8b 48 7d f0 a7 16 10 02 4e 4f 6d +df 9f 28 ad 08 13 c1 aa b9 1b cb 3c 90 64 d5 ff +74 2d ef fe a6 57 09 41 39 36 9e 5e a6 f4 a9 63 +19 a5 cc 82 24 14 5b 54 50 62 75 8f ef d1 fe 34 +09 ae 16 92 59 c6 cd fd 6b 5f 29 58 e3 14 fa ec +be 69 d2 ca ce 58 ee 55 17 9a b9 b3 e6 d1 ec c1 +4a 55 7c 5f eb e9 88 59 52 64 fc 5d a1 c5 71 46 +2e ca 79 8a 18 a1 a4 94 0c da b4 a3 e9 20 09 cc +d4 2e 1e 94 7b 13 14 e3 22 38 a2 de ce 7d 23 a8 +9b 5b 30 c7 51 fd 0a 4a 43 0d 2c 54 85 94 + +# Salt: +9a 2b 00 7e 80 97 8b bb 19 2c 35 4e b7 da 9a ed +fc 74 db f5 + +# Signature: +48 44 08 f3 89 8c d5 f5 34 83 f8 08 19 ef bf 27 +08 c3 4d 27 a8 b2 a6 fa e8 b3 22 f9 24 02 37 f9 +81 81 7a ca 18 46 f1 08 4d aa 6d 7c 07 95 f6 e5 +bf 1a f5 9c 38 e1 85 84 37 ce 1f 7e c4 19 b9 8c +87 36 ad f6 dd 9a 00 b1 80 6d 2b d3 ad 0a 73 77 +5e 05 f5 2d fe f3 a5 9a b4 b0 81 43 f0 df 05 cd +1a d9 d0 4b ec ec a6 da a4 a2 12 98 03 e2 00 cb +c7 77 87 ca f4 c1 d0 66 3a 6c 59 87 b6 05 95 20 +19 78 2c af 2e c1 42 6d 68 fb 94 ed 1d 4b e8 16 +a7 ed 08 1b 77 e6 ab 33 0b 3f fc 07 38 20 fe cd +e3 72 7f cb e2 95 ee 61 a0 50 a3 43 65 86 37 c3 +fd 65 9c fb 63 73 6d e3 2d 9f 90 d3 c2 f6 3e ca + +# -------------------------------- +# RSASSA-PSS Signature Example 9.4 +# -------------------------------- + +# Message to be signed: +1d fd 43 b4 6c 93 db 82 62 9b da e2 bd 0a 12 b8 +82 ea 04 c3 b4 65 f5 cf 93 02 3f 01 05 96 26 db +be 99 f2 6b b1 be 94 9d dd d1 6d c7 f3 de bb 19 +a1 94 62 7f 0b 22 44 34 df 7d 87 00 e9 e9 8b 06 +e3 60 c1 2f db e3 d1 9f 51 c9 68 4e b9 08 9e cb +b0 a2 f0 45 03 99 d3 f5 9e ac 72 94 08 5d 04 4f +53 93 c6 ce 73 74 23 d8 b8 6c 41 53 70 d3 89 e3 +0b 9f 0a 3c 02 d2 5d 00 82 e8 ad 6f 3f 1e f2 4a +45 c3 cf 82 b3 83 36 70 63 a4 d4 61 3e 42 64 f0 +1b 2d ac 2e 5a a4 20 43 f8 fb 5f 69 fa 87 1d 14 +fb 27 3e 76 7a 53 1c 40 f0 2f 34 3b c2 fb 45 a0 +c7 e0 f6 be 25 61 92 3a 77 21 1d 66 a6 e2 db b4 +3c 36 63 50 be ae 22 da 3a c2 c1 f5 07 70 96 fc +b5 c4 bf 25 5f 75 74 35 1a e0 b1 e1 f0 36 32 81 +7c 08 56 d4 a8 ba 97 af bd c8 b8 58 55 40 2b c5 +69 26 fc ec 20 9f 9e a8 + +# Salt: +70 f3 82 bd df 4d 5d 2d d8 8b 3b c7 b7 30 8b e6 +32 b8 40 45 + +# Signature: +84 eb eb 48 1b e5 98 45 b4 64 68 ba fb 47 1c 01 +12 e0 2b 23 5d 84 b5 d9 11 cb d1 92 6e e5 07 4a +e0 42 44 95 cb 20 e8 23 08 b8 eb b6 5f 41 9a 03 +fb 40 e7 2b 78 98 1d 88 aa d1 43 05 36 85 17 2c +97 b2 9c 8b 7b f0 ae 73 b5 b2 26 3c 40 3d a0 ed +2f 80 ff 74 50 af 78 28 eb 8b 86 f0 02 8b d2 a8 +b1 76 a4 d2 28 cc ce a1 83 94 f2 38 b0 9f f7 58 +cc 00 bc 04 30 11 52 35 57 42 f2 82 b5 4e 66 3a +91 9e 70 9d 8d a2 4a de 55 00 a7 b9 aa 50 22 6e +0c a5 29 23 e6 c2 d8 60 ec 50 ff 48 0f a5 74 77 +e8 2b 05 65 f4 37 9f 79 c7 72 d5 c2 da 80 af 9f +bf 32 5e ce 6f c2 0b 00 96 16 14 be e8 9a 18 3e + +# -------------------------------- +# RSASSA-PSS Signature Example 9.5 +# -------------------------------- + +# Message to be signed: +1b dc 6e 7c 98 fb 8c f5 4e 9b 09 7b 66 a8 31 e9 +cf e5 2d 9d 48 88 44 8e e4 b0 97 80 93 ba 1d 7d +73 ae 78 b3 a6 2b a4 ad 95 cd 28 9c cb 9e 00 52 +26 bb 3d 17 8b cc aa 82 1f b0 44 a4 e2 1e e9 76 +96 c1 4d 06 78 c9 4c 2d ae 93 b0 ad 73 92 22 18 +55 3d aa 7e 44 eb e5 77 25 a7 a4 5c c7 2b 9b 21 +38 a6 b1 7c 8d b4 11 ce 82 79 ee 12 41 af f0 a8 +be c6 f7 7f 87 ed b0 c6 9c b2 72 36 e3 43 5a 80 +0b 19 2e 4f 11 e5 19 e3 fe 30 fc 30 ea cc ca 4f +bb 41 76 90 29 bf 70 8e 81 7a 9e 68 38 05 be 67 +fa 10 09 84 68 3b 74 83 8e 3b cf fa 79 36 6e ed +1d 48 1c 76 72 91 18 83 8f 31 ba 8a 04 8a 93 c1 +be 44 24 59 8e 8d f6 32 8b 7a 77 88 0a 3f 9c 7e +2e 8d fc a8 eb 5a 26 fb 86 bd c5 56 d4 2b be 01 +d9 fa 6e d8 06 46 49 1c 93 41 + +# Salt: +d6 89 25 7a 86 ef fa 68 21 2c 5e 0c 61 9e ca 29 +5f b9 1b 67 + +# Signature: +82 10 2d f8 cb 91 e7 17 99 19 a0 4d 26 d3 35 d6 +4f bc 2f 87 2c 44 83 39 43 24 1d e8 45 48 10 27 +4c df 3d b5 f4 2d 42 3d b1 52 af 71 35 f7 01 42 +0e 39 b4 94 a6 7c bf d1 9f 91 19 da 23 3a 23 da +5c 64 39 b5 ba 0d 2b c3 73 ee e3 50 70 01 37 8d +4a 40 73 85 6b 7f e2 ab a0 b5 ee 93 b2 7f 4a fe +c7 d4 d1 20 92 1c 83 f6 06 76 5b 02 c1 9e 4d 6a +1a 3b 95 fa 4c 42 29 51 be 4f 52 13 10 77 ef 17 +17 97 29 cd df bd b5 69 50 db ac ee fe 78 cb 16 +64 0a 09 9e a5 6d 24 38 9e ef 10 f8 fe cb 31 ba +3e a3 b2 27 c0 a8 66 98 bb 89 e3 e9 36 39 05 bf +22 77 7b 2a 3a a5 21 b6 5b 4c ef 76 d8 3b de 4c + + ------------------------------ +# RSASSA-PSS Signature Example 9.6 + ------------------------------ + +# Message to be signed: +88 c7 a9 f1 36 04 01 d9 0e 53 b1 01 b6 1c 53 25 +c3 c7 5d b1 b4 11 fb eb 8e 83 0b 75 e9 6b 56 67 +0a d2 45 40 4e 16 79 35 44 ee 35 4b c6 13 a9 0c +c9 84 87 15 a7 3d b5 89 3e 7f 6d 27 98 15 c0 c1 +de 83 ef 8e 29 56 e3 a5 6e d2 6a 88 8d 7a 9c dc +d0 42 f4 b1 6b 7f a5 1e f1 a0 57 36 62 d1 6a 30 +2d 0e c5 b2 85 d2 e0 3a d9 65 29 c8 7b 3d 37 4d +b3 72 d9 5b 24 43 d0 61 b6 b1 a3 50 ba 87 80 7e +d0 83 af d1 eb 05 c3 f5 2f 4e ba 5e d2 22 77 14 +fd b5 0b 9d 9d 9d d6 81 4f 62 f6 27 2f cd 5c db +ce 7a 9e f7 97 + +# Salt: +c2 5f 13 bf 67 d0 81 67 1a 04 81 a1 f1 82 0d 61 +3b ba 22 76 + +# Signature: +a7 fd b0 d2 59 16 5c a2 c8 8d 00 bb f1 02 8a 86 +7d 33 76 99 d0 61 19 3b 17 a9 64 8e 14 cc bb aa +de ac aa cd ec 81 5e 75 71 29 4e bb 8a 11 7a f2 +05 fa 07 8b 47 b0 71 2c 19 9e 3a d0 51 35 c5 04 +c2 4b 81 70 51 15 74 08 02 48 79 92 ff d5 11 d4 +af c6 b8 54 49 1e b3 f0 dd 52 31 39 54 2f f1 5c +31 01 ee 85 54 35 17 c6 a3 c7 94 17 c6 7e 2d d9 +aa 74 1e 9a 29 b0 6d cb 59 3c 23 36 b3 67 0a e3 +af ba c7 c3 e7 6e 21 54 73 e8 66 e3 38 ca 24 4d +e0 0b 62 62 4d 6b 94 26 82 2c ea e9 f8 cc 46 08 +95 f4 12 50 07 3f d4 5c 5a 1e 7b 42 5c 20 4a 42 +3a 69 91 59 f6 90 3e 71 0b 37 a7 bb 2b c8 04 9f + +# ============================================= + +# =================================== +# Example 10: A 2048-bit RSA Key Pair +# =================================== + +# ------------------------------ +# Components of the RSA Key Pair +# ------------------------------ + +# RSA modulus n: +a5 dd 86 7a c4 cb 02 f9 0b 94 57 d4 8c 14 a7 70 +ef 99 1c 56 c3 9c 0e c6 5f d1 1a fa 89 37 ce a5 +7b 9b e7 ac 73 b4 5c 00 17 61 5b 82 d6 22 e3 18 +75 3b 60 27 c0 fd 15 7b e1 2f 80 90 fe e2 a7 ad +cd 0e ef 75 9f 88 ba 49 97 c7 a4 2d 58 c9 aa 12 +cb 99 ae 00 1f e5 21 c1 3b b5 43 14 45 a8 d5 ae +4f 5e 4c 7e 94 8a c2 27 d3 60 40 71 f2 0e 57 7e +90 5f be b1 5d fa f0 6d 1d e5 ae 62 53 d6 3a 6a +21 20 b3 1a 5d a5 da bc 95 50 60 0e 20 f2 7d 37 +39 e2 62 79 25 fe a3 cc 50 9f 21 df f0 4e 6e ea +45 49 c5 40 d6 80 9f f9 30 7e ed e9 1f ff 58 73 +3d 83 85 a2 37 d6 d3 70 5a 33 e3 91 90 09 92 07 +0d f7 ad f1 35 7c f7 e3 70 0c e3 66 7d e8 3f 17 +b8 df 17 78 db 38 1d ce 09 cb 4a d0 58 a5 11 00 +1a 73 81 98 ee 27 cf 55 a1 3b 75 45 39 90 65 82 +ec 8b 17 4b d5 8d 5d 1f 3d 76 7c 61 37 21 ae 05 + +# RSA public exponent e: +01 00 01 + +# RSA private exponent d: +2d 2f f5 67 b3 fe 74 e0 61 91 b7 fd ed 6d e1 12 +29 0c 67 06 92 43 0d 59 69 18 40 47 da 23 4c 96 +93 de ed 16 73 ed 42 95 39 c9 69 d3 72 c0 4d 6b +47 e0 f5 b8 ce e0 84 3e 5c 22 83 5d bd 3b 05 a0 +99 79 84 ae 60 58 b1 1b c4 90 7c bf 67 ed 84 fa +9a e2 52 df b0 d0 cd 49 e6 18 e3 5d fd fe 59 bc +a3 dd d6 6c 33 ce bb c7 7a d4 41 aa 69 5e 13 e3 +24 b5 18 f0 1c 60 f5 a8 5c 99 4a d1 79 f2 a6 b5 +fb e9 34 02 b1 17 67 be 01 bf 07 34 44 d6 ba 1d +d2 bc a5 bd 07 4d 4a 5f ae 35 31 ad 13 03 d8 4b +30 d8 97 31 8c bb ba 04 e0 3c 2e 66 de 6d 91 f8 +2f 96 ea 1d 4b b5 4a 5a ae 10 2d 59 46 57 f5 c9 +78 95 53 51 2b 29 6d ea 29 d8 02 31 96 35 7e 3e +3a 6e 95 8f 39 e3 c2 34 40 38 ea 60 4b 31 ed c6 +f0 f7 ff 6e 71 81 a5 7c 92 82 6a 26 8f 86 76 8e +96 f8 78 56 2f c7 1d 85 d6 9e 44 86 12 f7 04 8f + +# Prime p: +cf d5 02 83 fe ee b9 7f 6f 08 d7 3c bc 7b 38 36 +f8 2b bc d4 99 47 9f 5e 6f 76 fd fc b8 b3 8c 4f +71 dc 9e 88 bd 6a 6f 76 37 1a fd 65 d2 af 18 62 +b3 2a fb 34 a9 5f 71 b8 b1 32 04 3f fe be 3a 95 +2b af 75 92 44 81 48 c0 3f 9c 69 b1 d6 8e 4c e5 +cf 32 c8 6b af 46 fe d3 01 ca 1a b4 03 06 9b 32 +f4 56 b9 1f 71 89 8a b0 81 cd 8c 42 52 ef 52 71 +91 5c 97 94 b8 f2 95 85 1d a7 51 0f 99 cb 73 eb + +# Prime q: +cc 4e 90 d2 a1 b3 a0 65 d3 b2 d1 f5 a8 fc e3 1b +54 44 75 66 4e ab 56 1d 29 71 b9 9f b7 be f8 44 +e8 ec 1f 36 0b 8c 2a c8 35 96 92 97 1e a6 a3 8f +72 3f cc 21 1f 5d bc b1 77 a0 fd ac 51 64 a1 d4 +ff 7f bb 4e 82 99 86 35 3c b9 83 65 9a 14 8c dd +42 0c 7d 31 ba 38 22 ea 90 a3 2b e4 6c 03 0e 8c +17 e1 fa 0a d3 78 59 e0 6b 0a a6 fa 3b 21 6d 9c +be 6c 0e 22 33 97 69 c0 a6 15 91 3e 5d a7 19 cf + +# p's CRT exponent dP: +1c 2d 1f c3 2f 6b c4 00 4f d8 5d fd e0 fb bf 9a +4c 38 f9 c7 c4 e4 1d ea 1a a8 82 34 a2 01 cd 92 +f3 b7 da 52 65 83 a9 8a d8 5b b3 60 fb 98 3b 71 +1e 23 44 9d 56 1d 17 78 d7 a5 15 48 6b cb f4 7b +46 c9 e9 e1 a3 a1 f7 70 00 ef be b0 9a 8a fe 47 +e5 b8 57 cd a9 9c b1 6d 7f ff 9b 71 2e 3b d6 0c +a9 6d 9c 79 73 d6 16 d4 69 34 a9 c0 50 28 1c 00 +43 99 ce ff 1d b7 dd a7 87 66 a8 a9 b9 cb 08 73 + +# q's CRT exponent dQ: +cb 3b 3c 04 ca a5 8c 60 be 7d 9b 2d eb b3 e3 96 +43 f4 f5 73 97 be 08 23 6a 1e 9e af aa 70 65 36 +e7 1c 3a cf e0 1c c6 51 f2 3c 9e 05 85 8f ee 13 +bb 6a 8a fc 47 df 4e dc 9a 4b a3 0b ce cb 73 d0 +15 78 52 32 7e e7 89 01 5c 2e 8d ee 7b 9f 05 a0 +f3 1a c9 4e b6 17 31 64 74 0c 5c 95 14 7c d5 f3 +b5 ae 2c b4 a8 37 87 f0 1d 8a b3 1f 27 c2 d0 ee +a2 dd 8a 11 ab 90 6a ba 20 7c 43 c6 ee 12 53 31 + +# CRT coefficient qInv: +12 f6 b2 cf 13 74 a7 36 fa d0 56 16 05 0f 96 ab +4b 61 d1 17 7c 7f 9d 52 5a 29 f3 d1 80 e7 76 67 +e9 9d 99 ab f0 52 5d 07 58 66 0f 37 52 65 5b 0f +25 b8 df 84 31 d9 a8 ff 77 c1 6c 12 a0 a5 12 2a +9f 0b f7 cf d5 a2 66 a3 5c 15 9f 99 12 08 b9 03 +16 ff 44 4f 3e 0b 6b d0 e9 3b 8a 7a 24 48 e9 57 +e3 dd a6 cf cf 22 66 b1 06 01 3a c4 68 08 d3 b3 +88 7b 3b 00 34 4b aa c9 53 0b 4c e7 08 fc 32 b6 + +# --------------------------------- +# RSASSA-PSS Signature Example 10.1 +# --------------------------------- + +# Message to be signed: +88 31 77 e5 12 6b 9b e2 d9 a9 68 03 27 d5 37 0c +6f 26 86 1f 58 20 c4 3d a6 7a 3a d6 09 + +# Salt: +04 e2 15 ee 6f f9 34 b9 da 70 d7 73 0c 87 34 ab +fc ec de 89 + +# Signature: +82 c2 b1 60 09 3b 8a a3 c0 f7 52 2b 19 f8 73 54 +06 6c 77 84 7a bf 2a 9f ce 54 2d 0e 84 e9 20 c5 +af b4 9f fd fd ac e1 65 60 ee 94 a1 36 96 01 14 +8e ba d7 a0 e1 51 cf 16 33 17 91 a5 72 7d 05 f2 +1e 74 e7 eb 81 14 40 20 69 35 d7 44 76 5a 15 e7 +9f 01 5c b6 6c 53 2c 87 a6 a0 59 61 c8 bf ad 74 +1a 9a 66 57 02 28 94 39 3e 72 23 73 97 96 c0 2a +77 45 5d 0f 55 5b 0e c0 1d df 25 9b 62 07 fd 0f +d5 76 14 ce f1 a5 57 3b aa ff 4e c0 00 69 95 16 +59 b8 5f 24 30 0a 25 16 0c a8 52 2d c6 e6 72 7e +57 d0 19 d7 e6 36 29 b8 fe 5e 89 e2 5c c1 5b eb +3a 64 75 77 55 92 99 28 0b 9b 28 f7 9b 04 09 00 +0b e2 5b bd 96 40 8b a3 b4 3c c4 86 18 4d d1 c8 +e6 25 53 fa 1a f4 04 0f 60 66 3d e7 f5 e4 9c 04 +38 8e 25 7f 1c e8 9c 95 da b4 8a 31 5d 9b 66 b1 +b7 62 82 33 87 6f f2 38 52 30 d0 70 d0 7e 16 66 + +# --------------------------------- +# RSASSA-PSS Signature Example 10.2 +# --------------------------------- + +# Message to be signed: +dd 67 0a 01 46 58 68 ad c9 3f 26 13 19 57 a5 0c +52 fb 77 7c db aa 30 89 2c 9e 12 36 11 64 ec 13 +97 9d 43 04 81 18 e4 44 5d b8 7b ee 58 dd 98 7b +34 25 d0 20 71 d8 db ae 80 70 8b 03 9d bb 64 db +d1 de 56 57 d9 fe d0 c1 18 a5 41 43 74 2e 0f f3 +c8 7f 74 e4 58 57 64 7a f3 f7 9e b0 a1 4c 9d 75 +ea 9a 1a 04 b7 cf 47 8a 89 7a 70 8f d9 88 f4 8e +80 1e db 0b 70 39 df 8c 23 bb 3c 56 f4 e8 21 ac + +# Salt: +8b 2b dd 4b 40 fa f5 45 c7 78 dd f9 bc 1a 49 cb +57 f9 b7 1b + +# Signature: +14 ae 35 d9 dd 06 ba 92 f7 f3 b8 97 97 8a ed 7c +d4 bf 5f f0 b5 85 a4 0b d4 6c e1 b4 2c d2 70 30 +53 bb 90 44 d6 4e 81 3d 8f 96 db 2d d7 00 7d 10 +11 8f 6f 8f 84 96 09 7a d7 5e 1f f6 92 34 1b 28 +92 ad 55 a6 33 a1 c5 5e 7f 0a 0a d5 9a 0e 20 3a +5b 82 78 ae c5 4d d8 62 2e 28 31 d8 71 74 f8 ca +ff 43 ee 6c 46 44 53 45 d8 4a 59 65 9b fb 92 ec +d4 c8 18 66 86 95 f3 47 06 f6 68 28 a8 99 59 63 +7f 2b f3 e3 25 1c 24 bd ba 4d 4b 76 49 da 00 22 +21 8b 11 9c 84 e7 9a 65 27 ec 5b 8a 5f 86 1c 15 +99 52 e2 3e c0 5e 1e 71 73 46 fa ef e8 b1 68 68 +25 bd 2b 26 2f b2 53 10 66 c0 de 09 ac de 2e 42 +31 69 07 28 b5 d8 5e 11 5a 2f 6b 92 b7 9c 25 ab +c9 bd 93 99 ff 8b cf 82 5a 52 ea 1f 56 ea 76 dd +26 f4 3b aa fa 18 bf a9 2a 50 4c bd 35 69 9e 26 +d1 dc c5 a2 88 73 85 f3 c6 32 32 f0 6f 32 44 c3 + +# --------------------------------- +# RSASSA-PSS Signature Example 10.3 +# --------------------------------- + +# Message to be signed: +48 b2 b6 a5 7a 63 c8 4c ea 85 9d 65 c6 68 28 4b +08 d9 6b dc aa be 25 2d b0 e4 a9 6c b1 ba c6 01 +93 41 db 6f be fb 8d 10 6b 0e 90 ed a6 bc c6 c6 +26 2f 37 e7 ea 9c 7e 5d 22 6b d7 df 85 ec 5e 71 +ef ff 2f 54 c5 db 57 7f f7 29 ff 91 b8 42 49 1d +e2 74 1d 0c 63 16 07 df 58 6b 90 5b 23 b9 1a f1 +3d a1 23 04 bf 83 ec a8 a7 3e 87 1f f9 db + +# Salt: +4e 96 fc 1b 39 8f 92 b4 46 71 01 0c 0d c3 ef d6 +e2 0c 2d 73 + +# Signature: +6e 3e 4d 7b 6b 15 d2 fb 46 01 3b 89 00 aa 5b bb +39 39 cf 2c 09 57 17 98 70 42 02 6e e6 2c 74 c5 +4c ff d5 d7 d5 7e fb bf 95 0a 0f 5c 57 4f a0 9d +3f c1 c9 f5 13 b0 5b 4f f5 0d d8 df 7e df a2 01 +02 85 4c 35 e5 92 18 01 19 a7 0c e5 b0 85 18 2a +a0 2d 9e a2 aa 90 d1 df 03 f2 da ae 88 5b a2 f5 +d0 5a fd ac 97 47 6f 06 b9 3b 5b c9 4a 1a 80 aa +91 16 c4 d6 15 f3 33 b0 98 89 2b 25 ff ac e2 66 +f5 db 5a 5a 3b cc 10 a8 24 ed 55 aa d3 5b 72 78 +34 fb 8c 07 da 28 fc f4 16 a5 d9 b2 22 4f 1f 8b +44 2b 36 f9 1e 45 6f de a2 d7 cf e3 36 72 68 de +03 07 a4 c7 4e 92 41 59 ed 33 39 3d 5e 06 55 53 +1c 77 32 7b 89 82 1b de df 88 01 61 c7 8c d4 19 +6b 54 19 f7 ac c3 f1 3e 5e bf 16 1b 6e 7c 67 24 +71 6c a3 3b 85 c2 e2 56 40 19 2a c2 85 96 51 d5 +0b de 7e b9 76 e5 1c ec 82 8b 98 b6 56 3b 86 bb + +# --------------------------------- +# RSASSA-PSS Signature Example 10.4 +# --------------------------------- + +# Message to be signed: +0b 87 77 c7 f8 39 ba f0 a6 4b bb db c5 ce 79 75 +5c 57 a2 05 b8 45 c1 74 e2 d2 e9 05 46 a0 89 c4 +e6 ec 8a df fa 23 a7 ea 97 ba e6 b6 5d 78 2b 82 +db 5d 2b 5a 56 d2 2a 29 a0 5e 7c 44 33 e2 b8 2a +62 1a bb a9 0a dd 05 ce 39 3f c4 8a 84 05 42 45 +1a + +# Salt: +c7 cd 69 8d 84 b6 51 28 d8 83 5e 3a 8b 1e b0 e0 +1c b5 41 ec + +# Signature: +34 04 7f f9 6c 4d c0 dc 90 b2 d4 ff 59 a1 a3 61 +a4 75 4b 25 5d 2e e0 af 7d 8b f8 7c 9b c9 e7 dd +ee de 33 93 4c 63 ca 1c 0e 3d 26 2c b1 45 ef 93 +2a 1f 2c 0a 99 7a a6 a3 4f 8e ae e7 47 7d 82 cc +f0 90 95 a6 b8 ac ad 38 d4 ee c9 fb 7e ab 7a d0 +2d a1 d1 1d 8e 54 c1 82 5e 55 bf 58 c2 a2 32 34 +b9 02 be 12 4f 9e 90 38 a8 f6 8f a4 5d ab 72 f6 +6e 09 45 bf 1d 8b ac c9 04 4c 6f 07 09 8c 9f ce +c5 8a 3a ab 10 0c 80 51 78 15 5f 03 0a 12 4c 45 +0e 5a cb da 47 d0 e4 f1 0b 80 a2 3f 80 3e 77 4d +02 3b 00 15 c2 0b 9f 9b be 7c 91 29 63 38 d5 ec +b4 71 ca fb 03 20 07 b6 7a 60 be 5f 69 50 4a 9f +01 ab b3 cb 46 7b 26 0e 2b ce 86 0b e8 d9 5b f9 +2c 0c 8e 14 96 ed 1e 52 85 93 a4 ab b6 df 46 2d +de 8a 09 68 df fe 46 83 11 68 57 a2 32 f5 eb f6 +c8 5b e2 38 74 5a d0 f3 8f 76 7a 5f db f4 86 fb + +# --------------------------------- +# RSASSA-PSS Signature Example 10.5 +# --------------------------------- + +# Message to be signed: +f1 03 6e 00 8e 71 e9 64 da dc 92 19 ed 30 e1 7f +06 b4 b6 8a 95 5c 16 b3 12 b1 ed df 02 8b 74 97 +6b ed 6b 3f 6a 63 d4 e7 78 59 24 3c 9c cc dc 98 +01 65 23 ab b0 24 83 b3 55 91 c3 3a ad 81 21 3b +b7 c7 bb 1a 47 0a ab c1 0d 44 25 6c 4d 45 59 d9 +16 + +# Salt: +ef a8 bf f9 62 12 b2 f4 a3 f3 71 a1 0d 57 41 52 +65 5f 5d fb + +# Signature: +7e 09 35 ea 18 f4 d6 c1 d1 7c e8 2e b2 b3 83 6c +55 b3 84 58 9c e1 9d fe 74 33 63 ac 99 48 d1 f3 +46 b7 bf dd fe 92 ef d7 8a db 21 fa ef c8 9a de +42 b1 0f 37 40 03 fe 12 2e 67 42 9a 1c b8 cb d1 +f8 d9 01 45 64 c4 4d 12 01 16 f4 99 0f 1a 6e 38 +77 4c 19 4b d1 b8 21 32 86 b0 77 b0 49 9d 2e 7b +3f 43 4a b1 22 89 c5 56 68 4d ee d7 81 31 93 4b +b3 dd 65 37 23 6f 7c 6f 3d cb 09 d4 76 be 07 72 +1e 37 e1 ce ed 9b 2f 7b 40 68 87 bd 53 15 73 05 +e1 c8 b4 f8 4d 73 3b c1 e1 86 fe 06 cc 59 b6 ed +b8 f4 bd 7f fe fd f4 f7 ba 9c fb 9d 57 06 89 b5 +a1 a4 10 9a 74 6a 69 08 93 db 37 99 25 5a 0c b9 +21 5d 2d 1c d4 90 59 0e 95 2e 8c 87 86 aa 00 11 +26 52 52 47 0c 04 1d fb c3 ee c7 c3 cb f7 1c 24 +86 9d 11 5c 0c b4 a9 56 f5 6d 53 0b 80 ab 58 9a +cf ef c6 90 75 1d df 36 e8 d3 83 f8 3c ed d2 cc + +# --------------------------------- +# RSASSA-PSS Signature Example 10.6 +# --------------------------------- + +# Message to be signed: +25 f1 08 95 a8 77 16 c1 37 45 0b b9 51 9d fa a1 +f2 07 fa a9 42 ea 88 ab f7 1e 9c 17 98 00 85 b5 +55 ae ba b7 62 64 ae 2a 3a b9 3c 2d 12 98 11 91 +dd ac 6f b5 94 9e b3 6a ee 3c 5d a9 40 f0 07 52 +c9 16 d9 46 08 fa 7d 97 ba 6a 29 15 b6 88 f2 03 +23 d4 e9 d9 68 01 d8 9a 72 ab 58 92 dc 21 17 c0 +74 34 fc f9 72 e0 58 cf 8c 41 ca 4b 4f f5 54 f7 +d5 06 8a d3 15 5f ce d0 f3 12 5b c0 4f 91 93 37 +8a 8f 5c 4c 3b 8c b4 dd 6d 1c c6 9d 30 ec ca 6e +aa 51 e3 6a 05 73 0e 9e 34 2e 85 5b af 09 9d ef +b8 af d7 + +# Salt: +ad 8b 15 23 70 36 46 22 4b 66 0b 55 08 85 91 7c +a2 d1 df 28 + +# Signature: +6d 3b 5b 87 f6 7e a6 57 af 21 f7 54 41 97 7d 21 +80 f9 1b 2c 5f 69 2d e8 29 55 69 6a 68 67 30 d9 +b9 77 8d 97 07 58 cc b2 60 71 c2 20 9f fb d6 12 +5b e2 e9 6e a8 1b 67 cb 9b 93 08 23 9f da 17 f7 +b2 b6 4e cd a0 96 b6 b9 35 64 0a 5a 1c b4 2a 91 +55 b1 c9 ef 7a 63 3a 02 c5 9f 0d 6e e5 9b 85 2c +43 b3 50 29 e7 3c 94 0f f0 41 0e 8f 11 4e ed 46 +bb d0 fa e1 65 e4 2b e2 52 8a 40 1c 3b 28 fd 81 +8e f3 23 2d ca 9f 4d 2a 0f 51 66 ec 59 c4 23 96 +d6 c1 1d bc 12 15 a5 6f a1 71 69 db 95 75 34 3e +f3 4f 9d e3 2a 49 cd c3 17 49 22 f2 29 c2 3e 18 +e4 5d f9 35 31 19 ec 43 19 ce dc e7 a1 7c 64 08 +8c 1f 6f 52 be 29 63 41 00 b3 91 9d 38 f3 d1 ed +94 e6 89 1e 66 a7 3b 8f b8 49 f5 87 4d f5 94 59 +e2 98 c7 bb ce 2e ee 78 2a 19 5a a6 6f e2 d0 73 +2b 25 e5 95 f5 7d 3e 06 1b 1f c3 e4 06 3b f9 8f + +# ============================================= diff --git a/testvectors/rsa-pkcs-1v2-1-vec/readme.txt b/testvectors/rsa-pkcs-1v2-1-vec/readme.txt new file mode 100644 index 0000000..788c0ba --- /dev/null +++ b/testvectors/rsa-pkcs-1v2-1-vec/readme.txt @@ -0,0 +1,22 @@ +==================== +pkcs-1v2-1-vec.zip +==================== + +This directory contains test vectors for RSAES-OAEP and +RSASSA-PSS as defined in PKCS #1 v2.1. + +The files: + +readme.txt This file. + +oaep-vect.txt Test vectors for RSAES-OAEP encryption. + +oaep-int.txt Intermediate values for RSAES-OAEP + encryption and RSA decryption with CRT. + Also, DER-encoded RSAPrivateKey and + RSAPublicKey types. + +pss-vect.txt Test vectors for RSASSA-PSS signing. + +pss-int.txt Intermediate values for RSASSA-PSS + signing.