Cryptography Reference
In-Depth Information
int
uadd_l (CLINT a_l, USHORT b,
CLINT s_l)
mixed addition: sum of
a_l
and
b
,
output in
s_l
int
udiv_l (CLINT a_l, USHORT b,
CLINT q_l, CLINT r_l)
mixed division with remainder:
division of
a_l
by
b
, quotient in
q_l
, remainder in
r_l
int
umul_l (CLINT a_l, USHORT b,
CLINT p_l)
mixed multiplication: product of
a_l
and
b
, output in
p_l
int
usub_l (CLINT a_l, USHORT b,
CLINT c_l)
mixed subtraction: difference of
a_l
and
b
, output in
s_l
A.3 Modular Arithmetic
int
madd_l (CLINT a_l, CLINT b_l,
CLINT c_l, CLINT m_l);
modular addition: addition of
a_l
and
b_l
modulo
m_l
, output in
c_l
int
mequ_l (CLINT a_l, CLINT b_l,
CLINT m_l);
test for equality of
a_l
and
b_l
modulo
m_l
int
mexp_l (CLINT bas_l, CLINT e_l,
CLINT p_l,CLINT m_l);
modular exponentiation, auto-
matic use of
mexpkm_l()
if modu-
lus odd, otherwise
mexpk_l()
int
mexp2_l (CLINT bas_l, USHORT e,
CLINT p_l, CLINT m_l);
modular
exponentiation,
expo-
nent
e
a power of 2
modular exponentiation,
2
5
-ary
method
int
mexp5_l (CLINT bas_l, CLINT exp_l,
CLINT p_l,CLINT m_l);