[BACK]Return to ssh-rsa.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/ssh-rsa.c between version 1.65 and 1.66

version 1.65, 2018/02/07 05:17:56 version 1.66, 2018/02/14 16:27:24
Line 74 
Line 74 
         }          }
 }  }
   
 /* calculate p-1 and q-1 */  
 int  int
 ssh_rsa_generate_additional_parameters(struct sshkey *key)  ssh_rsa_generate_additional_parameters(struct sshkey *key)
 {  {
         RSA *rsa;  
         BIGNUM *aux = NULL;          BIGNUM *aux = NULL;
         BN_CTX *ctx = NULL;          BN_CTX *ctx = NULL;
           BIGNUM d;
         int r;          int r;
   
         if (key == NULL || key->rsa == NULL ||          if (key == NULL || key->rsa == NULL ||
Line 93 
Line 92 
                 r = SSH_ERR_ALLOC_FAIL;                  r = SSH_ERR_ALLOC_FAIL;
                 goto out;                  goto out;
         }          }
         rsa = key->rsa;          BN_set_flags(aux, BN_FLG_CONSTTIME);
   
         if ((BN_sub(aux, rsa->q, BN_value_one()) == 0) ||          BN_init(&d);
             (BN_mod(rsa->dmq1, rsa->d, aux, ctx) == 0) ||          BN_with_flags(&d, key->rsa->d, BN_FLG_CONSTTIME);
             (BN_sub(aux, rsa->p, BN_value_one()) == 0) ||  
             (BN_mod(rsa->dmp1, rsa->d, aux, ctx) == 0)) {          if ((BN_sub(aux, key->rsa->q, BN_value_one()) == 0) ||
               (BN_mod(key->rsa->dmq1, &d, aux, ctx) == 0) ||
               (BN_sub(aux, key->rsa->p, BN_value_one()) == 0) ||
               (BN_mod(key->rsa->dmp1, &d, aux, ctx) == 0)) {
                 r = SSH_ERR_LIBCRYPTO_ERROR;                  r = SSH_ERR_LIBCRYPTO_ERROR;
                 goto out;                  goto out;
         }          }

Legend:
Removed from v.1.65  
changed lines
  Added in v.1.66