|
Botan 3.11.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 1565 of file pcurves_impl.h.
| using Botan::VartimeMul2Table< C, W >::AffinePoint = typename C::AffinePoint |
Definition at line 1573 of file pcurves_impl.h.
| using Botan::VartimeMul2Table< C, W >::ProjectivePoint = typename C::ProjectivePoint |
Definition at line 1574 of file pcurves_impl.h.
| using Botan::VartimeMul2Table< C, W >::Scalar = typename C::Scalar |
Definition at line 1572 of file pcurves_impl.h.
|
inline |
Definition at line 1576 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 1588 of file pcurves_impl.h.
References BOTAN_ASSERT_NOMSG, BOTAN_ASSERT_UNREACHABLE, Botan::UnblindedScalarBits< C, WindowBits >::get_window(), and WindowBits.
|
staticconstexpr |
Definition at line 1570 of file pcurves_impl.h.
Referenced by mul2_vartime().