Cryptography Reference
In-Depth Information
0x1B, 0x7D, 0xE2, 0x37, 0xEB, 0xB9, 0x57, 0xC2,
0x06, 0x63, 0x89, 0x82, 0x50, 0x70, 0x3B, 0x3F
};
const unsigned char TestPrivateKey[] = {
0x8a, 0x7e, 0x79, 0xf3, 0xfb, 0xfe, 0xa8, 0xeb,
0xfd, 0x18, 0x35, 0x1c, 0xb9, 0x97, 0x91, 0x36,
0xf7, 0x05, 0xb4, 0xd9, 0x11, 0x4a, 0x06, 0xd4,
0xaa, 0x2f, 0xd1, 0x94, 0x38, 0x16, 0x67, 0x7a,
0x53, 0x74, 0x66, 0x18, 0x46, 0xa3, 0x0c, 0x45,
0xb3, 0x0a, 0x02, 0x4b, 0x4d, 0x22, 0xb1, 0x5a,
0xb3, 0x23, 0x62, 0x2b, 0x2d, 0xe4, 0x7b, 0xa2,
0x91, 0x15, 0xf0, 0x6e, 0xe4, 0x2c, 0x41
};
const unsigned char TestPublicKey[] = { 0x01, 0x00, 0x01 };
int main( int argc, char *argv[ ] )
{
int exponent_len;
int modulus_len;
int data_len;
unsigned char *exponent;
unsigned char *modulus;
unsigned char *data;
rsa_key public_key;
rsa_key private_key;
if ( argc < 3 )
{
fprintf( stderr, “Usage: rsa [-e|-d] [<modulus> <exponent>] <data>\n” );
exit( 0 );
}
if ( argc == 5 )
{
modulus_len = hex_decode( argv[ 2 ], &modulus );
exponent_len = hex_decode( argv[ 3 ], &exponent );
data_len = hex_decode( argv[ 4 ], &data );
}
else
{
data_len = hex_decode( argv[ 2 ], &data );
modulus_len = sizeof( TestModulus );
modulus = TestModulus;
if ( !strcmp( “-e”, argv[ 1 ] ) )
{
exponent_len = sizeof( TestPublicKey );
exponent = TestPublicKey;
}
(Continued)
Search WWH ::




Custom Search