Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Nettle
nettle
Commits
e775f329
Commit
e775f329
authored
Sep 09, 2014
by
Niels Möller
Browse files
Make cnd_swap non-static.
parent
eee1f125
Changes
4
Hide whitespace changes
Inline
Side-by-side
ChangeLog
View file @
e775f329
2014-09-09 Niels Möller <nisse@lysator.liu.se>
* gmp-glue.c (cnd_swap): Moved function here, made non-static.
Changed cnd type to mp_limb_t, for consistency with GMP
mpn_cnd_add_n.
* sec-modinv.c (cnd_swap): ... old location.
* gmp-glue.h (cnd_swap): Declare function.
2014-09-06 Niels Möller <nisse@lysator.liu.se>
* examples/hogweed-benchmark.c (bench_curve25519_mul_g)
...
...
gmp-glue.c
View file @
e775f329
...
...
@@ -142,6 +142,22 @@ mpn_zero (mp_ptr ptr, mp_size_t n)
}
#endif
/* !GMP_HAVE_mpn_copyd */
void
cnd_swap
(
mp_limb_t
cnd
,
mp_limb_t
*
ap
,
mp_limb_t
*
bp
,
mp_size_t
n
)
{
mp_limb_t
mask
=
-
(
mp_limb_t
)
(
cnd
!=
0
);
mp_size_t
i
;
for
(
i
=
0
;
i
<
n
;
i
++
)
{
mp_limb_t
a
,
b
,
t
;
a
=
ap
[
i
];
b
=
bp
[
i
];
t
=
(
a
^
b
)
&
mask
;
ap
[
i
]
=
a
^
t
;
bp
[
i
]
=
b
^
t
;
}
}
/* Additional convenience functions. */
int
...
...
gmp-glue.h
View file @
e775f329
...
...
@@ -66,6 +66,7 @@
#define mpn_sqr(rp, ap, n) mpn_mul_n((rp), (ap), (ap), (n))
#endif
#define cnd_swap _nettle_cnd_swap
#define mpz_limbs_cmp _nettle_mpz_limbs_cmp
#define mpz_limbs_read_n _nettle_mpz_limbs_read_n
#define mpz_limbs_copy _nettle_mpz_limbs_copy
...
...
@@ -143,6 +144,9 @@ void
mpn_zero
(
mp_ptr
ptr
,
mp_size_t
n
);
#endif
/* !GMP_HAVE_mpn_copyd */
void
cnd_swap
(
mp_limb_t
cnd
,
mp_limb_t
*
ap
,
mp_limb_t
*
bp
,
mp_size_t
n
);
/* Convenience functions */
int
mpz_limbs_cmp
(
mpz_srcptr
a
,
const
mp_limb_t
*
bp
,
mp_size_t
bn
);
...
...
sec-modinv.c
View file @
e775f329
...
...
@@ -54,22 +54,6 @@ cnd_neg (int cnd, mp_limb_t *rp, const mp_limb_t *ap, mp_size_t n)
}
}
static
void
cnd_swap
(
int
cnd
,
mp_limb_t
*
ap
,
mp_limb_t
*
bp
,
mp_size_t
n
)
{
mp_limb_t
mask
=
-
(
mp_limb_t
)
(
cnd
!=
0
);
mp_size_t
i
;
for
(
i
=
0
;
i
<
n
;
i
++
)
{
mp_limb_t
a
,
b
,
t
;
a
=
ap
[
i
];
b
=
bp
[
i
];
t
=
(
a
^
b
)
&
mask
;
ap
[
i
]
=
a
^
t
;
bp
[
i
]
=
b
^
t
;
}
}
/* Compute a^{-1} mod m, with running time depending only on the size.
Returns zero if a == 0 (mod m), to be consistent with a^{phi(m)-1}.
Also needs (m+1)/2, and m must be odd. */
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment