Botan 3.5.0
Crypto and TLS for C&
|
#include <pcurves_impl.h>
Public Types | |
using | Self = AffineCurvePoint<FieldElement, Params> |
Public Member Functions | |
constexpr | AffineCurvePoint () |
constexpr | AffineCurvePoint (const FieldElement &x, const FieldElement &y) |
AffineCurvePoint (const Self &other)=default | |
AffineCurvePoint (Self &&other)=default | |
constexpr void | conditional_assign (CT::Choice cond, const Self &pt) |
constexpr void | ct_poison () const |
constexpr void | ct_unpoison () const |
constexpr CT::Choice | is_identity () const |
constexpr Self | negate () const |
AffineCurvePoint & | operator= (const Self &other)=default |
AffineCurvePoint & | operator= (Self &&other)=default |
constexpr void | serialize_compressed_to (std::span< uint8_t, Self::COMPRESSED_BYTES > bytes) const |
constexpr void | serialize_to (std::span< uint8_t, Self::BYTES > bytes) const |
constexpr const FieldElement & | x () const |
constexpr const FieldElement & | y () const |
Static Public Member Functions | |
static constexpr auto | ct_select (std::span< const Self > pts, size_t idx) |
static constexpr std::optional< Self > | deserialize (std::span< const uint8_t > bytes) |
static constexpr Self | identity () |
static constexpr FieldElement | x3_ax_b (const FieldElement &x) |
Static Public Attributes | |
static constexpr FieldElement | A = FieldElement::from_words(Params::AW) |
static constexpr FieldElement | B = FieldElement::from_words(Params::BW) |
static constexpr size_t | BYTES = 1 + 2 * FieldElement::BYTES |
static constexpr size_t | COMPRESSED_BYTES = 1 + FieldElement::BYTES |
Definition at line 416 of file pcurves_impl.h.
using Botan::AffineCurvePoint< FieldElement, Params >::Self = AffineCurvePoint<FieldElement, Params> |
Definition at line 427 of file pcurves_impl.h.
|
inlineconstexpr |
Definition at line 429 of file pcurves_impl.h.
|
inlineconstexpr |
Definition at line 431 of file pcurves_impl.h.
|
default |
|
default |
|
inlineconstexpr |
Definition at line 520 of file pcurves_impl.h.
References Botan::AffineCurvePoint< FieldElement, Params >::x(), and Botan::AffineCurvePoint< FieldElement, Params >::y().
|
inlineconstexpr |
Definition at line 525 of file pcurves_impl.h.
References Botan::AffineCurvePoint< FieldElement, Params >::x(), and Botan::AffineCurvePoint< FieldElement, Params >::y().
|
inlinestaticconstexpr |
If idx is zero then return the identity element. Otherwise return pts[idx - 1]
Returns the identity element also if idx is out of range
Definition at line 466 of file pcurves_impl.h.
References Botan::AffineCurvePoint< FieldElement, Params >::identity(), and Botan::CT::Mask< T >::is_equal().
|
inlineconstexpr |
Definition at line 530 of file pcurves_impl.h.
References Botan::AffineCurvePoint< FieldElement, Params >::x(), and Botan::AffineCurvePoint< FieldElement, Params >::y().
|
inlinestaticconstexpr |
Definition at line 481 of file pcurves_impl.h.
References Botan::AffineCurvePoint< FieldElement, Params >::BYTES, Botan::AffineCurvePoint< FieldElement, Params >::COMPRESSED_BYTES, Botan::CT::Mask< T >::is_equal(), Botan::AffineCurvePoint< FieldElement, Params >::x(), Botan::AffineCurvePoint< FieldElement, Params >::x3_ax_b(), and Botan::AffineCurvePoint< FieldElement, Params >::y().
|
inlinestaticconstexpr |
Definition at line 433 of file pcurves_impl.h.
Referenced by Botan::AffineCurvePoint< FieldElement, Params >::ct_select(), Botan::ProjectiveCurvePoint< FieldElement, Params >::to_affine(), and Botan::ProjectiveCurvePoint< FieldElement, Params >::to_affine_batch().
|
inlineconstexpr |
Definition at line 435 of file pcurves_impl.h.
References Botan::AffineCurvePoint< FieldElement, Params >::x(), and Botan::AffineCurvePoint< FieldElement, Params >::y().
Referenced by Botan::ProjectiveCurvePoint< FieldElement, Params >::add_mixed(), and Botan::ProjectiveCurvePoint< FieldElement, Params >::from_affine().
|
inlineconstexpr |
Definition at line 442 of file pcurves_impl.h.
References Botan::AffineCurvePoint< FieldElement, Params >::negate(), Botan::AffineCurvePoint< FieldElement, Params >::x(), and Botan::AffineCurvePoint< FieldElement, Params >::y().
Referenced by Botan::AffineCurvePoint< FieldElement, Params >::negate().
|
default |
|
default |
|
inlineconstexpr |
Definition at line 452 of file pcurves_impl.h.
References Botan::BufferStuffer::append(), BOTAN_DEBUG_ASSERT, Botan::CT::Mask< T >::from_choice(), Botan::BufferStuffer::full(), Botan::BufferStuffer::next(), Botan::AffineCurvePoint< FieldElement, Params >::x(), and Botan::AffineCurvePoint< FieldElement, Params >::y().
|
inlineconstexpr |
Definition at line 444 of file pcurves_impl.h.
References Botan::BufferStuffer::append(), BOTAN_DEBUG_ASSERT, Botan::BufferStuffer::full(), Botan::BufferStuffer::next(), Botan::AffineCurvePoint< FieldElement, Params >::x(), and Botan::AffineCurvePoint< FieldElement, Params >::y().
|
inlineconstexpr |
Definition at line 516 of file pcurves_impl.h.
Referenced by Botan::ProjectiveCurvePoint< FieldElement, Params >::add_mixed(), Botan::AffineCurvePoint< FieldElement, Params >::conditional_assign(), Botan::AffineCurvePoint< FieldElement, Params >::ct_poison(), Botan::AffineCurvePoint< FieldElement, Params >::ct_unpoison(), Botan::AffineCurvePoint< FieldElement, Params >::deserialize(), Botan::ProjectiveCurvePoint< FieldElement, Params >::from_affine(), Botan::AffineCurvePoint< FieldElement, Params >::is_identity(), Botan::AffineCurvePoint< FieldElement, Params >::negate(), Botan::AffineCurvePoint< FieldElement, Params >::serialize_compressed_to(), Botan::AffineCurvePoint< FieldElement, Params >::serialize_to(), and Botan::AffineCurvePoint< FieldElement, Params >::x3_ax_b().
|
inlinestaticconstexpr |
Definition at line 479 of file pcurves_impl.h.
References Botan::AffineCurvePoint< FieldElement, Params >::A, Botan::AffineCurvePoint< FieldElement, Params >::B, and Botan::AffineCurvePoint< FieldElement, Params >::x().
Referenced by Botan::AffineCurvePoint< FieldElement, Params >::deserialize().
|
inlineconstexpr |
Definition at line 518 of file pcurves_impl.h.
Referenced by Botan::ProjectiveCurvePoint< FieldElement, Params >::add_mixed(), Botan::AffineCurvePoint< FieldElement, Params >::conditional_assign(), Botan::AffineCurvePoint< FieldElement, Params >::ct_poison(), Botan::AffineCurvePoint< FieldElement, Params >::ct_unpoison(), Botan::AffineCurvePoint< FieldElement, Params >::deserialize(), Botan::ProjectiveCurvePoint< FieldElement, Params >::from_affine(), Botan::AffineCurvePoint< FieldElement, Params >::is_identity(), Botan::AffineCurvePoint< FieldElement, Params >::negate(), Botan::AffineCurvePoint< FieldElement, Params >::serialize_compressed_to(), and Botan::AffineCurvePoint< FieldElement, Params >::serialize_to().
|
staticconstexpr |
Definition at line 421 of file pcurves_impl.h.
Referenced by Botan::AffineCurvePoint< FieldElement, Params >::x3_ax_b().
|
staticconstexpr |
Definition at line 422 of file pcurves_impl.h.
Referenced by Botan::AffineCurvePoint< FieldElement, Params >::x3_ax_b().
|
staticconstexpr |
Definition at line 424 of file pcurves_impl.h.
Referenced by Botan::AffineCurvePoint< FieldElement, Params >::deserialize().
|
staticconstexpr |
Definition at line 425 of file pcurves_impl.h.
Referenced by Botan::AffineCurvePoint< FieldElement, Params >::deserialize().