]> git.cryptolib.org Git - arm-crypto-lib.git/commitdiff
introducing RSA-OAEP (can encrypt one message correctly)
authorbg <daniel.otte@rub.de>
Sun, 19 Feb 2012 23:33:57 +0000 (00:33 +0100)
committerbg <daniel.otte@rub.de>
Sun, 19 Feb 2012 23:33:57 +0000 (00:33 +0100)
16 files changed:
bigint/bigint.c
bigint/bigint.h
hfal/hfal-basic.c
hfal/hfal-basic.h
mkfiles/rsa.mk [deleted file]
mkfiles/rsa_oaep.mk [new file with mode: 0644]
openocd.cfg
rsa/rsa_oaep.c [new file with mode: 0644]
rsa/rsa_oaep.h [new file with mode: 0644]
test_src/main-rsa-test.c [deleted file]
test_src/main-rsa_oaep-test.c [new file with mode: 0644]
testvectors/rsa-pkcs-1v2-1-vec/oaep-int.txt [new file with mode: 0644]
testvectors/rsa-pkcs-1v2-1-vec/oaep-vect.txt [new file with mode: 0644]
testvectors/rsa-pkcs-1v2-1-vec/pss-int.txt [new file with mode: 0644]
testvectors/rsa-pkcs-1v2-1-vec/pss-vect.txt [new file with mode: 0644]
testvectors/rsa-pkcs-1v2-1-vec/readme.txt [new file with mode: 0644]

index 22bad1b2b3d750f2a6ceef281228c9c7df4afeb1..c1a82ab496689b854541fda034ca1a268cfcb9d4 100644 (file)
@@ -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);
index 63938f8066fdcc04c0a9afbde5b950f1d2151456..f3858112bd24100efaf61139695f158a8628aac8 100644 (file)
@@ -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);
index dbb1e7db2c1b7fe29fe3c38311dfe57b357c7e68..a521a9c396c3061f95d1c1f8f0df857499b52118 100644 (file)
@@ -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;
 }
index 8186cce108ae5b1aafebe73da37138263c568f9e..0859da5f6c2164d311abb4bb69a047c4c1421ab5 100644 (file)
@@ -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 (file)
index 219400f..0000000
+++ /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 (file)
index 0000000..59c1a39
--- /dev/null
@@ -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
+
index 47985a1f46f8a8a891d9d79d0619c886c5e96dda..a7bd3d5a992c3f76633322db8badfa13624fd639 100644 (file)
@@ -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 (file)
index 0000000..0a5cf76
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.
+*/
+
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#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; i<hv_len; ++i){
+                       seed_buffer[i] = prng_get_byte();
+               }
+       }
+
+//void mgf1(void* dest, const void* seed, uint16_t seed_len_B, uint16_t out_length_B, const mgf1_parameter_t* p);
+       cli_hexdump_block(dest, buffer_len+off, 4, 8);
+       p->mgf(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 (file)
index 0000000..2e63f6e
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef RSA_OAEP_H_
+#define RSA_OAEP_H_
+
+#include <stdint.h>
+#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 (file)
index c2465ae..0000000
+++ /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 <http://www.gnu.org/licenses/>.
-*/
-/*
- * 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 (file)
index 0000000..4c06228
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.
+*/
+/*
+ * 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 (file)
index 0000000..b76b5dd
--- /dev/null
@@ -0,0 +1,369 @@
+# =================================\r
+# WORKED-OUT EXAMPLE FOR RSAES-OAEP\r
+# =================================\r
+# \r
+# This file gives an example of the process of\r
+# encrypting and decrypting a message with\r
+# RSAES-OAEP as specified in PKCS #1 v2.1.\r
+#\r
+# The message is a bit string of length 128,\r
+# while the size of the modulus in the public\r
+# key is 1024 bits. The second representation\r
+# of the private key is used, which means that\r
+# CRT is applied in the decryption process.\r
+# \r
+# The underlying hash function is SHA-1; the\r
+# mask generation function is MGF1 with SHA-1\r
+# as specified in PKCS #1 v2.1.\r
+#\r
+# This file also contains a demonstration of\r
+# the RSADP decryption primitive with CRT.\r
+# Finally, DER encodings of the RSA keys are\r
+# given at the end of the file.\r
+#\r
+# \r
+# Integers are represented by strings of octets\r
+# with the leftmost octet being the most\r
+# significant octet. For example, \r
+#\r
+#           9,202,000 = (0x)8c 69 50. \r
+#\r
+# =============================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
\r
+# RSA modulus n:\r
+bb f8 2f 09 06 82 ce 9c 23 38 ac 2b 9d a8 71 f7 \r
+36 8d 07 ee d4 10 43 a4 40 d6 b6 f0 74 54 f5 1f \r
+b8 df ba af 03 5c 02 ab        61 ea 48 ce eb 6f cd 48 \r
+76 ed 52 0d 60 e1 ec 46 19 71 9d 8a 5b 8b 80 7f \r
+af b8 e0 a3 df c7 37 72 3e e6 b4 b7 d9 3a 25 84 \r
+ee 6a 64 9d 06 09 53 74 88 34 b2 45 45 98 39 4e \r
+e0 aa b1 2d 7b 61 a5 1f 52 7a 9a 41 f6 c1 68 7f \r
+e2 53 72 98 ca 2a 8f 59        46 f8 e5 fd 09 1d bd cb \r
+\r
+# RSA public exponent e:\r
+(0x)11 \r
+\r
+# Prime p:\r
+ee cf ae 81 b1 b9 b3 c9 08 81 0b 10 a1 b5 60 01 \r
+99 eb 9f 44 ae f4 fd a4 93 b8 1a 9e 3d 84 f6 32 \r
+12 4e f0 23 6e 5d 1e 3b 7e 28 fa e7 aa 04 0a 2d \r
+5b 25 21 76 45 9d 1f 39 75 41 ba 2a 58 fb 65 99 \r
+\r
+# Prime q:\r
+c9 7f b1 f0 27 f4 53 f6 34 12 33 ea aa d1 d9 35 \r
+3f 6c 42 d0 88 66 b1 d0 5a 0f 20 35 02 8b 9d 86 \r
+98 40 b4 16 66 b4 2e 92 ea 0d a3 b4 32 04 b5 cf \r
+ce 33 52 52 4d 04 16 a5 a4 41 e7 00 af 46 15 03 \r
+\r
+# p's CRT exponent dP:\r
+54 49 4c a6 3e ba 03 37 e4 e2 40 23 fc d6 9a 5a \r
+eb 07 dd dc 01 83 a4 d0 ac 9b 54 b0 51 f2 b1 3e \r
+d9 49 09 75 ea b7 74 14 ff 59 c1 f7 69 2e 9a 2e \r
+20 2b 38 fc 91 0a 47 41 74 ad c9 3c 1f 67 c9 81 \r
+\r
+# q's CRT exponent dQ:\r
+47 1e 02 90 ff 0a f0 75 03 51 b7 f8 78 86 4c a9 \r
+61 ad bd 3a 8a 7e 99 1c 5c 05 56 a9 4c 31 46 a7 \r
+f9 80 3f 8f 6f 8a e3 42 e9 31 fd 8a e4 7a 22 0d \r
+1b 99 a4 95 84 98 07 fe 39 f9 24 5a 98 36 da 3d \r
+\r
+# CRT coefficient qInv:\r
+b0 6c 4f da bb 63 01 19 8d 26 5b db ae 94 23 b3 \r
+80 f2 71 f7 34 53 88 50 93 07 7f cd 39 e2 11 9f \r
+c9 86 32 15 4f 58 83 b1 67 a9 67 bf 40 2b 4e 9e \r
+2e 0f 96 56 e6 98 ea 36 66 ed fb 25 79 80 39 f7 \r
+\r
+# ----------------------------------\r
+# Step-by-step RSAES-OAEP Encryption\r
+# ----------------------------------\r
+\r
+# Message M to be encrypted:\r
+d4 36 e9 95 69 fd 32 a7 c8 a0 5b bc 90 d3 2c 49 \r
+\r
+# Label L:\r
+(the empty string)\r
+\r
+# lHash      = Hash(L)\r
+# DB         = lHash || Padding || M\r
+# seed       = random string of octets\r
+# dbMask     = MGF(seed, length(DB))\r
+# maskedDB   = DB xor dbMask\r
+# seedMask   = MGF(maskedDB, length(seed))\r
+# maskedSeed = seed xor seedMask \r
+# EM         = 0x00 || maskedSeed || maskedDB\r
+\r
+# lHash:\r
+da 39 a3 ee 5e 6b 4b 0d 32 55 bf ef 95 60 18 90 \r
+af d8 07 09 \r
+\r
+# DB:\r
+da 39 a3 ee 5e 6b 4b 0d 32 55 bf ef 95 60 18 90 \r
+af d8 07 09 00 00 00 00 00 00 00 00 00 00 00 00 \r
+00 00 00 00 00 00 00 00        00 00 00 00 00 00 00 00 \r
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \r
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \r
+00 00 00 00 00 00 00 00 00 00 01 d4 36 e9 95 69 \r
+fd 32 a7 c8 a0 5b bc 90 d3 2c 49 \r
+\r
+# seed:\r
+aa fd 12 f6 59 ca e6 34 89 b4 79 e5 07 6d de c2 \r
+f0 6c b5 8f \r
+               \r
+# dbMask:\r
+06 e1 de b2 36 9a a5 a5 c7 07 d8 2c 8e 4e 93 24 \r
+8a c7 83 de e0 b2 c0 46 26 f5 af f9 3e dc fb 25 \r
+c9 c2 b3 ff 8a e1 0e 83        9a 2d db 4c dc fe 4f f4 \r
+77 28 b4 a1 b7 c1 36 2b aa d2 9a b4 8d 28 69 d5 \r
+02 41 21 43 58 11 59 1b e3 92 f9 82 fb 3e 87 d0 \r
+95 ae b4 04 48 db 97 2f 3a c1 4e af f4 9c 8c 3b \r
+7c fc 95 1a 51 ec d1 dd e6 12 64 \r
+\r
+# maskedDB:\r
+dc d8 7d 5c 68 f1 ee a8 f5 52 67 c3 1b 2e 8b b4 \r
+25 1f 84 d7 e0 b2 c0 46 26 f5 af f9 3e dc fb 25 \r
+c9 c2 b3 ff 8a e1 0e 83 9a 2d db 4c dc fe 4f f4 \r
+77 28 b4 a1 b7 c1 36 2b aa d2 9a b4 8d 28 69 d5 \r
+02 41 21 43 58 11 59 1b e3 92 f9 82 fb 3e 87 d0 \r
+95 ae b4 04 48 db 97 2f 3a c1 4f 7b c2 75 19 52 \r
+81 ce 32 d2 f1 b7 6d 4d 35 3e 2d \r
+\r
+# seedMask:\r
+41 87 0b 5a b0 29 e6 57 d9 57 50 b5 4c 28 3c 08 \r
+72 5d be a9 \r
+\r
+# maskedSeed:\r
+eb 7a 19 ac e9 e3 00 63 50 e3 29 50 4b 45 e2 ca \r
+82 31 0b 26 \r
+\r
+# EM = 00 || maskedSeed || maskedDB:\r
+00 eb 7a 19 ac e9 e3 00 63 50 e3 29 50 4b 45 e2 \r
+ca 82 31 0b 26 dc d8 7d 5c 68 f1 ee a8 f5 52 67 \r
+c3 1b 2e 8b b4 25 1f 84 d7 e0 b2 c0 46 26 f5 af \r
+f9 3e dc fb 25 c9 c2 b3 ff 8a e1 0e 83 9a 2d db \r
+4c dc fe 4f f4 77 28 b4 a1 b7 c1 36 2b aa d2 9a \r
+b4 8d 28 69 d5 02 41 21 43 58 11 59 1b e3 92 f9 \r
+82 fb 3e 87 d0 95 ae b4 04 48 db 97 2f 3a c1 4f \r
+7b c2 75 19 52 81 ce 32 d2 f1 b7 6d 4d 35 3e 2d \r
+\r
+# Ciphertext, the RSA encryption of EM:\r
+12 53 e0 4d c0 a5 39 7b b4 4a 7a b8 7e 9b f2 a0 \r
+39 a3 3d 1e 99 6f c8 2a 94 cc d3 00 74 c9 5d f7 \r
+63 72 20 17 06 9e 52 68 da 5d 1c 0b 4f 87 2c f6 \r
+53 c1 1d f8 23 14 a6 79 68 df ea e2 8d ef 04 bb \r
+6d 84 b1 c3 1d 65 4a 19 70 e5 78 3b d6 eb 96 a0 \r
+24 c2 ca 2f 4a 90 fe 9f 2e f5 c9 c1 40 e5 bb 48 \r
+da 95 36 ad 87 00 c8 4f c9 13 0a de a7 4e 55 8d \r
+51 a7 4d df 85 d8 b5 0d e9 68 38 d6 06 3e 09 55 \r
+\r
+# --------------------------------------------\r
+# Step-by-step RSAES-OAEP Decryption Using CRT \r
+# --------------------------------------------\r
+\r
+# c  = the integer value of C above\r
+# m1 = c^dP mod p = (c mod p)^dP mod p\r
+# m2 = c^dQ mod q = (c mod q)^dQ mod q\r
+# h  = (m1-m2)*qInv mod p\r
+# m  = m2 + q*h = the integer value of EM above\r
+\r
+# c mod p:\r
+de 63 d4 72 35 66 fa a7 59 bf e4 08 82 1d d5 25 \r
+72 ec 92 85 4d df 87 a2 b6 64 d4 4d aa 37 ca 34 \r
+6a 05 20 3d 82 ff 2d e8 e3 6c ec 1d 34 f9 8e b6 \r
+05 e2 a7 d2 6d e7 af 36 9c e4 ec ae 14 e3 56 33 \r
+\r
+# c mod q:\r
+a2 d9 24 de d9 c3 6d 62 3e d9 a6 5b 5d 86 2c fb \r
+ec 8b 19 9c 64 27 9c 54 14 e6 41 19 6e f1 c9 3c \r
+50 7a 9b 52 13 88 1a ad 05 b4 cc fa 02 8a c1 ec \r
+61 42 09 74 bf 16 25 83 6b 0b 7d 05 fb b7 53 36 \r
+\r
+# m1:\r
+89 6c a2 6c d7 e4 87 1c 7f c9 68 a8 ed ea 11 e2 \r
+71 82 4f 0e 03 65 52 17 94 f1 e9 e9 43 b4 a4 4b \r
+57 c9 e3 95 a1 46 74 78 f5 26 49 6b 4b b9 1f 1c \r
+ba ea 90 0f fc 60 2c f0 c6 63 6e ba 84 fc 9f f7 \r
+\r
+# m2:\r
+4e bb 22 75 85 f0 c1 31 2d ca 19 e0 b5 41 db 14 \r
+99 fb f1 4e 27 0e 69 8e 23 9a 8c 27 a9 6c da 9a \r
+74 09 74 de 93 7b 5c 9c 93 ea d9 46 2c 65 75 02 \r
+1a 23 d4 64 99 dc 9f 6b 35 89 75 59 60 8f 19 be \r
+\r
+# h:\r
+01 2b 2b 24 15 0e 76 e1 59 bd 8d db 42 76 e0 7b \r
+fa c1 88 e0 8d 60 47 cf 0e fb 8a e2 ae bd f2 51 \r
+c4 0e bc 23 dc fd 4a 34 42 43 94 ad a9 2c fc be \r
+1b 2e ff bb 60 fd fb 03 35 9a 95 36 8d 98 09 25 \r
+\r
+# m:\r
+00 eb 7a 19 ac e9 e3 00 63 50 e3 29 50 4b 45 e2 \r
+ca 82 31 0b 26 dc d8 7d 5c 68 f1 ee a8 f5 52 67 \r
+c3 1b 2e 8b b4 25 1f 84 d7 e0 b2 c0 46 26 f5 af \r
+f9 3e dc fb 25 c9 c2 b3 ff 8a e1 0e 83 9a 2d db \r
+4c dc fe 4f f4 77 28 b4 a1 b7 c1 36 2b aa d2 9a \r
+b4 8d 28 69 d5 02 41 21 43 58 11 59 1b e3 92 f9 \r
+82 fb 3e 87 d0 95 ae b4 04 48 db 97 2f 3a c1 4f \r
+7b c2 75 19 52 81 ce 32 d2 f1 b7 6d 4d 35 3e 2d \r
+\r
+# The intermediate values in the remaining \r
+# decryption process are the same as during\r
+# RSAES-OAEP encryption of M.\r
+\r
+# =============================================\r
+\r
+# ========================\r
+# DER Encoding of RSA Keys\r
+# ========================\r
+\r
+# ------------\r
+# RSAPublicKey\r
+# ------------\r
+30 81 87 \r
+# modulus\r
+   02 81 81  \r
+      00 bb f8 2f 09 06 82 ce \r
+      9c 23 38 ac 2b 9d a8 71 \r
+      f7 36 8d 07 ee d4 10 43 \r
+      a4 40 d6 b6 f0 74 54 f5 \r
+      1f b8 df ba af 03 5c 02 \r
+      ab 61 ea 48 ce eb 6f cd \r
+      48 76 ed 52 0d 60 e1 ec \r
+      46 19 71 9d 8a 5b 8b 80 \r
+      7f af b8 e0 a3 df c7 37 \r
+      72 3e e6 b4 b7 d9 3a 25 \r
+      84 ee 6a 64 9d 06 09 53 \r
+      74 88 34 b2 45 45 98 39 \r
+      4e e0 aa b1 2d 7b 61 a5 \r
+      1f 52 7a 9a 41 f6 c1 68 \r
+      7f e2 53 72 98 ca 2a 8f \r
+      59 46 f8 e5 fd 09 1d bd \r
+      cb \r
+# publicExponent\r
+   02 01 \r
+      11\r
+\r
+# -------------\r
+# RSAPrivateKey\r
+# -------------\r
+30 82 02 5b \r
+# version\r
+   02 01 \r
+      00\r
+# modulus\r
+   02 81 81  \r
+      00 bb f8 2f 09 06 82 ce \r
+      9c 23 38 ac 2b 9d a8 71 \r
+      f7 36 8d 07 ee d4 10 43 \r
+      a4 40 d6 b6 f0 74 54 f5 \r
+      1f b8 df ba af 03 5c 02 \r
+      ab 61 ea 48 ce eb 6f cd \r
+      48 76 ed 52 0d 60 e1 ec \r
+      46 19 71 9d 8a 5b 8b 80 \r
+      7f af b8 e0 a3 df c7 37 \r
+      72 3e e6 b4 b7 d9 3a 25 \r
+      84 ee 6a 64 9d 06 09 53 \r
+      74 88 34 b2 45 45 98 39 \r
+      4e e0 aa b1 2d 7b 61 a5 \r
+      1f 52 7a 9a 41 f6 c1 68 \r
+      7f e2 53 72 98 ca 2a 8f \r
+      59 46 f8 e5 fd 09 1d bd \r
+      cb \r
+# publicExponent\r
+   02 01 \r
+      11 \r
+# privateExponent\r
+   02 81 81 \r
+      00 a5 da fc 53 41 fa f2 \r
+      89 c4 b9 88 db 30 c1 cd \r
+      f8 3f 31 25 1e 06 68 b4 \r
+      27 84 81 38 01 57 96 41 \r
+      b2 94 10 b3 c7 99 8d 6b \r
+      c4 65 74 5e 5c 39 26 69 \r
+      d6 87 0d a2 c0 82 a9 39 \r
+      e3 7f dc b8 2e c9 3e da \r
+      c9 7f f3 ad 59 50 ac cf \r
+      bc 11 1c 76 f1 a9 52 94 \r
+      44 e5 6a af 68 c5 6c 09 \r
+      2c d3 8d c3 be f5 d2 0a \r
+      93 99 26 ed 4f 74 a1 3e \r
+      dd fb e1 a1 ce cc 48 94 \r
+      af 94 28 c2 b7 b8 88 3f \r
+      e4 46 3a 4b c8 5b 1c b3 \r
+      c1 \r
+# prime1\r
+   02 41 \r
+      00 ee cf ae 81 b1 b9 b3 \r
+      c9 08 81 0b 10 a1 b5 60 \r
+      01 99 eb 9f 44 ae f4 fd \r
+      a4 93 b8 1a 9e 3d 84 f6 \r
+      32 12 4e f0 23 6e 5d 1e \r
+      3b 7e 28 fa e7 aa 04 0a \r
+      2d 5b 25 21 76 45 9d 1f \r
+      39 75 41 ba 2a 58 fb 65 \r
+      99 \r
+# prime2\r
+   02 41 \r
+      00 c9 7f b1 f0 27 f4 53 \r
+      f6 34 12 33 ea aa d1 d9 \r
+      35 3f 6c 42 d0 88 66 b1 \r
+      d0 5a 0f 20 35 02 8b 9d \r
+      86 98 40 b4 16 66 b4 2e \r
+      92 ea 0d a3 b4 32 04 b5 \r
+      cf ce 33 52 52 4d 04 16 \r
+      a5 a4 41 e7 00 af 46 15 \r
+      03 \r
+# exponent1\r
+   02 40 \r
+      54 49 4c a6 3e ba 03 37 \r
+      e4 e2 40 23 fc d6 9a 5a \r
+      eb 07 dd dc 01 83 a4 d0 \r
+      ac 9b 54 b0 51 f2 b1 3e \r
+      d9 49 09 75 ea b7 74 14 \r
+      ff 59 c1 f7 69 2e 9a 2e \r
+      20 2b 38 fc 91 0a 47 41 \r
+      74 ad c9 3c 1f 67 c9 81 \r
+# exponent2\r
+   02 40 \r
+      47 1e 02 90 ff 0a f0 75 \r
+      03 51 b7 f8 78 86 4c a9 \r
+      61 ad bd 3a 8a 7e 99 1c \r
+      5c 05 56 a9 4c 31 46 a7 \r
+      f9 80 3f 8f 6f 8a e3 42 \r
+      e9 31 fd 8a e4 7a 22 0d \r
+      1b 99 a4 95 84 98 07 fe \r
+      39 f9 24 5a 98 36 da 3d \r
+# coefficient\r
+   02 41\r
+      00 b0 6c 4f da bb 63 01 \r
+      19 8d 26 5b db ae 94 23 \r
+      b3 80 f2 71 f7 34 53 88 \r
+      50 93 07 7f cd 39 e2 11 \r
+      9f c9 86 32 15 4f 58 83 \r
+      b1 67 a9 67 bf 40 2b 4e \r
+      9e 2e 0f 96 56 e6 98 ea \r
+      36 66 ed fb 25 79 80 39 \r
+      f7\r
+\r
+# ------------------------\r
+# PrivateKeyInfo (PKCS #8)\r
+# ------------------------\r
+30 82 02 75\r
+# version\r
+   02 01 \r
+      00\r
+# privateKeyAlgorithmIdentifier\r
+   30 0d\r
+      06 09 \r
+         2a 86 48 86 f7 0d 01 01 01\r
+#    parameters\r
+      05 00 \r
+# privateKey = RSAPrivateKey encoding\r
+   04 82 02 5f\r
+#    DER encoding of RSAPrivateKey structure\r
+      30 82 02 5b ... 79 80 39 f7\r
+\r
+# =============================================\r
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 (file)
index 0000000..e92120c
--- /dev/null
@@ -0,0 +1,2212 @@
+=========================\r
+TEST VECTORS FOR RSA-OAEP\r
+=========================\r
+\r
+# This file contains test vectors for the\r
+# RSAES-OAEP encryption scheme as defined in \r
+# PKCS #1 v2.1. 10 RSA keys of different sizes\r
+# have been generated. For each key, 6 random\r
+# messages of length between 1 and 64 octets\r
+# have been RSAES-OAEP encrypted via a random\r
+# seed of length 20 octets.\r
+#\r
+# The underlying hash function is SHA-1; the\r
+# mask generation function is MGF1 with SHA-1\r
+# as specified in PKCS #1 v2.1.\r
+# \r
+# Integers are represented by strings of octets\r
+# with the leftmost octet being the most\r
+# significant octet. For example, \r
+#\r
+#           9,202,000 = (0x)8c 69 50. \r
+# \r
+# Key lengths:\r
+# \r
+# Key  1: 1024 bits\r
+# Key  2: 1025 bits\r
+# Key  3: 1026 bits\r
+# Key  4: 1027 bits\r
+# Key  5: 1028 bits\r
+# Key  6: 1029 bits\r
+# Key  7: 1030 bits\r
+# Key  8: 1031 bits\r
+# Key  9: 1536 bits\r
+# Key 10: 2048 bits\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 1: A 1024-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n:\r
+a8 b3 b2 84 af 8e b5 0b 38 70 34 a8 60 f1 46 c4 \r
+91 9f 31 87 63 cd 6c 55 98 c8 ae 48 11 a1 e0 ab \r
+c4 c7 e0 b0 82 d6 93 a5 e7 fc ed 67 5c f4 66 85 \r
+12 77 2c 0c bc 64 a7 42 c6 c6 30 f5 33 c8 cc 72 \r
+f6 2a e8 33 c4 0b f2 58 42 e9 84 bb 78 bd bf 97 \r
+c0 10 7d 55 bd b6 62 f5 c4 e0 fa b9 84 5c b5 14 \r
+8e f7 39 2d d3 aa ff 93 ae 1e 6b 66 7b b3 d4 24 \r
+76 16 d4 f5 ba 10 d4 cf d2 26 de 88 d3 9f 16 fb \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+53 33 9c fd b7 9f c8 46 6a 65 5c 73 16 ac a8 5c \r
+55 fd 8f 6d d8 98 fd af 11 95 17 ef 4f 52 e8 fd \r
+8e 25 8d f9 3f ee 18 0f a0 e4 ab 29 69 3c d8 3b \r
+15 2a 55 3d 4a c4 d1 81 2b 8b 9f a5 af 0e 7f 55 \r
+fe 73 04 df 41 57 09 26 f3 31 1f 15 c4 d6 5a 73 \r
+2c 48 31 16 ee 3d 3d 2d 0a f3 54 9a d9 bf 7c bf \r
+b7 8a d8 84 f8 4d 5b eb 04 72 4d c7 36 9b 31 de \r
+f3 7d 0c f5 39 e9 cf cd d3 de 65 37 29 ea d5 d1 \r
+\r
+# Prime p: \r
+d3 27 37 e7 26 7f fe 13 41 b2 d5 c0 d1 50 a8 1b \r
+58 6f b3 13 2b ed 2f 8d 52 62 86 4a 9c b9 f3 0a \r
+f3 8b e4 48 59 8d 41 3a 17 2e fb 80 2c 21 ac f1 \r
+c1 1c 52 0c 2f 26 a4 71 dc ad 21 2e ac 7c a3 9d \r
+\r
+# Prime q: \r
+cc 88 53 d1 d5 4d a6 30 fa c0 04 f4 71 f2 81 c7 \r
+b8 98 2d 82 24 a4 90 ed be b3 3d 3e 3d 5c c9 3c \r
+47 65 70 3d 1d d7 91 64 2f 1f 11 6a 0d d8 52 be \r
+24 19 b2 af 72 bf e9 a0 30 e8 60 b0 28 8b 5d 77 \r
+\r
+# p's CRT exponent dP: \r
+0e 12 bf 17 18 e9 ce f5 59 9b a1 c3 88 2f e8 04 \r
+6a 90 87 4e ef ce 8f 2c cc 20 e4 f2 74 1f b0 a3 \r
+3a 38 48 ae c9 c9 30 5f be cb d2 d7 68 19 96 7d \r
+46 71 ac c6 43 1e 40 37 96 8d b3 78 78 e6 95 c1 \r
+\r
+# q's CRT exponent dQ: \r
+95 29 7b 0f 95 a2 fa 67 d0 07 07 d6 09 df d4 fc \r
+05 c8 9d af c2 ef 6d 6e a5 5b ec 77 1e a3 33 73 \r
+4d 92 51 e7 90 82 ec da 86 6e fe f1 3c 45 9e 1a \r
+63 13 86 b7 e3 54 c8 99 f5 f1 12 ca 85 d7 15 83 \r
+\r
+# CRT coefficient qInv: \r
+4f 45 6c 50 24 93 bd c0 ed 2a b7 56 a3 a6 ed 4d \r
+67 35 2a 69 7d 42 16 e9 32 12 b1 27 a6 3d 54 11 \r
+ce 6f a9 8d 5d be fd 73 26 3e 37 28 14 27 43 81 \r
+81 66 ed 7d d6 36 87 dd 2a 8c a1 d2 f4 fb d8 e1 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 1.1\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+66 28 19 4e 12 07 3d b0 3b a9 4c da 9e f9 53 23 \r
+97 d5 0d ba 79 b9 87 00 4a fe fe 34 \r
+\r
+# Seed:\r
+18 b7 76 ea 21 06 9d 69 77 6a 33 e9 6b ad 48 e1 \r
+dd a0 a5 ef \r
+\r
+# Encryption:\r
+35 4f e6 7b 4a 12 6d 5d 35 fe 36 c7 77 79 1a 3f \r
+7b a1 3d ef 48 4e 2d 39 08 af f7 22 fa d4 68 fb \r
+21 69 6d e9 5d 0b e9 11 c2 d3 17 4f 8a fc c2 01 \r
+03 5f 7b 6d 8e 69 40 2d e5 45 16 18 c2 1a 53 5f \r
+a9 d7 bf c5 b8 dd 9f c2 43 f8 cf 92 7d b3 13 22 \r
+d6 e8 81 ea a9 1a 99 61 70 e6 57 a0 5a 26 64 26 \r
+d9 8c 88 00 3f 84 77 c1 22 70 94 a0 d9 fa 1e 8c \r
+40 24 30 9c e1 ec cc b5 21 00 35 d4 7a c7 2e 8a \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 1.2\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+75 0c 40 47 f5 47 e8 e4 14 11 85 65 23 29 8a c9 \r
+ba e2 45 ef af 13 97 fb e5 6f 9d d5 \r
+\r
+# Seed:\r
+0c c7 42 ce 4a 9b 7f 32 f9 51 bc b2 51 ef d9 25 \r
+fe 4f e3 5f \r
+\r
+# Encryption:\r
+64 0d b1 ac c5 8e 05 68 fe 54 07 e5 f9 b7 01 df \r
+f8 c3 c9 1e 71 6c 53 6f c7 fc ec 6c b5 b7 1c 11 \r
+65 98 8d 4a 27 9e 15 77 d7 30 fc 7a 29 93 2e 3f \r
+00 c8 15 15 23 6d 8d 8e 31 01 7a 7a 09 df 43 52 \r
+d9 04 cd eb 79 aa 58 3a dc c3 1e a6 98 a4 c0 52 \r
+83 da ba 90 89 be 54 91 f6 7c 1a 4e e4 8d c7 4b \r
+bb e6 64 3a ef 84 66 79 b4 cb 39 5a 35 2d 5e d1 \r
+15 91 2d f6 96 ff e0 70 29 32 94 6d 71 49 2b 44 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 1.3\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+d9 4a e0 83 2e 64 45 ce 42 33 1c b0 6d 53 1a 82 \r
+b1 db 4b aa d3 0f 74 6d c9 16 df 24 d4 e3 c2 45 \r
+1f ff 59 a6 42 3e b0 e1 d0 2d 4f e6 46 cf 69 9d \r
+fd 81 8c 6e 97 b0 51 \r
+\r
+# Seed:\r
+25 14 df 46 95 75 5a 67 b2 88 ea f4 90 5c 36 ee \r
+c6 6f d2 fd \r
+\r
+# Encryption:\r
+42 37 36 ed 03 5f 60 26 af 27 6c 35 c0 b3 74 1b \r
+36 5e 5f 76 ca 09 1b 4e 8c 29 e2 f0 be fe e6 03 \r
+59 5a a8 32 2d 60 2d 2e 62 5e 95 eb 81 b2 f1 c9 \r
+72 4e 82 2e ca 76 db 86 18 cf 09 c5 34 35 03 a4 \r
+36 08 35 b5 90 3b c6 37 e3 87 9f b0 5e 0e f3 26 \r
+85 d5 ae c5 06 7c d7 cc 96 fe 4b 26 70 b6 ea c3 \r
+06 6b 1f cf 56 86 b6 85 89 aa fb 7d 62 9b 02 d8 \r
+f8 62 5c a3 83 36 24 d4 80 0f b0 81 b1 cf 94 eb \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 1.4\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+52 e6 50 d9 8e 7f 2a 04 8b 4f 86 85 21 53 b9 7e \r
+01 dd 31 6f 34 6a 19 f6 7a 85 \r
+\r
+# Seed:\r
+c4 43 5a 3e 1a 18 a6 8b 68 20 43 62 90 a3 7c ef \r
+b8 5d b3 fb \r
+\r
+# Encryption:\r
+45 ea d4 ca 55 1e 66 2c 98 00 f1 ac a8 28 3b 05 \r
+25 e6 ab ae 30 be 4b 4a ba 76 2f a4 0f d3 d3 8e \r
+22 ab ef c6 97 94 f6 eb bb c0 5d db b1 12 16 24 \r
+7d 2f 41 2f d0 fb a8 7c 6e 3a cd 88 88 13 64 6f \r
+d0 e4 8e 78 52 04 f9 c3 f7 3d 6d 82 39 56 27 22 \r
+dd dd 87 71 fe c4 8b 83 a3 1e e6 f5 92 c4 cf d4 \r
+bc 88 17 4f 3b 13 a1 12 aa e3 b9 f7 b8 0e 0f c6 \r
+f7 25 5b a8 80 dc 7d 80 21 e2 2a d6 a8 5f 07 55 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 1.5\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+8d a8 9f d9 e5 f9 74 a2 9f ef fb 46 2b 49 18 0f \r
+6c f9 e8 02 \r
+\r
+# Seed:\r
+b3 18 c4 2d f3 be 0f 83 fe a8 23 f5 a7 b4 7e d5 \r
+e4 25 a3 b5 \r
+\r
+# Encryption:\r
+36 f6 e3 4d 94 a8 d3 4d aa cb a3 3a 21 39 d0 0a \r
+d8 5a 93 45 a8 60 51 e7 30 71 62 00 56 b9 20 e2 \r
+19 00 58 55 a2 13 a0 f2 38 97 cd cd 73 1b 45 25 \r
+7c 77 7f e9 08 20 2b ef dd 0b 58 38 6b 12 44 ea \r
+0c f5 39 a0 5d 5d 10 32 9d a4 4e 13 03 0f d7 60 \r
+dc d6 44 cf ef 20 94 d1 91 0d 3f 43 3e 1c 7c 6d \r
+d1 8b c1 f2 df 7f 64 3d 66 2f b9 dd 37 ea d9 05 \r
+91 90 f4 fa 66 ca 39 e8 69 c4 eb 44 9c bd c4 39 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 1.6\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+26 52 10 50 84 42 71 \r
+\r
+# Seed:\r
+e4 ec 09 82 c2 33 6f 3a 67 7f 6a 35 61 74 eb 0c \r
+e8 87 ab c2 \r
+\r
+# Encryption:\r
+42 ce e2 61 7b 1e ce a4 db 3f 48 29 38 6f bd 61 \r
+da fb f0 38 e1 80 d8 37 c9 63 66 df 24 c0 97 b4 \r
+ab 0f ac 6b df 59 0d 82 1c 9f 10 64 2e 68 1a d0 \r
+5b 8d 78 b3 78 c0 f4 6c e2 fa d6 3f 74 e0 ad 3d \r
+f0 6b 07 5d 7e b5 f5 63 6f 8d 40 3b 90 59 ca 76 \r
+1b 5c 62 bb 52 aa 45 00 2e a7 0b aa ce 08 de d2 \r
+43 b9 d8 cb d6 2a 68 ad e2 65 83 2b 56 56 4e 43 \r
+a6 fa 42 ed 19 9a 09 97 69 74 2d f1 53 9e 82 55 \r
+\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 2: A 1025-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n:\r
+01 94 7c 7f ce 90 42 5f 47 27 9e 70 85 1f 25 d5 \r
+e6 23 16 fe 8a 1d f1 93 71 e3 e6 28 e2 60 54 3e \r
+49 01 ef 60 81 f6 8c 0b 81 41 19 0d 2a e8 da ba \r
+7d 12 50 ec 6d b6 36 e9 44 ec 37 22 87 7c 7c 1d \r
+0a 67 f1 4b 16 94 c5 f0 37 94 51 a4 3e 49 a3 2d \r
+de 83 67 0b 73 da 91 a1 c9 9b c2 3b 43 6a 60 05 \r
+5c 61 0f 0b af 99 c1 a0 79 56 5b 95 a3 f1 52 66 \r
+32 d1 d4 da 60 f2 0e da 25 e6 53 c4 f0 02 76 6f \r
+45 \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+08 23 f2 0f ad b5 da 89 08 8a 9d 00 89 3e 21 fa \r
+4a 1b 11 fb c9 3c 64 a3 be 0b aa ea 97 fb 3b 93 \r
+c3 ff 71 37 04 c1 9c 96 3c 1d 10 7a ae 99 05 47 \r
+39 f7 9e 02 e1 86 de 86 f8 7a 6d de fe a6 d8 cc \r
+d1 d3 c8 1a 47 bf a7 25 5b e2 06 01 a4 a4 b2 f0 \r
+8a 16 7b 5e 27 9d 71 5b 1b 45 5b dd 7e ab 24 59 \r
+41 d9 76 8b 9a ce fb 3c cd a5 95 2d a3 ce e7 25 \r
+25 b4 50 16 63 a8 ee 15 c9 e9 92 d9 24 62 fe 39 \r
+\r
+# Prime p: \r
+01 59 db de 04 a3 3e f0 6f b6 08 b8 0b 19 0f 4d \r
+3e 22 bc c1 3a c8 e4 a0 81 03 3a bf a4 16 ed b0 \r
+b3 38 aa 08 b5 73 09 ea 5a 52 40 e7 dc 6e 54 37 \r
+8c 69 41 4c 31 d9 7d db 1f 40 6d b3 76 9c c4 1a \r
+43 \r
+\r
+# Prime q: \r
+01 2b 65 2f 30 40 3b 38 b4 09 95 fd 6f f4 1a 1a \r
+cc 8a da 70 37 32 36 b7 20 2d 39 b2 ee 30 cf b4 \r
+6d b0 95 11 f6 f3 07 cc 61 cc 21 60 6c 18 a7 5b \r
+8a 62 f8 22 df 03 1b a0 df 0d af d5 50 6f 56 8b \r
+d7 \r
+\r
+# p's CRT exponent dP: \r
+43 6e f5 08 de 73 65 19 c2 da 4c 58 0d 98 c8 2c \r
+b7 45 2a 3f b5 ef ad c3 b9 c7 78 9a 1b c6 58 4f \r
+79 5a dd bb d3 24 39 c7 46 86 55 2e cb 6c 2c 30 \r
+7a 4d 3a f7 f5 39 ee c1 57 24 8c 7b 31 f1 a2 55 \r
+\r
+# q's CRT exponent dQ: \r
+01 2b 15 a8 9f 3d fb 2b 39 07 3e 73 f0 2b dd 0c \r
+1a 7b 37 9d d4 35 f0 5c dd e2 ef f9 e4 62 94 8b \r
+7c ec 62 ee 90 50 d5 e0 81 6e 07 85 a8 56 b4 91 \r
+08 dc b7 5f 36 83 87 4d 1c a6 32 9a 19 01 30 66 \r
+ff \r
+\r
+# CRT coefficient qInv: \r
+02 70 db 17 d5 91 4b 01 8d 76 11 8b 24 38 9a 73 \r
+50 ec 83 6b 00 63 a2 17 21 23 6f d8 ed b6 d8 9b \r
+51 e7 ee b8 7b 61 1b 71 32 cb 7e a7 35 6c 23 15 \r
+1c 1e 77 51 50 7c 78 6d 9e e1 79 41 70 a8 c8 e8 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 2.1\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+8f f0 0c aa 60 5c 70 28 30 63 4d 9a 6c 3d 42 c6 \r
+52 b5 8c f1 d9 2f ec 57 0b ee e7 \r
+\r
+# Seed:\r
+8c 40 7b 5e c2 89 9e 50 99 c5 3e 8c e7 93 bf 94 \r
+e7 1b 17 82 \r
+\r
+# Encryption:\r
+01 81 af 89 22 b9 fc b4 d7 9d 92 eb e1 98 15 99 \r
+2f c0 c1 43 9d 8b cd 49 13 98 a0 f4 ad 3a 32 9a \r
+5b d9 38 55 60 db 53 26 83 c8 b7 da 04 e4 b1 2a \r
+ed 6a ac df 47 1c 34 c9 cd a8 91 ad dc c2 df 34 \r
+56 65 3a a6 38 2e 9a e5 9b 54 45 52 57 eb 09 9d \r
+56 2b be 10 45 3f 2b 6d 13 c5 9c 02 e1 0f 1f 8a \r
+bb 5d a0 d0 57 09 32 da cf 2d 09 01 db 72 9d 0f \r
+ef cc 05 4e 70 96 8e a5 40 c8 1b 04 bc ae fe 72 \r
+0e \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 2.2\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+2d \r
+\r
+# Seed:\r
+b6 00 cf 3c 2e 50 6d 7f 16 77 8c 91 0d 3a 8b 00 \r
+3e ee 61 d5 \r
+\r
+# Encryption:\r
+01 87 59 ff 1d f6 3b 27 92 41 05 62 31 44 16 a8 \r
+ae af 2a c6 34 b4 6f 94 0a b8 2d 64 db f1 65 ee \r
+e3 30 11 da 74 9d 4b ab 6e 2f cd 18 12 9c 9e 49 \r
+27 7d 84 53 11 2b 42 9a 22 2a 84 71 b0 70 99 39 \r
+98 e7 58 86 1c 4d 3f 6d 74 9d 91 c4 29 0d 33 2c \r
+7a 4a b3 f7 ea 35 ff 3a 07 d4 97 c9 55 ff 0f fc \r
+95 00 6b 62 c6 d2 96 81 0d 9b fa b0 24 19 6c 79 \r
+34 01 2c 2d f9 78 ef 29 9a ba 23 99 40 cb a1 02 \r
+45 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 2.3\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+74 fc 88 c5 1b c9 0f 77 af 9d 5e 9a 4a 70 13 3d \r
+4b 4e 0b 34 da 3c 37 c7 ef 8e \r
+\r
+# Seed:\r
+a7 37 68 ae ea a9 1f 9d 8c 1e d6 f9 d2 b6 34 67 \r
+f0 7c ca e3 \r
+\r
+# Encryption:\r
+01 88 02 ba b0 4c 60 32 5e 81 c4 96 23 11 f2 be \r
+7c 2a dc e9 30 41 a0 07 19 c8 8f 95 75 75 f2 c7 \r
+9f 1b 7b c8 ce d1 15 c7 06 b3 11 c0 8a 2d 98 6c \r
+a3 b6 a9 33 6b 14 7c 29 c6 f2 29 40 9d de c6 51 \r
+bd 1f dd 5a 0b 7f 61 0c 99 37 fd b4 a3 a7 62 36 \r
+4b 8b 32 06 b4 ea 48 5f d0 98 d0 8f 63 d4 aa 8b \r
+b2 69 7d 02 7b 75 0c 32 d7 f7 4e af 51 80 d2 e9 \r
+b6 6b 17 cb 2f a5 55 23 bc 28 0d a1 0d 14 be 20 \r
+53 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 2.4\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+a7 eb 2a 50 36 93 1d 27 d4 e8 91 32 6d 99 69 2f \r
+fa dd a9 bf 7e fd 3e 34 e6 22 c4 ad c0 85 f7 21 \r
+df e8 85 07 2c 78 a2 03 b1 51 73 9b e5 40 fa 8c \r
+15 3a 10 f0 0a \r
+\r
+# Seed:\r
+9a 7b 3b 0e 70 8b d9 6f 81 90 ec ab 4f b9 b2 b3 \r
+80 5a 81 56 \r
+\r
+# Encryption:\r
+00 a4 57 8c bc 17 63 18 a6 38 fb a7 d0 1d f1 57 \r
+46 af 44 d4 f6 cd 96 d7 e7 c4 95 cb f4 25 b0 9c \r
+64 9d 32 bf 88 6d a4 8f ba f9 89 a2 11 71 87 ca \r
+fb 1f b5 80 31 76 90 e3 cc d4 46 92 0b 7a f8 2b \r
+31 db 58 04 d8 7d 01 51 4a cb fa 91 56 e7 82 f8 \r
+67 f6 be d9 44 9e 0e 9a 2c 09 bc ec c6 aa 08 76 \r
+36 96 5e 34 b3 ec 76 6f 2f e2 e4 30 18 a2 fd de \r
+b1 40 61 6a 0e 9d 82 e5 33 10 24 ee 06 52 fc 76 \r
+41 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 2.5\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+2e f2 b0 66 f8 54 c3 3f 3b dc bb 59 94 a4 35 e7 \r
+3d 6c 6c \r
+\r
+# Seed:\r
+eb 3c eb bc 4a dc 16 bb 48 e8 8c 8a ec 0e 34 af \r
+7f 42 7f d3 \r
+\r
+# Encryption:\r
+00 eb c5 f5 fd a7 7c fd ad 3c 83 64 1a 90 25 e7 \r
+7d 72 d8 a6 fb 33 a8 10 f5 95 0f 8d 74 c7 3e 8d \r
+93 1e 86 34 d8 6a b1 24 62 56 ae 07 b6 00 5b 71 \r
+b7 f2 fb 98 35 12 18 33 1c e6 9b 8f fb dc 9d a0 \r
+8b bc 9c 70 4f 87 6d eb 9d f9 fc 2e c0 65 ca d8 \r
+7f 90 90 b0 7a cc 17 aa 7f 99 7b 27 ac a4 88 06 \r
+e8 97 f7 71 d9 51 41 fe 45 26 d8 a5 30 1b 67 86 \r
+27 ef ab 70 7f d4 0f be bd 6e 79 2a 25 61 3e 7a \r
+ec \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 2.6\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+8a 7f b3 44 c8 b6 cb 2c f2 ef 1f 64 3f 9a 32 18 \r
+f6 e1 9b ba 89 c0 \r
+\r
+# Seed:\r
+4c 45 cf 4d 57 c9 8e 3d 6d 20 95 ad c5 1c 48 9e \r
+b5 0d ff 84 \r
+\r
+# Encryption:\r
+01 08 39 ec 20 c2 7b 90 52 e5 5b ef b9 b7 7e 6f \r
+c2 6e 90 75 d7 a5 43 78 c6 46 ab df 51 e4 45 bd \r
+57 15 de 81 78 9f 56 f1 80 3d 91 70 76 4a 9e 93 \r
+cb 78 79 86 94 02 3e e7 39 3c e0 4b c5 d8 f8 c5 \r
+a5 2c 17 1d 43 83 7e 3a ca 62 f6 09 eb 0a a5 ff \r
+b0 96 0e f0 41 98 dd 75 4f 57 f7 fb e6 ab f7 65 \r
+cf 11 8b 4c a4 43 b2 3b 5a ab 26 6f 95 23 26 ac \r
+45 81 10 06 44 32 5f 8b 72 1a cd 5d 04 ff 14 ef \r
+3a \r
+\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 3: A 1026-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n:\r
+02 b5 8f ec 03 9a 86 07 00 a4 d7 b6 46 2f 93 e6 \r
+cd d4 91 16 1d dd 74 f4 e8 10 b4 0e 3c 16 52 00 \r
+6a 5c 27 7b 27 74 c1 13 05 a4 cb ab 5a 78 ef a5 \r
+7e 17 a8 6d f7 a3 fa 36 fc 4b 1d 22 49 f2 2e c7 \r
+c2 dd 6a 46 32 32 ac ce a9 06 d6 6e be 80 b5 70 \r
+4b 10 72 9d a6 f8 33 23 4a bb 5e fd d4 a2 92 cb \r
+fa d3 3b 4d 33 fa 7a 14 b8 c3 97 b5 6e 3a cd 21 \r
+20 34 28 b7 7c df a3 3a 6d a7 06 b3 d8 b0 fc 43 \r
+e9 \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+15 b4 8a 5b 56 83 a9 46 70 e2 3b 57 18 f8 14 fa \r
+0e 13 f8 50 38 f5 07 11 18 2c ba 61 51 05 81 f3 \r
+d2 2c 7e 23 2e f9 37 e2 2e 55 1d 68 b8 6e 2f 8c \r
+b1 aa d8 be 2e 48 8f 5d f7 ef d2 79 e3 f5 68 d4 \r
+ea f3 6f 80 cf 71 41 ac e6 0f cc 91 13 fb 6c 4a \r
+84 1f d5 0b bc 7c 51 2f fc be ff 21 48 7a a8 11 \r
+eb 3c a8 c6 20 05 34 6a 86 de 86 bf a1 d8 a9 48 \r
+fd 3f 34 8c 22 ea ad f3 33 c3 ce 6c e1 32 08 fd \r
+\r
+# Prime p: \r
+01 bf 01 d2 16 d7 35 95 cf 02 70 c2 be b7 8d 40 \r
+a0 d8 44 7d 31 da 91 9a 98 3f 7e ea 78 1b 77 d8 \r
+5f e3 71 b3 e9 37 3e 7b 69 21 7d 31 50 a0 2d 89 \r
+58 de 7f ad 9d 55 51 60 95 8b 44 54 12 7e 0e 7e \r
+af \r
+\r
+# Prime q: \r
+01 8d 33 99 65 81 66 db 38 29 81 6d 7b 29 54 16 \r
+75 9e 9c 91 98 7f 5b 2d 8a ec d6 3b 04 b4 8b d7 \r
+b2 fc f2 29 bb 7f 8a 6d c8 8b a1 3d d2 e3 9a d5 \r
+5b 6d 1a 06 16 07 08 f9 70 0b e8 0b 8f d3 74 4c \r
+e7 \r
+\r
+# p's CRT exponent dP: \r
+06 c0 a2 49 d2 0a 6f 2e e7 5c 88 b4 94 d5 3f 6a \r
+ae 99 aa 42 7c 88 c2 8b 16 3a 76 94 45 e5 f3 90 \r
+cf 40 c2 74 fd 6e a6 32 9a 5c e7 c7 ce 03 a2 15 \r
+83 96 ee 2a 78 45 78 6e 09 e2 88 5a 97 28 e4 e5 \r
+\r
+# q's CRT exponent dQ: \r
+d1 d2 7c 29 fe dd 92 d8 6c 34 8e dd 0c cb fa c1 \r
+4f 74 6e 05 1c e1 d1 81 1d f3 5d 61 f2 ee 1c 97 \r
+d4 bf 28 04 80 2f 64 27 18 7b a8 e9 0a 8a f4 42 \r
+43 b4 07 9b 03 44 5e 60 2e 29 fa 51 93 e6 4f e9 \r
+\r
+# CRT coefficient qInv: \r
+8c b2 f7 56 bd 89 41 b1 d3 b7 70 e5 ad 31 ee 37 \r
+3b 28 ac da 69 ff 9b 6f 40 fe 57 8b 9f 1a fb 85 \r
+83 6f 96 27 d3 7a cf f7 3c 27 79 e6 34 bb 26 01 \r
+1c 2c 8f 7f 33 61 ae 2a 9e a6 5e d6 89 e3 63 9a \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 3.1\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+08 78 20 b5 69 e8 fa 8d \r
+\r
+# Seed:\r
+8c ed 6b 19 62 90 80 57 90 e9 09 07 40 15 e6 a2 \r
+0b 0c 48 94 \r
+\r
+# Encryption:\r
+02 6a 04 85 d9 6a eb d9 6b 43 82 08 50 99 b9 62 \r
+e6 a2 bd ec 3d 90 c8 db 62 5e 14 37 2d e8 5e 2d \r
+5b 7b aa b6 5c 8f af 91 bb 55 04 fb 49 5a fc e5 \r
+c9 88 b3 f6 a5 2e 20 e1 d6 cb d3 56 6c 5c d1 f2 \r
+b8 31 8b b5 42 cc 0e a2 5c 4a ab 99 32 af a2 07 \r
+60 ea dd ec 78 43 96 a0 7e a0 ef 24 d4 e6 f4 d3 \r
+7e 50 52 a7 a3 1e 14 6a a4 80 a1 11 bb e9 26 40 \r
+13 07 e0 0f 41 00 33 84 2b 6d 82 fe 5c e4 df ae \r
+80 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 3.2\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+46 53 ac af 17 19 60 b0 1f 52 a7 be 63 a3 ab 21 \r
+dc 36 8e c4 3b 50 d8 2e c3 78 1e 04 \r
+\r
+# Seed:\r
+b4 29 1d 65 67 55 08 48 cc 15 69 67 c8 09 ba ab \r
+6c a5 07 f0 \r
+\r
+# Encryption:\r
+02 4d b8 9c 78 02 98 9b e0 78 38 47 86 30 84 94 \r
+1b f2 09 d7 61 98 7e 38 f9 7c b5 f6 f1 bc 88 da \r
+72 a5 0b 73 eb af 11 c8 79 c4 f9 5d f3 7b 85 0b \r
+8f 65 d7 62 2e 25 b1 b8 89 e8 0f e8 0b ac a2 06 \r
+9d 6e 0e 1d 82 99 53 fc 45 90 69 de 98 ea 97 98 \r
+b4 51 e5 57 e9 9a bf 8f e3 d9 cc f9 09 6e bb f3 \r
+e5 25 5d 3b 4e 1c 6d 2e ca df 06 7a 35 9e ea 86 \r
+40 5a cd 47 d5 e1 65 51 7c ca fd 47 d6 db ee 4b \r
+f5 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 3.3\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+d9 4c d0 e0 8f a4 04 ed 89 \r
+\r
+# Seed:\r
+ce 89 28 f6 05 95 58 25 40 08 ba dd 97 94 fa dc \r
+d2 fd 1f 65 \r
+\r
+# Encryption:\r
+02 39 bc e6 81 03 24 41 52 88 77 d6 d1 c8 bb 28 \r
+aa 3b c9 7f 1d f5 84 56 36 18 99 57 97 68 38 44 \r
+ca 86 66 47 32 f4 be d7 a0 aa b0 83 aa ab fb 72 \r
+38 f5 82 e3 09 58 c2 02 4e 44 e5 70 43 b9 79 50 \r
+fd 54 3d a9 77 c9 0c dd e5 33 7d 61 84 42 f9 9e \r
+60 d7 78 3a b5 9c e6 dd 9d 69 c4 7a d1 e9 62 be \r
+c2 2d 05 89 5c ff 8d 3f 64 ed 52 61 d9 2b 26 78 \r
+51 03 93 48 49 90 ba 3f 7f 06 81 8a e6 ff ce 8a \r
+3a \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 3.4\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+6c c6 41 b6 b6 1e 6f 96 39 74 da d2 3a 90 13 28 \r
+4e f1 \r
+\r
+# Seed:\r
+6e 29 79 f5 2d 68 14 a5 7d 83 b0 90 05 48 88 f1 \r
+19 a5 b9 a3 \r
+\r
+# Encryption:\r
+02 99 4c 62 af d7 6f 49 8b a1 fd 2c f6 42 85 7f \r
+ca 81 f4 37 3c b0 8f 1c ba ee 6f 02 5c 3b 51 2b \r
+42 c3 e8 77 91 13 47 66 48 03 9d be 04 93 f9 24 \r
+62 92 fa c2 89 50 60 0e 7c 0f 32 ed f9 c8 1b 9d \r
+ec 45 c3 bd e0 cc 8d 88 47 59 01 69 90 7b 7d c5 \r
+99 1c eb 29 bb 07 14 d6 13 d9 6d f0 f1 2e c5 d8 \r
+d3 50 7c 8e e7 ae 78 dd 83 f2 16 fa 61 de 10 03 \r
+63 ac a4 8a 7e 91 4a e9 f4 2d df be 94 3b 09 d9 \r
+a0 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 3.5\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+df 51 51 83 2b 61 f4 f2 58 91 fb 41 72 f3 28 d2 \r
+ed df 83 71 ff cf db e9 97 93 92 95 f3 0e ca 69 \r
+18 01 7c fd a1 15 3b f7 a6 af 87 59 32 23 \r
+\r
+# Seed:\r
+2d 76 0b fe 38 c5 9d e3 4c dc 8b 8c 78 a3 8e 66 \r
+28 4a 2d 27 \r
+\r
+# Encryption:\r
+01 62 04 2f f6 96 95 92 a6 16 70 31 81 1a 23 98 \r
+34 ce 63 8a bf 54 fe c8 b9 94 78 12 2a fe 2e e6 \r
+7f 8c 5b 18 b0 33 98 05 bf db c5 a4 e6 72 0b 37 \r
+c5 9c fb a9 42 46 4c 59 7f f5 32 a1 19 82 15 45 \r
+fd 2e 59 b1 14 e6 1d af 71 82 05 29 f5 02 9c f5 \r
+24 95 43 27 c3 4e c5 e6 f5 ba 7e fc c4 de 94 3a \r
+b8 ad 4e d7 87 b1 45 43 29 f7 0d b7 98 a3 a8 f4 \r
+d9 2f 82 74 e2 b2 94 8a de 62 7c e8 ee 33 e4 3c \r
+60 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 3.6\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+3c 3b ad 89 3c 54 4a 6d 52 0a b0 22 31 91 88 c8 \r
+d5 04 b7 a7 88 b8 50 90 3b 85 97 2e aa 18 55 2e \r
+11 34 a7 ad 60 98 82 62 54 ff 7a b6 72 b3 d8 eb \r
+31 58 fa c6 d4 cb ae f1 \r
+\r
+# Seed:\r
+f1 74 77 9c 5f d3 cf e0 07 ba dc b7 a3 6c 9b 55 \r
+bf cf bf 0e \r
+\r
+# Encryption:\r
+00 11 20 51 e7 5d 06 49 43 bc 44 78 07 5e 43 48 \r
+2f d5 9c ee 06 79 de 68 93 ee c3 a9 43 da a4 90 \r
+b9 69 1c 93 df c0 46 4b 66 23 b9 f3 db d3 e7 00 \r
+83 26 4f 03 4b 37 4f 74 16 4e 1a 00 76 37 25 e5 \r
+74 74 4b a0 b9 db 83 43 4f 31 df 96 f6 e2 a2 6f \r
+6d 8e ba 34 8b d4 68 6c 22 38 ac 07 c3 7a ac 37 \r
+85 d1 c7 ee a2 f8 19 fd 91 49 17 98 ed 8e 9c ef \r
+5e 43 b7 81 b0 e0 27 6e 37 c4 3f f9 49 2d 00 57 \r
+30 \r
+\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 4: A 1027-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n:\r
+05 12 40 b6 cc 00 04 fa 48 d0 13 46 71 c0 78 c7 \r
+c8 de c3 b3 e2 f2 5b c2 56 44 67 33 9d b3 88 53 \r
+d0 6b 85 ee a5 b2 de 35 3b ff 42 ac 2e 46 bc 97 \r
+fa e6 ac 96 18 da 95 37 a5 c8 f5 53 c1 e3 57 62 \r
+59 91 d6 10 8d cd 78 85 fb 3a 25 41 3f 53 ef ca \r
+d9 48 cb 35 cd 9b 9a e9 c1 c6 76 26 d1 13 d5 7d \r
+de 4c 5b ea 76 bb 5b b7 de 96 c0 0d 07 37 2e 96 \r
+85 a6 d7 5c f9 d2 39 fa 14 8d 70 93 1b 5f 3f b0 \r
+39 \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+04 11 ff ca 3b 7c a5 e9 e9 be 7f e3 8a 85 10 5e \r
+35 38 96 db 05 c5 79 6a ec d2 a7 25 16 1e b3 65 \r
+1c 86 29 a9 b8 62 b9 04 d7 b0 c7 b3 7f 8c b5 a1 \r
+c2 b5 40 01 01 8a 00 a1 eb 2c af e4 ee 4e 94 92 \r
+c3 48 bc 2b ed ab 4b 9e bb f0 64 e8 ef f3 22 b9 \r
+00 9f 8e ec 65 39 05 f4 0d f8 8a 3c dc 49 d4 56 \r
+7f 75 62 7d 41 ac a6 24 12 9b 46 a0 b7 c6 98 e5 \r
+e6 5f 2b 7b a1 02 c7 49 a1 01 35 b6 54 0d 04 01 \r
+\r
+# Prime p: \r
+02 74 58 c1 9e c1 63 69 19 e7 36 c9 af 25 d6 09 \r
+a5 1b 8f 56 1d 19 c6 bf 69 43 dd 1e e1 ab 8a 4a \r
+3f 23 21 00 bd 40 b8 8d ec c6 ba 23 55 48 b6 ef \r
+79 2a 11 c9 de 82 3d 0a 79 22 c7 09 5b 6e ba 57 \r
+01 \r
+\r
+# Prime q: \r
+02 10 ee 9b 33 ab 61 71 6e 27 d2 51 bd 46 5f 4b \r
+35 a1 a2 32 e2 da 00 90 1c 29 4b f2 23 50 ce 49 \r
+0d 09 9f 64 2b 53 75 61 2d b6 3b a1 f2 03 86 49 \r
+2b f0 4d 34 b3 c2 2b ce b9 09 d1 34 41 b5 3b 51 \r
+39 \r
+\r
+# p's CRT exponent dP: \r
+39 fa 02 8b 82 6e 88 c1 12 1b 75 0a 8b 24 2f a9 \r
+a3 5c 5b 66 bd fd 1f a6 37 d3 cc 48 a8 4a 4f 45 \r
+7a 19 4e 77 27 e4 9f 7b cc 6e 5a 5a 41 26 57 fc \r
+47 0c 73 22 eb c3 74 16 ef 45 8c 30 7a 8c 09 01 \r
+\r
+# q's CRT exponent dQ: \r
+01 5d 99 a8 41 95 94 39 79 fa 9e 1b e2 c3 c1 b6 \r
+9f 43 2f 46 fd 03 e4 7d 5b ef bb bf d6 b1 d1 37 \r
+1d 83 ef b3 30 a3 e0 20 94 2b 2f ed 11 5e 5d 02 \r
+be 24 fd 92 c9 01 9d 1c ec d6 dd 4c f1 e5 4c c8 \r
+99 \r
+\r
+# CRT coefficient qInv: \r
+01 f0 b7 01 51 70 b3 f5 e4 22 23 ba 30 30 1c 41 \r
+a6 d8 7c bb 70 e3 0c b7 d3 c6 7d 25 47 3d b1 f6 \r
+cb f0 3e 3f 91 26 e3 e9 79 68 27 9a 86 5b 2c 2b \r
+42 65 24 cf c5 2a 68 3d 31 ed 30 eb 98 4b e4 12 \r
+ba \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 4.1\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+4a 86 60 95 34 ee 43 4a 6c bc a3 f7 e9 62 e7 6d \r
+45 5e 32 64 c1 9f 60 5f 6e 5f f6 13 7c 65 c5 6d \r
+7f b3 44 cd 52 bc 93 37 4f 3d 16 6c 9f 0c 6f 9c \r
+50 6b ad 19 33 09 72 d2 \r
+\r
+# Seed:\r
+1c ac 19 ce 99 3d ef 55 f9 82 03 f6 85 28 96 c9 \r
+5c cc a1 f3 \r
+\r
+# Encryption:\r
+04 cc e1 96 14 84 5e 09 41 52 a3 fe 18 e5 4e 33 \r
+30 c4 4e 5e fb c6 4a e1 68 86 cb 18 69 01 4c c5 \r
+78 1b 1f 8f 9e 04 53 84 d0 11 2a 13 5c a0 d1 2e \r
+9c 88 a8 e4 06 34 16 de aa e3 84 4f 60 d6 e9 6f \r
+e1 55 14 5f 45 25 b9 a3 44 31 ca 37 66 18 0f 70 \r
+e1 5a 5e 5d 8e 8b 1a 51 6f f8 70 60 9f 13 f8 96 \r
+93 5c ed 18 82 79 a5 8e d1 3d 07 11 42 77 d7 5c \r
+65 68 60 7e 0a b0 92 fd 80 3a 22 3e 4a 8e e0 b1 \r
+a8 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 4.2\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+b0 ad c4 f3 fe 11 da 59 ce 99 27 73 d9 05 99 43 \r
+c0 30 46 49 7e e9 d9 f9 a0 6d f1 16 6d b4 6d 98 \r
+f5 8d 27 ec 07 4c 02 ee e6 cb e2 44 9c 8b 9f c5 \r
+08 0c 5c 3f 44 33 09 25 12 ec 46 aa 79 37 43 c8 \r
+\r
+# Seed:\r
+f5 45 d5 89 75 85 e3 db 71 aa 0c b8 da 76 c5 1d \r
+03 2a e9 63 \r
+\r
+# Encryption:\r
+00 97 b6 98 c6 16 56 45 b3 03 48 6f bf 5a 2a 44 \r
+79 c0 ee 85 88 9b 54 1a 6f 0b 85 8d 6b 65 97 b1 \r
+3b 85 4e b4 f8 39 af 03 39 9a 80 d7 9b da 65 78 \r
+c8 41 f9 0d 64 57 15 b2 80 d3 71 43 99 2d d1 86 \r
+c8 0b 94 9b 77 5c ae 97 37 0e 4e c9 74 43 13 6c \r
+6d a4 84 e9 70 ff db 13 23 a2 08 47 82 1d 3b 18 \r
+38 1d e1 3b b4 9a ae a6 65 30 c4 a4 b8 27 1f 3e \r
+ae 17 2c d3 66 e0 7e 66 36 f1 01 9d 2a 28 ae d1 \r
+5e \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 4.3\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+bf 6d 42 e7 01 70 7b 1d 02 06 b0 c8 b4 5a 1c 72 \r
+64 1f f1 28 89 21 9a 82 bd ea 96 5b 5e 79 a9 6b \r
+0d 01 63 ed 9d 57 8e c9 ad a2 0f 2f bc f1 ea 3c \r
+40 89 d8 34 19 ba 81 b0 c6 0f 36 06 da 99 \r
+\r
+# Seed:\r
+ad 99 7f ee f7 30 d6 ea 7b e6 0d 0d c5 2e 72 ea \r
+cb fd d2 75 \r
+\r
+# Encryption:\r
+03 01 f9 35 e9 c4 7a bc b4 8a cb be 09 89 5d 9f \r
+59 71 af 14 83 9d a4 ff 95 41 7e e4 53 d1 fd 77 \r
+31 90 72 bb 72 97 e1 b5 5d 75 61 cd 9d 1b b2 4c \r
+1a 9a 37 c6 19 86 43 08 24 28 04 87 9d 86 eb d0 \r
+01 dc e5 18 39 75 e1 50 69 89 b7 0e 5a 83 43 41 \r
+54 d5 cb fd 6a 24 78 7e 60 eb 0c 65 8d 2a c1 93 \r
+30 2d 11 92 c6 e6 22 d4 a1 2a d4 b5 39 23 bc a2 \r
+46 df 31 c6 39 5e 37 70 2c 6a 78 ae 08 1f b9 d0 \r
+65 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 4.4\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+fb 2e f1 12 f5 e7 66 eb 94 01 92 97 93 47 94 f7 \r
+be 2f 6f c1 c5 8e \r
+\r
+# Seed:\r
+13 64 54 df 57 30 f7 3c 80 7a 7e 40 d8 c1 a3 12 \r
+ac 5b 9d d3 \r
+\r
+# Encryption:\r
+02 d1 10 ad 30 af b7 27 be b6 91 dd 0c f1 7d 0a \r
+f1 a1 e7 fa 0c c0 40 ec 1a 4b a2 6a 42 c5 9d 0a \r
+79 6a 2e 22 c8 f3 57 cc c9 8b 65 19 ac eb 68 2e \r
+94 5e 62 cb 73 46 14 a5 29 40 7c d4 52 be e3 e4 \r
+4f ec e8 42 3c c1 9e 55 54 8b 8b 99 4b 84 9c 7e \r
+cd e4 93 3e 76 03 7e 1d 0c e4 42 75 b0 87 10 c6 \r
+8e 43 01 30 b9 29 73 0e d7 7e 09 b0 15 64 2c 55 \r
+93 f0 4e 4f fb 94 10 79 81 02 a8 e9 6f fd fe 11 \r
+e4 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 4.5\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+28 cc d4 47 bb 9e 85 16 6d ab b9 e5 b7 d1 ad ad \r
+c4 b9 d3 9f 20 4e 96 d5 e4 40 ce 9a d9 28 bc 1c \r
+22 84 \r
+\r
+# Seed:\r
+bc a8 05 7f 82 4b 2e a2 57 f2 86 14 07 ee f6 3d \r
+33 20 86 81 \r
+\r
+# Encryption:\r
+00 db b8 a7 43 9d 90 ef d9 19 a3 77 c5 4f ae 8f \r
+e1 1e c5 8c 3b 85 83 62 e2 3a d1 b8 a4 43 10 79 \r
+90 66 b9 93 47 aa 52 56 91 d2 ad c5 8d 9b 06 e3 \r
+4f 28 8c 17 03 90 c5 f0 e1 1c 0a a3 64 59 59 f1 \r
+8e e7 9e 8f 2b e8 d7 ac 5c 23 d0 61 f1 8d d7 4b \r
+8c 5f 2a 58 fc b5 eb 0c 54 f9 9f 01 a8 32 47 56 \r
+82 92 53 65 83 34 09 48 d7 a8 c9 7c 4a cd 1e 98 \r
+d1 e2 9d c3 20 e9 7a 26 05 32 a8 aa 7a 75 8a 1e \r
+c2 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 4.6\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+f2 22 42 75 1e c6 b1 \r
+\r
+# Seed:\r
+2e 7e 1e 17 f6 47 b5 dd d0 33 e1 54 72 f9 0f 68 \r
+12 f3 ac 4e \r
+\r
+# Encryption:\r
+00 a5 ff a4 76 8c 8b be ca ee 2d b7 7e 8f 2e ec \r
+99 59 59 33 54 55 20 83 5e 5b a7 db 94 93 d3 e1 \r
+7c dd ef e6 a5 f5 67 62 44 71 90 8d b4 e2 d8 3a \r
+0f be e6 06 08 fc 84 04 95 03 b2 23 4a 07 dc 83 \r
+b2 7b 22 84 7a d8 92 0f f4 2f 67 4e f7 9b 76 28 \r
+0b 00 23 3d 2b 51 b8 cb 27 03 a9 d4 2b fb c8 25 \r
+0c 96 ec 32 c0 51 e5 7f 1b 4b a5 28 db 89 c3 7e \r
+4c 54 e2 7e 6e 64 ac 69 63 5a e8 87 d9 54 16 19 \r
+a9 \r
+\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 5: A 1028-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n:\r
+0a ad f3 f9 c1 25 e5 d8 91 f3 1a c4 48 e9 93 de \r
+fe 58 0f 80 2b 45 f9 d7 f2 2b a5 02 1e 9c 47 57 \r
+6b 5a 1e 68 03 1b a9 db 4e 6d ab e4 d9 6a 1d 6f \r
+3d 26 72 68 cf f4 08 00 5f 11 8e fc ad b9 98 88 \r
+d1 c2 34 46 71 66 b2 a2 b8 49 a0 5a 88 9c 06 0a \r
+c0 da 0c 5f ae 8b 55 f3 09 ba 62 e7 03 74 2f a0 \r
+32 6f 2d 10 b0 11 02 14 89 ff 49 77 70 19 0d 89 \r
+5f d3 9f 52 29 3c 39 ef d7 3a 69 8b da b9 f1 0e \r
+d9 \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+02 56 eb 4c ba 70 67 f2 d2 be 54 0d cd ff 45 82 \r
+a3 6b 7d 31 d1 c9 09 9b b2 14 b7 98 48 46 6a 26 \r
+8f 80 f5 8a 49 ac 04 c0 e3 64 89 34 a0 20 6c 04 \r
+53 7c 19 b2 36 64 3a 60 82 73 21 44 df 75 fa 21 \r
+75 88 f7 94 68 2b e8 91 68 27 6d c7 26 c5 c0 cb \r
+db 84 d3 1b bf 26 d0 a4 3a f4 95 71 7f 7d 52 8a \r
+cf ee 34 15 61 f6 ff 3c ae 05 c5 78 f8 47 0d 96 \r
+82 f9 c0 d0 72 f9 f6 06 8b 56 d5 88 0f 68 2b e2 \r
+c5 \r
+\r
+# Prime p: \r
+03 b0 d3 96 2f 6d 17 54 9c bf ca 11 29 43 48 dc \r
+f0 e7 e3 9f 8c 2b c6 82 4f 21 64 b6 06 d6 87 86 \r
+0d ae 1e 63 23 93 cf ed f5 13 22 82 29 06 9e 2f \r
+60 e4 ac d7 e6 33 a4 36 06 3f 82 38 5f 48 99 37 \r
+07 \r
+\r
+# Prime q: \r
+02 e4 c3 2e 2f 51 72 69 b7 07 23 09 f0 0c 0e 31 \r
+36 5f 7c e2 8b 23 6b 82 91 2d f2 39 ab f3 95 72 \r
+cf 0e d6 04 b0 29 82 e5 35 64 c5 2d 6a 05 39 7d \r
+e5 c0 52 a2 fd dc 14 1e f7 18 98 36 34 6a eb 33 \r
+1f \r
+\r
+# p's CRT exponent dP: \r
+01 e8 4b 11 9d 25 16 1f a6 7b 00 25 6a 5b d9 b6 \r
+45 d2 b2 32 ec b0 5b 01 51 80 02 9a 88 62 2a dc \r
+3f 09 b3 ae ac de 61 61 ab 7c de 22 c2 ad 26 e7 \r
+79 7d f5 4e 07 2c bd 3b 26 73 80 0b 3e 43 38 db \r
+d5 \r
+\r
+# q's CRT exponent dQ: \r
+eb 90 aa 1a 40 13 5b 4c ea 07 19 7c ed c8 81 9b \r
+e1 e7 cb ff 25 47 66 21 16 f4 65 a4 a9 f4 87 ab \r
+12 f3 ba 4f ef 13 82 22 65 a6 52 97 d9 8b 7b de \r
+d9 37 2e 3f fe 81 a3 8b 3e 96 00 fe d0 55 75 4f \r
+\r
+# CRT coefficient qInv: \r
+01 2f 7f 81 38 f9 40 40 62 eb 85 a4 29 24 52 0b \r
+38 f5 bb 88 6a 01 96 f4 8b b8 dc ea 60 fd 92 cc \r
+02 7f 18 e7 81 58 a3 4a 5c 5d 5f 86 0a 0f 6c 04 \r
+07 1a 7d 01 31 2c 06 50 62 f1 eb 48 b7 9d 1c 83 \r
+cb \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 5.1\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+af 71 a9 01 e3 a6 1d 31 32 f0 fc 1f db 47 4f 9e \r
+a6 57 92 57 ff c2 4d 16 41 70 14 5b 3d bd e8 \r
+\r
+# Seed:\r
+44 c9 2e 28 3f 77 b9 49 9c 60 3d 96 36 60 c8 7d \r
+2f 93 94 61 \r
+\r
+# Encryption:\r
+03 60 46 a4 a4 7d 9e d3 ba 9a 89 13 9c 10 50 38 \r
+eb 74 92 b0 5a 5d 68 bf d5 3a cc ff 45 97 f7 a6 \r
+86 51 b4 7b 4a 46 27 d9 27 e4 85 ee d7 b4 56 64 \r
+20 e8 b4 09 87 9e 5d 60 6e ae 25 1d 22 a5 df 79 \r
+9f 79 20 bf c1 17 b9 92 57 2a 53 b1 26 31 46 bc \r
+ea 03 38 5c c5 e8 53 c9 a1 01 c8 c3 e1 bd a3 1a \r
+51 98 07 49 6c 6c b5 e5 ef b4 08 82 3a 35 2b 8f \r
+a0 66 1f b6 64 ef ad d5 93 de b9 9f ff 5e d0 00 \r
+e5 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 5.2\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+a3 b8 44 a0 82 39 a8 ac 41 60 5a f1 7a 6c fd a4 \r
+d3 50 13 65 85 90 3a 41 7a 79 26 87 60 51 9a 4b \r
+4a c3 30 3e c7 3f 0f 87 cf b3 23 99 \r
+\r
+# Seed:\r
+cb 28 f5 86 06 59 fc ee e4 9c 3e ea fc e6 25 a7 \r
+08 03 bd 32 \r
+\r
+# Encryption:\r
+03 d6 eb 65 4e dc e6 15 bc 59 f4 55 26 5e d4 e5 \r
+a1 82 23 cb b9 be 4e 40 69 b4 73 80 4d 5d e9 6f \r
+54 dc aa a6 03 d0 49 c5 d9 4a a1 47 0d fc d2 25 \r
+40 66 b7 c7 b6 1f f1 f6 f6 77 0e 32 15 c5 13 99 \r
+fd 4e 34 ec 50 82 bc 48 f0 89 84 0a d0 43 54 ae \r
+66 dc 0f 1b d1 8e 46 1a 33 cc 12 58 b4 43 a2 83 \r
+7a 6d f2 67 59 aa 23 02 33 49 86 f8 73 80 c9 cc \r
+9d 53 be 9f 99 60 5d 2c 9a 97 da 7b 09 15 a4 a7 \r
+ad \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 5.3\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+30 8b 0e cb d2 c7 6c b7 7f c6 f7 0c 5e dd 23 3f \r
+d2 f2 09 29 d6 29 f0 26 95 3b b6 2a 8f 4a 3a 31 \r
+4b de 19 5d e8 5b 5f 81 6d a2 aa b0 74 d2 6c b6 \r
+ac dd f3 23 ae 3b 9c 67 8a c3 cf 12 fb dd e7 \r
+\r
+# Seed:\r
+22 85 f4 0d 77 04 82 f9 a9 ef a2 c7 2c b3 ac 55 \r
+71 6d c0 ca \r
+\r
+# Encryption:\r
+07 70 95 21 81 64 9f 9f 9f 07 ff 62 6f f3 a2 2c \r
+35 c4 62 44 3d 90 5d 45 6a 9f d0 bf f4 3c ac 2c \r
+a7 a9 f5 54 e9 47 8b 9a cc 3a c8 38 b0 20 40 ff \r
+d3 e1 84 7d e2 e4 25 39 29 f9 dd 9e e4 04 43 25 \r
+a9 b0 5c ab b8 08 b2 ee 84 0d 34 e1 5d 10 5a 3f \r
+1f 7b 27 69 5a 1a 07 a2 d7 3f e0 8e ca aa 3c 9c \r
+9d 4d 5a 89 ff 89 0d 54 72 7d 7a e4 0c 0e c1 a8 \r
+dd 86 16 5d 8e e2 c6 36 81 41 01 6a 48 b5 5b 69 \r
+67 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 5.4\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+15 c5 b9 ee 11 85 \r
+\r
+# Seed:\r
+49 fa 45 d3 a7 8d d1 0d fd 57 73 99 d1 eb 00 af \r
+7e ed 55 13 \r
+\r
+# Encryption:\r
+08 12 b7 67 68 eb cb 64 2d 04 02 58 e5 f4 44 1a \r
+01 85 21 bd 96 68 7e 6c 5e 89 9f cd 6c 17 58 8f \r
+f5 9a 82 cc 8a e0 3a 4b 45 b3 12 99 af 17 88 c3 \r
+29 f7 dc d2 85 f8 cf 4c ed 82 60 6b 97 61 26 71 \r
+a4 5b ed ca 13 34 42 14 4d 16 17 d1 14 f8 02 85 \r
+7f 0f 9d 73 97 51 c5 7a 3f 9e e4 00 91 2c 61 e2 \r
+e6 99 2b e0 31 a4 3d d4 8f a6 ba 14 ee f7 c4 22 \r
+b5 ed c4 e7 af a0 4f dd 38 f4 02 d1 c8 bb 71 9a \r
+bf \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 5.5\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+21 02 6e 68 00 c7 fa 72 8f ca ab a0 d1 96 ae 28 \r
+d7 a2 ac 4f fd 8a bc e7 94 f0 98 5f 60 c8 a6 73 \r
+72 77 36 5d 3f ea 11 db 89 23 a2 02 9a \r
+\r
+# Seed:\r
+f0 28 74 13 23 4c c5 03 47 24 a0 94 c4 58 6b 87 \r
+af f1 33 fc \r
+\r
+# Encryption:\r
+07 b6 0e 14 ec 95 4b fd 29 e6 0d 00 47 e7 89 f5 \r
+1d 57 18 6c 63 58 99 03 30 67 93 ce d3 f6 82 41 \r
+c7 43 52 9a ba 6a 63 74 f9 2e 19 e0 16 3e fa 33 \r
+69 7e 19 6f 76 61 df aa a4 7a ac 6b de 5e 51 de \r
+b5 07 c7 2c 58 9a 2c a1 69 3d 96 b1 46 03 81 24 \r
+9b 2c db 9e ac 44 76 9f 24 89 c5 d3 d2 f9 9f 0e \r
+e3 c7 ee 5b f6 4a 5a c7 9c 42 bd 43 3f 14 9b e8 \r
+cb 59 54 83 61 64 05 95 51 3c 97 af 7b c2 50 97 \r
+23 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 5.6\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+54 1e 37 b6 8b 6c 88 72 b8 4c 02 \r
+\r
+# Seed:\r
+d9 fb a4 5c 96 f2 1e 6e 26 d2 9e b2 cd cb 65 85 \r
+be 9c b3 41 \r
+\r
+# Encryption:\r
+08 c3 6d 4d da 33 42 3b 2e d6 83 0d 85 f6 41 1b \r
+a1 dc f4 70 a1 fa e0 eb ef ee 7c 08 9f 25 6c ef \r
+74 cb 96 ea 69 c3 8f 60 f3 9a be e4 41 29 bc b4 \r
+c9 2d e7 f7 97 62 3b 20 07 4e 3d 9c 28 99 70 1e \r
+d9 07 1e 1e fa 0b dd 84 d4 c3 e5 13 03 02 d8 f0 \r
+24 0b ab a4 b8 4a 71 cc 03 2f 22 35 a5 ff 0f ae \r
+27 7c 3e 8f 91 12 be f4 4c 9a e2 0d 17 5f c9 a4 \r
+05 8b fc 93 0b a3 1b 02 e2 e4 f4 44 48 37 10 f2 \r
+4a \r
+\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 6: A 1029-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n:\r
+12 b1 7f 6d ad 2e cd 19 ff 46 dc 13 f7 86 0f 09 \r
+e0 e0 cf b6 77 b3 8a 52 59 23 05 ce af 02 2c 16 \r
+6d b9 0d 04 ac 29 e3 3f 7d d1 2d 9f af 66 e0 81 \r
+6b b6 3e ad 26 7c c7 d4 6c 17 c3 7b e2 14 bc a2 \r
+a2 2d 72 3a 64 e4 44 07 43 6b 6f c9 65 72 9a ef \r
+c2 55 4f 37 6c d5 dc ea 68 29 37 80 a6 2b f3 9d \r
+00 29 48 5a 16 0b bb 9e 5d c0 97 2d 21 a5 04 f5 \r
+2e 5e e0 28 aa 41 63 32 f5 10 b2 e9 cf f5 f7 22 \r
+af \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+02 95 ec a3 56 06 18 36 95 59 ce cd 30 3a a9 cf \r
+da fc 1d 9f 06 95 9d f7 5f fe f9 29 aa 89 69 61 \r
+bc d1 90 dc 69 97 ed a7 f5 96 3e 72 4d 07 b4 dc \r
+11 f3 06 5e 5a e9 7d 96 83 51 12 28 0b 90 84 bb \r
+14 f2 a2 1e bd 4e 88 9d 41 b9 c4 13 2e c1 95 6f \r
+ca b8 bb 2f ed 05 75 88 49 36 52 2c 5f f7 d3 32 \r
+61 90 48 24 e7 ca de e4 e0 bb 37 2d 24 57 cf 78 \r
+e2 bd 12 86 22 8f f8 3f 10 73 1c e6 3c 90 cf f3 \r
+f9 \r
+\r
+# Prime p: \r
+04 a6 ce 8b 73 58 df a6 9b dc f7 42 61 70 05 af \r
+b5 38 5f 5f 3a 58 a2 4e f7 4a 22 a8 c0 5c b7 cc \r
+38 eb d4 cc 9d 9a 9d 78 9a 62 cd 0f 60 f0 cb 94 \r
+1d 34 23 c9 69 2e fa 4f e3 ad ff 29 0c 47 49 a3 \r
+8b \r
+\r
+# Prime q: \r
+04 04 c9 a8 03 37 1f ed b4 c5 be 39 f3 c0 0b 00 \r
+9e 5e 08 a6 3b e1 e4 00 35 cd ac a5 01 1c c7 01 \r
+cf 7e eb cb 99 f0 ff e1 7c fd 0a 4b f7 be fd 2d \r
+d5 36 ac 94 6d b7 97 fd bc 4a be 8f 29 34 9b 91 \r
+ed \r
+\r
+# p's CRT exponent dP: \r
+03 96 1c 8f 76 0a a2 bd 51 54 c7 aa fd 77 22 5b \r
+3b ac d0 13 9a e7 b5 94 8e a3 31 1f cc d8 6f b9 \r
+5c 75 af a7 67 28 4b 9b 2d e5 59 57 2f 15 d8 d0 \r
+44 c7 eb 83 a1 be 5f ad f2 cc 37 7c 0d 84 75 29 \r
+4b \r
+\r
+# q's CRT exponent dQ: \r
+02 21 97 e0 66 74 21 96 aa bc 03 fa 2f ee b4 e7 \r
+0b 15 cb 78 7d 61 7a cd 31 bb 75 c7 bc 23 4a d7 \r
+06 f7 c4 8d 21 82 d1 f0 ff 9c 22 8d cf 41 96 7b \r
+6c 0b a6 d2 c0 ad 11 0a 1b 85 78 31 ec 24 5e 2c \r
+b1 \r
+\r
+# CRT coefficient qInv: \r
+04 01 c4 c0 c5 3d 45 db db 5e 9d 96 d0 fe cf 42 \r
+75 df 09 74 bc 4a 07 36 b4 a7 4c 32 69 05 3e fb \r
+68 6a ce 24 06 e2 2c 9e 05 8d db 4a e5 40 62 7a \r
+e2 fd b0 82 61 e8 e7 e4 bc bc 99 4d aa fa 30 5c \r
+45 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 6.1\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+40 46 ca 8b aa 33 47 ca 27 f4 9e 0d 81 f9 cc 1d \r
+71 be 9b a5 17 d4 \r
+\r
+# Seed:\r
+dd 0f 6c fe 41 5e 88 e5 a4 69 a5 1f bb a6 df d4 \r
+0a db 43 84 \r
+\r
+# Encryption:\r
+06 30 ee bc d2 85 6c 24 f7 98 80 6e 41 f9 e6 73 \r
+45 ed a9 ce da 38 6a cc 9f ac ae a1 ee ed 06 ac \r
+e5 83 70 97 18 d9 d1 69 fa df 41 4d 5c 76 f9 29 \r
+96 83 3e f3 05 b7 5b 1e 4b 95 f6 62 a2 0f ae dc \r
+3b ae 0c 48 27 a8 bf 8a 88 ed bd 57 ec 20 3a 27 \r
+a8 41 f0 2e 43 a6 15 ba b1 a8 ca c0 70 1d e3 4d \r
+eb de f6 2a 08 80 89 b5 5e c3 6e a7 52 2f d3 ec \r
+8d 06 b6 a0 73 e6 df 83 31 53 bc 0a ef d9 3b d1 \r
+a3 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 6.2\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+5c c7 2c 60 23 1d f0 3b 3d 40 f9 b5 79 31 bc 31 \r
+10 9f 97 25 27 f2 8b 19 e7 48 0c 72 88 cb 3c 92 \r
+b2 25 12 21 4e 4b e6 c9 14 79 2d da bd f5 7f aa \r
+8a a7 \r
+\r
+# Seed:\r
+8d 14 bd 94 6a 13 51 14 8f 5c ae 2e d9 a0 c6 53 \r
+e8 5e bd 85 \r
+\r
+# Encryption:\r
+0e bc 37 37 61 73 a4 fd 2f 89 cc 55 c2 ca 62 b2 \r
+6b 11 d5 1c 3c 7c e4 9e 88 45 f7 4e 76 07 31 7c \r
+43 6b c8 d2 3b 96 67 df eb 9d 08 72 34 b4 7b c6 \r
+83 71 75 ae 5c 05 59 f6 b8 1d 7d 22 41 6d 3e 50 \r
+f4 ac 53 3d 8f 08 12 f2 db 9e 79 1f e9 c7 75 ac \r
+8b 6a d0 f5 35 ad 9c eb 23 a4 a0 20 14 c5 8a b3 \r
+f8 d3 16 14 99 a2 60 f3 93 48 e7 14 ae 2a 1d 34 \r
+43 20 8f d8 b7 22 cc fd fb 39 3e 98 01 1f 99 e6 \r
+3f \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 6.3\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+b2 0e 65 13 03 09 2f 4b cc b4 30 70 c0 f8 6d 23 \r
+04 93 62 ed 96 64 2f c5 63 2c 27 db 4a 52 e3 d8 \r
+31 f2 ab 06 8b 23 b1 49 87 9c 00 2f 6b f3 fe ee \r
+97 59 11 12 56 2c \r
+\r
+# Seed:\r
+6c 07 5b c4 55 20 f1 65 c0 bf 5e a4 c5 df 19 1b \r
+c9 ef 0e 44 \r
+\r
+# Encryption:\r
+0a 98 bf 10 93 61 93 94 43 6c f6 8d 8f 38 e2 f1 \r
+58 fd e8 ea 54 f3 43 5f 23 9b 8d 06 b8 32 18 44 \r
+20 24 76 ae ed 96 00 94 92 48 0c e3 a8 d7 05 49 \r
+8c 4c 8c 68 f0 15 01 dc 81 db 60 8f 60 08 73 50 \r
+c8 c3 b0 bd 2e 9e f6 a8 14 58 b7 c8 01 b8 9f 2e \r
+4f e9 9d 49 00 ba 6a 4b 5e 5a 96 d8 65 dc 67 6c \r
+77 55 92 87 94 13 0d 62 80 a8 16 0a 19 0f 2d f3 \r
+ea 7c f9 aa 02 71 d8 8e 9e 69 05 ec f1 c5 15 2d \r
+65 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 6.4\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+68 4e 30 38 c5 c0 41 f7 \r
+\r
+# Seed:\r
+3b bc 3b d6 63 7d fe 12 84 69 01 02 9b f5 b0 c0 \r
+71 03 43 9c \r
+\r
+# Encryption:\r
+00 8e 7a 67 ca cf b5 c4 e2 4b ec 7d ee 14 91 17 \r
+f1 95 98 ce 8c 45 80 8f ef 88 c6 08 ff 9c d6 e6 \r
+95 26 3b 9a 3c 0a d4 b8 ba 4c 95 23 8e 96 a8 42 \r
+2b 85 35 62 9c 8d 53 82 37 44 79 ad 13 fa 39 97 \r
+4b 24 2f 9a 75 9e ea f9 c8 3a d5 a8 ca 18 94 0a \r
+01 62 ba 75 58 76 df 26 3f 4b d5 0c 65 25 c5 60 \r
+90 26 7c 1f 0e 09 ce 08 99 a0 cf 35 9e 88 12 0a \r
+bd 9b f8 93 44 5b 3c ae 77 d3 60 73 59 ae 9a 52 \r
+f8 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 6.5\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+32 48 8c b2 62 d0 41 d6 e4 dd 35 f9 87 bf 3c a6 \r
+96 db 1f 06 ac 29 a4 46 93 \r
+\r
+# Seed:\r
+b4 6b 41 89 3e 8b ef 32 6f 67 59 38 3a 83 07 1d \r
+ae 7f ca bc \r
+\r
+# Encryption:\r
+00 00 34 74 41 6c 7b 68 bd f9 61 c3 85 73 79 44 \r
+d7 f1 f4 0c b3 95 34 3c 69 3c c0 b4 fe 63 b3 1f \r
+ed f1 ea ee ac 9c cc 06 78 b3 1d c3 2e 09 77 48 \r
+95 14 c4 f0 90 85 f6 29 8a 96 53 f0 1a ea 40 45 \r
+ff 58 2e e8 87 be 26 ae 57 5b 73 ee f7 f3 77 49 \r
+21 e3 75 a3 d1 9a dd a0 ca 31 aa 18 49 88 7c 1f \r
+42 ca c9 67 7f 7a 2f 4e 92 3f 6e 5a 86 8b 38 c0 \r
+84 ef 18 75 94 dc 9f 7f 04 8f ea 2e 02 95 53 84 \r
+ab \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 6.6\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+50 ba 14 be 84 62 72 02 79 c3 06 ba \r
+\r
+# Seed:\r
+0a 24 03 31 2a 41 e3 d5 2f 06 0f bc 13 a6 7d e5 \r
+cf 76 09 a7 \r
+\r
+# Encryption:\r
+0a 02 6d da 5f c8 78 5f 7b d9 bf 75 32 7b 63 e8 \r
+5e 2c 0f de e5 da db 65 eb dc ac 9a e1 de 95 c9 \r
+2c 67 2a b4 33 aa 7a 8e 69 ce 6a 6d 88 97 fa c4 \r
+ac 4a 54 de 84 1a e5 e5 bb ce 76 87 87 9d 79 63 \r
+4c ea 7a 30 68 40 65 c7 14 d5 24 09 b9 28 25 6b \r
+bf 53 ea bc d5 23 1e b7 25 95 04 53 73 99 bd 29 \r
+16 4b 72 6d 33 a4 6d a7 01 36 0a 41 68 a0 91 cc \r
+ab 72 d4 4a 62 fe d2 46 c0 ff ea 5b 13 48 ab 54 \r
+70 \r
+\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 7: A 1030-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n:\r
+31 11 79 f0 bc fc 9b 9d 3c a3 15 d0 0e f3 0d 7b \r
+dd 3a 2c fa e9 91 1b fe dc b9 48 b3 a4 78 2d 07 \r
+32 b6 ab 44 aa 4b f0 37 41 a6 44 dc 01 be c3 e6 \r
+9b 01 a0 33 e6 75 d8 ac d7 c4 92 5c 6b 1a ec 31 \r
+19 05 1d fd 89 76 2d 21 5d 45 47 5f fc b5 9f 90 \r
+81 48 62 3f 37 17 71 56 f6 ae 86 dd 7a 7c 5f 43 \r
+dc 1e 1f 90 82 54 05 8a 28 4a 5f 06 c0 02 17 93 \r
+a8 7f 1a c5 fe ff 7d ca ee 69 c5 e5 1a 37 89 e3 \r
+73 \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+07 0c fc ff 2f eb 82 76 e2 74 32 c4 5d fe e4 8f \r
+49 b7 91 7d 65 30 e1 f0 ca 34 60 f3 2e 02 76 17 \r
+44 87 c5 6e 22 a4 5d 25 00 d7 77 54 95 21 9d 7d \r
+16 5a 9c f3 bd 92 c3 2a f9 a9 8d 8d c9 cc 29 68 \r
+00 ad c9 4a 0a 54 fb 40 f3 42 91 bf 84 ee 8e a1 \r
+2b 6f 10 93 59 c6 d3 54 2a 50 f9 c7 67 f5 cf ff \r
+05 a6 81 c2 e6 56 fb 77 ca aa db 4b e9 46 8d 8a \r
+bc d4 df 98 f5 8e 86 d2 05 3f a1 34 9f 74 8e 21 \r
+b1 \r
+\r
+# Prime p: \r
+07 49 26 2c 11 1c d4 70 ec 25 66 e6 b3 73 2f c0 \r
+93 29 46 9a a1 90 71 d3 b9 c0 19 06 51 4c 6f 1d \r
+26 ba a1 4b ea b0 97 1c 8b 7e 61 1a 4f 79 00 9d \r
+6f ea 77 69 28 ca 25 28 5b 0d e3 64 3d 1a 3f 8c \r
+71 \r
+\r
+# Prime q: \r
+06 bc 1e 50 e9 6c 02 bf 63 6e 9e ea 8b 89 9b be \r
+bf 76 51 de 77 dd 47 4c 3e 9b c2 3b ad 81 82 b6 \r
+19 04 c7 d9 7d fb eb fb 1e 00 10 88 78 b6 e6 7e \r
+41 53 91 d6 79 42 c2 b2 bf 9b 44 35 f8 8b 0c b0 \r
+23 \r
+\r
+# p's CRT exponent dP: \r
+03 bc 7e a7 f0 aa b1 43 ab c6 ce 8b 97 11 86 36 \r
+a3 01 72 e4 cf e0 2c 8f a0 dd a3 b7 ba af 90 f8 \r
+09 29 82 98 55 25 f4 88 bd fc b4 bd 72 6e 22 63 \r
+9a c6 4a 30 92 ab 7f fc bf 1d 53 34 cf a5 0b 5b \r
+f1 \r
+\r
+# q's CRT exponent dQ: \r
+02 62 a6 aa 29 c2 a3 c6 7d c5 34 6c 06 38 1a fd \r
+98 7a a3 cc 93 cf bf ec f5 4f dd 9f 9d 78 7d 7f \r
+59 a5 23 d3 98 97 9d a1 37 a2 f6 38 1f e9 48 01 \r
+f7 c9 4d a2 15 18 dc 34 cb 40 87 0c 46 97 99 4a \r
+d9 \r
+\r
+# CRT coefficient qInv: \r
+64 9d 4c 17 b6 ee 17 21 e7 72 d0 38 9a 55 9c 3d \r
+3c df 95 50 d4 57 c4 6b 03 7b 74 64 1b 1d 52 16 \r
+6a f8 a2 13 c8 39 62 06 cd fb a4 42 2f 18 d6 f6 \r
+1d bc b5 d2 14 c9 71 bf 48 2a eb 97 6a 73 70 c2 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 7.1\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+47 aa e9 09 \r
+\r
+# Seed:\r
+43 dd 09 a0 7f f4 ca c7 1c aa 46 32 ee 5e 1c 1d \r
+ae e4 cd 8f \r
+\r
+# Encryption:\r
+16 88 e4 ce 77 94 bb a6 cb 70 14 16 9e cd 55 9c \r
+ed e2 a3 0b 56 a5 2b 68 d9 fe 18 cf 19 73 ef 97 \r
+b2 a0 31 53 95 1c 75 5f 62 94 aa 49 ad bd b5 58 \r
+45 ab 68 75 fb 39 86 c9 3e cf 92 79 62 84 0d 28 \r
+2f 9e 54 ce 8b 69 0f 7c 0c b8 bb d7 34 40 d9 57 \r
+1d 1b 16 cd 92 60 f9 ea b4 78 3c c4 82 e5 22 3d \r
+c6 09 73 87 17 83 ec 27 b0 ae 0f d4 77 32 cb c2 \r
+86 a1 73 fc 92 b0 0f b4 ba 68 24 64 7c d9 3c 85 \r
+c1 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 7.2\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+1d 9b 2e 22 23 d9 bc 13 bf b9 f1 62 ce 73 5d b4 \r
+8b a7 c6 8f 68 22 a0 a1 a7 b6 ae 16 58 34 e7 \r
+\r
+# Seed:\r
+3a 9c 3c ec 7b 84 f9 bd 3a de cb c6 73 ec 99 d5 \r
+4b 22 bc 9b \r
+\r
+# Encryption:\r
+10 52 ed 39 7b 2e 01 e1 d0 ee 1c 50 bf 24 36 3f \r
+95 e5 04 f4 a0 34 34 a0 8f d8 22 57 4e d6 b9 73 \r
+6e db b5 f3 90 db 10 32 14 79 a8 a1 39 35 0e 2b \r
+d4 97 7c 37 78 ef 33 1f 3e 78 ae 11 8b 26 84 51 \r
+f2 0a 2f 01 d4 71 f5 d5 3c 56 69 37 17 1b 2d bc \r
+2d 4b de 45 9a 57 99 f0 37 2d 65 74 23 9b 23 23 \r
+d2 45 d0 bb 81 c2 86 b6 3c 89 a3 61 01 73 37 e4 \r
+90 2f 88 a4 67 f4 c7 f2 44 bf d5 ab 46 43 7f f3 \r
+b6 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 7.3\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+d9 76 fc \r
+\r
+# Seed:\r
+76 a7 5e 5b 61 57 a5 56 cf 88 84 bb 2e 45 c2 93 \r
+dd 54 5c f5 \r
+\r
+# Encryption:\r
+21 55 cd 84 3f f2 4a 4e e8 ba db 76 94 26 00 28 \r
+a4 90 81 3b a8 b3 69 a4 cb f1 06 ec 14 8e 52 98 \r
+70 7f 59 65 be 7d 10 1c 10 49 ea 85 84 c2 4c d6 \r
+34 55 ad 9c 10 4d 68 62 82 d3 fb 80 3a 4c 11 c1 \r
+c2 e9 b9 1c 71 78 80 1d 1b 66 40 f0 03 f5 72 8d \r
+f0 07 b8 a4 cc c9 2b ce 05 e4 1a 27 27 8d 7c 85 \r
+01 8c 52 41 43 13 a5 07 77 89 00 1d 4f 01 91 0b \r
+72 aa d0 5d 22 0a a1 4a 58 73 3a 74 89 bc 54 55 \r
+6b \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 7.4\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+d4 73 86 23 df 22 3a a4 38 43 df 84 67 53 4c 41 \r
+d0 13 e0 c8 03 c6 24 e2 63 66 6b 23 9b de 40 a5 \r
+f2 9a eb 8d e7 9e 3d aa 61 dd 03 70 f4 9b d4 b0 \r
+13 83 4b 98 21 2a ef 6b 1c 5e e3 73 b3 cb \r
+\r
+# Seed:\r
+78 66 31 4a 6a d6 f2 b2 50 a3 59 41 db 28 f5 86 \r
+4b 58 58 59 \r
+\r
+# Encryption:\r
+0a b1 4c 37 3a eb 7d 43 28 d0 aa ad 8c 09 4d 88 \r
+b9 eb 09 8b 95 f2 10 54 a2 90 82 52 2b e7 c2 7a \r
+31 28 78 b6 37 91 7e 3d 81 9e 6c 3c 56 8d b5 d8 \r
+43 80 2b 06 d5 1d 9e 98 a2 be 0b f4 0c 03 14 23 \r
+b0 0e df bf f8 32 0e fb 91 71 bd 20 44 65 3a 4c \r
+b9 c5 12 2f 6c 65 e8 3c da 2e c3 c1 26 02 7a 9c \r
+1a 56 ba 87 4d 0f ea 23 f3 80 b8 2c f2 40 b8 cf \r
+54 00 04 75 8c 4c 77 d9 34 15 7a 74 f3 fc 12 bf \r
+ac \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 7.5\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+bb 47 23 1c a5 ea 1d 3a d4 6c 99 34 5d 9a 8a 61 \r
+\r
+# Seed:\r
+b2 16 6e d4 72 d5 8d b1 0c ab 2c 6b 00 0c cc f1 \r
+0a 7d c5 09 \r
+\r
+# Encryption:\r
+02 83 87 a3 18 27 74 34 79 8b 4d 97 f4 60 06 8d \r
+f5 29 8f ab a5 04 1b a1 17 61 a1 cb 73 16 b2 41 \r
+84 11 4e c5 00 25 7e 25 89 ed 3b 60 7a 1e bb e9 \r
+7a 6c c2 e0 2b f1 b6 81 f4 23 12 a3 3b 7a 77 d8 \r
+e7 85 5c 4a 6d e0 3e 3c 04 64 3f 78 6b 91 a2 64 \r
+a0 d6 80 5e 2c ea 91 e6 81 77 eb 7a 64 d9 25 5e \r
+4f 27 e7 13 b7 cc ec 00 dc 20 0e bd 21 c2 ea 2b \r
+b8 90 fe ae 49 42 df 94 1d c3 f9 78 90 ed 34 74 \r
+78 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 7.6\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+21 84 82 70 95 d3 5c 3f 86 f6 00 e8 e5 97 54 01 \r
+32 96 \r
+\r
+# Seed:\r
+52 67 3b de 2c a1 66 c2 aa 46 13 1a c1 dc 80 8d \r
+67 d7 d3 b1 \r
+\r
+# Encryption:\r
+14 c6 78 a9 4a d6 05 25 ef 39 e9 59 b2 f3 ba 5c \r
+09 7a 94 ff 91 2b 67 db ac e8 05 35 c1 87 ab d4 \r
+7d 07 54 20 b1 87 21 52 bb a0 8f 7f c3 1f 31 3b \r
+bf 92 73 c9 12 fc 4c 01 49 a9 b0 cf b7 98 07 e3 \r
+46 eb 33 20 69 61 1b ec 0f f9 bc d1 68 f1 f7 c3 \r
+3e 77 31 3c ea 45 4b 94 e2 54 9e ec f0 02 e2 ac \r
+f7 f6 f2 d2 84 5d 4f e0 aa b2 e5 a9 2d df 68 c4 \r
+80 ae 11 24 79 35 d1 f6 25 74 84 22 16 ae 67 41 \r
+15 \r
+\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 8: A 1031-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n:\r
+5b df 0e 30 d3 21 dd a5 14 7f 88 24 08 fa 69 19 \r
+54 80 df 8f 80 d3 f6 e8 bf 58 18 50 4f 36 42 7c \r
+a9 b1 f5 54 0b 9c 65 a8 f6 97 4c f8 44 7a 24 4d \r
+92 80 20 1b b4 9f cb be 63 78 d1 94 4c d2 27 e2 \r
+30 f9 6e 3d 10 f8 19 dc ef 27 6c 64 a0 0b 2a 4b \r
+67 01 e7 d0 1d e5 fa bd e3 b1 e9 a0 df 82 f4 63 \r
+13 59 cd 22 66 96 47 fb b1 71 72 46 13 4e d7 b4 \r
+97 cf ff bd c4 2b 59 c7 3a 96 ed 90 16 62 12 df \r
+f7 \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+0f 7d 1e 9e 5a aa 25 fd 13 e4 a0 66 3a e1 44 e0 \r
+d1 5f 5c d1 8b cd b0 9d f2 cc 7e 64 e3 c5 e9 15 \r
+ad 62 64 53 04 16 1d 09 8c 71 5b b7 ab 8b d0 1d \r
+07 ea f3 fe d7 c7 ed 08 af 2a 8a 62 ef 44 ab 16 \r
+b3 20 e1 4a f7 2a 48 f9 6a fe 26 2a 0a e4 cf 65 \r
+e6 35 e9 10 79 0c d4 ee 5c ea 76 8a 4b 26 39 f7 \r
+e6 f6 77 b3 f0 bb 6b e3 2b 75 74 7d 89 09 03 6f \r
+02 64 f5 8d 40 1c db a1 31 71 61 57 a7 5e cf 63 \r
+31 \r
+\r
+# Prime p: \r
+0a 02 ef 84 48 d9 fa d8 bb d0 d0 04 c8 c2 aa 97 \r
+51 ef 97 21 c1 b0 d0 32 36 a5 4b 0d f9 47 cb ae \r
+d5 a2 55 ee 9e 8e 20 d4 91 ea 17 23 fe 09 47 04 \r
+a9 76 2e 88 af d1 6e bb 59 94 41 2c a9 66 dc 4f \r
+9f \r
+\r
+# Prime q: \r
+09 2d 36 2e 7e d3 a0 bf d9 e9 fd 0e 6c 03 01 b6 \r
+df 29 15 9c f5 0c c8 3b 9b 0c f4 d6 ee a7 1a 61 \r
+e0 02 b4 6e 0a e9 f2 de 62 d2 5b 5d 74 52 d4 98 \r
+b8 1c 9a c6 fc 58 59 3d 4c 3f b4 f5 d7 2d fb b0 \r
+a9 \r
+\r
+# p's CRT exponent dP: \r
+07 c7 14 10 af 10 39 62 db 36 74 04 e3 7a e8 50 \r
+ba a4 e9 c2 9d d9 21 45 81 52 94 a6 7c 7d 1c 6d \r
+ed 26 3a a0 30 a9 b6 33 ae 50 30 3e 14 03 5d 1a \r
+f0 14 12 3e ba 68 78 20 30 8d 8e bc 85 b6 95 7d \r
+7d \r
+\r
+# q's CRT exponent dQ: \r
+ae 2c 75 38 0c 02 c0 16 ad 05 89 1b 33 01 de 88 \r
+1f 28 ae 11 71 18 2b 6b 2c 83 be a7 c5 15 ec a9 \r
+ca 29 8c 7b 1c ab 58 17 a5 97 06 8f c8 50 60 de \r
+4d a8 a0 16 37 8a ae 43 c7 f9 67 bc c3 79 04 b9 \r
+\r
+# CRT coefficient qInv: \r
+05 98 d1 05 9e 3a da 4f 63 20 75 2c 09 d8 05 ff \r
+7d 1f 1a e0 d0 17 ae ee e9 ce fa 0d 7d d7 ff 77 \r
+5e 44 b5 78 32 2f 64 05 d6 21 1d a1 95 19 66 6a \r
+a8 7f dc 4c d8 c8 8f 6b 6e 3d 67 e9 61 dc bb a3 \r
+d0 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 8.1\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+05 0b 75 5e 5e 68 80 f7 b9 e9 d6 92 a7 4c 37 aa \r
+e4 49 b3 1b fe a6 de ff 83 74 7a 89 7f 6c 2c 82 \r
+5b b1 ad bf 85 0a 3c 96 99 4b 5d e5 b3 3c bc 7d \r
+4a 17 91 3a 79 67 \r
+\r
+# Seed:\r
+77 06 ff ca 1e cf b1 eb ee 2a 55 e5 c6 e2 4c d2 \r
+79 7a 41 25 \r
+\r
+# Encryption:\r
+09 b3 68 3d 8a 2e b0 fb 29 5b 62 ed 1f b9 29 0b \r
+71 44 57 b7 82 53 19 f4 64 78 72 af 88 9b 30 40 \r
+94 72 02 0a d1 29 12 bf 19 b1 1d 48 19 f4 96 14 \r
+82 4f fd 84 d0 9c 0a 17 e7 d1 73 09 d1 29 19 79 \r
+04 10 aa 29 95 69 9f 6a 86 db e3 24 2b 5a cc 23 \r
+af 45 69 10 80 d6 b1 ae 81 0f b3 e3 05 70 87 f0 \r
+97 00 92 ce 00 be 95 62 ff 40 53 b6 26 2c e0 ca \r
+a9 3e 13 72 3d 2e 3a 5b a0 75 d4 5f 0d 61 b5 4b \r
+61 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 8.2\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+4e b6 8d cd 93 ca 9b 19 df 11 1b d4 36 08 f5 57 \r
+02 6f e4 aa 1d 5c fa c2 27 a3 eb 5a b9 54 8c 18 \r
+a0 6d de d2 3f 81 82 59 86 b2 fc d7 11 09 ec ef \r
+7e ff 88 87 3f 07 5c 2a a0 c4 69 f6 9c 92 bc \r
+\r
+# Seed:\r
+a3 71 7d a1 43 b4 dc ff bc 74 26 65 a8 fa 95 05 \r
+85 54 83 43 \r
+\r
+# Encryption:\r
+2e cf 15 c9 7c 5a 15 b1 47 6a e9 86 b3 71 b5 7a \r
+24 28 4f 4a 16 2a 8d 0c 81 82 e7 90 5e 79 22 56 \r
+f1 81 2b a5 f8 3f 1f 7a 13 0e 42 dc c0 22 32 84 \r
+4e dc 14 a3 1a 68 ee 97 ae 56 4a 38 3a 34 11 65 \r
+64 24 c5 f6 2d db 64 60 93 c3 67 be 1f cd a4 26 \r
+cf 00 a0 6d 8a cb 7e 57 77 6f bb d8 55 ac 3d f5 \r
+06 fc 16 b1 d7 c3 f2 11 0f 3d 80 68 e9 1e 18 63 \r
+63 83 1c 84 09 68 0d 8d a9 ec d8 cf 1f a2 0e e3 \r
+9d \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 8.3\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+86 04 ac 56 32 8c 1a b5 ad 91 78 61 \r
+\r
+# Seed:\r
+ee 06 20 90 73 cc a0 26 bb 26 4e 51 85 bf 8c 68 \r
+b7 73 9f 86 \r
+\r
+# Encryption:\r
+4b c8 91 30 a5 b2 da bb 7c 2f cf 90 eb 5d 0e af \r
+9e 68 1b 71 46 a3 8f 31 73 a3 d9 cf ec 52 ea 9e \r
+0a 41 93 2e 64 8a 9d 69 34 4c 50 da 76 3f 51 a0 \r
+3c 95 76 21 31 e8 05 22 54 dc d2 24 8c ba 40 fd \r
+31 66 77 86 ce 05 a2 b7 b5 31 ac 9d ac 9e d5 84 \r
+a5 9b 67 7c 1a 8a ed 8c 5d 15 d6 8c 05 56 9e 2b \r
+e7 80 bf 7d b6 38 fd 2b fd 2a 85 ab 27 68 60 f3 \r
+77 73 38 fc a9 89 ff d7 43 d1 3e e0 8e 0c a9 89 \r
+3f \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 8.4\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+fd da 5f bf 6e c3 61 a9 d9 a4 ac 68 af 21 6a 06 \r
+86 f4 38 b1 e0 e5 c3 6b 95 5f 74 e1 07 f3 9c 0d \r
+dd cc \r
+\r
+# Seed:\r
+99 0a d5 73 dc 48 a9 73 23 5b 6d 82 54 36 18 f2 \r
+e9 55 10 5d \r
+\r
+# Encryption:\r
+2e 45 68 47 d8 fc 36 ff 01 47 d6 99 35 94 b9 39 \r
+72 27 d5 77 75 2c 79 d0 f9 04 fc b0 39 d4 d8 12 \r
+fe a6 05 a7 b5 74 dd 82 ca 78 6f 93 75 23 48 43 \r
+8e e9 f5 b5 45 49 85 d5 f0 e1 69 9e 3e 7a d1 75 \r
+a3 2e 15 f0 3d eb 04 2a b9 fe 1d d9 db 1b b8 6f \r
+8c 08 9c cb 45 e7 ef 0c 5e e7 ca 9b 72 90 ca 6b \r
+15 be d4 70 39 78 8a 8a 93 ff 83 e0 e8 d6 24 4c \r
+71 00 63 62 de ef 69 b6 f4 16 fb 3c 68 43 83 fb \r
+d0 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 8.5\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+4a 5f 49 14 be e2 5d e3 c6 93 41 de 07 \r
+\r
+# Seed:\r
+ec c6 3b 28 f0 75 6f 22 f5 2a c8 e6 ec 12 51 a6 \r
+ec 30 47 18 \r
+\r
+# Encryption:\r
+1f b9 35 6f d5 c4 b1 79 6d b2 eb f7 d0 d3 93 cc \r
+81 0a df 61 45 de fc 2f ce 71 4f 79 d9 38 00 d5 \r
+e2 ac 21 1e a8 bb ec ca 4b 65 4b 94 c3 b1 8b 30 \r
+dd 57 6c e3 4d c9 54 36 ef 57 a0 94 15 64 59 23 \r
+35 9a 5d 7b 41 71 ef 22 c2 46 70 f1 b2 29 d3 60 \r
+3e 91 f7 66 71 b7 df 97 e7 31 7c 97 73 44 76 d5 \r
+f3 d1 7d 21 cf 82 b5 ba 9f 83 df 2e 58 8d 36 98 \r
+4f d1 b5 84 46 8b d2 3b 2e 87 5f 32 f6 89 53 f7 \r
+b2 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 8.6\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+8e 07 d6 6f 7b 88 0a 72 56 3a bc d3 f3 50 92 bc \r
+33 40 9f b7 f8 8f 24 72 be \r
+\r
+# Seed:\r
+39 25 c7 1b 36 2d 40 a0 a6 de 42 14 55 79 ba 1e \r
+7d d4 59 fc \r
+\r
+# Encryption:\r
+3a fd 9c 66 00 14 7b 21 79 8d 81 8c 65 5a 0f 4c \r
+92 12 db 26 d0 b0 df dc 2a 75 94 cc b3 d2 2f 5b \r
+f1 d7 c3 e1 12 cd 73 fc 7d 50 9c 7a 8b af dd 3c \r
+27 4d 13 99 00 9f 96 09 ec 4b e6 47 7e 45 3f 07 \r
+5a a3 3d b3 82 87 0c 1c 34 09 ae f3 92 d7 38 6a \r
+e3 a6 96 b9 9a 94 b4 da 05 89 44 7e 95 5d 16 c9 \r
+8b 17 60 2a 59 bd 73 62 79 fc d8 fb 28 0c 44 62 \r
+d5 90 bf a9 bf 13 fe d5 70 ea fd e9 73 30 a2 c2 \r
+10 \r
+\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 9: A 1536-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n:\r
+cf 2c d4 1e 34 ca 3a 72 8e a5 cb 8a ff 64 c3 6d \r
+27 bd ef 53 64 e3 36 fd 68 d3 12 3c 5a 19 6a 8c \r
+28 70 13 e8 53 d5 15 6d 58 d1 51 95 45 20 fb 4f \r
+6d 7b 17 ab b6 81 77 65 90 9c 57 61 19 65 9d 90 \r
+2b 19 06 ed 8a 2b 10 c1 55 c2 4d 12 45 28 da b9 \r
+ee ae 37 9b ea c6 6e 4a 41 17 86 dc b8 fd 00 62 \r
+eb c0 30 de 12 19 a0 4c 2a 8c 1b 7d d3 13 1e 4d \r
+6b 6c ae e2 e3 1a 5e d4 1a c1 50 9b 2e f1 ee 2a \r
+b1 83 64 be 56 8c a9 41 c2 5e cc 84 ff 9d 64 3b \r
+5e c1 aa ae 10 2a 20 d7 3f 47 9b 78 0f d6 da 91 \r
+07 52 12 d9 ea c0 3a 06 74 d8 99 eb a2 e4 31 f4 \r
+c4 4b 61 5b 6b a2 23 2b d4 b3 3b ae d7 3d 62 5d \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+19 8c 14 1e 23 71 5a 92 bc cf 6a 11 9a 5b c1 13 \r
+89 46 8d 28 11 f5 48 d7 27 e1 7b 4a b0 eb 98 6d \r
+6f 21 1e fb 53 b7 1f 7c cb ea 87 ee 69 c7 5e e6 \r
+15 00 8c 53 32 de b5 2b f3 90 ab df bf e3 7d 72 \r
+05 36 81 59 b2 63 8c 1d e3 26 e2 1d 22 25 1f 0f \r
+b5 84 8b 3b f1 50 05 d2 a7 43 30 f0 af e9 16 ee \r
+62 cc c1 34 4d 1d 83 a7 09 e6 06 76 27 38 40 f7 \r
+f3 77 42 4a 5e 0a 4d a7 5f 01 b3 1f f7 68 19 cf \r
+9c bf dd 21 52 43 c3 91 7c 03 ef 38 19 93 12 e5 \r
+67 b3 bf 7a ed 3a b4 57 f3 71 ef 8a 14 23 f4 5b \r
+68 c6 e2 82 ec 11 1b ba 28 33 b9 87 fd 69 fa d8 \r
+3b c1 b8 c6 13 c5 e1 ea 16 c1 1e d1 25 ea 7e c1 \r
+\r
+# Prime p: \r
+fc 8d 6c 04 be c4 eb 9a 81 92 ca 79 00 cb e5 36 \r
+e2 e8 b5 19 de cf 33 b2 45 97 98 c6 90 9d f4 f1 \r
+76 db 7d 23 19 0f c7 2b 88 65 a7 18 af 89 5f 1b \r
+cd 91 45 29 80 27 42 3b 60 5e 70 a4 7c f5 83 90 \r
+a8 c3 e8 8f c8 c4 8e 8b 32 e3 da 21 0d fb e3 e8 \r
+81 ea 56 74 b6 a3 48 c2 1e 93 f9 e5 5e a6 5e fd \r
+\r
+# Prime q: \r
+d2 00 d4 5e 78 8a ac ea 60 6a 40 1d 04 60 f8 7d \r
+d5 c1 02 7e 12 dc 1a 0d 75 86 e8 93 9d 9c f7 89 \r
+b4 0f 51 ac 04 42 96 1d e7 d2 1c c2 1e 05 c8 31 \r
+55 c1 f2 aa 91 93 38 7c fd f9 56 cb 48 d1 53 ba \r
+27 04 06 f9 bb ba 53 7d 49 87 d9 e2 f9 94 2d 7a \r
+14 cb ff fe a7 4f ec dd a9 28 d2 3e 25 9f 5e e1 \r
+\r
+# p's CRT exponent dP: \r
+db 16 80 2f 79 a2 f0 d4 5f 35 8d 69 fd 33 e4 4b \r
+81 fa e8 28 62 2e 93 a5 42 53 e9 97 d0 1b 07 43 \r
+75 9d a0 e8 12 b4 aa 4e 6c 8b ea b2 32 8d 54 31 \r
+95 5a 41 8a 67 ff 26 a8 c5 c8 07 a5 da 35 4e 05 \r
+ef 31 cc 8c f7 58 f4 63 73 29 50 b0 3e 26 57 26 \r
+fb 94 e3 9d 6a 57 2a 26 24 4a b0 8d b7 57 52 ad \r
+\r
+# q's CRT exponent dQ: \r
+a0 a3 17 cf e7 df 14 23 f8 7a 6d ee 84 51 f4 e2 \r
+b4 a6 7e 54 97 f2 9b 4f 1e 4e 83 0b 9f ad d9 40 \r
+11 67 02 6f 55 96 e5 a3 9c 97 81 7e 0f 5f 16 e2 \r
+7e 19 ec 99 02 e0 1d 7e a6 fb 9a a3 c7 60 af ee \r
+1e 38 1b 69 de 6a c9 c0 75 85 a0 6a d9 c4 ba 00 \r
+bf 75 c8 ad 2f a8 98 a4 79 e8 0a e2 94 fe d2 a1 \r
+\r
+# CRT coefficient qInv: \r
+0b 21 f3 35 c3 53 34 2e b4 4c 3a a2 44 45 78 0c \r
+2d 65 5b 94 01 74 ca e3 8c 7c 8a 4e 64 93 c0 ba \r
+9f d3 03 74 82 67 b0 83 b9 a7 a6 cb 61 e4 2d b3 \r
+62 b8 c9 89 6d b7 06 4e 02 ad 5a e6 15 87 da 15 \r
+b4 64 9c 90 59 49 09 fe b3 7d bc b6 54 be b7 26 \r
+8e c8 01 e5 a8 b4 aa 39 11 be bd 88 54 2f 05 be \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 9.1\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+f7 35 fd 55 ba 92 59 2c 3b 52 b8 f9 c4 f6 9a aa \r
+1c be f8 fe 88 ad d0 95 59 54 12 46 7f 9c f4 ec \r
+0b 89 6c 59 ed a1 62 10 e7 54 9c 8a bb 10 cd bc \r
+21 a1 2e c9 b6 b5 b8 fd 2f 10 39 9e b6 \r
+\r
+# Seed:\r
+8e c9 65 f1 34 a3 ec 99 31 e9 2a 1c a0 dc 81 69 \r
+d5 ea 70 5c \r
+\r
+# Encryption:\r
+26 7b cd 11 8a ca b1 fc 8b a8 1c 85 d7 30 03 cb \r
+86 10 fa 55 c1 d9 7d a8 d4 8a 7c 7f 06 89 6a 4d \r
+b7 51 aa 28 42 55 b9 d3 6a d6 5f 37 65 3d 82 9f \r
+1b 37 f9 7b 80 01 94 25 45 b2 fc 2c 55 a7 37 6c \r
+a7 a1 be 4b 17 60 c8 e0 5a 33 e5 aa 25 26 b8 d9 \r
+8e 31 70 88 e7 83 4c 75 5b 2a 59 b1 26 31 a1 82 \r
+c0 5d 5d 43 ab 17 79 26 4f 84 56 f5 15 ce 57 df \r
+df 51 2d 54 93 da b7 b7 33 8d c4 b7 d7 8d b9 c0 \r
+91 ac 3b af 53 7a 69 fc 7f 54 9d 97 9f 0e ff 9a \r
+94 fd a4 16 9b d4 d1 d1 9a 69 c9 9e 33 c3 b5 54 \r
+90 d5 01 b3 9b 1e da e1 18 ff 67 93 a1 53 26 15 \r
+84 d3 a5 f3 9f 6e 68 2e 3d 17 c8 cd 12 61 fa 72 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 9.2\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+81 b9 06 60 50 15 a6 3a ab e4 2d df 11 e1 97 89 \r
+12 f5 40 4c 74 74 b2 6d ce 3e d4 82 bf 96 1e cc \r
+81 8b f4 20 c5 46 59 \r
+\r
+# Seed:\r
+ec b1 b8 b2 5f a5 0c da b0 8e 56 04 28 67 f4 af \r
+58 26 d1 6c \r
+\r
+# Encryption:\r
+93 ac 9f 06 71 ec 29 ac bb 44 4e ff c1 a5 74 13 \r
+51 d6 0f db 0e 39 3f bf 75 4a cf 0d e4 97 61 a1 \r
+48 41 df 77 72 e9 bc 82 77 39 66 a1 58 4c 4d 72 \r
+ba ea 00 11 8f 83 f3 5c ca 6e 53 7c bd 4d 81 1f \r
+55 83 b2 97 83 d8 a6 d9 4c d3 1b e7 0d 6f 52 6c \r
+10 ff 09 c6 fa 7c e0 69 79 5a 3f cd 05 11 fd 5f \r
+cb 56 4b cc 80 ea 9c 78 f3 8b 80 01 25 39 d8 a4 \r
+dd f6 fe 81 e9 cd db 7f 50 db bb bc c7 e5 d8 60 \r
+97 cc f4 ec 49 18 9f b8 bf 31 8b e6 d5 a0 71 5d \r
+51 6b 49 af 19 12 58 cd 32 dc 83 3c e6 eb 46 73 \r
+c0 3a 19 bb ac e8 8c c5 48 95 f6 36 cc 0c 1e c8 \r
+90 96 d1 1c e2 35 a2 65 ca 17 64 23 2a 68 9a e8 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 9.3\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+fd 32 64 29 df 9b 89 0e 09 b5 4b 18 b8 f3 4f 1e \r
+24 \r
+\r
+# Seed:\r
+e8 9b b0 32 c6 ce 62 2c bd b5 3b c9 46 60 14 ea \r
+77 f7 77 c0 \r
+\r
+# Encryption:\r
+81 eb dd 95 05 4b 0c 82 2e f9 ad 76 93 f5 a8 7a \r
+df b4 b4 c4 ce 70 df 2d f8 4e d4 9c 04 da 58 ba \r
+5f c2 0a 19 e1 a6 e8 b7 a3 90 0b 22 79 6d c4 e8 \r
+69 ee 6b 42 79 2d 15 a8 ec eb 56 c0 9c 69 91 4e \r
+81 3c ea 8f 69 31 e4 b8 ed 6f 42 1a f2 98 d5 95 \r
+c9 7f 47 89 c7 ca a6 12 c7 ef 36 09 84 c2 1b 93 \r
+ed c5 40 10 68 b5 af 4c 78 a8 77 1b 98 4d 53 b8 \r
+ea 8a df 2f 6a 7d 4a 0b a7 6c 75 e1 dd 9f 65 8f \r
+20 de d4 a4 60 71 d4 6d 77 91 b5 68 03 d8 fe a7 \r
+f0 b0 f8 e4 1a e3 f0 93 83 a6 f9 58 5f e7 75 3e \r
+aa ff d2 bf 94 56 31 08 be ec c2 07 bb b5 35 f5 \r
+fc c7 05 f0 dd e9 f7 08 c6 2f 49 a9 c9 03 71 d3 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 9.4\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+f1 45 9b 5f 0c 92 f0 1a 0f 72 3a 2e 56 62 48 4d \r
+8f 8c 0a 20 fc 29 da d6 ac d4 3b b5 f3 ef fd f4 \r
+e1 b6 3e 07 fd fe 66 28 d0 d7 4c a1 9b f2 d6 9e \r
+4a 0a bf 86 d2 93 92 5a 79 67 72 f8 08 8e \r
+\r
+# Seed:\r
+60 6f 3b 99 c0 b9 cc d7 71 ea a2 9e a0 e4 c8 84 \r
+f3 18 9c cc \r
+\r
+# Encryption:\r
+bc c3 5f 94 cd e6 6c b1 13 66 25 d6 25 b9 44 32 \r
+a3 5b 22 f3 d2 fa 11 a6 13 ff 0f ca 5b d5 7f 87 \r
+b9 02 cc dc 1c d0 ae bc b0 71 5e e8 69 d1 d1 fe \r
+39 5f 67 93 00 3f 5e ca 46 50 59 c8 86 60 d4 46 \r
+ff 5f 08 18 55 20 22 55 7e 38 c0 8a 67 ea d9 91 \r
+26 22 54 f1 06 82 97 5e c5 63 97 76 85 37 f4 97 \r
+7a f6 d5 f6 aa ce b7 fb 25 de c5 93 72 30 23 1f \r
+d8 97 8a f4 91 19 a2 9f 29 e4 24 ab 82 72 b4 75 \r
+62 79 2d 5c 94 f7 74 b8 82 9d 0b 0d 9f 1a 8c 9e \r
+dd f3 75 74 d5 fa 24 8e ef a9 c5 27 1f c5 ec 25 \r
+79 c8 1b dd 61 b4 10 fa 61 fe 36 e4 24 22 1c 11 \r
+3a dd b2 75 66 4c 80 1d 34 ca 8c 63 51 e4 a8 58 \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 9.5\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+53 e6 e8 c7 29 d6 f9 c3 19 dd 31 7e 74 b0 db 8e \r
+4c cc a2 5f 3c 83 05 74 6e 13 7a c6 3a 63 ef 37 \r
+39 e7 b5 95 ab b9 6e 8d 55 e5 4f 7b d4 1a b4 33 \r
+37 8f fb 91 1d \r
+\r
+# Seed:\r
+fc bc 42 14 02 e9 ec ab c6 08 2a fa 40 ba 5f 26 \r
+52 2c 84 0e \r
+\r
+# Encryption:\r
+23 2a fb c9 27 fa 08 c2 f6 a2 7b 87 d4 a5 cb 09 \r
+c0 7d c2 6f ae 73 d7 3a 90 55 88 39 f4 fd 66 d2 \r
+81 b8 7e c7 34 bc e2 37 ba 16 66 98 ed 82 91 06 \r
+a7 de 69 42 cd 6c dc e7 8f ed 8d 2e 4d 81 42 8e \r
+66 49 0d 03 62 64 ce f9 2a f9 41 d3 e3 50 55 fe \r
+39 81 e1 4d 29 cb b9 a4 f6 74 73 06 3b ae c7 9a \r
+11 79 f5 a1 7c 9c 18 32 f2 83 8f d7 d5 e5 9b b9 \r
+65 9d 56 dc e8 a0 19 ed ef 1b b3 ac cc 69 7c c6 \r
+cc 7a 77 8f 60 a0 64 c7 f6 f5 d5 29 c6 21 02 62 \r
+e0 03 de 58 3e 81 e3 16 7b 89 97 1f b8 c0 e1 5d \r
+44 ff fe f8 9b 53 d8 d6 4d d7 97 d1 59 b5 6d 2b \r
+08 ea 53 07 ea 12 c2 41 bd 58 d4 ee 27 8a 1f 2e \r
+\r
+# ---------------------------------\r
+# RSAES-OAEP Encryption Example 9.6\r
+# ---------------------------------\r
+\r
+# Message to be encrypted:\r
+b6 b2 8e a2 19 8d 0c 10 08 bc 64 \r
+\r
+# Seed:\r
+23 aa de 0e 1e 08 bb 9b 9a 78 d2 30 2a 52 f9 c2 \r
+1b 2e 1b a2 \r
+\r
+# Encryption:\r
+43 8c c7 dc 08 a6 8d a2 49 e4 25 05 f8 57 3b a6 \r
+0e 2c 27 73 d5 b2 90 f4 cf 9d ff 71 8e 84 20 81 \r
+c3 83 e6 70 24 a0 f2 95 94 ea 98 7b 9d 25 e4 b7 \r
+38 f2 85 97 0d 19 5a bb 3a 8c 80 54 e3 d7 9d 6b \r
+9c 9a 83 27 ba 59 6f 12 59 e2 71 26 67 47 66 90 \r
+7d 8d 58 2f f3 a8 47 61 54 92 9a db 1e 6d 12 35 \r
+b2 cc b4 ec 8f 66 3b a9 cc 67 0a 92 be bd 85 3c \r
+8d bf 69 c6 43 6d 01 6f 61 ad d8 36 e9 47 32 45 \r
+04 34 20 7f 9f d4 c4 3d ec 2a 12 a9 58 ef a0 1e \r
+fe 26 69 89 9b 5e 60 4c 25 5c 55 fb 71 66 de 55 \r
+89 e3 69 59 7b b0 91 68 c0 6d d5 db 17 7e 06 a1 \r
+74 0e b2 d5 c8 2f ae ca 6d 92 fc ee 99 31 ba 9f \r
+\r
+# =============================================\r
+\r
+# ===================================\r
+# Example 10: A 2048-bit RSA Key Pair\r
+# ===================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n:\r
+ae 45 ed 56 01 ce c6 b8 cc 05 f8 03 93 5c 67 4d \r
+db e0 d7 5c 4c 09 fd 79 51 fc 6b 0c ae c3 13 a8 \r
+df 39 97 0c 51 8b ff ba 5e d6 8f 3f 0d 7f 22 a4 \r
+02 9d 41 3f 1a e0 7e 4e be 9e 41 77 ce 23 e7 f5 \r
+40 4b 56 9e 4e e1 bd cf 3c 1f b0 3e f1 13 80 2d \r
+4f 85 5e b9 b5 13 4b 5a 7c 80 85 ad ca e6 fa 2f \r
+a1 41 7e c3 76 3b e1 71 b0 c6 2b 76 0e de 23 c1 \r
+2a d9 2b 98 08 84 c6 41 f5 a8 fa c2 6b da d4 a0 \r
+33 81 a2 2f e1 b7 54 88 50 94 c8 25 06 d4 01 9a \r
+53 5a 28 6a fe b2 71 bb 9b a5 92 de 18 dc f6 00 \r
+c2 ae ea e5 6e 02 f7 cf 79 fc 14 cf 3b dc 7c d8 \r
+4f eb bb f9 50 ca 90 30 4b 22 19 a7 aa 06 3a ef \r
+a2 c3 c1 98 0e 56 0c d6 4a fe 77 95 85 b6 10 76 \r
+57 b9 57 85 7e fd e6 01 09 88 ab 7d e4 17 fc 88 \r
+d8 f3 84 c4 e6 e7 2c 3f 94 3e 0c 31 c0 c4 a5 cc \r
+36 f8 79 d8 a3 ac 9d 7d 59 86 0e aa da 6b 83 bb \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+05 6b 04 21 6f e5 f3 54 ac 77 25 0a 4b 6b 0c 85 \r
+25 a8 5c 59 b0 bd 80 c5 64 50 a2 2d 5f 43 8e 59 \r
+6a 33 3a a8 75 e2 91 dd 43 f4 8c b8 8b 9d 5f c0 \r
+d4 99 f9 fc d1 c3 97 f9 af c0 70 cd 9e 39 8c 8d \r
+19 e6 1d b7 c7 41 0a 6b 26 75 df bf 5d 34 5b 80 \r
+4d 20 1a dd 50 2d 5c e2 df cb 09 1c e9 99 7b be \r
+be 57 30 6f 38 3e 4d 58 81 03 f0 36 f7 e8 5d 19 \r
+34 d1 52 a3 23 e4 a8 db 45 1d 6f 4a 5b 1b 0f 10 \r
+2c c1 50 e0 2f ee e2 b8 8d ea 4a d4 c1 ba cc b2 \r
+4d 84 07 2d 14 e1 d2 4a 67 71 f7 40 8e e3 05 64 \r
+fb 86 d4 39 3a 34 bc f0 b7 88 50 1d 19 33 03 f1 \r
+3a 22 84 b0 01 f0 f6 49 ea f7 93 28 d4 ac 5c 43 \r
+0a b4 41 49 20 a9 46 0e d1 b7 bc 40 ec 65 3e 87 \r
+6d 09 ab c5 09 ae 45 b5 25 19 01 16 a0 c2 61 01 \r
+84 82 98 50 9c 1c 3b f3 a4 83 e7 27 40 54 e1 5e \r
+97 07 50 36 e9 89 f6 09 32 80 7b 52 57 75 1e 79 \r
+\r
+# Prime p: \r
+ec f5 ae cd 1e 55 15 ff fa cb d7 5a 28 16 c6 eb \r
+f4 90 18 cd fb 46 38 e1 85 d6 6a 73 96 b6 f8 09 \r
+0f 80 18 c7 fd 95 cc 34 b8 57 dc 17 f0 cc 65 16 \r
+bb 13 46 ab 4d 58 2c ad ad 7b 41 03 35 23 87 b7 \r
+03 38 d0 84 04 7c 9d 95 39 b6 49 62 04 b3 dd 6e \r
+a4 42 49 92 07 be c0 1f 96 42 87 ff 63 36 c3 98 \r
+46 58 33 68 46 f5 6e 46 86 18 81 c1 02 33 d2 17 \r
+6b f1 5a 5e 96 dd c7 80 bc 86 8a a7 7d 3c e7 69 \r
+\r
+# Prime q: \r
+bc 46 c4 64 fc 6a c4 ca 78 3b 0e b0 8a 3c 84 1b \r
+77 2f 7e 9b 2f 28 ba bd 58 8a e8 85 e1 a0 c6 1e \r
+48 58 a0 fb 25 ac 29 99 90 f3 5b e8 51 64 c2 59 \r
+ba 11 75 cd d7 19 27 07 13 51 84 99 2b 6c 29 b7 \r
+46 dd 0d 2c ab e1 42 83 5f 7d 14 8c c1 61 52 4b \r
+4a 09 94 6d 48 b8 28 47 3f 1c e7 6b 6c b6 88 6c \r
+34 5c 03 e0 5f 41 d5 1b 5c 3a 90 a3 f2 40 73 c7 \r
+d7 4a 4f e2 5d 9c f2 1c 75 96 0f 3f c3 86 31 83 \r
+\r
+# p's CRT exponent dP: \r
+c7 35 64 57 1d 00 fb 15 d0 8a 3d e9 95 7a 50 91 \r
+5d 71 26 e9 44 2d ac f4 2b c8 2e 86 2e 56 73 ff \r
+6a 00 8e d4 d2 e3 74 61 7d f8 9f 17 a1 60 b4 3b \r
+7f da 9c b6 b6 b7 42 18 60 98 15 f7 d4 5c a2 63 \r
+c1 59 aa 32 d2 72 d1 27 fa f4 bc 8c a2 d7 73 78 \r
+e8 ae b1 9b 0a d7 da 3c b3 de 0a e7 31 49 80 f6 \r
+2b 6d 4b 0a 87 5d 1d f0 3c 1b ae 39 cc d8 33 ef \r
+6c d7 e2 d9 52 8b f0 84 d1 f9 69 e7 94 e9 f6 c1 \r
+\r
+# q's CRT exponent dQ: \r
+26 58 b3 7f 6d f9 c1 03 0b e1 db 68 11 7f a9 d8 \r
+7e 39 ea 2b 69 3b 7e 6d 3a 2f 70 94 74 13 ee c6 \r
+14 2e 18 fb 8d fc b6 ac 54 5d 7c 86 a0 ad 48 f8 \r
+45 71 70 f0 ef b2 6b c4 81 26 c5 3e fd 1d 16 92 \r
+01 98 dc 2a 11 07 dc 28 2d b6 a8 0c d3 06 23 60 \r
+ba 3f a1 3f 70 e4 31 2f f1 a6 cd 6b 8f c4 cd 9c \r
+5c 3d b1 7c 6d 6a 57 21 2f 73 ae 29 f6 19 32 7b \r
+ad 59 b1 53 85 85 85 ba 4e 28 b6 0a 62 a4 5e 49 \r
+\r
+# CRT coefficient qInv: \r
+6f 38 52 6b 39 25 08 55 34 ef 3e 41 5a 83 6e de \r
+8b 86 15 8a 2c 7c bf ec cb 0b d8 34 30 4f ec 68 \r
+3b a8 d4 f4 79 c4 33 d4 34 16 e6 32 69 62 3c ea \r
+10 07 76 d8 5a ff 40 1d 3f ff 61 0e e6 54 11 ce \r
+3b 13 63 d6 3a 97 09 ee de 42 64 7c ea 56 14 93 \r
+d5 45 70 a8 79 c1 86 82 cd 97 71 0b 96 20 5e c3 \r
+11 17 d7 3b 5f 36 22 3f ad d6 e8 ba 90 dd 7c 0e \r
+e6 1d 44 e1 63 25 1e 20 c7 f6 6e b3 05 11 7c b8 \r
+\r
+# ----------------------------------\r
+# RSAES-OAEP Encryption Example 10.1\r
+# ----------------------------------\r
+\r
+# Message to be encrypted:\r
+8b ba 6b f8 2a 6c 0f 86 d5 f1 75 6e 97 95 68 70 \r
+b0 89 53 b0 6b 4e b2 05 bc 16 94 ee \r
+\r
+# Seed:\r
+47 e1 ab 71 19 fe e5 6c 95 ee 5e aa d8 6f 40 d0 \r
+aa 63 bd 33 \r
+\r
+# Encryption:\r
+53 ea 5d c0 8c d2 60 fb 3b 85 85 67 28 7f a9 15 \r
+52 c3 0b 2f eb fb a2 13 f0 ae 87 70 2d 06 8d 19 \r
+ba b0 7f e5 74 52 3d fb 42 13 9d 68 c3 c5 af ee \r
+e0 bf e4 cb 79 69 cb f3 82 b8 04 d6 e6 13 96 14 \r
+4e 2d 0e 60 74 1f 89 93 c3 01 4b 58 b9 b1 95 7a \r
+8b ab cd 23 af 85 4f 4c 35 6f b1 66 2a a7 2b fc \r
+c7 e5 86 55 9d c4 28 0d 16 0c 12 67 85 a7 23 eb \r
+ee be ff 71 f1 15 94 44 0a ae f8 7d 10 79 3a 87 \r
+74 a2 39 d4 a0 4c 87 fe 14 67 b9 da f8 52 08 ec \r
+6c 72 55 79 4a 96 cc 29 14 2f 9a 8b d4 18 e3 c1 \r
+fd 67 34 4b 0c d0 82 9d f3 b2 be c6 02 53 19 62 \r
+93 c6 b3 4d 3f 75 d3 2f 21 3d d4 5c 62 73 d5 05 \r
+ad f4 cc ed 10 57 cb 75 8f c2 6a ee fa 44 12 55 \r
+ed 4e 64 c1 99 ee 07 5e 7f 16 64 61 82 fd b4 64 \r
+73 9b 68 ab 5d af f0 e6 3e 95 52 01 68 24 f0 54 \r
+bf 4d 3c 8c 90 a9 7b b6 b6 55 32 84 eb 42 9f cc \r
+\r
+# ----------------------------------\r
+# RSAES-OAEP Encryption Example 10.2\r
+# ----------------------------------\r
+\r
+# Message to be encrypted:\r
+e6 ad 18 1f 05 3b 58 a9 04 f2 45 75 10 37 3e 57 \r
+\r
+# Seed:\r
+6d 17 f5 b4 c1 ff ac 35 1d 19 5b f7 b0 9d 09 f0 \r
+9a 40 79 cf \r
+\r
+# Encryption:\r
+a2 b1 a4 30 a9 d6 57 e2 fa 1c 2b b5 ed 43 ff b2 \r
+5c 05 a3 08 fe 90 93 c0 10 31 79 5f 58 74 40 01 \r
+10 82 8a e5 8f b9 b5 81 ce 9d dd d3 e5 49 ae 04 \r
+a0 98 54 59 bd e6 c6 26 59 4e 7b 05 dc 42 78 b2 \r
+a1 46 5c 13 68 40 88 23 c8 5e 96 dc 66 c3 a3 09 \r
+83 c6 39 66 4f c4 56 9a 37 fe 21 e5 a1 95 b5 77 \r
+6e ed 2d f8 d8 d3 61 af 68 6e 75 02 29 bb d6 63 \r
+f1 61 86 8a 50 61 5e 0c 33 7b ec 0c a3 5f ec 0b \r
+b1 9c 36 eb 2e 0b bc c0 58 2f a1 d9 3a ac db 06 \r
+10 63 f5 9f 2c e1 ee 43 60 5e 5d 89 ec a1 83 d2 \r
+ac df e9 f8 10 11 02 2a d3 b4 3a 3d d4 17 da c9 \r
+4b 4e 11 ea 81 b1 92 96 6e 96 6b 18 20 82 e7 19 \r
+64 60 7b 4f 80 02 f3 62 99 84 4a 11 f2 ae 0f ae \r
+ac 2e ae 70 f8 f4 f9 80 88 ac dc d0 ac 55 6e 9f \r
+cc c5 11 52 19 08 fa d2 6f 04 c6 42 01 45 03 05 \r
+77 87 58 b0 53 8b f8 b5 bb 14 4a 82 8e 62 97 95 \r
+\r
+# ----------------------------------\r
+# RSAES-OAEP Encryption Example 10.3\r
+# ----------------------------------\r
+\r
+# Message to be encrypted:\r
+51 0a 2c f6 0e 86 6f a2 34 05 53 c9 4e a3 9f bc \r
+25 63 11 e8 3e 94 45 4b 41 24 \r
+\r
+# Seed:\r
+38 53 87 51 4d ec cc 7c 74 0d d8 cd f9 da ee 49 \r
+a1 cb fd 54 \r
+\r
+# Encryption:\r
+98 86 c3 e6 76 4a 8b 9a 84 e8 41 48 eb d8 c3 b1 \r
+aa 80 50 38 1a 78 f6 68 71 4c 16 d9 cf d2 a6 ed \r
+c5 69 79 c5 35 d9 de e3 b4 4b 85 c1 8b e8 92 89 \r
+92 37 17 11 47 22 16 d9 5d da 98 d2 ee 83 47 c9 \r
+b1 4d ff df f8 4a a4 8d 25 ac 06 f7 d7 e6 53 98 \r
+ac 96 7b 1c e9 09 25 f6 7d ce 04 9b 7f 81 2d b0 \r
+74 29 97 a7 4d 44 fe 81 db e0 e7 a3 fe af 2e 5c \r
+40 af 88 8d 55 0d db be 3b c2 06 57 a2 95 43 f8 \r
+fc 29 13 b9 bd 1a 61 b2 ab 22 56 ec 40 9b bd 7d \r
+c0 d1 77 17 ea 25 c4 3f 42 ed 27 df 87 38 bf 4a \r
+fc 67 66 ff 7a ff 08 59 55 5e e2 83 92 0f 4c 8a \r
+63 c4 a7 34 0c ba fd dc 33 9e cd b4 b0 51 50 02 \r
+f9 6c 93 2b 5b 79 16 7a f6 99 c0 ad 3f cc fd f0 \r
+f4 4e 85 a7 02 62 bf 2e 18 fe 34 b8 50 58 99 75 \r
+e8 67 ff 96 9d 48 ea bf 21 22 71 54 6c dc 05 a6 \r
+9e cb 52 6e 52 87 0c 83 6f 30 7b d7 98 78 0e de \r
+\r
+# ----------------------------------\r
+# RSAES-OAEP Encryption Example 10.4\r
+# ----------------------------------\r
+\r
+# Message to be encrypted:\r
+bc dd 19 0d a3 b7 d3 00 df 9a 06 e2 2c aa e2 a7 \r
+5f 10 c9 1f f6 67 b7 c1 6b de 8b 53 06 4a 26 49 \r
+a9 40 45 c9 \r
+\r
+# Seed:\r
+5c ac a6 a0 f7 64 16 1a 96 84 f8 5d 92 b6 e0 ef \r
+37 ca 8b 65 \r
+\r
+# Encryption:\r
+63 18 e9 fb 5c 0d 05 e5 30 7e 16 83 43 6e 90 32 \r
+93 ac 46 42 35 8a aa 22 3d 71 63 01 3a ba 87 e2 \r
+df da 8e 60 c6 86 0e 29 a1 e9 26 86 16 3e a0 b9 \r
+17 5f 32 9c a3 b1 31 a1 ed d3 a7 77 59 a8 b9 7b \r
+ad 6a 4f 8f 43 96 f2 8c f6 f3 9c a5 81 12 e4 81 \r
+60 d6 e2 03 da a5 85 6f 3a ca 5f fe d5 77 af 49 \r
+94 08 e3 df d2 33 e3 e6 04 db e3 4a 9c 4c 90 82 \r
+de 65 52 7c ac 63 31 d2 9d c8 0e 05 08 a0 fa 71 \r
+22 e7 f3 29 f6 cc a5 cf a3 4d 4d 1d a4 17 80 54 \r
+57 e0 08 be c5 49 e4 78 ff 9e 12 a7 63 c4 77 d1 \r
+5b bb 78 f5 b6 9b d5 78 30 fc 2c 4e d6 86 d7 9b \r
+c7 2a 95 d8 5f 88 13 4c 6b 0a fe 56 a8 cc fb c8 \r
+55 82 8b b3 39 bd 17 90 9c f1 d7 0d e3 33 5a e0 \r
+70 39 09 3e 60 6d 65 53 65 de 65 50 b8 72 cd 6d \r
+e1 d4 40 ee 03 1b 61 94 5f 62 9a d8 a3 53 b0 d4 \r
+09 39 e9 6a 3c 45 0d 2a 8d 5e ee 9f 67 80 93 c8 \r
+\r
+# ----------------------------------\r
+# RSAES-OAEP Encryption Example 10.5\r
+# ----------------------------------\r
+\r
+# Message to be encrypted:\r
+a7 dd 6c 7d c2 4b 46 f9 dd 5f 1e 91 ad a4 c3 b3 \r
+df 94 7e 87 72 32 a9 \r
+\r
+# Seed:\r
+95 bc a9 e3 85 98 94 b3 dd 86 9f a7 ec d5 bb c6 \r
+40 1b f3 e4 \r
+\r
+# Encryption:\r
+75 29 08 72 cc fd 4a 45 05 66 0d 65 1f 56 da 6d \r
+aa 09 ca 13 01 d8 90 63 2f 6a 99 2f 3d 56 5c ee \r
+46 4a fd ed 40 ed 3b 5b e9 35 67 14 ea 5a a7 65 \r
+5f 4a 13 66 c2 f1 7c 72 8f 6f 2c 5a 5d 1f 8e 28 \r
+42 9b c4 e6 f8 f2 cf f8 da 8d c0 e0 a9 80 8e 45 \r
+fd 09 ea 2f a4 0c b2 b6 ce 6f ff f5 c0 e1 59 d1 \r
+1b 68 d9 0a 85 f7 b8 4e 10 3b 09 e6 82 66 64 80 \r
+c6 57 50 5c 09 29 25 94 68 a3 14 78 6d 74 ea b1 \r
+31 57 3c f2 34 bf 57 db 7d 9e 66 cc 67 48 19 2e \r
+00 2d c0 de ea 93 05 85 f0 83 1f dc d9 bc 33 d5 \r
+1f 79 ed 2f fc 16 bc f4 d5 98 12 fc eb ca a3 f9 \r
+06 9b 0e 44 56 86 d6 44 c2 5c cf 63 b4 56 ee 5f \r
+a6 ff e9 6f 19 cd f7 51 fe d9 ea f3 59 57 75 4d \r
+bf 4b fe a5 21 6a a1 84 4d c5 07 cb 2d 08 0e 72 \r
+2e ba 15 03 08 c2 b5 ff 11 93 62 0f 17 66 ec f4 \r
+48 1b af b9 43 bd 29 28 77 f2 13 6c a4 94 ab a0 \r
+\r
+# ----------------------------------\r
+# RSAES-OAEP Encryption Example 10.6\r
+# ----------------------------------\r
+\r
+# Message to be encrypted:\r
+ea f1 a7 3a 1b 0c 46 09 53 7d e6 9c d9 22 8b bc \r
+fb 9a 8c a8 c6 c3 ef af 05 6f e4 a7 f4 63 4e d0 \r
+0b 7c 39 ec 69 22 d7 b8 ea 2c 04 eb ac \r
+\r
+# Seed:\r
+9f 47 dd f4 2e 97 ee a8 56 a9 bd bc 71 4e b3 ac \r
+22 f6 eb 32 \r
+\r
+# Encryption:\r
+2d 20 7a 73 43 2a 8f b4 c0 30 51 b3 f7 3b 28 a6 \r
+17 64 09 8d fa 34 c4 7a 20 99 5f 81 15 aa 68 16 \r
+67 9b 55 7e 82 db ee 58 49 08 c6 e6 97 82 d7 de \r
+b3 4d bd 65 af 06 3d 57 fc a7 6a 5f d0 69 49 2f \r
+d6 06 8d 99 84 d2 09 35 05 65 a6 2e 5c 77 f2 30 \r
+38 c1 2c b1 0c 66 34 70 9b 54 7c 46 f6 b4 a7 09 \r
+bd 85 ca 12 2d 74 46 5e f9 77 62 c2 97 63 e0 6d \r
+bc 7a 9e 73 8c 78 bf ca 01 02 dc 5e 79 d6 5b 97 \r
+3f 28 24 0c aa b2 e1 61 a7 8b 57 d2 62 45 7e d8 \r
+19 5d 53 e3 c7 ae 9d a0 21 88 3c 6d b7 c2 4a fd \r
+d2 32 2e ac 97 2a d3 c3 54 c5 fc ef 1e 14 6c 3a \r
+02 90 fb 67 ad f0 07 06 6e 00 42 8d 2c ec 18 ce \r
+58 f9 32 86 98 de fe f4 b2 eb 5e c7 69 18 fd e1 \r
+c1 98 cb b3 8b 7a fc 67 62 6a 9a ef ec 43 22 bf \r
+d9 0d 25 63 48 1c 9a 22 1f 78 c8 27 2c 82 d1 b6 \r
+2a b9 14 e1 c6 9f 6a f6 ef 30 ca 52 60 db 4a 46 \r
+\r
+# =============================================\r
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 (file)
index 0000000..667c753
--- /dev/null
@@ -0,0 +1,162 @@
+# =================================\r
+# WORKED-OUT EXAMPLE FOR RSASSA-PSS\r
+# =================================\r
+#\r
+# This file gives an example of the process of\r
+# signing a message with RSASSA-PSS as\r
+# specified in PKCS #1 v2.1.\r
+#\r
+# The message is an octet string of length 114,\r
+# while the size of the modulus in the public\r
+# key is 1024 bits. The message is signed via a\r
+# random salt of length 20 octets \r
+# \r
+# The underlying hash function in the EMSA-PSS\r
+# encoding method is SHA-1; the mask generation\r
+# function is MGF1 with SHA-1 as specified in \r
+# PKCS #1 v2.1.\r
+# \r
+# Integers are represented by strings of octets\r
+# with the leftmost octet being the most\r
+# significant octet. For example, \r
+#\r
+#           9,202,000 = (0x)8c 69 50. \r
+#\r
+# =============================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n: \r
+a2 ba 40 ee 07 e3 b2 bd 2f 02 ce 22 7f 36 a1 95 \r
+02 44 86 e4 9c 19 cb 41 bb bd fb ba 98 b2 2b 0e \r
+57 7c 2e ea ff a2 0d 88 3a 76 e6 5e 39 4c 69 d4 \r
+b3 c0 5a 1e 8f ad da 27 ed b2 a4 2b c0 00 fe 88 \r
+8b 9b 32 c2 2d 15 ad d0 cd 76 b3 e7 93 6e 19 95 \r
+5b 22 0d d1 7d 4e a9 04 b1 ec 10 2b 2e 4d e7 75 \r
+12 22 aa 99 15 10 24 c7 cb 41 cc 5e a2 1d 00 ee \r
+b4 1f 7c 80 08 34 d2 c6 e0 6b ce 3b ce 7e a9 a5 \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# Prime p: \r
+d1 7f 65 5b f2 7c 8b 16 d3 54 62 c9 05 cc 04 a2 \r
+6f 37 e2 a6 7f a9 c0 ce 0d ce d4 72 39 4a 0d f7 \r
+43 fe 7f 92 9e 37 8e fd b3 68 ed df f4 53 cf 00 \r
+7a f6 d9 48 e0 ad e7 57 37 1f 8a 71 1e 27 8f 6b \r
+\r
+# Prime q: \r
+c6 d9 2b 6f ee 74 14 d1 35 8c e1 54 6f b6 29 87 \r
+53 0b 90 bd 15 e0 f1 49 63 a5 e2 63 5a db 69 34 \r
+7e c0 c0 1b 2a b1 76 3f d8 ac 1a 59 2f b2 27 57 \r
+46 3a 98 24 25 bb 97 a3 a4 37 c5 bf 86 d0 3f 2f \r
+\r
+# p's CRT exponent dP: \r
+9d 0d bf 83 e5 ce 9e 4b 17 54 dc d5 cd 05 bc b7 \r
+b5 5f 15 08 33 0e a4 9f 14 d4 e8 89 55 0f 82 56 \r
+cb 5f 80 6d ff 34 b1 7a da 44 20 88 53 57 7d 08 \r
+e4 26 28 90 ac f7 52 46 1c ea 05 54 76 01 bc 4f \r
+\r
+# q's CRT exponent dQ: \r
+12 91 a5 24 c6 b7 c0 59 e9 0e 46 dc 83 b2 17 1e \r
+b3 fa 98 81 8f d1 79 b6 c8 bf 6c ec aa 47 63 03 \r
+ab f2 83 fe 05 76 9c fc 49 57 88 fe 5b 1d df de \r
+9e 88 4a 3c d5 e9 36 b7 e9 55 eb f9 7e b5 63 b1 \r
+\r
+# CRT coefficient qInv: \r
+a6 3f 1d a3 8b 95 0c 9a d1 c6 7c e0 d6 77 ec 29 \r
+14 cd 7d 40 06 2d f4 2a 67 eb 19 8a 17 6f 97 42 \r
+aa c7 c5 fe a1 4f 22 97 66 2b 84 81 2c 4d ef c4 \r
+9a 80 25 ab 43 82 28 6b e4 c0 37 88 dd 01 d6 9f \r
+\r
+# ---------------------------------\r
+# Step-by-step RSASSA-PSS Signature\r
+# ---------------------------------\r
+\r
+# Message M to be signed:\r
+85 9e ef 2f d7 8a ca 00 30 8b dc 47 11 93 bf 55 \r
+bf 9d 78 db 8f 8a 67 2b 48 46 34 f3 c9 c2 6e 64 \r
+78 ae 10 26 0f e0 dd 8c 08 2e 53 a5 29 3a f2 17 \r
+3c d5 0c 6d 5d 35 4f eb f7 8b 26 02 1c 25 c0 27 \r
+12 e7 8c d4 69 4c 9f 46 97 77 e4 51 e7 f8 e9 e0 \r
+4c d3 73 9c 6b bf ed ae 48 7f b5 56 44 e9 ca 74 \r
+ff 77 a5 3c b7 29 80 2f 6e d4 a5 ff a8 ba 15 98 \r
+90 fc \r
+\r
+# mHash    = Hash(M)\r
+# salt     = random string of octets\r
+# M'       = Padding || mHash || salt\r
+# H        = Hash(M')\r
+# DB       = Padding || salt \r
+# dbMask   = MGF(H, length(DB))\r
+# maskedDB = DB xor dbMask (leftmost bit set to\r
+#            zero)\r
+# EM       = maskedDB || H || 0xbc\r
+\r
+# mHash:\r
+37 b6 6a e0 44 58 43 35 3d 47 ec b0 b4 fd 14 c1 \r
+10 e6 2d 6a \r
+\r
+# salt:\r
+e3 b5 d5 d0 02 c1 bc e5 0c 2b 65 ef 88 a1 88 d8 \r
+3b ce 7e 61 \r
+\r
+# M':\r
+00 00 00 00 00 00 00 00 37 b6 6a e0 44 58 43 35 \r
+3d 47 ec b0 b4 fd 14 c1 10 e6 2d 6a e3 b5 d5 d0 \r
+02 c1 bc e5 0c 2b 65 ef 88 a1 88 d8 3b ce 7e 61 \r
+\r
+# H:\r
+df 1a 89 6f 9d 8b c8 16 d9 7c d7 a2 c4 3b ad 54 \r
+6f be 8c fe \r
+\r
+# DB:\r
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \r
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \r
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \r
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \r
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \r
+00 00 00 00 00 00 01 e3 b5 d5 d0 02 c1 bc e5 0c \r
+2b 65 ef 88 a1 88 d8 3b ce 7e 61 \r
+\r
+# dbMask:\r
+66 e4 67 2e 83 6a d1 21 ba 24 4b ed 65 76 b8 67 \r
+d9 a4 47 c2 8a 6e 66 a5 b8 7d ee 7f bc 7e 65 af \r
+50 57 f8 6f ae 89 84 d9 ba 7f 96 9a d6 fe 02 a4 \r
+d7 5f 74 45 fe fd d8 5b 6d 3a 47 7c 28 d2 4b a1 \r
+e3 75 6f 79 2d d1 dc e8 ca 94 44 0e cb 52 79 ec \r
+d3 18 3a 31 1f c8 97 39 a9 66 43 13 6e 8b 0f 46 \r
+5e 87 a4 53 5c d4 c5 9b 10 02 8d \r
+\r
+# maskedDB:\r
+66 e4 67 2e 83 6a d1 21 ba 24 4b ed 65 76 b8 67 \r
+d9 a4 47 c2 8a 6e 66 a5 b8 7d ee 7f bc 7e 65 af \r
+50 57 f8 6f ae 89 84 d9 ba 7f 96 9a d6 fe 02 a4 \r
+d7 5f 74 45 fe fd d8 5b 6d 3a 47 7c 28 d2 4b a1 \r
+e3 75 6f 79 2d d1 dc e8 ca 94 44 0e cb 52 79 ec \r
+d3 18 3a 31 1f c8 96 da 1c b3 93 11 af 37 ea 4a \r
+75 e2 4b db fd 5c 1d a0 de 7c ec \r
+\r
+# Encoded message EM:\r
+66 e4 67 2e 83 6a d1 21 ba 24 4b ed 65 76 b8 67 \r
+d9 a4 47 c2 8a 6e 66 a5 b8 7d ee 7f bc 7e 65 af \r
+50 57 f8 6f ae 89 84 d9 ba 7f 96 9a d6 fe 02 a4 \r
+d7 5f 74 45 fe fd d8 5b 6d 3a 47 7c 28 d2 4b a1 \r
+e3 75 6f 79 2d d1 dc e8 ca 94 44 0e cb 52 79 ec \r
+d3 18 3a 31 1f c8 96 da 1c b3 93 11 af 37 ea 4a \r
+75 e2 4b db fd 5c 1d a0 de 7c ec df 1a 89 6f 9d \r
+8b c8 16 d9 7c d7 a2 c4 3b ad 54 6f be 8c fe bc \r
+\r
+# Signature S, the RSA decryption of EM:\r
+8d aa 62 7d 3d e7 59 5d 63 05 6c 7e c6 59 e5 44 \r
+06 f1 06 10 12 8b aa e8 21 c8 b2 a0 f3 93 6d 54 \r
+dc 3b dc e4 66 89 f6 b7 95 1b b1 8e 84 05 42 76 \r
+97 18 d5 71 5d 21 0d 85 ef bb 59 61 92 03 2c 42 \r
+be 4c 29 97 2c 85 62 75 eb 6d 5a 45 f0 5f 51 87 \r
+6f c6 74 3d ed dd 28 ca ec 9b b3 0e a9 9e 02 c3 \r
+48 82 69 60 4f e4 97 f7 4c cd 7c 7f ca 16 71 89 \r
+71 23 cb d3 0d ef 5d 54 a2 b5 53 6a d9 0a 74 7e \r
+\r
+# =============================================\r
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 (file)
index 0000000..001e3c4
--- /dev/null
@@ -0,0 +1,2581 @@
+# ===========================\r
+# TEST VECTORS FOR RSASSA-PSS\r
+# ===========================\r
+# \r
+# This file contains test vectors for the\r
+# RSASSA-PSS signature scheme with appendix as\r
+# defined in PKCS #1 v2.1. 10 RSA keys of\r
+# different sizes have been generated. For each\r
+# key, 6 random messages of length between 1\r
+# and 256 octets have been RSASSA-PSS signed\r
+# via a random salt of length 20 octets. \r
+#\r
+# The underlying hash function in the EMSA-PSS\r
+# encoding method is SHA-1; the mask generation\r
+# function is MGF1 with SHA-1 as specified in \r
+# PKCS #1 v2.1.\r
+# \r
+# Integers are represented by strings of octets\r
+# with the leftmost octet being the most \r
+# significant octet. For example, \r
+#\r
+#           9,202,000 = (0x)8c 69 50. \r
+#\r
+# Key lengths:\r
+# \r
+# Key  1: 1024 bits\r
+# Key  2: 1025 bits\r
+# Key  3: 1026 bits\r
+# Key  4: 1027 bits\r
+# Key  5: 1028 bits\r
+# Key  6: 1029 bits\r
+# Key  7: 1030 bits\r
+# Key  8: 1031 bits\r
+# Key  9: 1536 bits\r
+# Key 10: 2048 bits\r
+#\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 1: A 1024-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n: \r
+a5 6e 4a 0e 70 10 17 58 9a 51 87 dc 7e a8 41 d1 \r
+56 f2 ec 0e 36 ad 52 a4 4d fe b1 e6 1f 7a d9 91 \r
+d8 c5 10 56 ff ed b1 62 b4 c0 f2 83 a1 2a 88 a3 \r
+94 df f5 26 ab 72 91 cb b3 07 ce ab fc e0 b1 df \r
+d5 cd 95 08 09 6d 5b 2b 8b 6d f5 d6 71 ef 63 77 \r
+c0 92 1c b2 3c 27 0a 70 e2 59 8e 6f f8 9d 19 f1 \r
+05 ac c2 d3 f0 cb 35 f2 92 80 e1 38 6b 6f 64 c4 \r
+ef 22 e1 e1 f2 0d 0c e8 cf fb 22 49 bd 9a 21 37 \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+33 a5 04 2a 90 b2 7d 4f 54 51 ca 9b bb d0 b4 47 \r
+71 a1 01 af 88 43 40 ae f9 88 5f 2a 4b be 92 e8 \r
+94 a7 24 ac 3c 56 8c 8f 97 85 3a d0 7c 02 66 c8 \r
+c6 a3 ca 09 29 f1 e8 f1 12 31 88 44 29 fc 4d 9a \r
+e5 5f ee 89 6a 10 ce 70 7c 3e d7 e7 34 e4 47 27 \r
+a3 95 74 50 1a 53 26 83 10 9c 2a ba ca ba 28 3c \r
+31 b4 bd 2f 53 c3 ee 37 e3 52 ce e3 4f 9e 50 3b \r
+d8 0c 06 22 ad 79 c6 dc ee 88 35 47 c6 a3 b3 25 \r
+\r
+# Prime p: \r
+e7 e8 94 27 20 a8 77 51 72 73 a3 56 05 3e a2 a1 \r
+bc 0c 94 aa 72 d5 5c 6e 86 29 6b 2d fc 96 79 48 \r
+c0 a7 2c bc cc a7 ea cb 35 70 6e 09 a1 df 55 a1 \r
+53 5b d9 b3 cc 34 16 0b 3b 6d cd 3e da 8e 64 43 \r
+\r
+# Prime q: \r
+b6 9d ca 1c f7 d4 d7 ec 81 e7 5b 90 fc ca 87 4a \r
+bc de 12 3f d2 70 01 80 aa 90 47 9b 6e 48 de 8d \r
+67 ed 24 f9 f1 9d 85 ba 27 58 74 f5 42 cd 20 dc \r
+72 3e 69 63 36 4a 1f 94 25 45 2b 26 9a 67 99 fd \r
+\r
+# p's CRT exponent dP: \r
+28 fa 13 93 86 55 be 1f 8a 15 9c ba ca 5a 72 ea \r
+19 0c 30 08 9e 19 cd 27 4a 55 6f 36 c4 f6 e1 9f \r
+55 4b 34 c0 77 79 04 27 bb dd 8d d3 ed e2 44 83 \r
+28 f3 85 d8 1b 30 e8 e4 3b 2f ff a0 27 86 19 79 \r
+\r
+# q's CRT exponent dQ: \r
+1a 8b 38 f3 98 fa 71 20 49 89 8d 7f b7 9e e0 a7 \r
+76 68 79 12 99 cd fa 09 ef c0 e5 07 ac b2 1e d7 \r
+43 01 ef 5b fd 48 be 45 5e ae b6 e1 67 82 55 82 \r
+75 80 a8 e4 e8 e1 41 51 d1 51 0a 82 a3 f2 e7 29 \r
+\r
+# CRT coefficient qInv: \r
+27 15 6a ba 41 26 d2 4a 81 f3 a5 28 cb fb 27 f5 \r
+68 86 f8 40 a9 f6 e8 6e 17 a4 4b 94 fe 93 19 58 \r
+4b 8e 22 fd de 1e 5a 2e 3b d8 aa 5b a8 d8 58 41 \r
+94 eb 21 90 ac f8 32 b8 47 f1 3a 3d 24 a7 9f 4d \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 1.1\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+cd c8 7d a2 23 d7 86 df 3b 45 e0 bb bc 72 13 26 \r
+d1 ee 2a f8 06 cc 31 54 75 cc 6f 0d 9c 66 e1 b6 \r
+23 71 d4 5c e2 39 2e 1a c9 28 44 c3 10 10 2f 15 \r
+6a 0d 8d 52 c1 f4 c4 0b a3 aa 65 09 57 86 cb 76 \r
+97 57 a6 56 3b a9 58 fe d0 bc c9 84 e8 b5 17 a3 \r
+d5 f5 15 b2 3b 8a 41 e7 4a a8 67 69 3f 90 df b0 \r
+61 a6 e8 6d fa ae e6 44 72 c0 0e 5f 20 94 57 29 \r
+cb eb e7 7f 06 ce 78 e0 8f 40 98 fb a4 1f 9d 61 \r
+93 c0 31 7e 8b 60 d4 b6 08 4a cb 42 d2 9e 38 08 \r
+a3 bc 37 2d 85 e3 31 17 0f cb f7 cc 72 d0 b7 1c \r
+29 66 48 b3 a4 d1 0f 41 62 95 d0 80 7a a6 25 ca \r
+b2 74 4f d9 ea 8f d2 23 c4 25 37 02 98 28 bd 16 \r
+be 02 54 6f 13 0f d2 e3 3b 93 6d 26 76 e0 8a ed \r
+1b 73 31 8b 75 0a 01 67 d0 \r
+\r
+# Salt:\r
+de e9 59 c7 e0 64 11 36 14 20 ff 80 18 5e d5 7f \r
+3e 67 76 af \r
+\r
+# Signature:\r
+90 74 30 8f b5 98 e9 70 1b 22 94 38 8e 52 f9 71 \r
+fa ac 2b 60 a5 14 5a f1 85 df 52 87 b5 ed 28 87 \r
+e5 7c e7 fd 44 dc 86 34 e4 07 c8 e0 e4 36 0b c2 \r
+26 f3 ec 22 7f 9d 9e 54 63 8e 8d 31 f5 05 12 15 \r
+df 6e bb 9c 2f 95 79 aa 77 59 8a 38 f9 14 b5 b9 \r
+c1 bd 83 c4 e2 f9 f3 82 a0 d0 aa 35 42 ff ee 65 \r
+98 4a 60 1b c6 9e b2 8d eb 27 dc a1 2c 82 c2 d4 \r
+c3 f6 6c d5 00 f1 ff 2b 99 4d 8a 4e 30 cb b3 3c \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 1.2\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+85 13 84 cd fe 81 9c 22 ed 6c 4c cb 30 da eb 5c \r
+f0 59 bc 8e 11 66 b7 e3 53 0c 4c 23 3e 2b 5f 8f \r
+71 a1 cc a5 82 d4 3e cc 72 b1 bc a1 6d fc 70 13 \r
+22 6b 9e \r
+\r
+# Salt:\r
+ef 28 69 fa 40 c3 46 cb 18 3d ab 3d 7b ff c9 8f \r
+d5 6d f4 2d \r
+\r
+# Signature:\r
+3e f7 f4 6e 83 1b f9 2b 32 27 41 42 a5 85 ff ce \r
+fb dc a7 b3 2a e9 0d 10 fb 0f 0c 72 99 84 f0 4e \r
+f2 9a 9d f0 78 07 75 ce 43 73 9b 97 83 83 90 db \r
+0a 55 05 e6 3d e9 27 02 8d 9d 29 b2 19 ca 2c 45 \r
+17 83 25 58 a5 5d 69 4a 6d 25 b9 da b6 60 03 c4 \r
+cc cd 90 78 02 19 3b e5 17 0d 26 14 7d 37 b9 35 \r
+90 24 1b e5 1c 25 05 5f 47 ef 62 75 2c fb e2 14 \r
+18 fa fe 98 c2 2c 4d 4d 47 72 4f db 56 69 e8 43 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 1.3\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+a4 b1 59 94 17 61 c4 0c 6a 82 f2 b8 0d 1b 94 f5 \r
+aa 26 54 fd 17 e1 2d 58 88 64 67 9b 54 cd 04 ef \r
+8b d0 30 12 be 8d c3 7f 4b 83 af 79 63 fa ff 0d \r
+fa 22 54 77 43 7c 48 01 7f f2 be 81 91 cf 39 55 \r
+fc 07 35 6e ab 3f 32 2f 7f 62 0e 21 d2 54 e5 db \r
+43 24 27 9f e0 67 e0 91 0e 2e 81 ca 2c ab 31 c7 \r
+45 e6 7a 54 05 8e b5 0d 99 3c db 9e d0 b4 d0 29 \r
+c0 6d 21 a9 4c a6 61 c3 ce 27 fa e1 d6 cb 20 f4 \r
+56 4d 66 ce 47 67 58 3d 0e 5f 06 02 15 b5 90 17 \r
+be 85 ea 84 89 39 12 7b d8 c9 c4 d4 7b 51 05 6c \r
+03 1c f3 36 f1 7c 99 80 f3 b8 f5 b9 b6 87 8e 8b \r
+79 7a a4 3b 88 26 84 33 3e 17 89 3f e9 ca a6 aa \r
+29 9f 7e d1 a1 8e e2 c5 48 64 b7 b2 b9 9b 72 61 \r
+8f b0 25 74 d1 39 ef 50 f0 19 c9 ee f4 16 97 13 \r
+38 e7 d4 70 \r
+\r
+# Salt:\r
+71 0b 9c 47 47 d8 00 d4 de 87 f1 2a fd ce 6d f1 \r
+81 07 cc 77 \r
+\r
+# Signature:\r
+66 60 26 fb a7 1b d3 e7 cf 13 15 7c c2 c5 1a 8e \r
+4a a6 84 af 97 78 f9 18 49 f3 43 35 d1 41 c0 01 \r
+54 c4 19 76 21 f9 62 4a 67 5b 5a bc 22 ee 7d 5b \r
+aa ff aa e1 c9 ba ca 2c c3 73 b3 f3 3e 78 e6 14 \r
+3c 39 5a 91 aa 7f ac a6 64 eb 73 3a fd 14 d8 82 \r
+72 59 d9 9a 75 50 fa ca 50 1e f2 b0 4e 33 c2 3a \r
+a5 1f 4b 9e 82 82 ef db 72 8c c0 ab 09 40 5a 91 \r
+60 7c 63 69 96 1b c8 27 0d 2d 4f 39 fc e6 12 b1 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 1.4\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+bc 65 67 47 fa 9e af b3 f0 \r
+\r
+# Salt:\r
+05 6f 00 98 5d e1 4d 8e f5 ce a9 e8 2f 8c 27 be \r
+f7 20 33 5e \r
+\r
+# Signature:\r
+46 09 79 3b 23 e9 d0 93 62 dc 21 bb 47 da 0b 4f \r
+3a 76 22 64 9a 47 d4 64 01 9b 9a ea fe 53 35 9c \r
+17 8c 91 cd 58 ba 6b cb 78 be 03 46 a7 bc 63 7f \r
+4b 87 3d 4b ab 38 ee 66 1f 19 96 34 c5 47 a1 ad \r
+84 42 e0 3d a0 15 b1 36 e5 43 f7 ab 07 c0 c1 3e \r
+42 25 b8 de 8c ce 25 d4 f6 eb 84 00 f8 1f 7e 18 \r
+33 b7 ee 6e 33 4d 37 09 64 ca 79 fd b8 72 b4 d7 \r
+52 23 b5 ee b0 81 01 59 1f b5 32 d1 55 a6 de 87 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 1.5\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+b4 55 81 54 7e 54 27 77 0c 76 8e 8b 82 b7 55 64 \r
+e0 ea 4e 9c 32 59 4d 6b ff 70 65 44 de 0a 87 76 \r
+c7 a8 0b 45 76 55 0e ee 1b 2a ca bc 7e 8b 7d 3e \r
+f7 bb 5b 03 e4 62 c1 10 47 ea dd 00 62 9a e5 75 \r
+48 0a c1 47 0f e0 46 f1 3a 2b f5 af 17 92 1d c4 \r
+b0 aa 8b 02 be e6 33 49 11 65 1d 7f 85 25 d1 0f \r
+32 b5 1d 33 be 52 0d 3d df 5a 70 99 55 a3 df e7 \r
+82 83 b9 e0 ab 54 04 6d 15 0c 17 7f 03 7f dc cc \r
+5b e4 ea 5f 68 b5 e5 a3 8c 9d 7e dc cc c4 97 5f \r
+45 5a 69 09 b4 \r
+\r
+# Salt:\r
+80 e7 0f f8 6a 08 de 3e c6 09 72 b3 9b 4f bf dc \r
+ea 67 ae 8e \r
+\r
+# Signature:\r
+1d 2a ad 22 1c a4 d3 1d df 13 50 92 39 01 93 98 \r
+e3 d1 4b 32 dc 34 dc 5a f4 ae ae a3 c0 95 af 73 \r
+47 9c f0 a4 5e 56 29 63 5a 53 a0 18 37 76 15 b1 \r
+6c b9 b1 3b 3e 09 d6 71 eb 71 e3 87 b8 54 5c 59 \r
+60 da 5a 64 77 6e 76 8e 82 b2 c9 35 83 bf 10 4c \r
+3f db 23 51 2b 7b 4e 89 f6 33 dd 00 63 a5 30 db \r
+45 24 b0 1c 3f 38 4c 09 31 0e 31 5a 79 dc d3 d6 \r
+84 02 2a 7f 31 c8 65 a6 64 e3 16 97 8b 75 9f ad \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 1.6\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+10 aa e9 a0 ab 0b 59 5d 08 41 20 7b 70 0d 48 d7 \r
+5f ae dd e3 b7 75 cd 6b 4c c8 8a e0 6e 46 94 ec \r
+74 ba 18 f8 52 0d 4f 5e a6 9c bb e7 cc 2b eb a4 \r
+3e fd c1 02 15 ac 4e b3 2d c3 02 a1 f5 3d c6 c4 \r
+35 22 67 e7 93 6c fe bf 7c 8d 67 03 57 84 a3 90 \r
+9f a8 59 c7 b7 b5 9b 8e 39 c5 c2 34 9f 18 86 b7 \r
+05 a3 02 67 d4 02 f7 48 6a b4 f5 8c ad 5d 69 ad \r
+b1 7a b8 cd 0c e1 ca f5 02 5a f4 ae 24 b1 fb 87 \r
+94 c6 07 0c c0 9a 51 e2 f9 91 13 11 e3 87 7d 00 \r
+44 c7 1c 57 a9 93 39 50 08 80 6b 72 3a c3 83 73 \r
+d3 95 48 18 18 52 8c 1e 70 53 73 92 82 05 35 29 \r
+51 0e 93 5c d0 fa 77 b8 fa 53 cc 2d 47 4b d4 fb \r
+3c c5 c6 72 d6 ff dc 90 a0 0f 98 48 71 2c 4b cf \r
+e4 6c 60 57 36 59 b1 1e 64 57 e8 61 f0 f6 04 b6 \r
+13 8d 14 4f 8c e4 e2 da 73 \r
+\r
+# Salt:\r
+a8 ab 69 dd 80 1f 00 74 c2 a1 fc 60 64 98 36 c6 \r
+16 d9 96 81 \r
+\r
+# Signature:\r
+2a 34 f6 12 5e 1f 6b 0b f9 71 e8 4f bd 41 c6 32 \r
+be 8f 2c 2a ce 7d e8 b6 92 6e 31 ff 93 e9 af 98 \r
+7f bc 06 e5 1e 9b e1 4f 51 98 f9 1f 3f 95 3b d6 \r
+7d a6 0a 9d f5 97 64 c3 dc 0f e0 8e 1c be f0 b7 \r
+5f 86 8d 10 ad 3f ba 74 9f ef 59 fb 6d ac 46 a0 \r
+d6 e5 04 36 93 31 58 6f 58 e4 62 8f 39 aa 27 89 \r
+82 54 3b c0 ee b5 37 dc 61 95 80 19 b3 94 fb 27 \r
+3f 21 58 58 a0 a0 1a c4 d6 50 b9 55 c6 7f 4c 58 \r
+\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 2: A 1025-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n: \r
+01 d4 0c 1b cf 97 a6 8a e7 cd bd 8a 7b f3 e3 4f \r
+a1 9d cc a4 ef 75 a4 74 54 37 5f 94 51 4d 88 fe \r
+d0 06 fb 82 9f 84 19 ff 87 d6 31 5d a6 8a 1f f3 \r
+a0 93 8e 9a bb 34 64 01 1c 30 3a d9 91 99 cf 0c \r
+7c 7a 8b 47 7d ce 82 9e 88 44 f6 25 b1 15 e5 e9 \r
+c4 a5 9c f8 f8 11 3b 68 34 33 6a 2f d2 68 9b 47 \r
+2c bb 5e 5c ab e6 74 35 0c 59 b6 c1 7e 17 68 74 \r
+fb 42 f8 fc 3d 17 6a 01 7e dc 61 fd 32 6c 4b 33 \r
+c9 \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+02 7d 14 7e 46 73 05 73 77 fd 1e a2 01 56 57 72 \r
+17 6a 7d c3 83 58 d3 76 04 56 85 a2 e7 87 c2 3c \r
+15 57 6b c1 6b 9f 44 44 02 d6 bf c5 d9 8a 3e 88 \r
+ea 13 ef 67 c3 53 ec a0 c0 dd ba 92 55 bd 7b 8b \r
+b5 0a 64 4a fd fd 1d d5 16 95 b2 52 d2 2e 73 18 \r
+d1 b6 68 7a 1c 10 ff 75 54 5f 3d b0 fe 60 2d 5f \r
+2b 7f 29 4e 36 01 ea b7 b9 d1 ce cd 76 7f 64 69 \r
+2e 3e 53 6c a2 84 6c b0 c2 dd 48 6a 39 fa 75 b1 \r
+\r
+# Prime p: \r
+01 66 01 e9 26 a0 f8 c9 e2 6e ca b7 69 ea 65 a5 \r
+e7 c5 2c c9 e0 80 ef 51 94 57 c6 44 da 68 91 c5 \r
+a1 04 d3 ea 79 55 92 9a 22 e7 c6 8a 7a f9 fc ad \r
+77 7c 3c cc 2b 9e 3d 36 50 bc e4 04 39 9b 7e 59 \r
+d1 \r
+\r
+# Prime q: \r
+01 4e af a1 d4 d0 18 4d a7 e3 1f 87 7d 12 81 dd \r
+da 62 56 64 86 9e 83 79 e6 7a d3 b7 5e ae 74 a5 \r
+80 e9 82 7a bd 6e b7 a0 02 cb 54 11 f5 26 67 97 \r
+76 8f b8 e9 5a e4 0e 3e 8a 01 f3 5f f8 9e 56 c0 \r
+79 \r
+\r
+# p's CRT exponent dP: \r
+e2 47 cc e5 04 93 9b 8f 0a 36 09 0d e2 00 93 87 \r
+55 e2 44 4b 29 53 9a 7d a7 a9 02 f6 05 68 35 c0 \r
+db 7b 52 55 94 97 cf e2 c6 1a 80 86 d0 21 3c 47 \r
+2c 78 85 18 00 b1 71 f6 40 1d e2 e9 c2 75 6f 31 \r
+\r
+# q's CRT exponent dQ: \r
+b1 2f ba 75 78 55 e5 86 e4 6f 64 c3 8a 70 c6 8b \r
+3f 54 8d 93 d7 87 b3 99 99 9d 4c 8f 0b bd 25 81 \r
+c2 1e 19 ed 00 18 a6 d5 d3 df 86 42 4b 3a bc ad \r
+40 19 9d 31 49 5b 61 30 9f 27 c1 bf 55 d4 87 c1 \r
+\r
+# CRT coefficient qInv: \r
+56 4b 1e 1f a0 03 bd a9 1e 89 09 04 25 aa c0 5b \r
+91 da 9e e2 50 61 e7 62 8d 5f 51 30 4a 84 99 2f \r
+dc 33 76 2b d3 78 a5 9f 03 0a 33 4d 53 2b d0 da \r
+e8 f2 98 ea 9e d8 44 63 6a d5 fb 8c bd c0 3c ad \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 2.1\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+da ba 03 20 66 26 3f ae db 65 98 48 11 52 78 a5 \r
+2c 44 fa a3 a7 6f 37 51 5e d3 36 32 10 72 c4 0a \r
+9d 9b 53 bc 05 01 40 78 ad f5 20 87 51 46 aa e7 \r
+0f f0 60 22 6d cb 7b 1f 1f c2 7e 93 60 \r
+\r
+# Salt:\r
+57 bf 16 0b cb 02 bb 1d c7 28 0c f0 45 85 30 b7 \r
+d2 83 2f f7 \r
+\r
+# Signature:\r
+01 4c 5b a5 33 83 28 cc c6 e7 a9 0b f1 c0 ab 3f \r
+d6 06 ff 47 96 d3 c1 2e 4b 63 9e d9 13 6a 5f ec \r
+6c 16 d8 88 4b dd 99 cf dc 52 14 56 b0 74 2b 73 \r
+68 68 cf 90 de 09 9a db 8d 5f fd 1d ef f3 9b a4 \r
+00 7a b7 46 ce fd b2 2d 7d f0 e2 25 f5 46 27 dc \r
+65 46 61 31 72 1b 90 af 44 53 63 a8 35 8b 9f 60 \r
+76 42 f7 8f ab 0a b0 f4 3b 71 68 d6 4b ae 70 d8 \r
+82 78 48 d8 ef 1e 42 1c 57 54 dd f4 2c 25 89 b5 \r
+b3 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 2.2\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+e4 f8 60 1a 8a 6d a1 be 34 44 7c 09 59 c0 58 57 \r
+0c 36 68 cf d5 1d d5 f9 cc d6 ad 44 11 fe 82 13 \r
+48 6d 78 a6 c4 9f 93 ef c2 ca 22 88 ce bc 2b 9b \r
+60 bd 04 b1 e2 20 d8 6e 3d 48 48 d7 09 d0 32 d1 \r
+e8 c6 a0 70 c6 af 9a 49 9f cf 95 35 4b 14 ba 61 \r
+27 c7 39 de 1b b0 fd 16 43 1e 46 93 8a ec 0c f8 \r
+ad 9e b7 2e 83 2a 70 35 de 9b 78 07 bd c0 ed 8b \r
+68 eb 0f 5a c2 21 6b e4 0c e9 20 c0 db 0e dd d3 \r
+86 0e d7 88 ef ac ca ca 50 2d 8f 2b d6 d1 a7 c1 \r
+f4 1f f4 6f 16 81 c8 f1 f8 18 e9 c4 f6 d9 1a 0c \r
+78 03 cc c6 3d 76 a6 54 4d 84 3e 08 4e 36 3b 8a \r
+cc 55 aa 53 17 33 ed b5 de e5 b5 19 6e 9f 03 e8 \r
+b7 31 b3 77 64 28 d9 e4 57 fe 3f bc b3 db 72 74 \r
+44 2d 78 58 90 e9 cb 08 54 b6 44 4d ac e7 91 d7 \r
+27 3d e1 88 97 19 33 8a 77 fe \r
+\r
+# Salt:\r
+7f 6d d3 59 e6 04 e6 08 70 e8 98 e4 7b 19 bf 2e \r
+5a 7b 2a 90 \r
+\r
+# Signature:\r
+01 09 91 65 6c ca 18 2b 7f 29 d2 db c0 07 e7 ae \r
+0f ec 15 8e b6 75 9c b9 c4 5c 5f f8 7c 76 35 dd \r
+46 d1 50 88 2f 4d e1 e9 ae 65 e7 f7 d9 01 8f 68 \r
+36 95 4a 47 c0 a8 1a 8a 6b 6f 83 f2 94 4d 60 81 \r
+b1 aa 7c 75 9b 25 4b 2c 34 b6 91 da 67 cc 02 26 \r
+e2 0b 2f 18 b4 22 12 76 1d cd 4b 90 8a 62 b3 71 \r
+b5 91 8c 57 42 af 4b 53 7e 29 69 17 67 4f b9 14 \r
+19 47 61 62 1c c1 9a 41 f6 fb 95 3f bc bb 64 9d \r
+ea \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 2.3\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+52 a1 d9 6c 8a c3 9e 41 e4 55 80 98 01 b9 27 a5 \r
+b4 45 c1 0d 90 2a 0d cd 38 50 d2 2a 66 d2 bb 07 \r
+03 e6 7d 58 67 11 45 95 aa bf 5a 7a eb 5a 8f 87 \r
+03 4b bb 30 e1 3c fd 48 17 a9 be 76 23 00 23 60 \r
+6d 02 86 a3 fa f8 a4 d2 2b 72 8e c5 18 07 9f 9e \r
+64 52 6e 3a 0c c7 94 1a a3 38 c4 37 99 7c 68 0c \r
+ca c6 7c 66 bf a1 \r
+\r
+# Salt:\r
+fc a8 62 06 8b ce 22 46 72 4b 70 8a 05 19 da 17 \r
+e6 48 68 8c \r
+\r
+# Signature:\r
+00 7f 00 30 01 8f 53 cd c7 1f 23 d0 36 59 fd e5 \r
+4d 42 41 f7 58 a7 50 b4 2f 18 5f 87 57 85 20 c3 \r
+07 42 af d8 43 59 b6 e6 e8 d3 ed 95 9d c6 fe 48 \r
+6b ed c8 e2 cf 00 1f 63 a7 ab e1 62 56 a1 b8 4d \r
+f0 d2 49 fc 05 d3 19 4c e5 f0 91 27 42 db bf 80 \r
+dd 17 4f 6c 51 f6 ba d7 f1 6c f3 36 4e ba 09 5a \r
+06 26 7d c3 79 38 03 ac 75 26 ae be 0a 47 5d 38 \r
+b8 c2 24 7a b5 1c 48 98 df 70 47 dc 6a df 52 c6 \r
+c4 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 2.4\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+a7 18 2c 83 ac 18 be 65 70 a1 06 aa 9d 5c 4e 3d \r
+bb d4 af ae b0 c6 0c 4a 23 e1 96 9d 79 ff \r
+\r
+# Salt:\r
+80 70 ef 2d e9 45 c0 23 87 68 4b a0 d3 30 96 73 \r
+22 35 d4 40 \r
+\r
+# Signature:\r
+00 9c d2 f4 ed be 23 e1 23 46 ae 8c 76 dd 9a d3 \r
+23 0a 62 07 61 41 f1 6c 15 2b a1 85 13 a4 8e f6 \r
+f0 10 e0 e3 7f d3 df 10 a1 ec 62 9a 0c b5 a3 b5 \r
+d2 89 30 07 29 8c 30 93 6a 95 90 3b 6b a8 55 55 \r
+d9 ec 36 73 a0 61 08 fd 62 a2 fd a5 6d 1c e2 e8 \r
+5c 4d b6 b2 4a 81 ca 3b 49 6c 36 d4 fd 06 eb 7c \r
+91 66 d8 e9 48 77 c4 2b ea 62 2b 3b fe 92 51 fd \r
+c2 1d 8d 53 71 ba da d7 8a 48 82 14 79 63 35 b4 \r
+0b \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 2.5\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+86 a8 3d 4a 72 ee 93 2a 4f 56 30 af 65 79 a3 86 \r
+b7 8f e8 89 99 e0 ab d2 d4 90 34 a4 bf c8 54 dd \r
+94 f1 09 4e 2e 8c d7 a1 79 d1 95 88 e4 ae fc 1b \r
+1b d2 5e 95 e3 dd 46 1f \r
+\r
+# Salt:\r
+17 63 9a 4e 88 d7 22 c4 fc a2 4d 07 9a 8b 29 c3 \r
+24 33 b0 c9 \r
+\r
+# Signature:\r
+00 ec 43 08 24 93 1e bd 3b aa 43 03 4d ae 98 ba \r
+64 6b 8c 36 01 3d 16 71 c3 cf 1c f8 26 0c 37 4b \r
+19 f8 e1 cc 8d 96 50 12 40 5e 7e 9b f7 37 86 12 \r
+df cc 85 fc e1 2c da 11 f9 50 bd 0b a8 87 67 40 \r
+43 6c 1d 25 95 a6 4a 1b 32 ef cf b7 4a 21 c8 73 \r
+b3 cc 33 aa f4 e3 dc 39 53 de 67 f0 67 4c 04 53 \r
+b4 fd 9f 60 44 06 d4 41 b8 16 09 8c b1 06 fe 34 \r
+72 bc 25 1f 81 5f 59 db 2e 43 78 a3 ad dc 18 1e \r
+cf \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 2.6\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+04 9f 91 54 d8 71 ac 4a 7c 7a b4 53 25 ba 75 45 \r
+a1 ed 08 f7 05 25 b2 66 7c f1 \r
+\r
+# Salt:\r
+37 81 0d ef 10 55 ed 92 2b 06 3d f7 98 de 5d 0a \r
+ab f8 86 ee \r
+\r
+# Signature:\r
+00 47 5b 16 48 f8 14 a8 dc 0a bd c3 7b 55 27 f5 \r
+43 b6 66 bb 6e 39 d3 0e 5b 49 d3 b8 76 dc cc 58 \r
+ea c1 4e 32 a2 d5 5c 26 16 01 44 56 ad 2f 24 6f \r
+c8 e3 d5 60 da 3d df 37 9a 1c 0b d2 00 f1 02 21 \r
+df 07 8c 21 9a 15 1b c8 d4 ec 9d 2f c2 56 44 67 \r
+81 10 14 ef 15 d8 ea 01 c2 eb bf f8 c2 c8 ef ab \r
+38 09 6e 55 fc be 32 85 c7 aa 55 88 51 25 4f af \r
+fa 92 c1 c7 2b 78 75 86 63 ef 45 82 84 31 39 d7 \r
+a6 \r
+\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 3: A 1026-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n: \r
+02 f2 46 ef 45 1e d3 ee bb 9a 31 02 00 cc 25 85 \r
+9c 04 8e 4b e7 98 30 29 91 11 2e b6 8c e6 db 67 \r
+4e 28 0d a2 1f ed ed 1a e7 48 80 ca 52 2b 18 db \r
+24 93 85 01 28 27 c5 15 f0 e4 66 a1 ff a6 91 d9 \r
+81 70 57 4e 9d 0e ad b0 87 58 6c a4 89 33 da 3c \r
+c9 53 d9 5b d0 ed 50 de 10 dd cb 67 36 10 7d 6c \r
+83 1c 7f 66 3e 83 3c a4 c0 97 e7 00 ce 0f b9 45 \r
+f8 8f b8 5f e8 e5 a7 73 17 25 65 b9 14 a4 71 a4 \r
+43 \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+65 14 51 73 3b 56 de 5a c0 a6 89 a4 ae b6 e6 89 \r
+4a 69 01 4e 07 6c 88 dd 7a 66 7e ab 32 32 bb cc \r
+d2 fc 44 ba 2f a9 c3 1d b4 6f 21 ed d1 fd b2 3c \r
+5c 12 8a 5d a5 ba b9 1e 7f 95 2b 67 75 9c 7c ff \r
+70 54 15 ac 9f a0 90 7c 7c a6 17 8f 66 8f b9 48 \r
+d8 69 da 4c c3 b7 35 6f 40 08 df d5 44 9d 32 ee \r
+02 d9 a4 77 eb 69 fc 29 26 6e 5d 90 70 51 23 75 \r
+a5 0f bb cc 27 e2 38 ad 98 42 5f 6e bb f8 89 91 \r
+\r
+# Prime p: \r
+01 bd 36 e1 8e ce 4b 0f db 2e 9c 9d 54 8b d1 a7 \r
+d6 e2 c2 1c 6f dc 35 07 4a 1d 05 b1 c6 c8 b3 d5 \r
+58 ea 26 39 c9 a9 a4 21 68 01 69 31 72 52 55 8b \r
+d1 48 ad 21 5a ac 55 0e 2d cf 12 a8 2d 0e bf e8 \r
+53 \r
+\r
+# Prime q: \r
+01 b1 b6 56 ad 86 d8 e1 9d 5d c8 62 92 b3 a1 92 \r
+fd f6 e0 dd 37 87 7b ad 14 82 2f a0 01 90 ca b2 \r
+65 f9 0d 3f 02 05 7b 6f 54 d6 ec b1 44 91 e5 ad \r
+ea ce bc 48 bf 0e bd 2a 2a d2 6d 40 2e 54 f6 16 \r
+51 \r
+\r
+# p's CRT exponent dP: \r
+1f 27 79 fd 2e 3e 5e 6b ae 05 53 95 18 fb a0 cd \r
+0e ad 1a a4 51 3a 7c ba 18 f1 cf 10 e3 f6 81 95 \r
+69 3d 27 8a 0f 0e e7 2f 89 f9 bc 76 0d 80 e2 f9 \r
+d0 26 1d 51 65 01 c6 ae 39 f1 4a 47 6c e2 cc f5 \r
+\r
+# q's CRT exponent dQ: \r
+01 1a 0d 36 79 4b 04 a8 54 aa b4 b2 46 2d 43 9a \r
+50 46 c9 1d 94 0b 2b c6 f7 5b 62 95 6f ef 35 a2 \r
+a6 e6 3c 53 09 81 7f 30 7b bf f9 d5 9e 7e 33 1b \r
+d3 63 f6 d6 68 49 b1 83 46 ad ea 16 9f 0a e9 ae \r
+c1 \r
+\r
+# CRT coefficient qInv: \r
+0b 30 f0 ec f5 58 75 2f b3 a6 ce 4b a2 b8 c6 75 \r
+f6 59 eb a6 c3 76 58 5a 1b 39 71 2d 03 8a e3 d2 \r
+b4 6f cb 41 8a e1 5d 09 05 da 64 40 e1 51 3a 30 \r
+b9 b7 d6 66 8f bc 5e 88 e5 ab 7a 17 5e 73 ba 35 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 3.1\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+59 4b 37 33 3b bb 2c 84 52 4a 87 c1 a0 1f 75 fc \r
+ec 0e 32 56 f1 08 e3 8d ca 36 d7 0d 00 57 \r
+\r
+# Salt:\r
+f3 1a d6 c8 cf 89 df 78 ed 77 fe ac bc c2 f8 b0 \r
+a8 e4 cf aa \r
+\r
+# Signature:\r
+00 88 b1 35 fb 17 94 b6 b9 6c 4a 3e 67 81 97 f8 \r
+ca c5 2b 64 b2 fe 90 7d 6f 27 de 76 11 24 96 4a \r
+99 a0 1a 88 27 40 ec fa ed 6c 01 a4 74 64 bb 05 \r
+18 23 13 c0 13 38 a8 cd 09 72 14 cd 68 ca 10 3b \r
+d5 7d 3b c9 e8 16 21 3e 61 d7 84 f1 82 46 7a bf \r
+8a 01 cf 25 3e 99 a1 56 ea a8 e3 e1 f9 0e 3c 6e \r
+4e 3a a2 d8 3e d0 34 5b 89 fa fc 9c 26 07 7c 14 \r
+b6 ac 51 45 4f a2 6e 44 6e 3a 2f 15 3b 2b 16 79 \r
+7f \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 3.2\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+8b 76 95 28 88 4a 0d 1f fd 09 0c f1 02 99 3e 79 \r
+6d ad cf bd dd 38 e4 4f f6 32 4c a4 51 \r
+\r
+# Salt:\r
+fc f9 f0 e1 f1 99 a3 d1 d0 da 68 1c 5b 86 06 fc \r
+64 29 39 f7 \r
+\r
+# Signature:\r
+02 a5 f0 a8 58 a0 86 4a 4f 65 01 7a 7d 69 45 4f \r
+3f 97 3a 29 99 83 9b 7b bc 48 bf 78 64 11 69 17 \r
+95 56 f5 95 fa 41 f6 ff 18 e2 86 c2 78 30 79 bc \r
+09 10 ee 9c c3 4f 49 ba 68 11 24 f9 23 df a8 8f \r
+42 61 41 a3 68 a5 f5 a9 30 c6 28 c2 c3 c2 00 e1 \r
+8a 76 44 72 1a 0c be c6 dd 3f 62 79 bd e3 e8 f2 \r
+be 5e 2d 4e e5 6f 97 e7 ce af 33 05 4b e7 04 2b \r
+d9 1a 63 bb 09 f8 97 bd 41 e8 11 97 de e9 9b 11 \r
+af \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 3.3\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+1a bd ba 48 9c 5a da 2f 99 5e d1 6f 19 d5 a9 4d \r
+9e 6e c3 4a 8d 84 f8 45 57 d2 6e 5e f9 b0 2b 22 \r
+88 7e 3f 9a 4b 69 0a d1 14 92 09 c2 0c 61 43 1f \r
+0c 01 7c 36 c2 65 7b 35 d7 b0 7d 3f 5a d8 70 85 \r
+07 a9 c1 b8 31 df 83 5a 56 f8 31 07 18 14 ea 5d \r
+3d 8d 8f 6a de 40 cb a3 8b 42 db 7a 2d 3d 7a 29 \r
+c8 f0 a7 9a 78 38 cf 58 a9 75 7f a2 fe 4c 40 df \r
+9b aa 19 3b fc 6f 92 b1 23 ad 57 b0 7a ce 3e 6a \r
+c0 68 c9 f1 06 af d9 ee b0 3b 4f 37 c2 5d bf bc \r
+fb 30 71 f6 f9 77 17 66 d0 72 f3 bb 07 0a f6 60 \r
+55 32 97 3a e2 50 51 \r
+\r
+# Salt:\r
+98 6e 7c 43 db b6 71 bd 41 b9 a7 f4 b6 af c8 0e \r
+80 5f 24 23 \r
+\r
+# Signature:\r
+02 44 bc d1 c8 c1 69 55 73 6c 80 3b e4 01 27 2e \r
+18 cb 99 08 11 b1 4f 72 db 96 41 24 d5 fa 76 06 \r
+49 cb b5 7a fb 87 55 db b6 2b f5 1f 46 6c f2 3a \r
+0a 16 07 57 6e 98 3d 77 8f ce ff a9 2d f7 54 8a \r
+ea 8e a4 ec ad 2c 29 dd 9f 95 bc 07 fe 91 ec f8 \r
+be e2 55 bf e8 76 2f d7 69 0a a9 bf a4 fa 08 49 \r
+ef 72 8c 2c 42 c4 53 23 64 52 2d f2 ab 7f 9f 8a \r
+03 b6 3f 7a 49 91 75 82 86 68 f5 ef 5a 29 e3 80 \r
+2c \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 3.4\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+8f b4 31 f5 ee 79 2b 6c 2a c7 db 53 cc 42 86 55 \r
+ae b3 2d 03 f4 e8 89 c5 c2 5d e6 83 c4 61 b5 3a \r
+cf 89 f9 f8 d3 aa bd f6 b9 f0 c2 a1 de 12 e1 5b \r
+49 ed b3 91 9a 65 2f e9 49 1c 25 a7 fc e1 f7 22 \r
+c2 54 36 08 b6 9d c3 75 ec \r
+\r
+# Salt:\r
+f8 31 2d 9c 8e ea 13 ec 0a 4c 7b 98 12 0c 87 50 \r
+90 87 c4 78 \r
+\r
+# Signature:\r
+01 96 f1 2a 00 5b 98 12 9c 8d f1 3c 4c b1 6f 8a \r
+a8 87 d3 c4 0d 96 df 3a 88 e7 53 2e f3 9c d9 92 \r
+f2 73 ab c3 70 bc 1b e6 f0 97 cf eb bf 01 18 fd \r
+9e f4 b9 27 15 5f 3d f2 2b 90 4d 90 70 2d 1f 7b \r
+a7 a5 2b ed 8b 89 42 f4 12 cd 7b d6 76 c9 d1 8e \r
+17 03 91 dc d3 45 c0 6a 73 09 64 b3 f3 0b cc e0 \r
+bb 20 ba 10 6f 9a b0 ee b3 9c f8 a6 60 7f 75 c0 \r
+34 7f 0a f7 9f 16 af a0 81 d2 c9 2d 1e e6 f8 36 \r
+b8 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 3.5\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+fe f4 16 1d fa af 9c 52 95 05 1d fc 1f f3 81 0c \r
+8c 9e c2 e8 66 f7 07 54 22 c8 ec 42 16 a9 c4 ff \r
+49 42 7d 48 3c ae 10 c8 53 4a 41 b2 fd 15 fe e0 \r
+69 60 ec 6f b3 f7 a7 e9 4a 2f 8a 2e 3e 43 dc 4a \r
+40 57 6c 30 97 ac 95 3b 1d e8 6f 0b 4e d3 6d 64 \r
+4f 23 ae 14 42 55 29 62 24 64 ca 0c bf 0b 17 41 \r
+34 72 38 15 7f ab 59 e4 de 55 24 09 6d 62 ba ec \r
+63 ac 64 \r
+\r
+# Salt:\r
+50 32 7e fe c6 29 2f 98 01 9f c6 7a 2a 66 38 56 \r
+3e 9b 6e 2d \r
+\r
+# Signature:\r
+02 1e ca 3a b4 89 22 64 ec 22 41 1a 75 2d 92 22 \r
+10 76 d4 e0 1c 0e 6f 0d de 9a fd 26 ba 5a cf 6d \r
+73 9e f9 87 54 5d 16 68 3e 56 74 c9 e7 0f 1d e6 \r
+49 d7 e6 1d 48 d0 ca eb 4f b4 d8 b2 4f ba 84 a6 \r
+e3 10 8f ee 7d 07 05 97 32 66 ac 52 4b 4a d2 80 \r
+f7 ae 17 dc 59 d9 6d 33 51 58 6b 5a 3b db 89 5d \r
+1e 1f 78 20 ac 61 35 d8 75 34 80 99 83 82 ba 32 \r
+b7 34 95 59 60 8c 38 74 52 90 a8 5e f4 e9 f9 bd \r
+83 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 3.6\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+ef d2 37 bb 09 8a 44 3a ee b2 bf 6c 3f 8c 81 b8 \r
+c0 1b 7f cb 3f eb \r
+\r
+# Salt:\r
+b0 de 3f c2 5b 65 f5 af 96 b1 d5 cc 3b 27 d0 c6 \r
+05 30 87 b3 \r
+\r
+# Signature:\r
+01 2f af ec 86 2f 56 e9 e9 2f 60 ab 0c 77 82 4f \r
+42 99 a0 ca 73 4e d2 6e 06 44 d5 d2 22 c7 f0 bd \r
+e0 39 64 f8 e7 0a 5c b6 5e d4 4e 44 d5 6a e0 ed \r
+f1 ff 86 ca 03 2c c5 dd 44 04 db b7 6a b8 54 58 \r
+6c 44 ee d8 33 6d 08 d4 57 ce 6c 03 69 3b 45 c0 \r
+f1 ef ef 93 62 4b 95 b8 ec 16 9c 61 6d 20 e5 53 \r
+8e bc 0b 67 37 a6 f8 2b 4b c0 57 09 24 fc 6b 35 \r
+75 9a 33 48 42 62 79 f8 b3 d7 74 4e 2d 22 24 26 \r
+ce \r
+\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 4: A 1027-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n: \r
+05 4a db 78 86 44 7e fe 6f 57 e0 36 8f 06 cf 52 \r
+b0 a3 37 07 60 d1 61 ce f1 26 b9 1b e7 f8 9c 42 \r
+1b 62 a6 ec 1d a3 c3 11 d7 5e d5 0e 0a b5 ff f3 \r
+fd 33 8a cc 3a a8 a4 e7 7e e2 63 69 ac b8 1b a9 \r
+00 fa 83 f5 30 0c f9 bb 6c 53 ad 1d c8 a1 78 b8 \r
+15 db 42 35 a9 a9 da 0c 06 de 4e 61 5e a1 27 7c \r
+e5 59 e9 c1 08 de 58 c1 4a 81 aa 77 f5 a6 f8 d1 \r
+33 54 94 49 88 48 c8 b9 59 40 74 0b e7 bf 7c 37 \r
+05 \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+fa 04 1f 8c d9 69 7c ee d3 8e c8 ca a2 75 52 3b \r
+4d d7 2b 09 a3 01 d3 54 1d 72 f5 d3 1c 05 cb ce \r
+2d 69 83 b3 61 83 af 10 69 0b d4 6c 46 13 1e 35 \r
+78 94 31 a5 56 77 1d d0 04 9b 57 46 1b f0 60 c1 \r
+f6 84 72 e8 a6 7c 25 f3 57 e5 b6 b4 73 8f a5 41 \r
+a7 30 34 6b 4a 07 64 9a 2d fa 80 6a 69 c9 75 b6 \r
+ab a6 46 78 ac c7 f5 91 3e 89 c6 22 f2 d8 ab b1 \r
+e3 e3 25 54 e3 9d f9 4b a6 0c 00 2e 38 7d 90 11 \r
+\r
+# Prime p: \r
+02 92 32 33 6d 28 38 94 5d ba 9d d7 72 3f 4e 62 \r
+4a 05 f7 37 5b 92 7a 87 ab e6 a8 93 a1 65 8f d4 \r
+9f 47 f6 c7 b0 fa 59 6c 65 fa 68 a2 3f 0a b4 32 \r
+96 2d 18 d4 34 3b d6 fd 67 1a 5e a8 d1 48 41 39 \r
+95 \r
+\r
+# Prime q: \r
+02 0e f5 ef e7 c5 39 4a ed 22 72 f7 e8 1a 74 f4 \r
+c0 2d 14 58 94 cb 1b 3c ab 23 a9 a0 71 0a 2a fc \r
+7e 33 29 ac bb 74 3d 01 f6 80 c4 d0 2a fb 4c 8f \r
+de 7e 20 93 08 11 bb 2b 99 57 88 b5 e8 72 c2 0b \r
+b1 \r
+\r
+# p's CRT exponent dP: \r
+02 6e 7e 28 01 0e cf 24 12 d9 52 3a d7 04 64 7f \r
+b4 fe 9b 66 b1 a6 81 58 1b 0e 15 55 3a 89 b1 54 \r
+28 28 89 8f 27 24 3e ba b4 5f f5 e1 ac b9 d4 df \r
+1b 05 1f bc 62 82 4d bc 6f 6c 93 26 1a 78 b9 a7 \r
+59 \r
+\r
+# q's CRT exponent dQ: \r
+01 2d dc c8 6e f6 55 99 8c 39 dd ae 11 71 86 69 \r
+e5 e4 6c f1 49 5b 07 e1 3b 10 14 cd 69 b3 af 68 \r
+30 4a d2 a6 b6 43 21 e7 8b f3 bb ca 9b b4 94 e9 \r
+1d 45 17 17 e2 d9 75 64 c6 54 94 65 d0 20 5c f4 \r
+21 \r
+\r
+# CRT coefficient qInv: \r
+01 06 00 c4 c2 18 47 45 9f e5 76 70 3e 2e be ca \r
+e8 a5 09 4e e6 3f 53 6b f4 ac 68 d3 c1 3e 5e 4f \r
+12 ac 5c c1 0a b6 a2 d0 5a 19 92 14 d1 82 47 47 \r
+d5 51 90 96 36 b7 74 c2 2c ac 0b 83 75 99 ab cc \r
+75 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 4.1\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+9f b0 3b 82 7c 82 17 d9 \r
+\r
+# Salt:\r
+ed 7c 98 c9 5f 30 97 4f be 4f bd dc f0 f2 8d 60 \r
+21 c0 e9 1d \r
+\r
+# Signature:\r
+03 23 d5 b7 bf 20 ba 45 39 28 9a e4 52 ae 42 97 \r
+08 0f ef f4 51 84 23 ff 48 11 a8 17 83 7e 7d 82 \r
+f1 83 6c df ab 54 51 4f f0 88 7b dd ee bf 40 bf \r
+99 b0 47 ab c3 ec fa 6a 37 a3 ef 00 f4 a0 c4 a8 \r
+8a ae 09 04 b7 45 c8 46 c4 10 7e 87 97 72 3e 8a \r
+c8 10 d9 e3 d9 5d fa 30 ff 49 66 f4 d7 5d 13 76 \r
+8d 20 85 7f 2b 14 06 f2 64 cf e7 5e 27 d7 65 2f \r
+4b 5e d3 57 5f 28 a7 02 f8 c4 ed 9c f9 b2 d4 49 \r
+48 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 4.2\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+0c a2 ad 77 79 7e ce 86 de 5b f7 68 75 0d db 5e \r
+d6 a3 11 6a d9 9b bd 17 ed f7 f7 82 f0 db 1c d0 \r
+5b 0f 67 74 68 c5 ea 42 0d c1 16 b1 0e 80 d1 10 \r
+de 2b 04 61 ea 14 a3 8b e6 86 20 39 2e 7e 89 3c \r
+b4 ea 93 93 fb 88 6c 20 ff 79 06 42 30 5b f3 02 \r
+00 38 92 e5 4d f9 f6 67 50 9d c5 39 20 df 58 3f \r
+50 a3 dd 61 ab b6 fa b7 5d 60 03 77 e3 83 e6 ac \r
+a6 71 0e ee a2 71 56 e0 67 52 c9 4c e2 5a e9 9f \r
+cb f8 59 2d be 2d 7e 27 45 3c b4 4d e0 71 00 eb \r
+b1 a2 a1 98 11 a4 78 ad be ab 27 0f 94 e8 fe 36 \r
+9d 90 b3 ca 61 2f 9f \r
+\r
+# Salt:\r
+22 d7 1d 54 36 3a 42 17 aa 55 11 3f 05 9b 33 84 \r
+e3 e5 7e 44 \r
+\r
+# Signature:\r
+04 9d 01 85 84 5a 26 4d 28 fe b1 e6 9e da ec 09 \r
+06 09 e8 e4 6d 93 ab b3 83 71 ce 51 f4 aa 65 a5 \r
+99 bd aa a8 1d 24 fb a6 6a 08 a1 16 cb 64 4f 3f \r
+1e 65 3d 95 c8 9d b8 bb d5 da ac 27 09 c8 98 40 \r
+00 17 84 10 a7 c6 aa 86 67 dd c3 8c 74 1f 71 0e \r
+c8 66 5a a9 05 2b e9 29 d4 e3 b1 67 82 c1 66 21 \r
+14 c5 41 4b b0 35 34 55 c3 92 fc 28 f3 db 59 05 \r
+4b 5f 36 5c 49 e1 d1 56 f8 76 ee 10 cb 4f d7 05 \r
+98 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 4.3\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+28 80 62 af c0 8f cd b7 c5 f8 65 0b 29 83 73 00 \r
+46 1d d5 67 6c 17 a2 0a 3c 8f b5 14 89 49 e3 f7 \r
+3d 66 b3 ae 82 c7 24 0e 27 c5 b3 ec 43 28 ee 7d \r
+6d df 6a 6a 0c 9b 5b 15 bc da 19 6a 9d 0c 76 b1 \r
+19 d5 34 d8 5a bd 12 39 62 d5 83 b7 6c e9 d1 80 \r
+bc e1 ca \r
+\r
+# Salt:\r
+4a f8 70 fb c6 51 60 12 ca 91 6c 70 ba 86 2a c7 \r
+e8 24 36 17 \r
+\r
+# Signature:\r
+03 fb c4 10 a2 ce d5 95 00 fb 99 f9 e2 af 27 81 \r
+ad a7 4e 13 14 56 24 60 27 82 e2 99 48 13 ee fc \r
+a0 51 9e cd 25 3b 85 5f b6 26 a9 0d 77 1e ae 02 \r
+8b 0c 47 a1 99 cb d9 f8 e3 26 97 34 af 41 63 59 \r
+90 90 71 3a 3f a9 10 fa 09 60 65 27 21 43 2b 97 \r
+10 36 a7 18 1a 2b c0 ca b4 3b 0b 59 8b c6 21 74 \r
+61 d7 db 30 5f f7 e9 54 c5 b5 bb 23 1c 39 e7 91 \r
+af 6b cf a7 6b 14 7b 08 13 21 f7 26 41 48 2a 2a \r
+ad \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 4.4\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+6f 4f 9a b9 50 11 99 ce f5 5c 6c f4 08 fe 7b 36 \r
+c5 57 c4 9d 42 0a 47 63 d2 46 3c 8a d4 4b 3c fc \r
+5b e2 74 2c 0e 7d 9b 0f 66 08 f0 8c 7f 47 b6 93 \r
+ee \r
+\r
+# Salt:\r
+40 d2 e1 80 fa e1 ea c4 39 c1 90 b5 6c 2c 0e 14 \r
+dd f9 a2 26 \r
+\r
+# Signature:\r
+04 86 64 4b c6 6b f7 5d 28 33 5a 61 79 b1 08 51 \r
+f4 3f 09 bd ed 9f ac 1a f3 32 52 bb 99 53 ba 42 \r
+98 cd 64 66 b2 75 39 a7 0a da a3 f8 9b 3d b3 c7 \r
+4a b6 35 d1 22 f4 ee 7c e5 57 a6 1e 59 b8 2f fb \r
+78 66 30 e5 f9 db 53 c7 7d 9a 0c 12 fa b5 95 8d \r
+4c 2c e7 da a8 07 cd 89 ba 2c c7 fc d0 2f f4 70 \r
+ca 67 b2 29 fc ce 81 4c 85 2c 73 cc 93 be a3 5b \r
+e6 84 59 ce 47 8e 9d 46 55 d1 21 c8 47 2f 37 1d \r
+4f \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 4.5\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+e1 7d 20 38 5d 50 19 55 82 3c 3f 66 62 54 c1 d3 \r
+dd 36 ad 51 68 b8 f1 8d 28 6f dc f6 7a 7d ad 94 \r
+09 70 85 fa b7 ed 86 fe 21 42 a2 87 71 71 79 97 \r
+ef 1a 7a 08 88 4e fc 39 35 6d 76 07 7a af 82 45 \r
+9a 7f ad 45 84 88 75 f2 81 9b 09 89 37 fe 92 3b \r
+cc 9d c4 42 d7 2d 75 4d 81 20 25 09 0c 9b c0 3d \r
+b3 08 0c 13 8d d6 3b 35 5d 0b 4b 85 d6 68 8a c1 \r
+9f 4d e1 50 84 a0 ba 4e 37 3b 93 ef 4a 55 50 96 \r
+69 19 15 dc 23 c0 0e 95 4c de b2 0a 47 cd 55 d1 \r
+6c 3d 86 81 d4 6e d7 f2 ed 5e a4 27 95 be 17 ba \r
+ed 25 f0 f4 d1 13 b3 63 6a dd d5 85 f1 6a 8b 5a \r
+ec 0c 8f a9 c5 f0 3c bf 3b 9b 73 \r
+\r
+# Salt:\r
+24 97 dc 2b 46 15 df ae 5a 66 3d 49 ff d5 6b f7 \r
+ef c1 13 04 \r
+\r
+# Signature:\r
+02 2a 80 04 53 53 90 4c b3 0c bb 54 2d 7d 49 90 \r
+42 1a 6e ec 16 a8 02 9a 84 22 ad fd 22 d6 af f8 \r
+c4 cc 02 94 af 11 0a 0c 06 7e c8 6a 7d 36 41 34 \r
+45 9b b1 ae 8f f8 36 d5 a8 a2 57 98 40 99 6b 32 \r
+0b 19 f1 3a 13 fa d3 78 d9 31 a6 56 25 da e2 73 \r
+9f 0c 53 67 0b 35 d9 d3 cb ac 08 e7 33 e4 ec 2b \r
+83 af 4b 91 96 d6 3e 7c 4f f1 dd ea e2 a1 22 79 \r
+1a 12 5b fe a8 de b0 de 8c cf 1f 4f fa f6 e6 fb \r
+0a \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 4.6\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+af bc 19 d4 79 24 90 18 fd f4 e0 9f 61 87 26 44 \r
+04 95 de 11 dd ee e3 88 72 d7 75 fc ea 74 a2 38 \r
+96 b5 34 3c 9c 38 d4 6a f0 db a2 24 d0 47 58 0c \r
+c6 0a 65 e9 39 1c f9 b5 9b 36 a8 60 59 8d 4e 82 \r
+16 72 2f 99 3b 91 cf ae 87 bc 25 5a f8 9a 6a 19 \r
+9b ca 4a 39 1e ad bc 3a 24 90 3c 0b d6 67 36 8f \r
+6b e7 8e 3f ea bf b4 ff d4 63 12 27 63 74 0f fb \r
+be fe ab 9a 25 56 4b c5 d1 c2 4c 93 e4 22 f7 50 \r
+73 e2 ad 72 bf 45 b1 0d f0 0b 52 a1 47 12 8e 73 \r
+fe e3 3f a3 f0 57 7d 77 f8 0f bc 2d f1 be d3 13 \r
+29 0c 12 77 7f 50 \r
+\r
+# Salt:\r
+a3 34 db 6f ae bf 11 08 1a 04 f8 7c 2d 62 1c de \r
+c7 93 0b 9b \r
+\r
+# Signature:\r
+00 93 8d cb 6d 58 30 46 06 5f 69 c7 8d a7 a1 f1 \r
+75 70 66 a7 fa 75 12 5a 9d 29 29 f0 b7 9a 60 b6 \r
+27 b0 82 f1 1f 5b 19 6f 28 eb 9d aa 6f 21 c0 5e \r
+51 40 f6 ae f1 73 7d 20 23 07 5c 05 ec f0 4a 02 \r
+8c 68 6a 2a b3 e7 d5 a0 66 4f 29 5c e1 29 95 e8 \r
+90 90 8b 6a d2 1f 08 39 eb 65 b7 03 93 a7 b5 af \r
+d9 87 1d e0 ca a0 ce de c5 b8 19 62 67 56 20 9d \r
+13 ab 1e 7b b9 54 6a 26 ff 37 e9 a5 1a f9 fd 56 \r
+2e \r
+\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 5: A 1028-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n: \r
+0d 10 f6 61 f2 99 40 f5 ed 39 aa 26 09 66 de b4 \r
+78 43 67 9d 2b 6f b2 5b 3d e3 70 f3 ac 7c 19 91 \r
+63 91 fd 25 fb 52 7e bf a6 a4 b4 df 45 a1 75 9d \r
+99 6c 4b b4 eb d1 88 28 c4 4f c5 2d 01 91 87 17 \r
+40 52 5f 47 a4 b0 cc 8d a3 25 ed 8a a6 76 b0 d0 \r
+f6 26 e0 a7 7f 07 69 21 70 ac ac 80 82 f4 2f aa \r
+7d c7 cd 12 3e 73 0e 31 a8 79 85 20 4c ab cb e6 \r
+67 0d 43 a2 dd 2b 2d de f5 e0 53 92 fc 21 3b c5 \r
+07 \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+03 ce 08 b1 04 ff f3 96 a9 79 bd 3e 4e 46 92 5b \r
+63 19 dd b6 3a cb cf d8 19 f1 7d 16 b8 07 7b 3a \r
+87 10 1f f3 4b 77 fe 48 b8 b2 05 a9 6e 91 51 ba \r
+8e ce a6 4d 0c ce 7b 23 c3 e6 a6 b8 30 58 bc 49 \r
+da e8 16 ae 73 6d b5 a4 70 8e 2a d4 35 23 2b 56 \r
+7f 90 96 ce 59 ff 28 06 1e 79 ab 1c 02 d7 17 e6 \r
+b2 3c ea 6d b8 eb 51 92 fa 7c 1e ab 22 7d ba 74 \r
+62 1c 45 60 18 96 ee f1 37 92 c8 44 0b eb 15 aa \r
+c1 \r
+\r
+# Prime p: \r
+03 f2 f3 31 f4 14 2d 4f 24 b4 3a a1 02 79 a8 96 \r
+52 d4 e7 53 72 21 a1 a7 b2 a2 5d eb 55 1e 5d e9 \r
+ac 49 74 11 c2 27 a9 4e 45 f9 1c 2d 1c 13 cc 04 \r
+6c f4 ce 14 e3 2d 05 87 34 21 0d 44 a8 7e e1 b7 \r
+3f \r
+\r
+# Prime q: \r
+03 4f 09 0d 73 b5 58 03 03 0c f0 36 1a 5d 80 81 \r
+bf b7 9f 85 15 23 fe ac 0a 21 24 d0 8d 40 13 ff \r
+08 48 77 71 a8 70 d0 47 9d c0 68 6c 62 f7 71 8d \r
+fe cf 02 4b 17 c9 26 76 78 05 91 71 33 9c c0 08 \r
+39 \r
+\r
+# p's CRT exponent dP: \r
+02 aa 66 3a db f5 1a b8 87 a0 18 cb 42 6e 78 bc \r
+2f e1 82 dc b2 f7 bc b5 04 41 d1 7f df 0f 06 79 \r
+8b 50 71 c6 e2 f5 fe b4 d5 4a d8 18 23 11 c1 ef \r
+62 d4 c4 9f 18 d1 f5 1f 54 b2 d2 cf fb a4 da 1b \r
+e5 \r
+\r
+# q's CRT exponent dQ: \r
+02 bb e7 06 07 8b 5c 0b 39 15 12 d4 11 db 1b 19 \r
+9b 5a 56 64 b8 40 42 ea d3 7f e9 94 ae 72 b9 53 \r
+2d fb fb 3e 9e 69 81 a0 fb b8 06 51 31 41 b7 c2 \r
+16 3f e5 6c 39 5e 4b fa ee 57 e3 83 3f 9b 91 8d \r
+f9 \r
+\r
+# CRT coefficient qInv: \r
+02 42 b6 cd 00 d3 0a 76 7a ee 9a 89 8e ad 45 3c \r
+8e ae a6 3d 50 0b 7d 1e 00 71 3e da e5 1c e3 6b \r
+23 b6 64 df 26 e6 3e 26 6e c8 f7 6e 6e 63 ed 1b \r
+a4 1e b0 33 b1 20 f7 ea 52 12 ae 21 a9 8f bc 16 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 5.1\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+30 c7 d5 57 45 8b 43 6d ec fd c1 4d 06 cb 7b 96 \r
+b0 67 18 c4 8d 7d e5 74 82 a8 68 ae 7f 06 58 70 \r
+a6 21 65 06 d1 1b 77 93 23 df df 04 6c f5 77 51 \r
+29 13 4b 4d 56 89 e4 d9 c0 ce 1e 12 d7 d4 b0 6c \r
+b5 fc 58 20 de cf a4 1b af 59 bf 25 7b 32 f0 25 \r
+b7 67 9b 44 5b 94 99 c9 25 55 14 58 85 99 2f 1b \r
+76 f8 48 91 ee 4d 3b e0 f5 15 0f d5 90 1e 3a 4c \r
+8e d4 3f d3 6b 61 d0 22 e6 5a d5 00 8d bf 33 29 \r
+3c 22 bf bf d0 73 21 f0 f1 d5 fa 9f df 00 14 c2 \r
+fc b0 35 8a ad 0e 35 4b 0d 29 \r
+\r
+# Salt:\r
+08 1b 23 3b 43 56 77 50 bd 6e 78 f3 96 a8 8b 9f \r
+6a 44 51 51 \r
+\r
+# Signature:\r
+0b a3 73 f7 6e 09 21 b7 0a 8f bf e6 22 f0 bf 77 \r
+b2 8a 3d b9 8e 36 10 51 c3 d7 cb 92 ad 04 52 91 \r
+5a 4d e9 c0 17 22 f6 82 3e eb 6a df 7e 0c a8 29 \r
+0f 5d e3 e5 49 89 0a c2 a3 c5 95 0a b2 17 ba 58 \r
+59 08 94 95 2d e9 6f 8d f1 11 b2 57 52 15 da 6c \r
+16 15 90 c7 45 be 61 24 76 ee 57 8e d3 84 ab 33 \r
+e3 ec e9 74 81 a2 52 f5 c7 9a 98 b5 53 2a e0 0c \r
+dd 62 f2 ec c0 cd 1b ae fe 80 d8 0b 96 21 93 ec \r
+1d \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 5.2\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+e7 b3 2e 15 56 ea 1b 27 95 04 6a c6 97 39 d2 2a \r
+c8 96 6b f1 1c 11 6f 61 4b 16 67 40 e9 6b 90 65 \r
+3e 57 50 94 5f cf 77 21 86 c0 37 90 a0 7f da 32 \r
+3e 1a 61 91 6b 06 ee 21 57 db 3d ff 80 d6 7d 5e \r
+39 a5 3a e2 68 c8 f0 9e d9 9a 73 20 05 b0 bc 6a \r
+04 af 4e 08 d5 7a 00 e7 20 1b 30 60 ef aa db 73 \r
+11 3b fc 08 7f d8 37 09 3a a2 52 35 b8 c1 49 f5 \r
+62 15 f0 31 c2 4a d5 bd e7 f2 99 60 df 7d 52 40 \r
+70 f7 44 9c 6f 78 50 84 be 1a 0f 73 30 47 f3 36 \r
+f9 15 47 38 67 45 47 db 02 a9 f4 4d fc 6e 60 30 \r
+10 81 e1 ce 99 84 7f 3b 5b 60 1f f0 6b 4d 57 76 \r
+a9 74 0b 9a a0 d3 40 58 fd 3b 90 6e 4f 78 59 df \r
+b0 7d 71 73 e5 e6 f6 35 0a da c2 1f 27 b2 30 74 \r
+69 \r
+\r
+# Salt:\r
+bd 0c e1 95 49 d0 70 01 20 cb e5 10 77 db bb b0 \r
+0a 8d 8b 09 \r
+\r
+# Signature:\r
+08 18 0d e8 25 e4 b8 b0 14 a3 2d a8 ba 76 15 55 \r
+92 12 04 f2 f9 0d 5f 24 b7 12 90 8f f8 4f 3e 22 \r
+0a d1 79 97 c0 dd 6e 70 66 30 ba 3e 84 ad d4 d5 \r
+e7 ab 00 4e 58 07 4b 54 97 09 56 5d 43 ad 9e 97 \r
+b5 a7 a1 a2 9e 85 b9 f9 0f 4a af cd f5 83 21 de \r
+8c 59 74 ef 9a bf 2d 52 6f 33 c0 f2 f8 2e 95 d1 \r
+58 ea 6b 81 f1 73 6d b8 d1 af 3d 6a c6 a8 3b 32 \r
+d1 8b ae 0f f1 b2 fe 27 de 4c 76 ed 8c 79 80 a3 \r
+4e \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 5.3\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+8d 83 96 e3 65 07 fe 1e f6 a1 90 17 54 8e 0c 71 \r
+66 74 c2 fe c2 33 ad b2 f7 75 66 5e c4 1f 2b d0 \r
+ba 39 6b 06 1a 9d aa 7e 86 6f 7c 23 fd 35 31 95 \r
+43 00 a3 42 f9 24 53 5e a1 49 8c 48 f6 c8 79 93 \r
+28 65 fc 02 00 0c 52 87 23 b7 ad 03 35 74 5b 51 \r
+20 9a 0a fe d9 32 af 8f 08 87 c2 19 00 4d 2a bd \r
+89 4e a9 25 59 ee 31 98 af 3a 73 4f e9 b9 63 8c \r
+26 3a 72 8a d9 5a 5a e8 ce 3e b1 58 39 f3 aa 78 \r
+52 bb 39 07 06 e7 76 0e 43 a7 12 91 a2 e3 f8 27 \r
+23 7d ed a8 51 87 4c 51 76 65 f5 45 f2 72 38 df \r
+86 55 7f 37 5d 09 cc d8 bd 15 d8 cc f6 1f 5d 78 \r
+ca 5c 7f 5c de 78 2e 6b f5 d0 05 70 56 d4 ba d9 \r
+8b 3d 2f 95 75 e8 24 ab 7a 33 ff 57 b0 ac 10 0a \r
+b0 d6 ea d7 aa 0b 50 f6 e4 d3 e5 ec 0b 96 6b \r
+\r
+# Salt:\r
+81 57 79 a9 1b 3a 8b d0 49 bf 2a eb 92 01 42 77 \r
+22 22 c9 ca \r
+\r
+# Signature:\r
+05 e0 fd bd f6 f7 56 ef 73 31 85 cc fa 8c ed 2e \r
+b6 d0 29 d9 d5 6e 35 56 1b 5d b8 e7 02 57 ee 6f \r
+d0 19 d2 f0 bb f6 69 fe 9b 98 21 e7 8d f6 d4 1e \r
+31 60 8d 58 28 0f 31 8e e3 4f 55 99 41 c8 df 13 \r
+28 75 74 ba c0 00 b7 e5 8d c4 f4 14 ba 49 fb 12 \r
+7f 9d 0f 89 36 63 8c 76 e8 53 56 c9 94 f7 97 50 \r
+f7 fa 3c f4 fd 48 2d f7 5e 3f b9 97 8c d0 61 f7 \r
+ab b1 75 72 e6 e6 3e 0b de 12 cb dc f1 8c 68 b9 \r
+79 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 5.4\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+32 8c 65 9e 0a 64 37 43 3c ce b7 3c 14 \r
+\r
+# Salt:\r
+9a ec 4a 74 80 d5 bb c4 29 20 d7 ca 23 5d b6 74 \r
+98 9c 9a ac \r
+\r
+# Signature:\r
+0b c9 89 85 3b c2 ea 86 87 32 71 ce 18 3a 92 3a \r
+b6 5e 8a 53 10 0e 6d f5 d8 7a 24 c4 19 4e b7 97 \r
+81 3e e2 a1 87 c0 97 dd 87 2d 59 1d a6 0c 56 86 \r
+05 dd 7e 74 2d 5a f4 e3 3b 11 67 8c cb 63 90 32 \r
+04 a3 d0 80 b0 90 2c 89 ab a8 86 8f 00 9c 0f 1c \r
+0c b8 58 10 bb dd 29 12 1a bb 84 71 ff 2d 39 e4 \r
+9f d9 2d 56 c6 55 c8 e0 37 ad 18 fa fb dc 92 c9 \r
+58 63 f7 f6 1e a9 ef a2 8f ea 40 13 69 d1 9d ae \r
+a1 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 5.5\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+f3 7b 96 23 79 a4 7d 41 5a 37 6e ec 89 73 15 0b \r
+cb 34 ed d5 ab 65 40 41 b6 14 30 56 0c 21 44 58 \r
+2b a1 33 c8 67 d8 52 d6 b8 e2 33 21 90 13 02 ec \r
+b4 5b 09 ec 88 b1 52 71 78 fa 04 32 63 f3 06 7d \r
+9f fe 97 30 32 a9 9f 4c b0 8a d2 c7 e0 a2 45 6c \r
+dd 57 a7 df 56 fe 60 53 52 7a 5a eb 67 d7 e5 52 \r
+06 3c 1c a9 7b 1b ef fa 7b 39 e9 97 ca f2 78 78 \r
+ea 0f 62 cb eb c8 c2 1d f4 c8 89 a2 02 85 1e 94 \r
+90 88 49 0c 24 9b 6e 9a cf 1d 80 63 f5 be 23 43 \r
+98 9b f9 5c 4d a0 1a 2b e7 8b 4a b6 b3 78 01 5b \r
+c3 79 57 f7 69 48 b5 e5 8e 44 0c 28 45 3d 40 d7 \r
+cf d5 7e 7d 69 06 00 47 4a b5 e7 59 73 b1 ea 0c \r
+5f 1e 45 d1 41 90 af e2 f4 eb 6d 3b df 71 f1 d2 \r
+f8 bb 15 6a 1c 29 5d 04 aa eb 9d 68 9d ce 79 ed \r
+62 bc 44 3e \r
+\r
+# Salt:\r
+e2 0c 1e 98 78 51 2c 39 97 0f 58 37 5e 15 49 a6 \r
+8b 64 f3 1d \r
+\r
+# Signature:\r
+0a ef a9 43 b6 98 b9 60 9e df 89 8a d2 27 44 ac \r
+28 dc 23 94 97 ce a3 69 cb bd 84 f6 5c 95 c0 ad \r
+77 6b 59 47 40 16 4b 59 a7 39 c6 ff 7c 2f 07 c7 \r
+c0 77 a8 6d 95 23 8f e5 1e 1f cf 33 57 4a 4a e0 \r
+68 4b 42 a3 f6 bf 67 7d 91 82 0c a8 98 74 46 7b \r
+2c 23 ad d7 79 69 c8 07 17 43 0d 0e fc 1d 36 95 \r
+89 2c e8 55 cb 7f 70 11 63 0f 4d f2 6d ef 8d df \r
+36 fc 23 90 5f 57 fa 62 43 a4 85 c7 70 d5 68 1f \r
+cd \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 5.6\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+c6 10 3c 33 0c 1e f7 18 c1 41 e4 7b 8f a8 59 be \r
+4d 5b 96 25 9e 7d 14 20 70 ec d4 85 83 9d ba 5a \r
+83 69 c1 7c 11 14 03 5e 53 2d 19 5c 74 f4 4a 04 \r
+76 a2 d3 e8 a4 da 21 00 16 ca ce d0 e3 67 cb 86 \r
+77 10 a4 b5 aa 2d f2 b8 e5 da f5 fd c6 47 80 7d \r
+4d 5e bb 6c 56 b9 76 3c cd ae 4d ea 33 08 eb 0a \r
+c2 a8 95 01 cb 20 9d 26 39 fa 5b f8 7c e7 90 74 \r
+7d 3c b2 d2 95 e8 45 64 f2 f6 37 82 4f 0c 13 02 \r
+81 29 b0 aa 4a 42 2d 16 22 82 \r
+\r
+# Salt:\r
+23 29 1e 4a 33 07 e8 bb b7 76 62 3a b3 4e 4a 5f \r
+4c c8 a8 db \r
+\r
+# Signature:\r
+02 80 2d cc fa 8d fa f5 27 9b f0 b4 a2 9b a1 b1 \r
+57 61 1f ae aa f4 19 b8 91 9d 15 94 19 00 c1 33 \r
+9e 7e 92 e6 fa e5 62 c5 3e 6c c8 e8 41 04 b1 10 \r
+bc e0 3a d1 85 25 e3 c4 9a 0e ad ad 5d 3f 28 f2 \r
+44 a8 ed 89 ed ba fb b6 86 27 7c fa 8a e9 09 71 \r
+4d 6b 28 f4 bf 8e 29 3a a0 4c 41 ef e7 c0 a8 12 \r
+66 d5 c0 61 e2 57 5b e0 32 aa 46 46 74 ff 71 62 \r
+62 19 bd 74 cc 45 f0 e7 ed 4e 3f f9 6e ee 75 8e \r
+8f \r
+\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 6: A 1029-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n: \r
+16 4c a3 1c ff 60 9f 3a 0e 71 01 b0 39 f2 e4 fe \r
+6d d3 75 19 ab 98 59 8d 17 9e 17 49 96 59 80 71 \r
+f4 7d 3a 04 55 91 58 d7 be 37 3c f1 aa 53 f0 aa \r
+6e f0 90 39 e5 67 8c 2a 4c 63 90 05 14 c8 c4 f8 \r
+aa ed 5d e1 2a 5f 10 b0 9c 31 1a f8 c0 ff b5 b7 \r
+a2 97 f2 ef c6 3b 8d 6b 05 10 93 1f 0b 98 e4 8b \r
+f5 fc 6e c4 e7 b8 db 1f fa eb 08 c3 8e 02 ad b8 \r
+f0 3a 48 22 9c 99 e9 69 43 1f 61 cb 8c 4d c6 98 \r
+d1 \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+03 b6 64 ee 3b 75 66 72 3f c6 ea f2 8a bb 43 0a \r
+39 80 f1 12 6c 81 de 8a d7 09 ea b3 9a c9 dc d0 \r
+b1 55 0b 37 29 d8 70 68 e9 52 00 9d f5 44 53 4c \r
+1f 50 82 9a 78 f4 59 1e b8 fd 57 14 04 26 a6 bb \r
+04 05 b6 a6 f5 1a 57 d9 26 7b 7b bc 65 33 91 a6 \r
+99 a2 a9 0d ac 8a e2 26 bc c6 0f a8 cd 93 4c 73 \r
+c7 b0 3b 1f 6b 81 81 58 63 18 38 a8 61 2e 6e 6e \r
+a9 2b e2 4f 83 24 fa f5 b1 fd 85 87 22 52 67 ba \r
+6f \r
+\r
+# Prime p: \r
+04 f0 54 8c 96 26 ab 1e bf 12 44 93 47 41 d9 9a \r
+06 22 0e fa 2a 58 56 aa 0e 75 73 0b 2e c9 6a dc \r
+86 be 89 4f a2 80 3b 53 a5 e8 5d 27 6a cb d2 9a \r
+b8 23 f8 0a 73 91 bb 54 a5 05 16 72 fb 04 ee b5 \r
+43 \r
+\r
+# Prime q: \r
+04 83 e0 ae 47 91 55 87 74 3f f3 45 36 2b 55 5d \r
+39 62 d9 8b b6 f1 5f 84 8b 4c 92 b1 77 1c a8 ed \r
+10 7d 8d 3e e6 5e c4 45 17 dd 0f aa 48 1a 38 7e \r
+90 2f 7a 2e 74 7c 26 9e 7e a4 44 80 bc 53 8b 8e \r
+5b \r
+\r
+# p's CRT exponent dP: \r
+03 a8 e8 ae a9 92 0c 1a a3 b2 f0 d8 46 e4 b8 50 \r
+d8 1c a3 06 a5 1c 83 54 4f 94 9f 64 f9 0d cf 3f \r
+8e 26 61 f0 7e 56 12 20 a1 80 38 8f be 27 3e 70 \r
+e2 e5 dc a8 3a 0e 13 48 dd 64 90 c7 31 d6 ec e1 \r
+ab \r
+\r
+# q's CRT exponent dQ: \r
+01 35 bd cd b6 0b f2 19 7c 43 6e d3 4b 32 cd 8b \r
+4f c7 77 78 83 2b a7 67 03 55 1f b2 42 b3 01 69 \r
+95 93 af 77 fd 8f c3 94 a8 52 6a d2 3c c4 1a 03 \r
+80 6b d8 97 fe 4b 0e a6 46 55 8a ad dc c9 9e 8a \r
+25 \r
+\r
+# CRT coefficient qInv: \r
+03 04 c0 3d 9c 73 65 03 a9 84 ab bd 9b a2 23 01 \r
+40 7c 4a 2a b1 dd 85 76 64 81 b6 0d 45 40 11 52 \r
+e6 92 be 14 f4 12 1d 9a a3 fd 6e 0b 4d 1d 3a 97 \r
+35 38 a3 1d 42 ee 6e 1e 5e f6 20 23 1a 2b ba f3 \r
+5f \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 6.1\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+0a 20 b7 74 ad dc 2f a5 12 45 ed 7c b9 da 60 9e \r
+50 ca c6 63 6a 52 54 3f 97 45 8e ed 73 40 f8 d5 \r
+3f fc 64 91 8f 94 90 78 ee 03 ef 60 d4 2b 5f ec \r
+24 60 50 bd 55 05 cd 8c b5 97 ba d3 c4 e7 13 b0 \r
+ef 30 64 4e 76 ad ab b0 de 01 a1 56 1e fb 25 51 \r
+58 c7 4f c8 01 e6 e9 19 e5 81 b4 6f 0f 0d dd 08 \r
+e4 f3 4c 78 10 b5 ed 83 18 f9 1d 7c 8c \r
+\r
+# Salt:\r
+5b 4e a2 ef 62 9c c2 2f 3b 53 8e 01 69 04 b4 7b \r
+1e 40 bf d5 \r
+\r
+# Signature:\r
+04 c0 cf ac ec 04 e5 ba db ec e1 59 a5 a1 10 3f \r
+69 b3 f3 2b a5 93 cb 4c c4 b1 b7 ab 45 59 16 a9 \r
+6a 27 cd 26 78 ea 0f 46 ba 37 f7 fc 9c 86 32 5f \r
+29 73 3b 38 9f 1d 97 f4 3e 72 01 c0 f3 48 fc 45 \r
+fe 42 89 23 35 36 2e ee 01 8b 5b 16 1f 2f 93 93 \r
+03 12 25 c7 13 01 2a 57 6b c8 8e 23 05 24 89 86 \r
+8d 90 10 cb f0 33 ec c5 68 e8 bc 15 2b dc 59 d5 \r
+60 e4 12 91 91 5d 28 56 52 08 e2 2a ee c9 ef 85 \r
+d1 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 6.2\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+2a af f6 63 1f 62 1c e6 15 76 0a 9e bc e9 4b b3 \r
+33 07 7a d8 64 88 c8 61 d4 b7 6d 29 c1 f4 87 46 \r
+c6 11 ae 1e 03 ce d4 44 5d 7c fa 1f e5 f6 2e 1b \r
+3f 08 45 2b de 3b 6e f8 19 73 ba fb b5 7f 97 bc \r
+ee f8 73 98 53 95 b8 26 05 89 aa 88 cb 7d b5 0a \r
+b4 69 26 2e 55 1b dc d9 a5 6f 27 5a 0a c4 fe 48 \r
+47 00 c3 5f 3d bf 2b 46 9e de 86 47 41 b8 6f a5 \r
+91 72 a3 60 ba 95 a0 2e 13 9b e5 0d df b7 cf 0b \r
+42 fa ea bb fb ba a8 6a 44 97 69 9c 4f 2d fd 5b \r
+08 40 6a f7 e1 41 44 42 7c 25 3e c0 ef a2 0e af \r
+9a 8b e8 cd 49 ce 1f 1b c4 e9 3e 61 9c f2 aa 8e \r
+d4 fb 39 bc 85 90 d0 f7 b9 64 88 f7 31 7a c9 ab \r
+f7 be e4 e3 a0 e7 15 \r
+\r
+# Salt:\r
+83 14 6a 9e 78 27 22 c2 8b 01 4f 98 b4 26 7b da \r
+2a c9 50 4f \r
+\r
+# Signature:\r
+0a 23 14 25 0c f5 2b 6e 4e 90 8d e5 b3 56 46 bc \r
+aa 24 36 1d a8 16 0f b0 f9 25 75 90 ab 3a ce 42 \r
+b0 dc 3e 77 ad 2d b7 c2 03 a2 0b d9 52 fb b5 6b \r
+15 67 04 6e cf aa 93 3d 7b 10 00 c3 de 9f f0 5b \r
+7d 98 9b a4 6f d4 3b c4 c2 d0 a3 98 6b 7f fa 13 \r
+47 1d 37 eb 5b 47 d6 47 07 bd 29 0c fd 6a 9f 39 \r
+3a d0 8e c1 e3 bd 71 bb 57 92 61 50 35 cd af 2d \r
+89 29 ae d3 be 09 83 79 37 7e 77 7c e7 9a aa 47 \r
+73 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 6.3\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+0f 61 95 d0 4a 6e 6f c7 e2 c9 60 0d bf 84 0c 39 \r
+ea 8d 4d 62 4f d5 35 07 01 6b 0e 26 85 8a 5e 0a \r
+ec d7 ad a5 43 ae 5c 0a b3 a6 25 99 cb a0 a5 4e \r
+6b f4 46 e2 62 f9 89 97 8f 9d df 5e 9a 41 \r
+\r
+# Salt:\r
+a8 7b 8a ed 07 d7 b8 e2 da f1 4d dc a4 ac 68 c4 \r
+d0 aa bf f8 \r
+\r
+# Signature:\r
+08 6d f6 b5 00 09 8c 12 0f 24 ff 84 23 f7 27 d9 \r
+c6 1a 5c 90 07 d3 b6 a3 1c e7 cf 8f 3c be c1 a2 \r
+6b b2 0e 2b d4 a0 46 79 32 99 e0 3e 37 a2 1b 40 \r
+19 4f b0 45 f9 0b 18 bf 20 a4 79 92 cc d7 99 cf \r
+9c 05 9c 29 9c 05 26 85 49 54 aa de 8a 6a d9 d9 \r
+7e c9 1a 11 45 38 3f 42 46 8b 23 1f 4d 72 f2 37 \r
+06 d9 85 3c 3f a4 3c e8 ac e8 bf e7 48 49 87 a1 \r
+ec 6a 16 c8 da f8 1f 7c 8b f4 27 74 70 7a 9d f4 \r
+56 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 6.4\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+33 7d 25 fe 98 10 eb ca 0d e4 d4 65 8d 3c eb 8e \r
+0f e4 c0 66 ab a3 bc c4 8b 10 5d 3b f7 e0 25 7d \r
+44 fe ce a6 59 6f 4d 0c 59 a0 84 02 83 36 78 f7 \r
+06 20 f9 13 8d fe b7 de d9 05 e4 a6 d5 f0 5c 47 \r
+3d 55 93 66 52 e2 a5 df 43 c0 cf da 7b ac af 30 \r
+87 f4 52 4b 06 cf 42 15 7d 01 53 97 39 f7 fd de \r
+c9 d5 81 25 df 31 a3 2e ab 06 c1 9b 71 f1 d5 bf \r
+\r
+# Salt:\r
+a3 79 32 f8 a7 49 4a 94 2d 6f 76 74 38 e7 24 d6 \r
+d0 c0 ef 18 \r
+\r
+# Signature:\r
+0b 5b 11 ad 54 98 63 ff a9 c5 1a 14 a1 10 6c 2a \r
+72 cc 8b 64 6e 5c 72 62 50 97 86 10 5a 98 47 76 \r
+53 4c a9 b5 4c 1c c6 4b f2 d5 a4 4f d7 e8 a6 9d \r
+b6 99 d5 ea 52 08 7a 47 48 fd 2a bc 1a fe d1 e5 \r
+d6 f7 c8 90 25 53 0b da a2 21 3d 7e 03 0f a5 5d \r
+f6 f3 4b cf 1c e4 6d 2e df 4e 3a e4 f3 b0 18 91 \r
+a0 68 c9 e3 a4 4b bc 43 13 3e da d6 ec b9 f3 54 \r
+00 c4 25 2a 57 62 d6 57 44 b9 9c b9 f4 c5 59 32 \r
+9f \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 6.5\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+84 ec 50 2b 07 2e 82 87 78 9d 8f 92 35 82 9e a3 \r
+b1 87 af d4 d4 c7 85 61 1b da 5f 9e b3 cb 96 71 \r
+7e fa 70 07 22 7f 1c 08 cb cb 97 2e 66 72 35 e0 \r
+fb 7d 43 1a 65 70 32 6d 2e cc e3 5a db 37 3d c7 \r
+53 b3 be 5f 82 9b 89 17 54 93 19 3f ab 16 ba db \r
+41 37 1b 3a ac 0a e6 70 07 6f 24 be f4 20 c1 35 \r
+ad d7 ce e8 d3 5f bc 94 4d 79 fa fb 9e 30 7a 13 \r
+b0 f5 56 cb 65 4a 06 f9 73 ed 22 67 23 30 19 7e \r
+f5 a7 48 bf 82 6a 5d b2 38 3a 25 36 4b 68 6b 93 \r
+72 bb 23 39 ae b1 ac 9e 98 89 32 7d 01 6f 16 70 \r
+77 6d b0 62 01 ad bd ca f8 a5 e3 b7 4e 10 8b 73 \r
+\r
+# Salt:\r
+7b 79 0c 1d 62 f7 b8 4e 94 df 6a f2 89 17 cf 57 \r
+10 18 11 0e \r
+\r
+# Signature:\r
+02 d7 1f a9 b5 3e 46 54 fe fb 7f 08 38 5c f6 b0 \r
+ae 3a 81 79 42 eb f6 6c 35 ac 67 f0 b0 69 95 2a \r
+3c e9 c7 e1 f1 b0 2e 48 0a 95 00 83 6d e5 d6 4c \r
+db 7e cd e0 45 42 f7 a7 99 88 78 7e 24 c2 ba 05 \r
+f5 fd 48 2c 02 3e d5 c3 0e 04 83 9d c4 4b ed 2a \r
+3a 3a 4f ee 01 11 3c 89 1a 47 d3 2e b8 02 5c 28 \r
+cb 05 0b 5c db 57 6c 70 fe 76 ef 52 34 05 c0 84 \r
+17 fa f3 50 b0 37 a4 3c 37 93 39 fc b1 8d 3a 35 \r
+6b \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 6.6\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+99 06 d8 9f 97 a9 fd ed d3 cc d8 24 db 68 73 26 \r
+f3 0f 00 aa 25 a7 fc a2 af cb 3b 0f 86 cd 41 e7 \r
+3f 0e 8f f7 d2 d8 3f 59 e2 8e d3 1a 5a 0d 55 15 \r
+23 37 4d e2 2e 4c 7e 8f f5 68 b3 86 ee 3d c4 11 \r
+63 f1 0b f6 7b b0 06 26 1c 90 82 f9 af 90 bf 1d \r
+90 49 a6 b9 fa e7 1c 7f 84 fb e6 e5 5f 02 78 9d \r
+e7 74 f2 30 f1 15 02 6a 4b 4e 96 c5 5b 04 a9 5d \r
+a3 aa cb b2 ce ce 8f 81 76 4a 1f 1c 99 51 54 11 \r
+08 7c f7 d3 4a ed ed 09 32 c1 83 \r
+\r
+# Salt:\r
+fb be 05 90 25 b6 9b 89 fb 14 ae 22 89 e7 aa af \r
+e6 0c 0f cd \r
+\r
+# Signature:\r
+0a 40 a1 6e 2f e2 b3 8d 1d f9 05 46 16 7c f9 46 \r
+9c 9e 3c 36 81 a3 44 2b 4b 2c 2f 58 1d eb 38 5c \r
+e9 9f c6 18 8b b0 2a 84 1d 56 e7 6d 30 18 91 e2 \r
+45 60 55 0f cc 2a 26 b5 5f 4c cb 26 d8 37 d3 50 \r
+a1 54 bc ac a8 39 2d 98 fa 67 95 9e 97 27 b7 8c \r
+ad 03 26 9f 56 96 8f c5 6b 68 bd 67 99 26 d8 3c \r
+c9 cb 21 55 50 64 5c cd a3 1c 76 0f f3 58 88 94 \r
+3d 2d 8a 1d 35 1e 81 e5 d0 7b 86 18 2e 75 10 81 \r
+ef \r
+\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 7: A 1030-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n: \r
+37 c9 da 4a 66 c8 c4 08 b8 da 27 d0 c9 d7 9f 8c \r
+cb 1e af c1 d2 fe 48 74 6d 94 0b 7c 4e f5 de e1 \r
+8a d1 26 47 ce fa a0 c4 b3 18 8b 22 1c 51 53 86 \r
+75 9b 93 f0 20 24 b2 5a b9 24 2f 83 57 d8 f3 fd \r
+49 64 0e e5 e6 43 ea f6 c6 4d ee fa 70 89 72 7c \r
+8f f0 39 93 33 39 15 c6 ef 21 bf 59 75 b6 e5 0d \r
+11 8b 51 00 8e c3 3e 9f 01 a0 a5 45 a1 0a 83 6a \r
+43 dd bc a9 d8 b5 c5 d3 54 80 22 d7 06 4e a2 9a \r
+b3 \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+3b ed 99 90 52 d9 57 bc 06 d6 51 ee f6 e3 a9 80 \r
+94 b1 62 1b d3 8b 54 49 bd 6c 4a ea 3d e7 e0 84 \r
+67 9a 44 84 de d2 5b e0 f0 82 6c f3 37 78 25 41 \r
+4b 14 d4 d6 1d b1 4d e6 26 fb b8 0e 5f 4f ae c9 \r
+56 f9 a0 a2 d2 4f 99 57 63 80 f0 84 eb 62 e4 6a \r
+57 d5 54 27 8b 53 56 26 19 3c e0 20 60 57 5e b6 \r
+6c 57 98 d3 6f 6c 5d 40 fb 00 d8 09 b4 2a 73 10 \r
+2c 1c 74 ee 95 bd 71 42 0f ff ef 63 18 b5 2c 29 \r
+\r
+# Prime p: \r
+07 ee fb 42 4b 0e 3a 40 e4 20 8e e5 af b2 80 b2 \r
+23 17 30 81 14 dd e0 b4 b6 4f 73 01 84 ec 68 da \r
+6c e2 86 7a 9f 48 ed 77 26 d5 e2 61 4e d0 4a 54 \r
+10 73 6c 8c 71 4e e7 02 47 42 98 c6 29 2a f0 75 \r
+35 \r
+\r
+# Prime q: \r
+07 08 30 db f9 47 ea c0 22 8d e2 63 14 b5 9b 66 \r
+99 4c c6 0e 83 60 e7 5d 38 76 29 8f 8f 8a 7d 14 \r
+1d a0 64 e5 ca 02 6a 97 3e 28 f2 54 73 8c ee 66 \r
+9c 72 1b 03 4c b5 f8 e2 44 da dd 7c d1 e1 59 d5 \r
+47 \r
+\r
+# p's CRT exponent dP: \r
+05 24 d2 0c 3d 95 cf f7 5a f2 31 34 83 22 7d 87 \r
+02 71 7a a5 76 de 15 5f 96 05 15 50 1a db 1d 70 \r
+e1 c0 4d e9 1b 75 b1 61 db f0 39 83 56 12 7e de \r
+da 7b bc 19 a3 2d c1 62 1c c9 f5 3c 26 5d 0c e3 \r
+31 \r
+\r
+# q's CRT exponent dQ: \r
+05 f9 84 a1 f2 3c 93 8d 6a 0e 89 72 4b cf 3d d9 \r
+3f 99 46 92 60 37 fe 7c 6b 13 a2 9e 52 84 85 5f \r
+89 08 95 91 d4 40 97 56 27 bf 5c 9e 3a 8b 5c a7 \r
+9c 77 2a d2 73 e4 0d 32 1a f4 a6 c9 7d fd ed 78 \r
+d3 \r
+\r
+# CRT coefficient qInv: \r
+dd d9 18 ad ad a2 9d ca b9 81 ff 9a cb a4 25 70 \r
+23 c0 9a 38 01 cc ce 09 8c e2 68 f8 55 d0 df 57 \r
+0c d6 e7 b9 b1 4b d9 a5 a9 25 4c bc 31 5b e6 f8 \r
+ba 1e 25 46 dd d5 69 c5 ea 19 ee d8 35 3b de 5e \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 7.1\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+9e ad 0e 01 94 56 40 67 4e b4 1c ad 43 5e 23 74 \r
+ea ef a8 ad 71 97 d9 79 13 c4 49 57 d8 d8 3f 40 \r
+d7 6e e6 0e 39 bf 9c 0f 9e af 30 21 42 1a 07 4d \r
+1a de 96 2c 6e 9d 3d c3 bb 17 4f e4 df e6 52 b0 \r
+91 15 49 5b 8f d2 79 41 74 02 0a 06 02 b5 ca 51 \r
+84 8c fc 96 ce 5e b5 7f c0 a2 ad c1 dd a3 6a 7c \r
+c4 52 64 1a 14 91 1b 37 e4 5b fa 11 da a5 c7 ec \r
+db 74 f6 d0 10 0d 1d 3e 39 e7 52 80 0e 20 33 97 \r
+de 02 33 07 7b 9a 88 85 55 37 fa e9 27 f9 24 38 \r
+0d 78 0f 98 e1 8d cf f3 9c 5e a7 41 b1 7d 6f dd \r
+18 85 bc 9d 58 14 82 d7 71 ce b5 62 d7 8a 8b f8 \r
+8f 0c 75 b1 13 63 e5 e3 6c d4 79 ce b0 54 5f 9d \r
+a8 42 03 e0 e6 e5 08 37 5c c9 e8 44 b8 8b 7a c7 \r
+a0 a2 01 ea 0f 1b ee 9a 2c 57 79 20 ca 02 c0 1b \r
+9d 83 20 e9 74 a5 6f 4e fb 57 63 b9 62 55 ab bf \r
+80 37 bf 18 02 cf 01 8f 56 37 94 93 e5 69 a9 \r
+\r
+# Salt:\r
+b7 86 7a 59 95 8c b5 43 28 f8 77 5e 65 46 ec 06 \r
+d2 7e aa 50 \r
+\r
+# Signature:\r
+18 7f 39 07 23 c8 90 25 91 f0 15 4b ae 6d 4e cb \r
+ff e0 67 f0 e8 b7 95 47 6e a4 f4 d5 1c cc 81 05 \r
+20 bb 3c a9 bc a7 d0 b1 f2 ea 8a 17 d8 73 fa 27 \r
+57 0a cd 64 2e 38 08 56 1c b9 e9 75 cc fd 80 b2 \r
+3d c5 77 1c db 33 06 a5 f2 31 59 da cb d3 aa 2d \r
+b9 3d 46 d7 66 e0 9e d1 5d 90 0a d8 97 a8 d2 74 \r
+dc 26 b4 7e 99 4a 27 e9 7e 22 68 a7 66 53 3a e4 \r
+b5 e4 2a 2f ca f7 55 c1 c4 79 4b 29 4c 60 55 58 \r
+23 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 7.2\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+8d 80 d2 d0 8d bd 19 c1 54 df 3f 14 67 3a 14 bd \r
+03 73 52 31 f2 4e 86 bf 15 3d 0e 69 e7 4c bf f7 \r
+b1 83 6e 66 4d e8 3f 68 01 24 37 0f c0 f9 6c 9b \r
+65 c0 7a 36 6b 64 4c 4a b3 \r
+\r
+# Salt:\r
+0c 09 58 22 66 df 08 63 10 82 1b a7 e1 8d f6 4d \r
+fe e6 de 09 \r
+\r
+# Signature:\r
+10 fd 89 76 8a 60 a6 77 88 ab b5 85 6a 78 7c 85 \r
+61 f3 ed cf 9a 83 e8 98 f7 dc 87 ab 8c ce 79 42 \r
+9b 43 e5 69 06 94 1a 88 61 94 f1 37 e5 91 fe 7c \r
+33 95 55 36 1f bb e1 f2 4f eb 2d 4b cd b8 06 01 \r
+f3 09 6b c9 13 2d ee a6 0a e1 30 82 f4 4f 9a d4 \r
+1c d6 28 93 6a 4d 51 17 6e 42 fc 59 cb 76 db 81 \r
+5c e5 ab 4d b9 9a 10 4a af ea 68 f5 d3 30 32 9e \r
+bf 25 8d 4e de 16 06 4b d1 d0 03 93 d5 e1 57 0e \r
+b8 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 7.3\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+80 84 05 cd fc 1a 58 b9 bb 03 97 c7 20 72 2a 81 \r
+ff fb 76 27 8f 33 59 17 ef 9c 47 38 14 b3 e0 16 \r
+ba 29 73 cd 27 65 f8 f3 f8 2d 6c c3 8a a7 f8 55 \r
+18 27 fe 8d 1e 38 84 b7 e6 1c 94 68 3b 8f 82 f1 \r
+84 3b da e2 25 7e ee c9 81 2a d4 c2 cf 28 3c 34 \r
+e0 b0 ae 0f e3 cb 99 0c f8 8f 2e f9 \r
+\r
+# Salt:\r
+28 03 9d cf e1 06 d3 b8 29 66 11 25 8c 4a 56 65 \r
+1c 9e 92 dd \r
+\r
+# Signature:\r
+2b 31 fd e9 98 59 b9 77 aa 09 58 6d 8e 27 46 62 \r
+b2 5a 2a 64 06 40 b4 57 f5 94 05 1c b1 e7 f7 a9 \r
+11 86 54 55 24 29 26 cf 88 fe 80 df a3 a7 5b a9 \r
+68 98 44 a1 1e 63 4a 82 b0 75 af bd 69 c1 2a 0d \r
+f9 d2 5f 84 ad 49 45 df 3d c8 fe 90 c3 ce fd f2 \r
+6e 95 f0 53 43 04 b5 bd ba 20 d3 e5 64 0a 2e bf \r
+b8 98 aa c3 5a e4 0f 26 fc e5 56 3c 2f 9f 24 f3 \r
+04 2a f7 6f 3c 70 72 d6 87 bb fb 95 9a 88 46 0a \r
+f1 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 7.4\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+f3 37 b9 ba d9 37 de 22 a1 a0 52 df f1 11 34 a8 \r
+ce 26 97 62 02 98 19 39 b9 1e 07 15 ae 5e 60 96 \r
+49 da 1a df ce f3 f4 cc a5 9b 23 83 60 e7 d1 e4 \r
+96 c7 bf 4b 20 4b 5a cf f9 bb d6 16 6a 1d 87 a3 \r
+6e f2 24 73 73 75 10 39 f8 a8 00 b8 39 98 07 b3 \r
+a8 5f 44 89 34 97 c0 d0 5f b7 01 7b 82 22 81 52 \r
+de 6f 25 e6 11 6d cc 75 03 c7 86 c8 75 c2 8f 3a \r
+a6 07 e9 4a b0 f1 98 63 ab 1b 50 73 77 0b 0c d5 \r
+f5 33 ac de 30 c6 fb 95 3c f3 da 68 02 64 e3 0f \r
+c1 1b ff 9a 19 bf fa b4 77 9b 62 23 c3 fb 3f e0 \r
+f7 1a ba de 4e b7 c0 9c 41 e2 4c 22 d2 3f a1 48 \r
+e6 a1 73 fe b6 39 84 d1 bc 6e e3 a0 2d 91 5b 75 \r
+2c ea f9 2a 30 15 ec eb 38 ca 58 6c 68 01 b3 7c \r
+34 ce fb 2c ff 25 ea 23 c0 86 62 dc ab 26 a7 a9 \r
+3a 28 5d 05 d3 04 4c \r
+\r
+# Salt:\r
+a7 78 21 eb bb ef 24 62 8e 4e 12 e1 d0 ea 96 de \r
+39 8f 7b 0f \r
+\r
+# Signature:\r
+32 c7 ca 38 ff 26 94 9a 15 00 0c 4b a0 4b 2b 13 \r
+b3 5a 38 10 e5 68 18 4d 7e ca ba a1 66 b7 ff ab \r
+dd f2 b6 cf 4b a0 71 24 92 37 90 f2 e5 b1 a5 be \r
+04 0a ea 36 fe 13 2e c1 30 e1 f1 05 67 98 2d 17 \r
+ac 3e 89 b8 d2 6c 30 94 03 4e 76 2d 2e 03 12 64 \r
+f0 11 70 be ec b3 d1 43 9e 05 84 6f 25 45 83 67 \r
+a7 d9 c0 20 60 44 46 72 67 1e 64 e8 77 86 45 59 \r
+ca 19 b2 07 4d 58 8a 28 1b 58 04 d2 37 72 fb be \r
+19 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 7.5\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+45 01 3c eb af d9 60 b2 55 47 6a 8e 25 98 b9 aa \r
+32 ef be 6d c1 f3 4f 4a 49 8d 8c f5 a2 b4 54 8d \r
+08 c5 5d 5f 95 f7 bc c9 61 91 63 05 6f 2d 58 b5 \r
+2f a0 32 \r
+\r
+# Salt:\r
+9d 5a d8 eb 45 21 34 b6 5d c3 a9 8b 6a 73 b5 f7 \r
+41 60 9c d6 \r
+\r
+# Signature:\r
+07 eb 65 1d 75 f1 b5 2b c2 63 b2 e1 98 33 6e 99 \r
+fb eb c4 f3 32 04 9a 92 2a 10 81 56 07 ee 2d 98 \r
+9d b3 a4 49 5b 7d cc d3 8f 58 a2 11 fb 7e 19 31 \r
+71 a3 d8 91 13 24 37 eb ca 44 f3 18 b2 80 50 9e \r
+52 b5 fa 98 fc ce 82 05 d9 69 7c 8e e4 b7 ff 59 \r
+d4 c5 9c 79 03 8a 19 70 bd 2a 0d 45 1e cd c5 ef \r
+11 d9 97 9c 9d 35 f8 c7 0a 61 63 71 76 07 89 0d \r
+58 6a 7c 6d c0 1c 79 f8 6a 8f 28 e8 52 35 f8 c2 \r
+f1 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 7.6\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+23 58 09 70 86 c8 99 32 3e 75 d9 c9 0d 0c 09 f1 \r
+2d 9d 54 ed fb df 70 a9 c2 eb 5a 04 d8 f3 6b 9b \r
+2b df 2a ab e0 a5 bd a1 96 89 37 f9 d6 eb d3 b6 \r
+b2 57 ef b3 13 6d 41 31 f9 ac b5 9b 85 e2 60 2c \r
+2a 3f cd c8 35 49 4a 1f 4e 5e c1 8b 22 6c 80 23 \r
+2b 36 a7 5a 45 fd f0 9a 7e a9 e9 8e fb de 14 50 \r
+d1 19 4b f1 2e 15 a4 c5 f9 eb 5c 0b ce 52 69 e0 \r
+c3 b2 8c fa b6 55 d8 1a 61 a2 0b 4b e2 f5 44 59 \r
+bb 25 a0 db 94 c5 22 18 be 10 9a 74 26 de 83 01 \r
+44 24 78 9a aa 90 e5 05 6e 63 2a 69 81 15 e2 82 \r
+c1 a5 64 10 f2 6c 20 72 f1 93 48 1a 9d cd 88 05 \r
+72 00 5e 64 f4 08 2e cf \r
+\r
+# Salt:\r
+3f 2e fc 59 58 80 a7 d4 7f cf 3c ba 04 98 3e a5 \r
+4c 4b 73 fb \r
+\r
+# Signature:\r
+18 da 3c dc fe 79 bf b7 7f d9 c3 2f 37 7a d3 99 \r
+14 6f 0a 8e 81 06 20 23 32 71 a6 e3 ed 32 48 90 \r
+3f 5c dc 92 dc 79 b5 5d 3e 11 61 5a a0 56 a7 95 \r
+85 37 92 a3 99 8c 34 9c a5 c4 57 e8 ca 7d 29 d7 \r
+96 aa 24 f8 34 91 70 9b ef cf b1 51 0e a5 13 c9 \r
+28 29 a3 f0 0b 10 4f 65 56 34 f3 20 75 2e 13 0e \r
+c0 cc f6 75 4f f8 93 db 30 29 32 bb 02 5e b6 0e \r
+87 82 25 98 fc 61 9e 0e 98 17 37 a9 a4 c4 15 2d \r
+33 \r
+\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 8: A 1031-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n: \r
+49 53 70 a1 fb 18 54 3c 16 d3 63 1e 31 63 25 5d \r
+f6 2b e6 ee e8 90 d5 f2 55 09 e4 f7 78 a8 ea 6f \r
+bb bc df 85 df f6 4e 0d 97 20 03 ab 36 81 fb ba \r
+6d d4 1f d5 41 82 9b 2e 58 2d e9 f2 a4 a4 e0 a2 \r
+d0 90 0b ef 47 53 db 3c ee 0e e0 6c 7d fa e8 b1 \r
+d5 3b 59 53 21 8f 9c ce ea 69 5b 08 66 8e de aa \r
+dc ed 94 63 b1 d7 90 d5 eb f2 7e 91 15 b4 6c ad \r
+4d 9a 2b 8e fa b0 56 1b 08 10 34 47 39 ad a0 73 \r
+3f \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+6c 66 ff e9 89 80 c3 8f cd ea b5 15 98 98 83 61 \r
+65 f4 b4 b8 17 c4 f6 a8 d4 86 ee 4e a9 13 0f e9 \r
+b9 09 2b d1 36 d1 84 f9 5f 50 4a 60 7e ac 56 58 \r
+46 d2 fd d6 59 7a 89 67 c7 39 6e f9 5a 6e ee bb \r
+45 78 a6 43 96 6d ca 4d 8e e3 de 84 2d e6 32 79 \r
+c6 18 15 9c 1a b5 4a 89 43 7b 6a 61 20 e4 93 0a \r
+fb 52 a4 ba 6c ed 8a 49 47 ac 64 b3 0a 34 97 cb \r
+e7 01 c2 d6 26 6d 51 72 19 ad 0e c6 d3 47 db e9 \r
+\r
+# Prime p: \r
+08 da d7 f1 13 63 fa a6 23 d5 d6 d5 e8 a3 19 32 \r
+8d 82 19 0d 71 27 d2 84 6c 43 9b 0a b7 26 19 b0 \r
+a4 3a 95 32 0e 4e c3 4f c3 a9 ce a8 76 42 23 05 \r
+bd 76 c5 ba 7b e9 e2 f4 10 c8 06 06 45 a1 d2 9e \r
+db \r
+\r
+# Prime q: \r
+08 47 e7 32 37 6f c7 90 0f 89 8e a8 2e b2 b0 fc \r
+41 85 65 fd ae 62 f7 d9 ec 4c e2 21 7b 97 99 0d \r
+d2 72 db 15 7f 99 f6 3c 0d cb b9 fb ac db d4 c4 \r
+da db 6d f6 77 56 35 8c a4 17 48 25 b4 8f 49 70 \r
+6d \r
+\r
+# p's CRT exponent dP: \r
+05 c2 a8 3c 12 4b 36 21 a2 aa 57 ea 2c 3e fe 03 \r
+5e ff 45 60 f3 3d de bb 7a da b8 1f ce 69 a0 c8 \r
+c2 ed c1 65 20 dd a8 3d 59 a2 3b e8 67 96 3a c6 \r
+5f 2c c7 10 bb cf b9 6e e1 03 de b7 71 d1 05 fd \r
+85 \r
+\r
+# q's CRT exponent dQ: \r
+04 ca e8 aa 0d 9f aa 16 5c 87 b6 82 ec 14 0b 8e \r
+d3 b5 0b 24 59 4b 7a 3b 2c 22 0b 36 69 bb 81 9f \r
+98 4f 55 31 0a 1a e7 82 36 51 d4 a0 2e 99 44 79 \r
+72 59 51 39 36 34 34 e5 e3 0a 7e 7d 24 15 51 e1 \r
+b9 \r
+\r
+# CRT coefficient qInv: \r
+07 d3 e4 7b f6 86 60 0b 11 ac 28 3c e8 8d bb 3f \r
+60 51 e8 ef d0 46 80 e4 4c 17 1e f5 31 b8 0b 2b \r
+7c 39 fc 76 63 20 e2 cf 15 d8 d9 98 20 e9 6f f3 \r
+0d c6 96 91 83 9c 4b 40 d7 b0 6e 45 30 7d c9 1f \r
+3f \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 8.1\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+81 33 2f 4b e6 29 48 41 5e a1 d8 99 79 2e ea cf \r
+6c 6e 1d b1 da 8b e1 3b 5c ea 41 db 2f ed 46 70 \r
+92 e1 ff 39 89 14 c7 14 25 97 75 f5 95 f8 54 7f \r
+73 56 92 a5 75 e6 92 3a f7 8f 22 c6 99 7d db 90 \r
+fb 6f 72 d7 bb 0d d5 74 4a 31 de cd 3d c3 68 58 \r
+49 83 6e d3 4a ec 59 63 04 ad 11 84 3c 4f 88 48 \r
+9f 20 97 35 f5 fb 7f da f7 ce c8 ad dc 58 18 16 \r
+8f 88 0a cb f4 90 d5 10 05 b7 a8 e8 4e 43 e5 42 \r
+87 97 75 71 dd 99 ee a4 b1 61 eb 2d f1 f5 10 8f \r
+12 a4 14 2a 83 32 2e db 05 a7 54 87 a3 43 5c 9a \r
+78 ce 53 ed 93 bc 55 08 57 d7 a9 fb \r
+\r
+# Salt:\r
+1d 65 49 1d 79 c8 64 b3 73 00 9b e6 f6 f2 46 7b \r
+ac 4c 78 fa \r
+\r
+# Signature:\r
+02 62 ac 25 4b fa 77 f3 c1 ac a2 2c 51 79 f8 f0 \r
+40 42 2b 3c 5b af d4 0a 8f 21 cf 0f a5 a6 67 cc \r
+d5 99 3d 42 db af b4 09 c5 20 e2 5f ce 2b 1e e1 \r
+e7 16 57 7f 1e fa 17 f3 da 28 05 2f 40 f0 41 9b \r
+23 10 6d 78 45 aa f0 11 25 b6 98 e7 a4 df e9 2d \r
+39 67 bb 00 c4 d0 d3 5b a3 55 2a b9 a8 b3 ee f0 \r
+7c 7f ec db c5 42 4a c4 db 1e 20 cb 37 d0 b2 74 \r
+47 69 94 0e a9 07 e1 7f bb ca 67 3b 20 52 23 80 \r
+c5 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 8.2\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+e2 f9 6e af 0e 05 e7 ba 32 6e cc a0 ba 7f d2 f7 \r
+c0 23 56 f3 ce de 9d 0f aa bf 4f cc 8e 60 a9 73 \r
+e5 59 5f d9 ea 08 \r
+\r
+# Salt:\r
+43 5c 09 8a a9 90 9e b2 37 7f 12 48 b0 91 b6 89 \r
+87 ff 18 38 \r
+\r
+# Signature:\r
+27 07 b9 ad 51 15 c5 8c 94 e9 32 e8 ec 0a 28 0f \r
+56 33 9e 44 a1 b5 8d 4d dc ff 2f 31 2e 5f 34 dc \r
+fe 39 e8 9c 6a 94 dc ee 86 db bd ae 5b 79 ba 4e \r
+08 19 a9 e7 bf d9 d9 82 e7 ee 6c 86 ee 68 39 6e \r
+8b 3a 14 c9 c8 f3 4b 17 8e b7 41 f9 d3 f1 21 10 \r
+9b f5 c8 17 2f ad a2 e7 68 f9 ea 14 33 03 2c 00 \r
+4a 8a a0 7e b9 90 00 0a 48 dc 94 c8 ba c8 aa be \r
+2b 09 b1 aa 46 c0 a2 aa 0e 12 f6 3f bb a7 75 ba \r
+7e \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 8.3\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+e3 5c 6e d9 8f 64 a6 d5 a6 48 fc ab 8a db 16 33 \r
+1d b3 2e 5d 15 c7 4a 40 ed f9 4c 3d c4 a4 de 79 \r
+2d 19 08 89 f2 0f 1e 24 ed 12 05 4a 6b 28 79 8f \r
+cb 42 d1 c5 48 76 9b 73 4c 96 37 31 42 09 2a ed \r
+27 76 03 f4 73 8d f4 dc 14 46 58 6d 0e c6 4d a4 \r
+fb 60 53 6d b2 ae 17 fc 7e 3c 04 bb fb bb d9 07 \r
+bf 11 7c 08 63 6f a1 6f 95 f5 1a 62 16 93 4d 3e \r
+34 f8 50 30 f1 7b bb c5 ba 69 14 40 58 af f0 81 \r
+e0 b1 9c f0 3c 17 19 5c 5e 88 8b a5 8f 6f e0 a0 \r
+2e 5c 3b da 97 19 a7 \r
+\r
+# Salt:\r
+c6 eb be 76 df 0c 4a ea 32 c4 74 17 5b 2f 13 68 \r
+62 d0 45 29 \r
+\r
+# Signature:\r
+2a d2 05 09 d7 8c f2 6d 1b 6c 40 61 46 08 6e 4b \r
+0c 91 a9 1c 2b d1 64 c8 7b 96 6b 8f aa 42 aa 0c \r
+a4 46 02 23 23 ba 4b 1a 1b 89 70 6d 7f 4c 3b e5 \r
+7d 7b 69 70 2d 16 8a b5 95 5e e2 90 35 6b 8c 4a \r
+29 ed 46 7d 54 7e c2 3c ba df 28 6c cb 58 63 c6 \r
+67 9d a4 67 fc 93 24 a1 51 c7 ec 55 aa c6 db 40 \r
+84 f8 27 26 82 5c fe 1a a4 21 bc 64 04 9f b4 2f \r
+23 14 8f 9c 25 b2 dc 30 04 37 c3 8d 42 8a a7 5f \r
+96 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 8.4\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+db c5 f7 50 a7 a1 4b e2 b9 3e 83 8d 18 d1 4a 86 \r
+95 e5 2e 8a dd 9c 0a c7 33 b8 f5 6d 27 47 e5 29 \r
+a0 cc a5 32 dd 49 b9 02 ae fe d5 14 44 7f 9e 81 \r
+d1 61 95 c2 85 38 68 cb 9b 30 f7 d0 d4 95 c6 9d \r
+01 b5 c5 d5 0b 27 04 5d b3 86 6c 23 24 a4 4a 11 \r
+0b 17 17 74 6d e4 57 d1 c8 c4 5c 3c d2 a9 29 70 \r
+c3 d5 96 32 05 5d 4c 98 a4 1d 6e 99 e2 a3 dd d5 \r
+f7 f9 97 9a b3 cd 18 f3 75 05 d2 51 41 de 2a 1b \r
+ff 17 b3 a7 dc e9 41 9e cc 38 5c f1 1d 72 84 0f \r
+19 95 3f d0 50 92 51 f6 ca fd e2 89 3d 0e 75 c7 \r
+81 ba 7a 50 12 ca 40 1a 4f a9 9e 04 b3 c3 24 9f \r
+92 6d 5a fe 82 cc 87 da b2 2c 3c 1b 10 5d e4 8e \r
+34 ac e9 c9 12 4e 59 59 7a c7 eb f8 \r
+\r
+# Salt:\r
+02 1f dc c6 eb b5 e1 9b 1c b1 6e 9c 67 f2 76 81 \r
+65 7f e2 0a \r
+\r
+# Signature:\r
+1e 24 e6 e5 86 28 e5 17 50 44 a9 eb 6d 83 7d 48 \r
+af 12 60 b0 52 0e 87 32 7d e7 89 7e e4 d5 b9 f0 \r
+df 0b e3 e0 9e d4 de a8 c1 45 4f f3 42 3b b0 8e \r
+17 93 24 5a 9d f8 bf 6a b3 96 8c 8e dd c3 b5 32 \r
+85 71 c7 7f 09 1c c5 78 57 69 12 df eb d1 64 b9 \r
+de 54 54 fe 0b e1 c1 f6 38 5b 32 83 60 ce 67 ec \r
+7a 05 f6 e3 0e b4 5c 17 c4 8a c7 00 41 d2 ca b6 \r
+7f 0a 2a e7 aa fd cc 8d 24 5e a3 44 2a 63 00 cc \r
+c7 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 8.5\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+04 dc 25 1b e7 2e 88 e5 72 34 85 b6 38 3a 63 7e \r
+2f ef e0 76 60 c5 19 a5 60 b8 bc 18 bd ed b8 6e \r
+ae 23 64 ea 53 ba 9d ca 6e b3 d2 e7 d6 b8 06 af \r
+42 b3 e8 7f 29 1b 4a 88 81 d5 bf 57 2c c9 a8 5e \r
+19 c8 6a cb 28 f0 98 f9 da 03 83 c5 66 d3 c0 f5 \r
+8c fd 8f 39 5d cf 60 2e 5c d4 0e 8c 71 83 f7 14 \r
+99 6e 22 97 ef \r
+\r
+# Salt:\r
+c5 58 d7 16 7c bb 45 08 ad a0 42 97 1e 71 b1 37 \r
+7e ea 42 69 \r
+\r
+# Signature:\r
+33 34 1b a3 57 6a 13 0a 50 e2 a5 cf 86 79 22 43 \r
+88 d5 69 3f 5a cc c2 35 ac 95 ad d6 8e 5e b1 ee \r
+c3 16 66 d0 ca 7a 1c da 6f 70 a1 aa 76 2c 05 75 \r
+2a 51 95 0c db 8a f3 c5 37 9f 18 cf e6 b5 bc 55 \r
+a4 64 82 26 a1 5e 91 2e f1 9a d7 7a de ea 91 1d \r
+67 cf ef d6 9b a4 3f a4 11 91 35 ff 64 21 17 ba \r
+98 5a 7e 01 00 32 5e 95 19 f1 ca 6a 92 16 bd a0 \r
+55 b5 78 50 15 29 11 25 e9 0d cd 07 a2 ca 96 73 \r
+ee \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 8.6\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+0e a3 7d f9 a6 fe a4 a8 b6 10 37 3c 24 cf 39 0c \r
+20 fa 6e 21 35 c4 00 c8 a3 4f 5c 18 3a 7e 8e a4 \r
+c9 ae 09 0e d3 17 59 f4 2d c7 77 19 cc a4 00 ec \r
+dc c5 17 ac fc 7a c6 90 26 75 b2 ef 30 c5 09 66 \r
+5f 33 21 48 2f c6 9a 9f b5 70 d1 5e 01 c8 45 d0 \r
+d8 e5 0d 2a 24 cb f1 cf 0e 71 49 75 a5 db 7b 18 \r
+d9 e9 e9 cb 91 b5 cb 16 86 90 60 ed 18 b7 b5 62 \r
+45 50 3f 0c af 90 35 2b 8d e8 1c b5 a1 d9 c6 33 \r
+60 92 f0 cd \r
+\r
+# Salt:\r
+76 fd 4e 64 fd c9 8e b9 27 a0 40 3e 35 a0 84 e7 \r
+6b a9 f9 2a \r
+\r
+# Signature:\r
+1e d1 d8 48 fb 1e db 44 12 9b d9 b3 54 79 5a f9 \r
+7a 06 9a 7a 00 d0 15 10 48 59 3e 0c 72 c3 51 7f \r
+f9 ff 2a 41 d0 cb 5a 0a c8 60 d7 36 a1 99 70 4f \r
+7c b6 a5 39 86 a8 8b bd 8a bc c0 07 6a 2c e8 47 \r
+88 00 31 52 5d 44 9d a2 ac 78 35 63 74 c5 36 e3 \r
+43 fa a7 cb a4 2a 5a aa 65 06 08 77 91 c0 6a 8e \r
+98 93 35 ae d1 9b fa b2 d5 e6 7e 27 fb 0c 28 75 \r
+af 89 6c 21 b6 e8 e7 30 9d 04 e4 f6 72 7e 69 46 \r
+3e \r
+\r
+# =============================================\r
+\r
+# ==================================\r
+# Example 9: A 1536-bit RSA Key Pair\r
+# ==================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n: \r
+e6 bd 69 2a c9 66 45 79 04 03 fd d0 f5 be b8 b9 \r
+bf 92 ed 10 00 7f c3 65 04 64 19 dd 06 c0 5c 5b \r
+5b 2f 48 ec f9 89 e4 ce 26 91 09 97 9c bb 40 b4 \r
+a0 ad 24 d2 24 83 d1 ee 31 5a d4 cc b1 53 42 68 \r
+35 26 91 c5 24 f6 dd 8e 6c 29 d2 24 cf 24 69 73 \r
+ae c8 6c 5b f6 b1 40 1a 85 0d 1b 9a d1 bb 8c bc \r
+ec 47 b0 6f 0f 8c 7f 45 d3 fc 8f 31 92 99 c5 43 \r
+3d db c2 b3 05 3b 47 de d2 ec d4 a4 ca ef d6 14 \r
+83 3d c8 bb 62 2f 31 7e d0 76 b8 05 7f e8 de 3f \r
+84 48 0a d5 e8 3e 4a 61 90 4a 4f 24 8f b3 97 02 \r
+73 57 e1 d3 0e 46 31 39 81 5c 6f d4 fd 5a c5 b8 \r
+17 2a 45 23 0e cb 63 18 a0 4f 14 55 d8 4e 5a 8b \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+6a 7f d8 4f b8 5f ad 07 3b 34 40 6d b7 4f 8d 61 \r
+a6 ab c1 21 96 a9 61 dd 79 56 5e 9d a6 e5 18 7b \r
+ce 2d 98 02 50 f7 35 95 75 35 92 70 d9 15 90 bb \r
+0e 42 7c 71 46 0b 55 d5 14 10 b1 91 bc f3 09 fe \r
+a1 31 a9 2c 8e 70 27 38 fa 71 9f 1e 00 41 f5 2e \r
+40 e9 1f 22 9f 4d 96 a1 e6 f1 72 e1 55 96 b4 51 \r
+0a 6d ae c2 61 05 f2 be bc 53 31 6b 87 bd f2 13 \r
+11 66 60 70 e8 df ee 69 d5 2c 71 a9 76 ca ae 79 \r
+c7 2b 68 d2 85 80 dc 68 6d 9f 51 29 d2 25 f8 2b \r
+3d 61 55 13 a8 82 b3 db 91 41 6b 48 ce 08 88 82 \r
+13 e3 7e eb 9a f8 00 d8 1c ab 32 8c e4 20 68 99 \r
+03 c0 0c 7b 5f d3 1b 75 50 3a 6d 41 96 84 d6 29 \r
+\r
+# Prime p: \r
+f8 eb 97 e9 8d f1 26 64 ee fd b7 61 59 6a 69 dd \r
+cd 0e 76 da ec e6 ed 4b f5 a1 b5 0a c0 86 f7 92 \r
+8a 4d 2f 87 26 a7 7e 51 5b 74 da 41 98 8f 22 0b \r
+1c c8 7a a1 fc 81 0c e9 9a 82 f2 d1 ce 82 1e dc \r
+ed 79 4c 69 41 f4 2c 7a 1a 0b 8c 4d 28 c7 5e c6 \r
+0b 65 22 79 f6 15 4a 76 2a ed 16 5d 47 de e3 67 \r
+\r
+# Prime q: \r
+ed 4d 71 d0 a6 e2 4b 93 c2 e5 f6 b4 bb e0 5f 5f \r
+b0 af a0 42 d2 04 fe 33 78 d3 65 c2 f2 88 b6 a8 \r
+da d7 ef e4 5d 15 3e ef 40 ca cc 7b 81 ff 93 40 \r
+02 d1 08 99 4b 94 a5 e4 72 8c d9 c9 63 37 5a e4 \r
+99 65 bd a5 5c bf 0e fe d8 d6 55 3b 40 27 f2 d8 \r
+62 08 a6 e6 b4 89 c1 76 12 80 92 d6 29 e4 9d 3d \r
+\r
+# p's CRT exponent dP: \r
+2b b6 8b dd fb 0c 4f 56 c8 55 8b ff af 89 2d 80 \r
+43 03 78 41 e7 fa 81 cf a6 1a 38 c5 e3 9b 90 1c \r
+8e e7 11 22 a5 da 22 27 bd 6c de eb 48 14 52 c1 \r
+2a d3 d6 1d 5e 4f 77 6a 0a b5 56 59 1b ef e3 e5 \r
+9e 5a 7f dd b8 34 5e 1f 2f 35 b9 f4 ce e5 7c 32 \r
+41 4c 08 6a ec 99 3e 93 53 e4 80 d9 ee c6 28 9f \r
+\r
+# q's CRT exponent dQ: \r
+4f f8 97 70 9f ad 07 97 46 49 45 78 e7 0f d8 54 \r
+61 30 ee ab 56 27 c4 9b 08 0f 05 ee 4a d9 f3 e4 \r
+b7 cb a9 d6 a5 df f1 13 a4 1c 34 09 33 68 33 f1 \r
+90 81 6d 8a 6b c4 2e 9b ec 56 b7 56 7d 0f 3c 9c \r
+69 6d b6 19 b2 45 d9 01 dd 85 6d b7 c8 09 2e 77 \r
+e9 a1 cc cd 56 ee 4d ba 42 c5 fd b6 1a ec 26 69 \r
+\r
+# CRT coefficient qInv: \r
+77 b9 d1 13 7b 50 40 4a 98 27 29 31 6e fa fc 7d \r
+fe 66 d3 4e 5a 18 26 00 d5 f3 0a 0a 85 12 05 1c \r
+56 0d 08 1d 4d 0a 18 35 ec 3d 25 a6 0f 4e 4d 6a \r
+a9 48 b2 bf 3d bb 5b 12 4c bb c3 48 92 55 a3 a9 \r
+48 37 2f 69 78 49 67 45 f9 43 e1 db 4f 18 38 2c \r
+ea a5 05 df c6 57 57 bb 3f 85 7a 58 dc e5 21 56 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 9.1\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+a8 8e 26 58 55 e9 d7 ca 36 c6 87 95 f0 b3 1b 59 \r
+1c d6 58 7c 71 d0 60 a0 b3 f7 f3 ea ef 43 79 59 \r
+22 02 8b c2 b6 ad 46 7c fc 2d 7f 65 9c 53 85 aa \r
+70 ba 36 72 cd de 4c fe 49 70 cc 79 04 60 1b 27 \r
+88 72 bf 51 32 1c 4a 97 2f 3c 95 57 0f 34 45 d4 \r
+f5 79 80 e0 f2 0d f5 48 46 e6 a5 2c 66 8f 12 88 \r
+c0 3f 95 00 6e a3 2f 56 2d 40 d5 2a f9 fe b3 2f \r
+0f a0 6d b6 5b 58 8a 23 7b 34 e5 92 d5 5c f9 79 \r
+f9 03 a6 42 ef 64 d2 ed 54 2a a8 c7 7d c1 dd 76 \r
+2f 45 a5 93 03 ed 75 e5 41 ca 27 1e 2b 60 ca 70 \r
+9e 44 fa 06 61 13 1e 8d 5d 41 63 fd 8d 39 85 66 \r
+ce 26 de 87 30 e7 2f 9c ca 73 76 41 c2 44 15 94 \r
+20 63 70 28 df 0a 18 07 9d 62 08 ea 8b 47 11 a2 \r
+c7 50 f5 \r
+\r
+# Salt:\r
+c0 a4 25 31 3d f8 d7 56 4b d2 43 4d 31 15 23 d5 \r
+25 7e ed 80 \r
+\r
+# Signature:\r
+58 61 07 22 6c 3c e0 13 a7 c8 f0 4d 1a 6a 29 59 \r
+bb 4b 8e 20 5b a4 3a 27 b5 0f 12 41 11 bc 35 ef \r
+58 9b 03 9f 59 32 18 7c b6 96 d7 d9 a3 2c 0c 38 \r
+30 0a 5c dd a4 83 4b 62 d2 eb 24 0a f3 3f 79 d1 \r
+3d fb f0 95 bf 59 9e 0d 96 86 94 8c 19 64 74 7b \r
+67 e8 9c 9a ba 5c d8 50 16 23 6f 56 6c c5 80 2c \r
+b1 3e ad 51 bc 7c a6 be f3 b9 4d cb db b1 d5 70 \r
+46 97 71 df 0e 00 b1 a8 a0 67 77 47 2d 23 16 27 \r
+9e da e8 64 74 66 8d 4e 1e ff f9 5f 1d e6 1c 60 \r
+20 da 32 ae 92 bb f1 65 20 fe f3 cf 4d 88 f6 11 \r
+21 f2 4b bd 9f e9 1b 59 ca f1 23 5b 2a 93 ff 81 \r
+fc 40 3a dd f4 eb de a8 49 34 a9 cd af 8e 1a 9e \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 9.2\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+c8 c9 c6 af 04 ac da 41 4d 22 7e f2 3e 08 20 c3 \r
+73 2c 50 0d c8 72 75 e9 5b 0d 09 54 13 99 3c 26 \r
+58 bc 1d 98 85 81 ba 87 9c 2d 20 1f 14 cb 88 ce \r
+d1 53 a0 19 69 a7 bf 0a 7b e7 9c 84 c1 48 6b c1 \r
+2b 3f a6 c5 98 71 b6 82 7c 8c e2 53 ca 5f ef a8 \r
+a8 c6 90 bf 32 6e 8e 37 cd b9 6d 90 a8 2e ba b6 \r
+9f 86 35 0e 18 22 e8 bd 53 6a 2e \r
+\r
+# Salt:\r
+b3 07 c4 3b 48 50 a8 da c2 f1 5f 32 e3 78 39 ef \r
+8c 5c 0e 91 \r
+\r
+# Signature:\r
+80 b6 d6 43 25 52 09 f0 a4 56 76 38 97 ac 9e d2 \r
+59 d4 59 b4 9c 28 87 e5 88 2e cb 44 34 cf d6 6d \r
+d7 e1 69 93 75 38 1e 51 cd 7f 55 4f 2c 27 17 04 \r
+b3 99 d4 2b 4b e2 54 0a 0e ca 61 95 1f 55 26 7f \r
+7c 28 78 c1 22 84 2d ad b2 8b 01 bd 5f 8c 02 5f \r
+7e 22 84 18 a6 73 c0 3d 6b c0 c7 36 d0 a2 95 46 \r
+bd 67 f7 86 d9 d6 92 cc ea 77 8d 71 d9 8c 20 63 \r
+b7 a7 10 92 18 7a 4d 35 af 10 81 11 d8 3e 83 ea \r
+e4 6c 46 aa 34 27 7e 06 04 45 89 90 37 88 f1 d5 \r
+e7 ce e2 5f b4 85 e9 29 49 11 88 14 d6 f2 c3 ee \r
+36 14 89 01 6f 32 7f b5 bc 51 7e b5 04 70 bf fa \r
+1a fa 5f 4c e9 aa 0c e5 b8 ee 19 bf 55 01 b9 58 \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 9.3\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+0a fa d4 2c cd 4f c6 06 54 a5 50 02 d2 28 f5 2a \r
+4a 5f e0 3b 8b bb 08 ca 82 da ca 55 8b 44 db e1 \r
+26 6e 50 c0 e7 45 a3 6d 9d 29 04 e3 40 8a bc d1 \r
+fd 56 99 94 06 3f 4a 75 cc 72 f2 fe e2 a0 cd 89 \r
+3a 43 af 1c 5b 8b 48 7d f0 a7 16 10 02 4e 4f 6d \r
+df 9f 28 ad 08 13 c1 aa b9 1b cb 3c 90 64 d5 ff \r
+74 2d ef fe a6 57 09 41 39 36 9e 5e a6 f4 a9 63 \r
+19 a5 cc 82 24 14 5b 54 50 62 75 8f ef d1 fe 34 \r
+09 ae 16 92 59 c6 cd fd 6b 5f 29 58 e3 14 fa ec \r
+be 69 d2 ca ce 58 ee 55 17 9a b9 b3 e6 d1 ec c1 \r
+4a 55 7c 5f eb e9 88 59 52 64 fc 5d a1 c5 71 46 \r
+2e ca 79 8a 18 a1 a4 94 0c da b4 a3 e9 20 09 cc \r
+d4 2e 1e 94 7b 13 14 e3 22 38 a2 de ce 7d 23 a8 \r
+9b 5b 30 c7 51 fd 0a 4a 43 0d 2c 54 85 94 \r
+\r
+# Salt:\r
+9a 2b 00 7e 80 97 8b bb 19 2c 35 4e b7 da 9a ed \r
+fc 74 db f5 \r
+\r
+# Signature:\r
+48 44 08 f3 89 8c d5 f5 34 83 f8 08 19 ef bf 27 \r
+08 c3 4d 27 a8 b2 a6 fa e8 b3 22 f9 24 02 37 f9 \r
+81 81 7a ca 18 46 f1 08 4d aa 6d 7c 07 95 f6 e5 \r
+bf 1a f5 9c 38 e1 85 84 37 ce 1f 7e c4 19 b9 8c \r
+87 36 ad f6 dd 9a 00 b1 80 6d 2b d3 ad 0a 73 77 \r
+5e 05 f5 2d fe f3 a5 9a b4 b0 81 43 f0 df 05 cd \r
+1a d9 d0 4b ec ec a6 da a4 a2 12 98 03 e2 00 cb \r
+c7 77 87 ca f4 c1 d0 66 3a 6c 59 87 b6 05 95 20 \r
+19 78 2c af 2e c1 42 6d 68 fb 94 ed 1d 4b e8 16 \r
+a7 ed 08 1b 77 e6 ab 33 0b 3f fc 07 38 20 fe cd \r
+e3 72 7f cb e2 95 ee 61 a0 50 a3 43 65 86 37 c3 \r
+fd 65 9c fb 63 73 6d e3 2d 9f 90 d3 c2 f6 3e ca \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 9.4\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+1d fd 43 b4 6c 93 db 82 62 9b da e2 bd 0a 12 b8 \r
+82 ea 04 c3 b4 65 f5 cf 93 02 3f 01 05 96 26 db \r
+be 99 f2 6b b1 be 94 9d dd d1 6d c7 f3 de bb 19 \r
+a1 94 62 7f 0b 22 44 34 df 7d 87 00 e9 e9 8b 06 \r
+e3 60 c1 2f db e3 d1 9f 51 c9 68 4e b9 08 9e cb \r
+b0 a2 f0 45 03 99 d3 f5 9e ac 72 94 08 5d 04 4f \r
+53 93 c6 ce 73 74 23 d8 b8 6c 41 53 70 d3 89 e3 \r
+0b 9f 0a 3c 02 d2 5d 00 82 e8 ad 6f 3f 1e f2 4a \r
+45 c3 cf 82 b3 83 36 70 63 a4 d4 61 3e 42 64 f0 \r
+1b 2d ac 2e 5a a4 20 43 f8 fb 5f 69 fa 87 1d 14 \r
+fb 27 3e 76 7a 53 1c 40 f0 2f 34 3b c2 fb 45 a0 \r
+c7 e0 f6 be 25 61 92 3a 77 21 1d 66 a6 e2 db b4 \r
+3c 36 63 50 be ae 22 da 3a c2 c1 f5 07 70 96 fc \r
+b5 c4 bf 25 5f 75 74 35 1a e0 b1 e1 f0 36 32 81 \r
+7c 08 56 d4 a8 ba 97 af bd c8 b8 58 55 40 2b c5 \r
+69 26 fc ec 20 9f 9e a8 \r
+\r
+# Salt:\r
+70 f3 82 bd df 4d 5d 2d d8 8b 3b c7 b7 30 8b e6 \r
+32 b8 40 45 \r
+\r
+# Signature:\r
+84 eb eb 48 1b e5 98 45 b4 64 68 ba fb 47 1c 01 \r
+12 e0 2b 23 5d 84 b5 d9 11 cb d1 92 6e e5 07 4a \r
+e0 42 44 95 cb 20 e8 23 08 b8 eb b6 5f 41 9a 03 \r
+fb 40 e7 2b 78 98 1d 88 aa d1 43 05 36 85 17 2c \r
+97 b2 9c 8b 7b f0 ae 73 b5 b2 26 3c 40 3d a0 ed \r
+2f 80 ff 74 50 af 78 28 eb 8b 86 f0 02 8b d2 a8 \r
+b1 76 a4 d2 28 cc ce a1 83 94 f2 38 b0 9f f7 58 \r
+cc 00 bc 04 30 11 52 35 57 42 f2 82 b5 4e 66 3a \r
+91 9e 70 9d 8d a2 4a de 55 00 a7 b9 aa 50 22 6e \r
+0c a5 29 23 e6 c2 d8 60 ec 50 ff 48 0f a5 74 77 \r
+e8 2b 05 65 f4 37 9f 79 c7 72 d5 c2 da 80 af 9f \r
+bf 32 5e ce 6f c2 0b 00 96 16 14 be e8 9a 18 3e \r
+\r
+# --------------------------------\r
+# RSASSA-PSS Signature Example 9.5\r
+# --------------------------------\r
+\r
+# Message to be signed:\r
+1b dc 6e 7c 98 fb 8c f5 4e 9b 09 7b 66 a8 31 e9 \r
+cf e5 2d 9d 48 88 44 8e e4 b0 97 80 93 ba 1d 7d \r
+73 ae 78 b3 a6 2b a4 ad 95 cd 28 9c cb 9e 00 52 \r
+26 bb 3d 17 8b cc aa 82 1f b0 44 a4 e2 1e e9 76 \r
+96 c1 4d 06 78 c9 4c 2d ae 93 b0 ad 73 92 22 18 \r
+55 3d aa 7e 44 eb e5 77 25 a7 a4 5c c7 2b 9b 21 \r
+38 a6 b1 7c 8d b4 11 ce 82 79 ee 12 41 af f0 a8 \r
+be c6 f7 7f 87 ed b0 c6 9c b2 72 36 e3 43 5a 80 \r
+0b 19 2e 4f 11 e5 19 e3 fe 30 fc 30 ea cc ca 4f \r
+bb 41 76 90 29 bf 70 8e 81 7a 9e 68 38 05 be 67 \r
+fa 10 09 84 68 3b 74 83 8e 3b cf fa 79 36 6e ed \r
+1d 48 1c 76 72 91 18 83 8f 31 ba 8a 04 8a 93 c1 \r
+be 44 24 59 8e 8d f6 32 8b 7a 77 88 0a 3f 9c 7e \r
+2e 8d fc a8 eb 5a 26 fb 86 bd c5 56 d4 2b be 01 \r
+d9 fa 6e d8 06 46 49 1c 93 41 \r
+\r
+# Salt:\r
+d6 89 25 7a 86 ef fa 68 21 2c 5e 0c 61 9e ca 29 \r
+5f b9 1b 67 \r
+\r
+# Signature:\r
+82 10 2d f8 cb 91 e7 17 99 19 a0 4d 26 d3 35 d6 \r
+4f bc 2f 87 2c 44 83 39 43 24 1d e8 45 48 10 27 \r
+4c df 3d b5 f4 2d 42 3d b1 52 af 71 35 f7 01 42 \r
+0e 39 b4 94 a6 7c bf d1 9f 91 19 da 23 3a 23 da \r
+5c 64 39 b5 ba 0d 2b c3 73 ee e3 50 70 01 37 8d \r
+4a 40 73 85 6b 7f e2 ab a0 b5 ee 93 b2 7f 4a fe \r
+c7 d4 d1 20 92 1c 83 f6 06 76 5b 02 c1 9e 4d 6a \r
+1a 3b 95 fa 4c 42 29 51 be 4f 52 13 10 77 ef 17 \r
+17 97 29 cd df bd b5 69 50 db ac ee fe 78 cb 16 \r
+64 0a 09 9e a5 6d 24 38 9e ef 10 f8 fe cb 31 ba \r
+3e a3 b2 27 c0 a8 66 98 bb 89 e3 e9 36 39 05 bf \r
+22 77 7b 2a 3a a5 21 b6 5b 4c ef 76 d8 3b de 4c \r
+\r
+ ------------------------------\r
+# RSASSA-PSS Signature Example 9.6\r
+ ------------------------------\r
+\r
+# Message to be signed:\r
+88 c7 a9 f1 36 04 01 d9 0e 53 b1 01 b6 1c 53 25 \r
+c3 c7 5d b1 b4 11 fb eb 8e 83 0b 75 e9 6b 56 67 \r
+0a d2 45 40 4e 16 79 35 44 ee 35 4b c6 13 a9 0c \r
+c9 84 87 15 a7 3d b5 89 3e 7f 6d 27 98 15 c0 c1 \r
+de 83 ef 8e 29 56 e3 a5 6e d2 6a 88 8d 7a 9c dc \r
+d0 42 f4 b1 6b 7f a5 1e f1 a0 57 36 62 d1 6a 30 \r
+2d 0e c5 b2 85 d2 e0 3a d9 65 29 c8 7b 3d 37 4d \r
+b3 72 d9 5b 24 43 d0 61 b6 b1 a3 50 ba 87 80 7e \r
+d0 83 af d1 eb 05 c3 f5 2f 4e ba 5e d2 22 77 14 \r
+fd b5 0b 9d 9d 9d d6 81 4f 62 f6 27 2f cd 5c db \r
+ce 7a 9e f7 97 \r
+\r
+# Salt:\r
+c2 5f 13 bf 67 d0 81 67 1a 04 81 a1 f1 82 0d 61 \r
+3b ba 22 76 \r
+\r
+# Signature:\r
+a7 fd b0 d2 59 16 5c a2 c8 8d 00 bb f1 02 8a 86 \r
+7d 33 76 99 d0 61 19 3b 17 a9 64 8e 14 cc bb aa \r
+de ac aa cd ec 81 5e 75 71 29 4e bb 8a 11 7a f2 \r
+05 fa 07 8b 47 b0 71 2c 19 9e 3a d0 51 35 c5 04 \r
+c2 4b 81 70 51 15 74 08 02 48 79 92 ff d5 11 d4 \r
+af c6 b8 54 49 1e b3 f0 dd 52 31 39 54 2f f1 5c \r
+31 01 ee 85 54 35 17 c6 a3 c7 94 17 c6 7e 2d d9 \r
+aa 74 1e 9a 29 b0 6d cb 59 3c 23 36 b3 67 0a e3 \r
+af ba c7 c3 e7 6e 21 54 73 e8 66 e3 38 ca 24 4d \r
+e0 0b 62 62 4d 6b 94 26 82 2c ea e9 f8 cc 46 08 \r
+95 f4 12 50 07 3f d4 5c 5a 1e 7b 42 5c 20 4a 42 \r
+3a 69 91 59 f6 90 3e 71 0b 37 a7 bb 2b c8 04 9f \r
+\r
+# =============================================\r
+\r
+# ===================================\r
+# Example 10: A 2048-bit RSA Key Pair\r
+# ===================================\r
+\r
+# ------------------------------\r
+# Components of the RSA Key Pair\r
+# ------------------------------\r
+\r
+# RSA modulus n: \r
+a5 dd 86 7a c4 cb 02 f9 0b 94 57 d4 8c 14 a7 70 \r
+ef 99 1c 56 c3 9c 0e c6 5f d1 1a fa 89 37 ce a5 \r
+7b 9b e7 ac 73 b4 5c 00 17 61 5b 82 d6 22 e3 18 \r
+75 3b 60 27 c0 fd 15 7b e1 2f 80 90 fe e2 a7 ad \r
+cd 0e ef 75 9f 88 ba 49 97 c7 a4 2d 58 c9 aa 12 \r
+cb 99 ae 00 1f e5 21 c1 3b b5 43 14 45 a8 d5 ae \r
+4f 5e 4c 7e 94 8a c2 27 d3 60 40 71 f2 0e 57 7e \r
+90 5f be b1 5d fa f0 6d 1d e5 ae 62 53 d6 3a 6a \r
+21 20 b3 1a 5d a5 da bc 95 50 60 0e 20 f2 7d 37 \r
+39 e2 62 79 25 fe a3 cc 50 9f 21 df f0 4e 6e ea \r
+45 49 c5 40 d6 80 9f f9 30 7e ed e9 1f ff 58 73 \r
+3d 83 85 a2 37 d6 d3 70 5a 33 e3 91 90 09 92 07 \r
+0d f7 ad f1 35 7c f7 e3 70 0c e3 66 7d e8 3f 17 \r
+b8 df 17 78 db 38 1d ce 09 cb 4a d0 58 a5 11 00 \r
+1a 73 81 98 ee 27 cf 55 a1 3b 75 45 39 90 65 82 \r
+ec 8b 17 4b d5 8d 5d 1f 3d 76 7c 61 37 21 ae 05 \r
+\r
+# RSA public exponent e: \r
+01 00 01 \r
+\r
+# RSA private exponent d: \r
+2d 2f f5 67 b3 fe 74 e0 61 91 b7 fd ed 6d e1 12 \r
+29 0c 67 06 92 43 0d 59 69 18 40 47 da 23 4c 96 \r
+93 de ed 16 73 ed 42 95 39 c9 69 d3 72 c0 4d 6b \r
+47 e0 f5 b8 ce e0 84 3e 5c 22 83 5d bd 3b 05 a0 \r
+99 79 84 ae 60 58 b1 1b c4 90 7c bf 67 ed 84 fa \r
+9a e2 52 df b0 d0 cd 49 e6 18 e3 5d fd fe 59 bc \r
+a3 dd d6 6c 33 ce bb c7 7a d4 41 aa 69 5e 13 e3 \r
+24 b5 18 f0 1c 60 f5 a8 5c 99 4a d1 79 f2 a6 b5 \r
+fb e9 34 02 b1 17 67 be 01 bf 07 34 44 d6 ba 1d \r
+d2 bc a5 bd 07 4d 4a 5f ae 35 31 ad 13 03 d8 4b \r
+30 d8 97 31 8c bb ba 04 e0 3c 2e 66 de 6d 91 f8 \r
+2f 96 ea 1d 4b b5 4a 5a ae 10 2d 59 46 57 f5 c9 \r
+78 95 53 51 2b 29 6d ea 29 d8 02 31 96 35 7e 3e \r
+3a 6e 95 8f 39 e3 c2 34 40 38 ea 60 4b 31 ed c6 \r
+f0 f7 ff 6e 71 81 a5 7c 92 82 6a 26 8f 86 76 8e \r
+96 f8 78 56 2f c7 1d 85 d6 9e 44 86 12 f7 04 8f \r
+\r
+# Prime p: \r
+cf d5 02 83 fe ee b9 7f 6f 08 d7 3c bc 7b 38 36 \r
+f8 2b bc d4 99 47 9f 5e 6f 76 fd fc b8 b3 8c 4f \r
+71 dc 9e 88 bd 6a 6f 76 37 1a fd 65 d2 af 18 62 \r
+b3 2a fb 34 a9 5f 71 b8 b1 32 04 3f fe be 3a 95 \r
+2b af 75 92 44 81 48 c0 3f 9c 69 b1 d6 8e 4c e5 \r
+cf 32 c8 6b af 46 fe d3 01 ca 1a b4 03 06 9b 32 \r
+f4 56 b9 1f 71 89 8a b0 81 cd 8c 42 52 ef 52 71 \r
+91 5c 97 94 b8 f2 95 85 1d a7 51 0f 99 cb 73 eb \r
+\r
+# Prime q: \r
+cc 4e 90 d2 a1 b3 a0 65 d3 b2 d1 f5 a8 fc e3 1b \r
+54 44 75 66 4e ab 56 1d 29 71 b9 9f b7 be f8 44 \r
+e8 ec 1f 36 0b 8c 2a c8 35 96 92 97 1e a6 a3 8f \r
+72 3f cc 21 1f 5d bc b1 77 a0 fd ac 51 64 a1 d4 \r
+ff 7f bb 4e 82 99 86 35 3c b9 83 65 9a 14 8c dd \r
+42 0c 7d 31 ba 38 22 ea 90 a3 2b e4 6c 03 0e 8c \r
+17 e1 fa 0a d3 78 59 e0 6b 0a a6 fa 3b 21 6d 9c \r
+be 6c 0e 22 33 97 69 c0 a6 15 91 3e 5d a7 19 cf \r
+\r
+# p's CRT exponent dP: \r
+1c 2d 1f c3 2f 6b c4 00 4f d8 5d fd e0 fb bf 9a \r
+4c 38 f9 c7 c4 e4 1d ea 1a a8 82 34 a2 01 cd 92 \r
+f3 b7 da 52 65 83 a9 8a d8 5b b3 60 fb 98 3b 71 \r
+1e 23 44 9d 56 1d 17 78 d7 a5 15 48 6b cb f4 7b \r
+46 c9 e9 e1 a3 a1 f7 70 00 ef be b0 9a 8a fe 47 \r
+e5 b8 57 cd a9 9c b1 6d 7f ff 9b 71 2e 3b d6 0c \r
+a9 6d 9c 79 73 d6 16 d4 69 34 a9 c0 50 28 1c 00 \r
+43 99 ce ff 1d b7 dd a7 87 66 a8 a9 b9 cb 08 73 \r
+\r
+# q's CRT exponent dQ: \r
+cb 3b 3c 04 ca a5 8c 60 be 7d 9b 2d eb b3 e3 96 \r
+43 f4 f5 73 97 be 08 23 6a 1e 9e af aa 70 65 36 \r
+e7 1c 3a cf e0 1c c6 51 f2 3c 9e 05 85 8f ee 13 \r
+bb 6a 8a fc 47 df 4e dc 9a 4b a3 0b ce cb 73 d0 \r
+15 78 52 32 7e e7 89 01 5c 2e 8d ee 7b 9f 05 a0 \r
+f3 1a c9 4e b6 17 31 64 74 0c 5c 95 14 7c d5 f3 \r
+b5 ae 2c b4 a8 37 87 f0 1d 8a b3 1f 27 c2 d0 ee \r
+a2 dd 8a 11 ab 90 6a ba 20 7c 43 c6 ee 12 53 31 \r
+\r
+# CRT coefficient qInv: \r
+12 f6 b2 cf 13 74 a7 36 fa d0 56 16 05 0f 96 ab \r
+4b 61 d1 17 7c 7f 9d 52 5a 29 f3 d1 80 e7 76 67 \r
+e9 9d 99 ab f0 52 5d 07 58 66 0f 37 52 65 5b 0f \r
+25 b8 df 84 31 d9 a8 ff 77 c1 6c 12 a0 a5 12 2a \r
+9f 0b f7 cf d5 a2 66 a3 5c 15 9f 99 12 08 b9 03 \r
+16 ff 44 4f 3e 0b 6b d0 e9 3b 8a 7a 24 48 e9 57 \r
+e3 dd a6 cf cf 22 66 b1 06 01 3a c4 68 08 d3 b3 \r
+88 7b 3b 00 34 4b aa c9 53 0b 4c e7 08 fc 32 b6 \r
+\r
+# ---------------------------------\r
+# RSASSA-PSS Signature Example 10.1\r
+# ---------------------------------\r
+\r
+# Message to be signed:\r
+88 31 77 e5 12 6b 9b e2 d9 a9 68 03 27 d5 37 0c \r
+6f 26 86 1f 58 20 c4 3d a6 7a 3a d6 09 \r
+\r
+# Salt:\r
+04 e2 15 ee 6f f9 34 b9 da 70 d7 73 0c 87 34 ab \r
+fc ec de 89 \r
+\r
+# Signature:\r
+82 c2 b1 60 09 3b 8a a3 c0 f7 52 2b 19 f8 73 54 \r
+06 6c 77 84 7a bf 2a 9f ce 54 2d 0e 84 e9 20 c5 \r
+af b4 9f fd fd ac e1 65 60 ee 94 a1 36 96 01 14 \r
+8e ba d7 a0 e1 51 cf 16 33 17 91 a5 72 7d 05 f2 \r
+1e 74 e7 eb 81 14 40 20 69 35 d7 44 76 5a 15 e7 \r
+9f 01 5c b6 6c 53 2c 87 a6 a0 59 61 c8 bf ad 74 \r
+1a 9a 66 57 02 28 94 39 3e 72 23 73 97 96 c0 2a \r
+77 45 5d 0f 55 5b 0e c0 1d df 25 9b 62 07 fd 0f \r
+d5 76 14 ce f1 a5 57 3b aa ff 4e c0 00 69 95 16 \r
+59 b8 5f 24 30 0a 25 16 0c a8 52 2d c6 e6 72 7e \r
+57 d0 19 d7 e6 36 29 b8 fe 5e 89 e2 5c c1 5b eb \r
+3a 64 75 77 55 92 99 28 0b 9b 28 f7 9b 04 09 00 \r
+0b e2 5b bd 96 40 8b a3 b4 3c c4 86 18 4d d1 c8 \r
+e6 25 53 fa 1a f4 04 0f 60 66 3d e7 f5 e4 9c 04 \r
+38 8e 25 7f 1c e8 9c 95 da b4 8a 31 5d 9b 66 b1 \r
+b7 62 82 33 87 6f f2 38 52 30 d0 70 d0 7e 16 66 \r
+\r
+# ---------------------------------\r
+# RSASSA-PSS Signature Example 10.2\r
+# ---------------------------------\r
+\r
+# Message to be signed:\r
+dd 67 0a 01 46 58 68 ad c9 3f 26 13 19 57 a5 0c \r
+52 fb 77 7c db aa 30 89 2c 9e 12 36 11 64 ec 13 \r
+97 9d 43 04 81 18 e4 44 5d b8 7b ee 58 dd 98 7b \r
+34 25 d0 20 71 d8 db ae 80 70 8b 03 9d bb 64 db \r
+d1 de 56 57 d9 fe d0 c1 18 a5 41 43 74 2e 0f f3 \r
+c8 7f 74 e4 58 57 64 7a f3 f7 9e b0 a1 4c 9d 75 \r
+ea 9a 1a 04 b7 cf 47 8a 89 7a 70 8f d9 88 f4 8e \r
+80 1e db 0b 70 39 df 8c 23 bb 3c 56 f4 e8 21 ac \r
+\r
+# Salt:\r
+8b 2b dd 4b 40 fa f5 45 c7 78 dd f9 bc 1a 49 cb \r
+57 f9 b7 1b \r
+\r
+# Signature:\r
+14 ae 35 d9 dd 06 ba 92 f7 f3 b8 97 97 8a ed 7c \r
+d4 bf 5f f0 b5 85 a4 0b d4 6c e1 b4 2c d2 70 30 \r
+53 bb 90 44 d6 4e 81 3d 8f 96 db 2d d7 00 7d 10 \r
+11 8f 6f 8f 84 96 09 7a d7 5e 1f f6 92 34 1b 28 \r
+92 ad 55 a6 33 a1 c5 5e 7f 0a 0a d5 9a 0e 20 3a \r
+5b 82 78 ae c5 4d d8 62 2e 28 31 d8 71 74 f8 ca \r
+ff 43 ee 6c 46 44 53 45 d8 4a 59 65 9b fb 92 ec \r
+d4 c8 18 66 86 95 f3 47 06 f6 68 28 a8 99 59 63 \r
+7f 2b f3 e3 25 1c 24 bd ba 4d 4b 76 49 da 00 22 \r
+21 8b 11 9c 84 e7 9a 65 27 ec 5b 8a 5f 86 1c 15 \r
+99 52 e2 3e c0 5e 1e 71 73 46 fa ef e8 b1 68 68 \r
+25 bd 2b 26 2f b2 53 10 66 c0 de 09 ac de 2e 42 \r
+31 69 07 28 b5 d8 5e 11 5a 2f 6b 92 b7 9c 25 ab \r
+c9 bd 93 99 ff 8b cf 82 5a 52 ea 1f 56 ea 76 dd \r
+26 f4 3b aa fa 18 bf a9 2a 50 4c bd 35 69 9e 26 \r
+d1 dc c5 a2 88 73 85 f3 c6 32 32 f0 6f 32 44 c3 \r
+\r
+# ---------------------------------\r
+# RSASSA-PSS Signature Example 10.3\r
+# ---------------------------------\r
+\r
+# Message to be signed:\r
+48 b2 b6 a5 7a 63 c8 4c ea 85 9d 65 c6 68 28 4b \r
+08 d9 6b dc aa be 25 2d b0 e4 a9 6c b1 ba c6 01 \r
+93 41 db 6f be fb 8d 10 6b 0e 90 ed a6 bc c6 c6 \r
+26 2f 37 e7 ea 9c 7e 5d 22 6b d7 df 85 ec 5e 71 \r
+ef ff 2f 54 c5 db 57 7f f7 29 ff 91 b8 42 49 1d \r
+e2 74 1d 0c 63 16 07 df 58 6b 90 5b 23 b9 1a f1 \r
+3d a1 23 04 bf 83 ec a8 a7 3e 87 1f f9 db \r
+\r
+# Salt:\r
+4e 96 fc 1b 39 8f 92 b4 46 71 01 0c 0d c3 ef d6 \r
+e2 0c 2d 73 \r
+\r
+# Signature:\r
+6e 3e 4d 7b 6b 15 d2 fb 46 01 3b 89 00 aa 5b bb \r
+39 39 cf 2c 09 57 17 98 70 42 02 6e e6 2c 74 c5 \r
+4c ff d5 d7 d5 7e fb bf 95 0a 0f 5c 57 4f a0 9d \r
+3f c1 c9 f5 13 b0 5b 4f f5 0d d8 df 7e df a2 01 \r
+02 85 4c 35 e5 92 18 01 19 a7 0c e5 b0 85 18 2a \r
+a0 2d 9e a2 aa 90 d1 df 03 f2 da ae 88 5b a2 f5 \r
+d0 5a fd ac 97 47 6f 06 b9 3b 5b c9 4a 1a 80 aa \r
+91 16 c4 d6 15 f3 33 b0 98 89 2b 25 ff ac e2 66 \r
+f5 db 5a 5a 3b cc 10 a8 24 ed 55 aa d3 5b 72 78 \r
+34 fb 8c 07 da 28 fc f4 16 a5 d9 b2 22 4f 1f 8b \r
+44 2b 36 f9 1e 45 6f de a2 d7 cf e3 36 72 68 de \r
+03 07 a4 c7 4e 92 41 59 ed 33 39 3d 5e 06 55 53 \r
+1c 77 32 7b 89 82 1b de df 88 01 61 c7 8c d4 19 \r
+6b 54 19 f7 ac c3 f1 3e 5e bf 16 1b 6e 7c 67 24 \r
+71 6c a3 3b 85 c2 e2 56 40 19 2a c2 85 96 51 d5 \r
+0b de 7e b9 76 e5 1c ec 82 8b 98 b6 56 3b 86 bb \r
+\r
+# ---------------------------------\r
+# RSASSA-PSS Signature Example 10.4\r
+# ---------------------------------\r
+\r
+# Message to be signed:\r
+0b 87 77 c7 f8 39 ba f0 a6 4b bb db c5 ce 79 75 \r
+5c 57 a2 05 b8 45 c1 74 e2 d2 e9 05 46 a0 89 c4 \r
+e6 ec 8a df fa 23 a7 ea 97 ba e6 b6 5d 78 2b 82 \r
+db 5d 2b 5a 56 d2 2a 29 a0 5e 7c 44 33 e2 b8 2a \r
+62 1a bb a9 0a dd 05 ce 39 3f c4 8a 84 05 42 45 \r
+1a \r
+\r
+# Salt:\r
+c7 cd 69 8d 84 b6 51 28 d8 83 5e 3a 8b 1e b0 e0 \r
+1c b5 41 ec \r
+\r
+# Signature:\r
+34 04 7f f9 6c 4d c0 dc 90 b2 d4 ff 59 a1 a3 61 \r
+a4 75 4b 25 5d 2e e0 af 7d 8b f8 7c 9b c9 e7 dd \r
+ee de 33 93 4c 63 ca 1c 0e 3d 26 2c b1 45 ef 93 \r
+2a 1f 2c 0a 99 7a a6 a3 4f 8e ae e7 47 7d 82 cc \r
+f0 90 95 a6 b8 ac ad 38 d4 ee c9 fb 7e ab 7a d0 \r
+2d a1 d1 1d 8e 54 c1 82 5e 55 bf 58 c2 a2 32 34 \r
+b9 02 be 12 4f 9e 90 38 a8 f6 8f a4 5d ab 72 f6 \r
+6e 09 45 bf 1d 8b ac c9 04 4c 6f 07 09 8c 9f ce \r
+c5 8a 3a ab 10 0c 80 51 78 15 5f 03 0a 12 4c 45 \r
+0e 5a cb da 47 d0 e4 f1 0b 80 a2 3f 80 3e 77 4d \r
+02 3b 00 15 c2 0b 9f 9b be 7c 91 29 63 38 d5 ec \r
+b4 71 ca fb 03 20 07 b6 7a 60 be 5f 69 50 4a 9f \r
+01 ab b3 cb 46 7b 26 0e 2b ce 86 0b e8 d9 5b f9 \r
+2c 0c 8e 14 96 ed 1e 52 85 93 a4 ab b6 df 46 2d \r
+de 8a 09 68 df fe 46 83 11 68 57 a2 32 f5 eb f6 \r
+c8 5b e2 38 74 5a d0 f3 8f 76 7a 5f db f4 86 fb \r
+\r
+# ---------------------------------\r
+# RSASSA-PSS Signature Example 10.5\r
+# ---------------------------------\r
+\r
+# Message to be signed:\r
+f1 03 6e 00 8e 71 e9 64 da dc 92 19 ed 30 e1 7f \r
+06 b4 b6 8a 95 5c 16 b3 12 b1 ed df 02 8b 74 97 \r
+6b ed 6b 3f 6a 63 d4 e7 78 59 24 3c 9c cc dc 98 \r
+01 65 23 ab b0 24 83 b3 55 91 c3 3a ad 81 21 3b \r
+b7 c7 bb 1a 47 0a ab c1 0d 44 25 6c 4d 45 59 d9 \r
+16 \r
+\r
+# Salt:\r
+ef a8 bf f9 62 12 b2 f4 a3 f3 71 a1 0d 57 41 52 \r
+65 5f 5d fb \r
+\r
+# Signature:\r
+7e 09 35 ea 18 f4 d6 c1 d1 7c e8 2e b2 b3 83 6c \r
+55 b3 84 58 9c e1 9d fe 74 33 63 ac 99 48 d1 f3 \r
+46 b7 bf dd fe 92 ef d7 8a db 21 fa ef c8 9a de \r
+42 b1 0f 37 40 03 fe 12 2e 67 42 9a 1c b8 cb d1 \r
+f8 d9 01 45 64 c4 4d 12 01 16 f4 99 0f 1a 6e 38 \r
+77 4c 19 4b d1 b8 21 32 86 b0 77 b0 49 9d 2e 7b \r
+3f 43 4a b1 22 89 c5 56 68 4d ee d7 81 31 93 4b \r
+b3 dd 65 37 23 6f 7c 6f 3d cb 09 d4 76 be 07 72 \r
+1e 37 e1 ce ed 9b 2f 7b 40 68 87 bd 53 15 73 05 \r
+e1 c8 b4 f8 4d 73 3b c1 e1 86 fe 06 cc 59 b6 ed \r
+b8 f4 bd 7f fe fd f4 f7 ba 9c fb 9d 57 06 89 b5 \r
+a1 a4 10 9a 74 6a 69 08 93 db 37 99 25 5a 0c b9 \r
+21 5d 2d 1c d4 90 59 0e 95 2e 8c 87 86 aa 00 11 \r
+26 52 52 47 0c 04 1d fb c3 ee c7 c3 cb f7 1c 24 \r
+86 9d 11 5c 0c b4 a9 56 f5 6d 53 0b 80 ab 58 9a \r
+cf ef c6 90 75 1d df 36 e8 d3 83 f8 3c ed d2 cc \r
+\r
+# ---------------------------------\r
+# RSASSA-PSS Signature Example 10.6\r
+# ---------------------------------\r
+\r
+# Message to be signed:\r
+25 f1 08 95 a8 77 16 c1 37 45 0b b9 51 9d fa a1 \r
+f2 07 fa a9 42 ea 88 ab f7 1e 9c 17 98 00 85 b5 \r
+55 ae ba b7 62 64 ae 2a 3a b9 3c 2d 12 98 11 91 \r
+dd ac 6f b5 94 9e b3 6a ee 3c 5d a9 40 f0 07 52 \r
+c9 16 d9 46 08 fa 7d 97 ba 6a 29 15 b6 88 f2 03 \r
+23 d4 e9 d9 68 01 d8 9a 72 ab 58 92 dc 21 17 c0 \r
+74 34 fc f9 72 e0 58 cf 8c 41 ca 4b 4f f5 54 f7 \r
+d5 06 8a d3 15 5f ce d0 f3 12 5b c0 4f 91 93 37 \r
+8a 8f 5c 4c 3b 8c b4 dd 6d 1c c6 9d 30 ec ca 6e \r
+aa 51 e3 6a 05 73 0e 9e 34 2e 85 5b af 09 9d ef \r
+b8 af d7 \r
+\r
+# Salt:\r
+ad 8b 15 23 70 36 46 22 4b 66 0b 55 08 85 91 7c \r
+a2 d1 df 28 \r
+\r
+# Signature:\r
+6d 3b 5b 87 f6 7e a6 57 af 21 f7 54 41 97 7d 21 \r
+80 f9 1b 2c 5f 69 2d e8 29 55 69 6a 68 67 30 d9 \r
+b9 77 8d 97 07 58 cc b2 60 71 c2 20 9f fb d6 12 \r
+5b e2 e9 6e a8 1b 67 cb 9b 93 08 23 9f da 17 f7 \r
+b2 b6 4e cd a0 96 b6 b9 35 64 0a 5a 1c b4 2a 91 \r
+55 b1 c9 ef 7a 63 3a 02 c5 9f 0d 6e e5 9b 85 2c \r
+43 b3 50 29 e7 3c 94 0f f0 41 0e 8f 11 4e ed 46 \r
+bb d0 fa e1 65 e4 2b e2 52 8a 40 1c 3b 28 fd 81 \r
+8e f3 23 2d ca 9f 4d 2a 0f 51 66 ec 59 c4 23 96 \r
+d6 c1 1d bc 12 15 a5 6f a1 71 69 db 95 75 34 3e \r
+f3 4f 9d e3 2a 49 cd c3 17 49 22 f2 29 c2 3e 18 \r
+e4 5d f9 35 31 19 ec 43 19 ce dc e7 a1 7c 64 08 \r
+8c 1f 6f 52 be 29 63 41 00 b3 91 9d 38 f3 d1 ed \r
+94 e6 89 1e 66 a7 3b 8f b8 49 f5 87 4d f5 94 59 \r
+e2 98 c7 bb ce 2e ee 78 2a 19 5a a6 6f e2 d0 73 \r
+2b 25 e5 95 f5 7d 3e 06 1b 1f c3 e4 06 3b f9 8f \r
+\r
+# =============================================\r
diff --git a/testvectors/rsa-pkcs-1v2-1-vec/readme.txt b/testvectors/rsa-pkcs-1v2-1-vec/readme.txt
new file mode 100644 (file)
index 0000000..788c0ba
--- /dev/null
@@ -0,0 +1,22 @@
+====================\r
+pkcs-1v2-1-vec.zip\r
+====================\r
+\r
+This directory contains test vectors for RSAES-OAEP and\r
+RSASSA-PSS as defined in PKCS #1 v2.1.\r
+\r
+The files:\r
+\r
+readme.txt              This file.\r
+\r
+oaep-vect.txt           Test vectors for RSAES-OAEP encryption.\r
+\r
+oaep-int.txt            Intermediate values for RSAES-OAEP \r
+                        encryption and RSA decryption with CRT. \r
+                        Also, DER-encoded RSAPrivateKey and \r
+                        RSAPublicKey types.\r
+\r
+pss-vect.txt            Test vectors for RSASSA-PSS signing.\r
+\r
+pss-int.txt             Intermediate values for RSASSA-PSS\r
+                        signing.\r