Botan 3.9.0
Crypto and TLS for C&
pcurves_algos.h File Reference

Internal Header. More...

#include <botan/types.h>
#include <botan/internal/ct_utils.h>
#include <span>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  Botan

Concepts

concept  Botan::curve_supports_fe_invert2
concept  Botan::curve_supports_fe_sqrt

Functions

template<typename ProjectivePoint>
constexpr ProjectivePoint Botan::dbl_a_minus_3 (const ProjectivePoint &pt)
template<typename ProjectivePoint>
constexpr ProjectivePoint Botan::dbl_a_zero (const ProjectivePoint &pt)
template<typename ProjectivePoint, typename FieldElement>
constexpr ProjectivePoint Botan::dbl_generic (const ProjectivePoint &pt, const FieldElement &A)
template<typename ProjectivePoint>
constexpr ProjectivePoint Botan::dbl_n_a_minus_3 (const ProjectivePoint &pt, size_t n)
template<typename ProjectivePoint>
constexpr ProjectivePoint Botan::dbl_n_a_zero (const ProjectivePoint &pt, size_t n)
template<typename ProjectivePoint, typename FieldElement>
constexpr ProjectivePoint Botan::dbl_n_generic (const ProjectivePoint &pt, const FieldElement &A, size_t n)
template<typename C>
constexpr auto Botan::invert_field_element (const typename C::FieldElement &fe)
template<typename ProjectivePoint, typename FieldElement>
constexpr ProjectivePoint Botan::point_add (const ProjectivePoint &a, const ProjectivePoint &b)
template<typename ProjectivePoint, typename AffinePoint, typename FieldElement>
constexpr ProjectivePoint Botan::point_add_mixed (const ProjectivePoint &a, const AffinePoint &b, const FieldElement &one)
template<typename ProjectivePoint, typename AffinePoint, typename FieldElement>
constexpr ProjectivePoint Botan::point_add_or_sub_mixed (const ProjectivePoint &a, const AffinePoint &b, CT::Choice sub, const FieldElement &one)
template<typename C>
constexpr CT::Option< typename C::FieldElement > Botan::sqrt_field_element (const typename C::FieldElement &fe)
template<typename C>
constexpr auto Botan::to_affine (const typename C::ProjectivePoint &pt)
template<typename C>
auto Botan::to_affine_batch (std::span< const typename C::ProjectivePoint > projective)
template<typename C>
auto Botan::to_affine_x (const typename C::ProjectivePoint &pt)

Detailed Description

Internal Header.

Definition in file pcurves_algos.h.