Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(243)

Side by Side Diff: nss/lib/freebl/ecl/ecp_jm.c

Issue 1504923011: Update NSS to 3.21 RTM and NSPR to 4.11 RTM (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/nss
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* This Source Code Form is subject to the terms of the Mozilla Public 1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this 2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 4
5 #include "ecp.h" 5 #include "ecp.h"
6 #include "ecl-priv.h" 6 #include "ecl-priv.h"
7 #include "mplogic.h" 7 #include "mplogic.h"
8 #include <stdlib.h> 8 #include <stdlib.h>
9 9
10 #define MAX_SCRATCH 6 10 #define MAX_SCRATCH 6
11 11
12 /* Computes R = 2P. Elliptic curve points P and R can be identical. Uses 12 /* Computes R = 2P. Elliptic curve points P and R can be identical. Uses
13 * Modified Jacobian coordinates. 13 * Modified Jacobian coordinates.
14 * 14 *
15 * Assumes input is already field-encoded using field_enc, and returns 15 * Assumes input is already field-encoded using field_enc, and returns
16 * output that is still field-encoded. 16 * output that is still field-encoded.
17 * 17 *
18 */ 18 */
19 mp_err 19 static mp_err
20 ec_GFp_pt_dbl_jm(const mp_int *px, const mp_int *py, const mp_int *pz, 20 ec_GFp_pt_dbl_jm(const mp_int *px, const mp_int *py, const mp_int *pz,
21 const mp_int *paz4, mp_int *rx, mp_int *ry, mp_ int *rz, 21 const mp_int *paz4, mp_int *rx, mp_int *ry, mp_ int *rz,
22 mp_int *raz4, mp_int scratch[], const ECGroup * group) 22 mp_int *raz4, mp_int scratch[], const ECGroup * group)
23 { 23 {
24 mp_err res = MP_OKAY; 24 mp_err res = MP_OKAY;
25 mp_int *t0, *t1, *M, *S; 25 mp_int *t0, *t1, *M, *S;
26 26
27 t0 = &scratch[0]; 27 t0 = &scratch[0];
28 t1 = &scratch[1]; 28 t1 = &scratch[1];
29 M = &scratch[2]; 29 M = &scratch[2];
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 79
80 CLEANUP: 80 CLEANUP:
81 return res; 81 return res;
82 } 82 }
83 83
84 /* Computes R = P + Q where R is (rx, ry, rz), P is (px, py, pz) and Q is 84 /* Computes R = P + Q where R is (rx, ry, rz), P is (px, py, pz) and Q is
85 * (qx, qy, 1). Elliptic curve points P, Q, and R can all be identical. 85 * (qx, qy, 1). Elliptic curve points P, Q, and R can all be identical.
86 * Uses mixed Modified_Jacobian-affine coordinates. Assumes input is 86 * Uses mixed Modified_Jacobian-affine coordinates. Assumes input is
87 * already field-encoded using field_enc, and returns output that is still 87 * already field-encoded using field_enc, and returns output that is still
88 * field-encoded. */ 88 * field-encoded. */
89 mp_err 89 static mp_err
90 ec_GFp_pt_add_jm_aff(const mp_int *px, const mp_int *py, const mp_int *pz, 90 ec_GFp_pt_add_jm_aff(const mp_int *px, const mp_int *py, const mp_int *pz,
91 const mp_int *paz4, const mp_int *qx, 91 const mp_int *paz4, const mp_int *qx,
92 const mp_int *qy, mp_int *rx, mp_int *r y, mp_int *rz, 92 const mp_int *qy, mp_int *rx, mp_int *r y, mp_int *rz,
93 mp_int *raz4, mp_int scratch[], const E CGroup *group) 93 mp_int *raz4, mp_int scratch[], const E CGroup *group)
94 { 94 {
95 mp_err res = MP_OKAY; 95 mp_err res = MP_OKAY;
96 mp_int *A, *B, *C, *D, *C2, *C3; 96 mp_int *A, *B, *C, *D, *C2, *C3;
97 97
98 A = &scratch[0]; 98 A = &scratch[0];
99 B = &scratch[1]; 99 B = &scratch[1];
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 mp_clear(&precomp[i][0]); 280 mp_clear(&precomp[i][0]);
281 mp_clear(&precomp[i][1]); 281 mp_clear(&precomp[i][1]);
282 } 282 }
283 mp_clear(&tpx); 283 mp_clear(&tpx);
284 mp_clear(&tpy); 284 mp_clear(&tpy);
285 mp_clear(&rz); 285 mp_clear(&rz);
286 mp_clear(&raz4); 286 mp_clear(&raz4);
287 free(naf); 287 free(naf);
288 return res; 288 return res;
289 } 289 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698