updates.
[silc.git] / lib / silccrypt / pkcs1.c
index 146e6618993a9ff1932e2e3790a9679098f294a3..47950d3b24557e0c89c93b7469b452b721614f1c 100644 (file)
@@ -104,8 +104,8 @@ typedef enum {
  * 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;
@@ -180,10 +180,10 @@ RSA_FormatOneBlock(unsigned int modulusLen, RSA_BlockType blockType,
 }
 
 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
@@ -237,14 +237,14 @@ RSA_FormatBlock(unsigned char **result, unsigned int *result_len,
  */
 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) {
@@ -313,18 +313,20 @@ RSA_DecodeOneBlock(unsigned char *data,
 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);
@@ -338,8 +340,8 @@ SILC_PKCS_API_ENCRYPT(pkcs1)
 
   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;
 }
@@ -347,13 +349,15 @@ SILC_PKCS_API_ENCRYPT(pkcs1)
 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);
@@ -370,8 +374,8 @@ SILC_PKCS_API_DECRYPT(pkcs1)
   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;
   }
 
@@ -383,8 +387,8 @@ SILC_PKCS_API_DECRYPT(pkcs1)
   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;
 }
@@ -392,19 +396,21 @@ SILC_PKCS_API_DECRYPT(pkcs1)
 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);
@@ -418,8 +424,8 @@ SILC_PKCS_API_SIGN(pkcs1)
 
   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;
 }
@@ -428,13 +434,15 @@ SILC_PKCS_API_VERIFY(pkcs1)
 {
   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);
@@ -451,8 +459,8 @@ SILC_PKCS_API_VERIFY(pkcs1)
   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;
   }
 
@@ -464,8 +472,8 @@ SILC_PKCS_API_VERIFY(pkcs1)
   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;
 }