Botan 3.9.0
Crypto and TLS for C&
|
#include <pcurves_impl.h>
Public Types | |
using | AffinePoint = typename C::AffinePoint |
using | ProjectivePoint = typename C::ProjectivePoint |
using | Scalar = typename C::Scalar |
Public Member Functions | |
ProjectivePoint | mul2_vartime (const Scalar &s1, const Scalar &s2) const |
VartimeMul2Table (const AffinePoint &p, const AffinePoint &q) |
Static Public Attributes | |
static constexpr size_t | WindowBits = W |
Definition at line 1573 of file pcurves_impl.h.
using Botan::VartimeMul2Table< C, W >::AffinePoint = typename C::AffinePoint |
Definition at line 1581 of file pcurves_impl.h.
using Botan::VartimeMul2Table< C, W >::ProjectivePoint = typename C::ProjectivePoint |
Definition at line 1582 of file pcurves_impl.h.
using Botan::VartimeMul2Table< C, W >::Scalar = typename C::Scalar |
Definition at line 1580 of file pcurves_impl.h.
|
inline |
Definition at line 1584 of file pcurves_impl.h.
References Botan::mul2_setup(), and Botan::to_affine_batch().
|
inline |
Variable time 2-ary multiplication
A common use of 2-ary multiplication is when verifying the commitments of an elliptic curve signature. Since in this case the inputs are all public, there is no problem with variable time computation.
TODO in the future we could use joint sparse form here.
Definition at line 1596 of file pcurves_impl.h.
References BOTAN_ASSERT_NOMSG, BOTAN_ASSERT_UNREACHABLE, Botan::UnblindedScalarBits< C, WindowBits >::get_window(), and WindowBits.
|
staticconstexpr |
Definition at line 1578 of file pcurves_impl.h.
Referenced by mul2_vartime().