diff options
author | beck <> | 1999-09-29 04:37:45 +0000 |
---|---|---|
committer | beck <> | 1999-09-29 04:37:45 +0000 |
commit | de8f24ea083384bb66b32ec105dc4743c5663cdf (patch) | |
tree | 1412176ae62a3cab2cf2b0b92150fcbceaac6092 /src/lib/libcrypto/bn/bn_blind.c | |
parent | cb929d29896bcb87c2a97417fbd03e50078fc178 (diff) | |
download | openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.gz openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.bz2 openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.zip |
OpenSSL 0.9.4 merge
Diffstat (limited to 'src/lib/libcrypto/bn/bn_blind.c')
-rw-r--r-- | src/lib/libcrypto/bn/bn_blind.c | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/src/lib/libcrypto/bn/bn_blind.c b/src/lib/libcrypto/bn/bn_blind.c index a7b34f0bf0..1b1bb06046 100644 --- a/src/lib/libcrypto/bn/bn_blind.c +++ b/src/lib/libcrypto/bn/bn_blind.c | |||
@@ -60,15 +60,18 @@ | |||
60 | #include "cryptlib.h" | 60 | #include "cryptlib.h" |
61 | #include "bn_lcl.h" | 61 | #include "bn_lcl.h" |
62 | 62 | ||
63 | BN_BLINDING *BN_BLINDING_new(A,Ai,mod) | 63 | BN_BLINDING *BN_BLINDING_new(BIGNUM *A, BIGNUM *Ai, BIGNUM *mod) |
64 | BIGNUM *A; | ||
65 | BIGNUM *Ai; | ||
66 | BIGNUM *mod; | ||
67 | { | 64 | { |
68 | BN_BLINDING *ret=NULL; | 65 | BN_BLINDING *ret=NULL; |
69 | 66 | ||
67 | bn_check_top(Ai); | ||
68 | bn_check_top(mod); | ||
69 | |||
70 | if ((ret=(BN_BLINDING *)Malloc(sizeof(BN_BLINDING))) == NULL) | 70 | if ((ret=(BN_BLINDING *)Malloc(sizeof(BN_BLINDING))) == NULL) |
71 | { | ||
71 | BNerr(BN_F_BN_BLINDING_NEW,ERR_R_MALLOC_FAILURE); | 72 | BNerr(BN_F_BN_BLINDING_NEW,ERR_R_MALLOC_FAILURE); |
73 | return(NULL); | ||
74 | } | ||
72 | memset(ret,0,sizeof(BN_BLINDING)); | 75 | memset(ret,0,sizeof(BN_BLINDING)); |
73 | if ((ret->A=BN_new()) == NULL) goto err; | 76 | if ((ret->A=BN_new()) == NULL) goto err; |
74 | if ((ret->Ai=BN_new()) == NULL) goto err; | 77 | if ((ret->Ai=BN_new()) == NULL) goto err; |
@@ -78,26 +81,26 @@ BIGNUM *mod; | |||
78 | return(ret); | 81 | return(ret); |
79 | err: | 82 | err: |
80 | if (ret != NULL) BN_BLINDING_free(ret); | 83 | if (ret != NULL) BN_BLINDING_free(ret); |
81 | return(ret); | 84 | return(NULL); |
82 | } | 85 | } |
83 | 86 | ||
84 | void BN_BLINDING_free(r) | 87 | void BN_BLINDING_free(BN_BLINDING *r) |
85 | BN_BLINDING *r; | ||
86 | { | 88 | { |
89 | if(r == NULL) | ||
90 | return; | ||
91 | |||
87 | if (r->A != NULL) BN_free(r->A ); | 92 | if (r->A != NULL) BN_free(r->A ); |
88 | if (r->Ai != NULL) BN_free(r->Ai); | 93 | if (r->Ai != NULL) BN_free(r->Ai); |
89 | Free(r); | 94 | Free(r); |
90 | } | 95 | } |
91 | 96 | ||
92 | int BN_BLINDING_update(b,ctx) | 97 | int BN_BLINDING_update(BN_BLINDING *b, BN_CTX *ctx) |
93 | BN_BLINDING *b; | ||
94 | BN_CTX *ctx; | ||
95 | { | 98 | { |
96 | int ret=0; | 99 | int ret=0; |
97 | 100 | ||
98 | if ((b->A == NULL) || (b->Ai == NULL)) | 101 | if ((b->A == NULL) || (b->Ai == NULL)) |
99 | { | 102 | { |
100 | BNerr(BN_F_BN_BLINDING_UPDATE,BN_R_NOT_INITALISED); | 103 | BNerr(BN_F_BN_BLINDING_UPDATE,BN_R_NOT_INITIALIZED); |
101 | goto err; | 104 | goto err; |
102 | } | 105 | } |
103 | 106 | ||
@@ -109,28 +112,26 @@ err: | |||
109 | return(ret); | 112 | return(ret); |
110 | } | 113 | } |
111 | 114 | ||
112 | int BN_BLINDING_convert(n,b,ctx) | 115 | int BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx) |
113 | BIGNUM *n; | ||
114 | BN_BLINDING *b; | ||
115 | BN_CTX *ctx; | ||
116 | { | 116 | { |
117 | bn_check_top(n); | ||
118 | |||
117 | if ((b->A == NULL) || (b->Ai == NULL)) | 119 | if ((b->A == NULL) || (b->Ai == NULL)) |
118 | { | 120 | { |
119 | BNerr(BN_F_BN_BLINDING_CONVERT,BN_R_NOT_INITALISED); | 121 | BNerr(BN_F_BN_BLINDING_CONVERT,BN_R_NOT_INITIALIZED); |
120 | return(0); | 122 | return(0); |
121 | } | 123 | } |
122 | return(BN_mod_mul(n,n,b->A,b->mod,ctx)); | 124 | return(BN_mod_mul(n,n,b->A,b->mod,ctx)); |
123 | } | 125 | } |
124 | 126 | ||
125 | int BN_BLINDING_invert(n,b,ctx) | 127 | int BN_BLINDING_invert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx) |
126 | BIGNUM *n; | ||
127 | BN_BLINDING *b; | ||
128 | BN_CTX *ctx; | ||
129 | { | 128 | { |
130 | int ret; | 129 | int ret; |
130 | |||
131 | bn_check_top(n); | ||
131 | if ((b->A == NULL) || (b->Ai == NULL)) | 132 | if ((b->A == NULL) || (b->Ai == NULL)) |
132 | { | 133 | { |
133 | BNerr(BN_F_BN_BLINDING_INVERT,BN_R_NOT_INITALISED); | 134 | BNerr(BN_F_BN_BLINDING_INVERT,BN_R_NOT_INITIALIZED); |
134 | return(0); | 135 | return(0); |
135 | } | 136 | } |
136 | if ((ret=BN_mod_mul(n,n,b->Ai,b->mod,ctx)) >= 0) | 137 | if ((ret=BN_mod_mul(n,n,b->Ai,b->mod,ctx)) >= 0) |