* the rules defined in PKCS #1.
*/
static unsigned char *
-RSA_FormatOneBlock(unsigned int modulusLen, RSA_BlockType blockType,
- unsigned char *data, unsigned int data_len)
+RSA_FormatOneBlock(uint32 modulusLen, RSA_BlockType blockType,
+ unsigned char *data, uint32 data_len)
{
unsigned char *block;
unsigned char *bp;
}
static int
-RSA_FormatBlock(unsigned char **result, unsigned int *result_len,
- unsigned int modulusLen,
+RSA_FormatBlock(unsigned char **result, uint32 *result_len,
+ uint32 modulusLen,
RSA_BlockType blockType, unsigned char *data,
- unsigned int data_len)
+ uint32 data_len)
{
/*
* XXX For now assume that the data length fits in a single
*/
unsigned char *
RSA_DecodeOneBlock(unsigned char *data,
- unsigned int modulusLen,
- unsigned int expectedLen,
+ uint32 modulusLen,
+ uint32 expectedLen,
RSA_BlockType bt,
- unsigned int *pResultLen)
+ uint32 *pResultLen)
{
RSA_BlockType blockType;
unsigned char *dp, *res;
- unsigned int i, len = 0;
+ uint32 i, len = 0;
dp = data;
if (dp[0] != RSA_BLOCK_FIRST_OCTET) {
SILC_PKCS_API_ENCRYPT(pkcs1)
{
RsaKey *key = (RsaKey *)context;
- SilcInt mp_tmp;
- SilcInt mp_dst;
+ SilcMPInt mp_tmp;
+ SilcMPInt mp_dst;
unsigned char *padded;
- unsigned int padded_len, len = key->bits / 8;
+ uint32 padded_len, len = key->bits / 8;
/* Pad data */
if (!RSA_FormatBlock(&padded, &padded_len, len,
RSA_BlockPublic, src, src_len))
return FALSE;
- silc_mp_init_set_ui(&mp_tmp, 0);
- silc_mp_init_set_ui(&mp_dst, 0);
+ silc_mp_init(&mp_tmp);
+ silc_mp_init(&mp_dst);
+ silc_mp_set_ui(&mp_tmp, 0);
+ silc_mp_set_ui(&mp_dst, 0);
/* Data to MP */
silc_mp_bin2mp(padded, padded_len, &mp_tmp);
memset(padded, 0, padded_len);
silc_free(padded);
- silc_mp_clear(&mp_tmp);
- silc_mp_clear(&mp_dst);
+ silc_mp_uninit(&mp_tmp);
+ silc_mp_uninit(&mp_dst);
return TRUE;
}
SILC_PKCS_API_DECRYPT(pkcs1)
{
RsaKey *key = (RsaKey *)context;
- SilcInt mp_tmp;
- SilcInt mp_dst;
+ SilcMPInt mp_tmp;
+ SilcMPInt mp_dst;
unsigned char *padded, *unpadded;
- unsigned int padded_len;
+ uint32 padded_len;
- silc_mp_init_set_ui(&mp_tmp, 0);
- silc_mp_init_set_ui(&mp_dst, 0);
+ silc_mp_init(&mp_tmp);
+ silc_mp_init(&mp_dst);
+ silc_mp_set_ui(&mp_tmp, 0);
+ silc_mp_set_ui(&mp_dst, 0);
/* Data to MP */
silc_mp_bin2mp(src, src_len, &mp_tmp);
if (!unpadded) {
memset(padded, 0, padded_len);
silc_free(padded);
- silc_mp_clear(&mp_tmp);
- silc_mp_clear(&mp_dst);
+ silc_mp_uninit(&mp_tmp);
+ silc_mp_uninit(&mp_dst);
return FALSE;
}
memset(unpadded, 0, padded_len);
silc_free(padded);
silc_free(unpadded);
- silc_mp_clear(&mp_tmp);
- silc_mp_clear(&mp_dst);
+ silc_mp_uninit(&mp_tmp);
+ silc_mp_uninit(&mp_dst);
return TRUE;
}
SILC_PKCS_API_SIGN(pkcs1)
{
RsaKey *key = (RsaKey *)context;
- SilcInt mp_tmp;
- SilcInt mp_dst;
+ SilcMPInt mp_tmp;
+ SilcMPInt mp_dst;
unsigned char *padded;
- unsigned int padded_len;
- unsigned int len = key->bits / 8;
+ uint32 padded_len;
+ uint32 len = key->bits / 8;
/* Pad data */
if (!RSA_FormatBlock(&padded, &padded_len, len, RSA_BlockPrivate,
src, src_len))
return FALSE;
- silc_mp_init_set_ui(&mp_tmp, 0);
- silc_mp_init_set_ui(&mp_dst, 0);
+ silc_mp_init(&mp_tmp);
+ silc_mp_init(&mp_dst);
+ silc_mp_set_ui(&mp_tmp, 0);
+ silc_mp_set_ui(&mp_dst, 0);
/* Data to MP */
silc_mp_bin2mp(padded, len, &mp_tmp);
memset(padded, 0, padded_len);
silc_free(padded);
- silc_mp_clear(&mp_tmp);
- silc_mp_clear(&mp_dst);
+ silc_mp_uninit(&mp_tmp);
+ silc_mp_uninit(&mp_dst);
return TRUE;
}
{
RsaKey *key = (RsaKey *)context;
int ret = TRUE;
- SilcInt mp_tmp2;
- SilcInt mp_dst;
+ SilcMPInt mp_tmp2;
+ SilcMPInt mp_dst;
unsigned char *verify, *unpadded;
- unsigned int verify_len, len = key->bits / 8;
+ uint32 verify_len, len = key->bits / 8;
- silc_mp_init_set_ui(&mp_tmp2, 0);
- silc_mp_init_set_ui(&mp_dst, 0);
+ silc_mp_init(&mp_tmp2);
+ silc_mp_init(&mp_dst);
+ silc_mp_set_ui(&mp_tmp2, 0);
+ silc_mp_set_ui(&mp_dst, 0);
/* Format the signature into MP int */
silc_mp_bin2mp(signature, signature_len, &mp_tmp2);
if (!unpadded) {
memset(verify, 0, verify_len);
silc_free(verify);
- silc_mp_clear(&mp_tmp2);
- silc_mp_clear(&mp_dst);
+ silc_mp_uninit(&mp_tmp2);
+ silc_mp_uninit(&mp_dst);
return FALSE;
}
memset(unpadded, 0, verify_len);
silc_free(verify);
silc_free(unpadded);
- silc_mp_clear(&mp_tmp2);
- silc_mp_clear(&mp_dst);
+ silc_mp_uninit(&mp_tmp2);
+ silc_mp_uninit(&mp_dst);
return ret;
}