Botan 3.13.0
Crypto and TLS for C&
Botan::EC_PublicKey_Data Class Referencefinal

#include <ec_key_data.h>

Public Member Functions

 EC_PublicKey_Data (const EC_Group &group, std::span< const uint8_t > bytes)
 EC_PublicKey_Data (EC_Group group, EC_AffinePoint pt)
const EC_Groupgroup () const
const EC_AffinePointpublic_key () const

Detailed Description

Definition at line 24 of file ec_key_data.h.

Constructor & Destructor Documentation

◆ EC_PublicKey_Data() [1/2]

Botan::EC_PublicKey_Data::EC_PublicKey_Data ( EC_Group group,
EC_AffinePoint pt )

Definition at line 40 of file ec_key_data.cpp.

40 :
41 m_group(std::move(group)), m_point(std::move(pt)) {
42#if defined(BOTAN_HAS_LEGACY_EC_POINT)
43 m_legacy_point = m_point.to_legacy_point();
44#endif
45
46 // Checking that the point lies on the curve is done in the deserialization
47 // of EC_AffinePoint.
48 BOTAN_ARG_CHECK(!m_point.is_identity(), "ECC public key cannot be point at infinity");
49}
#define BOTAN_ARG_CHECK(expr, msg)
Definition assert.h:33
const EC_Group & group() const
Definition ec_key_data.h:30

References BOTAN_ARG_CHECK, and group().

Referenced by EC_PublicKey_Data().

◆ EC_PublicKey_Data() [2/2]

Botan::EC_PublicKey_Data::EC_PublicKey_Data ( const EC_Group & group,
std::span< const uint8_t > bytes )

Definition at line 37 of file ec_key_data.cpp.

37 :
38 EC_PublicKey_Data(group, decode_ec_public_key_point(group, bytes)) {}
EC_PublicKey_Data(EC_Group group, EC_AffinePoint pt)

References EC_PublicKey_Data(), and group().

Member Function Documentation

◆ group()

const EC_Group & Botan::EC_PublicKey_Data::group ( ) const
inline

Definition at line 30 of file ec_key_data.h.

30{ return m_group; }

Referenced by EC_PublicKey_Data(), and EC_PublicKey_Data().

◆ public_key()

const EC_AffinePoint & Botan::EC_PublicKey_Data::public_key ( ) const
inline

Definition at line 32 of file ec_key_data.h.

32{ return m_point; }

The documentation for this class was generated from the following files: