Botan 3.7.1
Crypto and TLS for C&
Botan::PCurve::PrimeOrderCurveId Class Referencefinal

Identifier for a named prime order curve. More...

#include <pcurves_id.h>

Public Types

enum class  Code : uint8_t {
  secp192r1 , secp224r1 , secp256r1 , secp384r1 ,
  secp521r1 , secp256k1 , brainpool256r1 , brainpool384r1 ,
  brainpool512r1 , frp256v1 , sm2p256v1 , numsp512d1
}
 

Public Member Functions

Code code () const
 
 PrimeOrderCurveId (Code id)
 
std::string to_string () const
 Convert the ID to it's commonly used name (inverse of from_string)
 

Static Public Member Functions

static std::optional< PrimeOrderCurveIdfrom_string (std::string_view name)
 Map a string to a curve identifier.
 

Detailed Description

Identifier for a named prime order curve.

Definition at line 27 of file pcurves_id.h.

Member Enumeration Documentation

◆ Code

enum class Botan::PCurve::PrimeOrderCurveId::Code : uint8_t
strong
Enumerator
secp192r1 

secp192r1 aka P-192

secp224r1 

secp224r1 aka P-224

secp256r1 

secp256r1 aka P-256

secp384r1 

secp384r1 aka P-384

secp521r1 

secp521r1 aka P-521

secp256k1 

secp256k1

brainpool256r1 

brainpool256r1

brainpool384r1 
brainpool512r1 
frp256v1 
sm2p256v1 
numsp512d1 

Definition at line 29 of file pcurves_id.h.

29 : uint8_t {
30 /// secp192r1 aka P-192
32 /// secp224r1 aka P-224
34 /// secp256r1 aka P-256
36 /// secp384r1 aka P-384
38 /// secp521r1 aka P-521
40 /// secp256k1
42 /// brainpool256r1
49 };

Constructor & Destructor Documentation

◆ PrimeOrderCurveId()

Botan::PCurve::PrimeOrderCurveId::PrimeOrderCurveId ( Code id)
inline

Definition at line 58 of file pcurves_id.h.

58: m_code(id) {}

Member Function Documentation

◆ code()

Code Botan::PCurve::PrimeOrderCurveId::code ( ) const
inline

Definition at line 53 of file pcurves_id.h.

53{ return m_code; }

Referenced by to_string().

◆ from_string()

std::optional< PrimeOrderCurveId > Botan::PCurve::PrimeOrderCurveId::from_string ( std::string_view name)
static

Map a string to a curve identifier.

Definition at line 163 of file pcurves.cpp.

163 {
164 if(name == "secp192r1") {
166 } else if(name == "secp224r1") {
168 } else if(name == "secp256r1") {
170 } else if(name == "secp384r1") {
172 } else if(name == "secp521r1") {
174 } else if(name == "secp256k1") {
176 } else if(name == "brainpool256r1") {
178 } else if(name == "brainpool384r1") {
180 } else if(name == "brainpool512r1") {
182 } else if(name == "frp256v1") {
184 } else if(name == "sm2p256v1") {
186 } else if(name == "numsp512d1") {
188 } else {
189 return {};
190 }
191}
std::string name

References brainpool256r1, brainpool384r1, brainpool512r1, frp256v1, name, numsp512d1, secp192r1, secp224r1, secp256k1, secp256r1, secp384r1, secp521r1, and sm2p256v1.

Referenced by Botan::PCurve::PrimeOrderCurve::from_name().

◆ to_string()

std::string Botan::PCurve::PrimeOrderCurveId::to_string ( ) const

Convert the ID to it's commonly used name (inverse of from_string)

Definition at line 131 of file pcurves.cpp.

131 {
132 switch(this->code()) {
134 return "secp192r1";
136 return "secp224r1";
138 return "secp256r1";
140 return "secp384r1";
142 return "secp521r1";
144 return "secp256k1";
146 return "brainpool256r1";
148 return "brainpool384r1";
150 return "brainpool512r1";
152 return "frp256v1";
154 return "sm2p256v1";
156 return "numsp512d1";
157 }
158
159 return "unknown";
160}

References brainpool256r1, brainpool384r1, brainpool512r1, code(), frp256v1, numsp512d1, secp192r1, secp224r1, secp256k1, secp256r1, secp384r1, secp521r1, and sm2p256v1.


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