Botan 3.0.0
Crypto and TLS for C&
Public Types | Public Member Functions | List of all members
Botan::KyberMode Class Reference

#include <kyber.h>

Public Types

enum  Mode {
  Kyber512 , Kyber512_90s , Kyber768 , Kyber768_90s ,
  Kyber1024 , Kyber1024_90s
}
 

Public Member Functions

bool is_90s () const
 
bool is_modern () const
 
 KyberMode (const OID &oid)
 
 KyberMode (Mode mode)
 
 KyberMode (std::string_view str)
 
Mode mode () const
 
OID object_identifier () const
 
bool operator!= (const KyberMode &other) const
 
bool operator== (const KyberMode &other) const
 
std::string to_string () const
 

Detailed Description

Definition at line 30 of file kyber.h.

Member Enumeration Documentation

◆ Mode

Enumerator
Kyber512 
Kyber512_90s 
Kyber768 
Kyber768_90s 
Kyber1024 
Kyber1024_90s 

Definition at line 33 of file kyber.h.

Constructor & Destructor Documentation

◆ KyberMode() [1/3]

Botan::KyberMode::KyberMode ( Mode  mode)

Definition at line 72 of file kyber.cpp.

73 : m_mode(mode) {}
Mode mode() const
Definition: kyber.h:50

◆ KyberMode() [2/3]

Botan::KyberMode::KyberMode ( const OID oid)
explicit

Definition at line 75 of file kyber.cpp.

76 : m_mode(kyber_mode_from_string(oid.to_formatted_string())) {}

◆ KyberMode() [3/3]

Botan::KyberMode::KyberMode ( std::string_view  str)
explicit

Definition at line 78 of file kyber.cpp.

79 : m_mode(kyber_mode_from_string(str)) {}

Member Function Documentation

◆ is_90s()

bool Botan::KyberMode::is_90s ( ) const
inline

Definition at line 51 of file kyber.h.

51{ return m_mode == Kyber512_90s || m_mode == Kyber768_90s || m_mode == Kyber1024_90s; }

◆ is_modern()

bool Botan::KyberMode::is_modern ( ) const
inline

Definition at line 52 of file kyber.h.

52{ return !is_90s(); }
bool is_90s() const
Definition: kyber.h:51

◆ mode()

Mode Botan::KyberMode::mode ( ) const
inline

Definition at line 50 of file kyber.h.

50{ return m_mode; }

◆ object_identifier()

OID Botan::KyberMode::object_identifier ( ) const

Definition at line 81 of file kyber.cpp.

82 {
84 }
std::string to_string() const
Definition: kyber.cpp:86
static OID from_string(std::string_view str)
Definition: asn1_oid.cpp:78

References Botan::OID::from_string(), and to_string().

Referenced by Botan::Kyber_PublicKey::object_identifier().

◆ operator!=()

bool Botan::KyberMode::operator!= ( const KyberMode other) const
inline

Definition at line 55 of file kyber.h.

55{ return !(*this == other); }

◆ operator==()

bool Botan::KyberMode::operator== ( const KyberMode other) const
inline

Definition at line 54 of file kyber.h.

54{ return m_mode == other.m_mode; }

◆ to_string()

std::string Botan::KyberMode::to_string ( ) const

Definition at line 86 of file kyber.cpp.

87 {
88 switch (m_mode)
89 {
90 case Kyber512_90s:
91 return "Kyber-512-90s-r3";
92 case Kyber768_90s:
93 return "Kyber-768-90s-r3";
94 case Kyber1024_90s:
95 return "Kyber-1024-90s-r3";
96 case Kyber512:
97 return "Kyber-512-r3";
98 case Kyber768:
99 return "Kyber-768-r3";
100 case Kyber1024:
101 return "Kyber-1024-r3";
102 }
103
104 unreachable();
105 }
BOTAN_FORCE_INLINE void unreachable()
Definition: assert.h:160

References Kyber1024, Kyber1024_90s, Kyber512, Kyber512_90s, Kyber768, Kyber768_90s, and Botan::unreachable().

Referenced by object_identifier().


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