Botan 3.5.0
Crypto and TLS for C&
|
#include <pcurves_impl.h>
Public Types | |
using | AffinePoint = AffineCurvePoint<FieldElement, Params> |
using | Self = ProjectiveCurvePoint<FieldElement, Params> |
Public Member Functions | |
constexpr void | conditional_assign (CT::Choice cond, const Self &pt) |
constexpr void | ct_poison () const |
constexpr void | ct_unpoison () const |
constexpr Self | dbl () const |
constexpr Self | dbl_n (size_t n) const |
constexpr CT::Choice | is_identity () const |
constexpr Self | negate () const |
constexpr Self & | operator+= (const AffinePoint &other) |
constexpr Self & | operator+= (const Self &other) |
ProjectiveCurvePoint & | operator= (const Self &other)=default |
ProjectiveCurvePoint & | operator= (Self &&other)=default |
constexpr | ProjectiveCurvePoint () |
constexpr | ProjectiveCurvePoint (const FieldElement &x, const FieldElement &y) |
constexpr | ProjectiveCurvePoint (const FieldElement &x, const FieldElement &y, const FieldElement &z) |
ProjectiveCurvePoint (const Self &other)=default | |
ProjectiveCurvePoint (Self &&other)=default | |
void | randomize_rep (RandomNumberGenerator &rng) |
constexpr AffinePoint | to_affine () const |
constexpr const FieldElement & | x () const |
constexpr const FieldElement & | y () const |
constexpr const FieldElement & | z () const |
Static Public Member Functions | |
static constexpr Self | add (const Self &a, const Self &b) |
static constexpr Self | add_mixed (const Self &a, const AffinePoint &b) |
static constexpr Self | from_affine (const AffinePoint &pt) |
static constexpr Self | identity () |
static std::vector< AffinePoint > | to_affine_batch (std::span< const Self > projective) |
Static Public Attributes | |
static constexpr FieldElement | A = FieldElement::from_words(Params::AW) |
static constexpr bool | A_is_minus_3 = (A == FieldElement::constant(-3)).as_bool() |
static constexpr bool | A_is_zero = A.is_zero().as_bool() |
Friends | |
constexpr Self | operator+ (const AffinePoint &a, const Self &b) |
constexpr Self | operator+ (const Self &a, const AffinePoint &b) |
constexpr Self | operator+ (const Self &a, const Self &b) |
constexpr Self | operator- (const Self &a, const Self &b) |
Definition at line 541 of file pcurves_impl.h.
using Botan::ProjectiveCurvePoint< FieldElement, Params >::AffinePoint = AffineCurvePoint<FieldElement, Params> |
Definition at line 552 of file pcurves_impl.h.
using Botan::ProjectiveCurvePoint< FieldElement, Params >::Self = ProjectiveCurvePoint<FieldElement, Params> |
Definition at line 551 of file pcurves_impl.h.
|
inlineconstexpr |
Definition at line 564 of file pcurves_impl.h.
Referenced by Botan::ProjectiveCurvePoint< FieldElement, Params >::from_affine().
|
inlineconstexpr |
Definition at line 567 of file pcurves_impl.h.
|
inlineconstexpr |
Definition at line 570 of file pcurves_impl.h.
|
default |
|
default |
|
inlinestaticconstexpr |
Definition at line 655 of file pcurves_impl.h.
References Botan::ProjectiveCurvePoint< FieldElement, Params >::dbl(), Botan::ProjectiveCurvePoint< FieldElement, Params >::identity(), Botan::ProjectiveCurvePoint< FieldElement, Params >::is_identity(), Botan::ProjectiveCurvePoint< FieldElement, Params >::x(), Botan::ProjectiveCurvePoint< FieldElement, Params >::y(), and Botan::ProjectiveCurvePoint< FieldElement, Params >::z().
|
inlinestaticconstexpr |
Definition at line 604 of file pcurves_impl.h.
References Botan::ProjectiveCurvePoint< FieldElement, Params >::dbl(), Botan::ProjectiveCurvePoint< FieldElement, Params >::identity(), Botan::AffineCurvePoint< FieldElement, Params >::is_identity(), Botan::ProjectiveCurvePoint< FieldElement, Params >::is_identity(), Botan::AffineCurvePoint< FieldElement, Params >::x(), Botan::ProjectiveCurvePoint< FieldElement, Params >::x(), Botan::AffineCurvePoint< FieldElement, Params >::y(), Botan::ProjectiveCurvePoint< FieldElement, Params >::y(), and Botan::ProjectiveCurvePoint< FieldElement, Params >::z().
|
inlineconstexpr |
Definition at line 598 of file pcurves_impl.h.
References Botan::ProjectiveCurvePoint< FieldElement, Params >::x(), Botan::ProjectiveCurvePoint< FieldElement, Params >::y(), and Botan::ProjectiveCurvePoint< FieldElement, Params >::z().
|
inlineconstexpr |
Definition at line 841 of file pcurves_impl.h.
References Botan::ProjectiveCurvePoint< FieldElement, Params >::x(), Botan::ProjectiveCurvePoint< FieldElement, Params >::y(), and Botan::ProjectiveCurvePoint< FieldElement, Params >::z().
|
inlineconstexpr |
Definition at line 847 of file pcurves_impl.h.
References Botan::ProjectiveCurvePoint< FieldElement, Params >::x(), Botan::ProjectiveCurvePoint< FieldElement, Params >::y(), and Botan::ProjectiveCurvePoint< FieldElement, Params >::z().
|
inlineconstexpr |
Definition at line 718 of file pcurves_impl.h.
References Botan::ProjectiveCurvePoint< FieldElement, Params >::A, Botan::ProjectiveCurvePoint< FieldElement, Params >::A_is_minus_3, Botan::ProjectiveCurvePoint< FieldElement, Params >::A_is_zero, Botan::ProjectiveCurvePoint< FieldElement, Params >::x(), Botan::ProjectiveCurvePoint< FieldElement, Params >::y(), and Botan::ProjectiveCurvePoint< FieldElement, Params >::z().
Referenced by Botan::ProjectiveCurvePoint< FieldElement, Params >::add(), Botan::ProjectiveCurvePoint< FieldElement, Params >::add_mixed(), and Botan::ProjectiveCurvePoint< FieldElement, Params >::dbl_n().
|
inlineconstexpr |
Definition at line 707 of file pcurves_impl.h.
References Botan::ProjectiveCurvePoint< FieldElement, Params >::dbl().
|
inlinestaticconstexpr |
Definition at line 554 of file pcurves_impl.h.
References Botan::CT::Choice::as_bool(), Botan::ProjectiveCurvePoint< FieldElement, Params >::identity(), Botan::AffineCurvePoint< FieldElement, Params >::is_identity(), Botan::ProjectiveCurvePoint< FieldElement, Params >::ProjectiveCurvePoint(), Botan::AffineCurvePoint< FieldElement, Params >::x(), and Botan::AffineCurvePoint< FieldElement, Params >::y().
|
inlinestaticconstexpr |
Definition at line 562 of file pcurves_impl.h.
Referenced by Botan::ProjectiveCurvePoint< FieldElement, Params >::add(), Botan::ProjectiveCurvePoint< FieldElement, Params >::add_mixed(), and Botan::ProjectiveCurvePoint< FieldElement, Params >::from_affine().
|
inlineconstexpr |
Definition at line 596 of file pcurves_impl.h.
References Botan::ProjectiveCurvePoint< FieldElement, Params >::z().
Referenced by Botan::ProjectiveCurvePoint< FieldElement, Params >::add(), Botan::ProjectiveCurvePoint< FieldElement, Params >::add_mixed(), Botan::ProjectiveCurvePoint< FieldElement, Params >::to_affine(), and Botan::ProjectiveCurvePoint< FieldElement, Params >::to_affine_batch().
|
inlineconstexpr |
Definition at line 751 of file pcurves_impl.h.
References Botan::ProjectiveCurvePoint< FieldElement, Params >::negate(), Botan::ProjectiveCurvePoint< FieldElement, Params >::x(), Botan::ProjectiveCurvePoint< FieldElement, Params >::y(), and Botan::ProjectiveCurvePoint< FieldElement, Params >::z().
Referenced by Botan::ProjectiveCurvePoint< FieldElement, Params >::negate().
|
inlineconstexpr |
Definition at line 589 of file pcurves_impl.h.
|
inlineconstexpr |
Definition at line 584 of file pcurves_impl.h.
|
default |
|
default |
|
inline |
Definition at line 824 of file pcurves_impl.h.
|
inlineconstexpr |
Definition at line 753 of file pcurves_impl.h.
References Botan::AffineCurvePoint< FieldElement, Params >::identity(), Botan::ProjectiveCurvePoint< FieldElement, Params >::is_identity(), Botan::ProjectiveCurvePoint< FieldElement, Params >::x(), and Botan::ProjectiveCurvePoint< FieldElement, Params >::y().
|
inlinestatic |
Definition at line 769 of file pcurves_impl.h.
References Botan::AffineCurvePoint< FieldElement, Params >::identity(), Botan::ProjectiveCurvePoint< FieldElement, Params >::is_identity(), Botan::ProjectiveCurvePoint< FieldElement, Params >::x(), and Botan::ProjectiveCurvePoint< FieldElement, Params >::y().
|
inlineconstexpr |
Definition at line 835 of file pcurves_impl.h.
Referenced by Botan::ProjectiveCurvePoint< FieldElement, Params >::add(), Botan::ProjectiveCurvePoint< FieldElement, Params >::add_mixed(), Botan::ProjectiveCurvePoint< FieldElement, Params >::conditional_assign(), Botan::ProjectiveCurvePoint< FieldElement, Params >::ct_poison(), Botan::ProjectiveCurvePoint< FieldElement, Params >::ct_unpoison(), Botan::ProjectiveCurvePoint< FieldElement, Params >::dbl(), Botan::ProjectiveCurvePoint< FieldElement, Params >::negate(), Botan::ProjectiveCurvePoint< FieldElement, Params >::to_affine(), and Botan::ProjectiveCurvePoint< FieldElement, Params >::to_affine_batch().
|
inlineconstexpr |
Definition at line 837 of file pcurves_impl.h.
Referenced by Botan::ProjectiveCurvePoint< FieldElement, Params >::add(), Botan::ProjectiveCurvePoint< FieldElement, Params >::add_mixed(), Botan::ProjectiveCurvePoint< FieldElement, Params >::conditional_assign(), Botan::ProjectiveCurvePoint< FieldElement, Params >::ct_poison(), Botan::ProjectiveCurvePoint< FieldElement, Params >::ct_unpoison(), Botan::ProjectiveCurvePoint< FieldElement, Params >::dbl(), Botan::ProjectiveCurvePoint< FieldElement, Params >::negate(), Botan::ProjectiveCurvePoint< FieldElement, Params >::to_affine(), and Botan::ProjectiveCurvePoint< FieldElement, Params >::to_affine_batch().
|
inlineconstexpr |
Definition at line 839 of file pcurves_impl.h.
Referenced by Botan::ProjectiveCurvePoint< FieldElement, Params >::add(), Botan::ProjectiveCurvePoint< FieldElement, Params >::add_mixed(), Botan::ProjectiveCurvePoint< FieldElement, Params >::conditional_assign(), Botan::ProjectiveCurvePoint< FieldElement, Params >::ct_poison(), Botan::ProjectiveCurvePoint< FieldElement, Params >::ct_unpoison(), Botan::ProjectiveCurvePoint< FieldElement, Params >::dbl(), Botan::ProjectiveCurvePoint< FieldElement, Params >::is_identity(), and Botan::ProjectiveCurvePoint< FieldElement, Params >::negate().
|
friend |
Definition at line 582 of file pcurves_impl.h.
|
friend |
Definition at line 580 of file pcurves_impl.h.
|
friend |
Definition at line 578 of file pcurves_impl.h.
|
friend |
Definition at line 594 of file pcurves_impl.h.
|
staticconstexpr |
Definition at line 546 of file pcurves_impl.h.
Referenced by Botan::ProjectiveCurvePoint< FieldElement, Params >::dbl().
|
staticconstexpr |
Definition at line 549 of file pcurves_impl.h.
Referenced by Botan::ProjectiveCurvePoint< FieldElement, Params >::dbl().
|
staticconstexpr |
Definition at line 548 of file pcurves_impl.h.
Referenced by Botan::ProjectiveCurvePoint< FieldElement, Params >::dbl().