|
Botan
1.11.15
|
#include <poly1305.h>
Public Types | |
| typedef SCAN_Name | Spec |
Public Member Functions | |
| void | clear () |
| MessageAuthenticationCode * | clone () const |
| void | final (byte out[]) |
| secure_vector< byte > | final () |
| template<typename Alloc > | |
| void | final (std::vector< byte, Alloc > &out) |
| Key_Length_Specification | key_spec () const |
| size_t | maximum_keylength () const |
| size_t | minimum_keylength () const |
| std::string | name () const override |
| size_t | output_length () const |
| secure_vector< byte > | process (const byte in[], size_t length) |
| secure_vector< byte > | process (const secure_vector< byte > &in) |
| secure_vector< byte > | process (const std::vector< byte > &in) |
| secure_vector< byte > | process (const std::string &in) |
| void | set_key (const SymmetricKey &key) |
| template<typename Alloc > | |
| void | set_key (const std::vector< byte, Alloc > &key) |
| void | set_key (const byte key[], size_t length) |
| void | update (const byte in[], size_t length) |
| void | update (const secure_vector< byte > &in) |
| void | update (const std::vector< byte > &in) |
| void | update (const std::string &str) |
| void | update (byte in) |
| template<typename T > | |
| void | update_be (const T in) |
| bool | valid_keylength (size_t length) const |
| virtual bool | verify_mac (const byte in[], size_t length) |
DJB's Poly1305 Important note: each key can only be used once
Definition at line 20 of file poly1305.h.
typedef SCAN_Name Botan::MessageAuthenticationCode::Spec [inherited] |
| void Botan::Poly1305::clear | ( | ) | [virtual] |
Implements Botan::SymmetricAlgorithm.
Definition at line 143 of file poly1305.cpp.
References Botan::zap().
| MessageAuthenticationCode* Botan::Poly1305::clone | ( | ) | const [inline, virtual] |
Get a new object representing the same algorithm as *this
Implements Botan::MessageAuthenticationCode.
Definition at line 25 of file poly1305.h.
{ return new Poly1305; }
| void Botan::Buffered_Computation::final | ( | byte | out[] | ) | [inline, inherited] |
Complete the computation and retrieve the final result.
| out | The byte array to be filled with the result. Must be of length output_length() |
Definition at line 90 of file buf_comp.h.
Referenced by botan_hash_final(), botan_mac_final(), Botan::McEliece_KEM_Decryptor::decrypt(), Botan::TLS::Session::decrypt(), Botan::McEliece_KEM_Encryptor::encrypt(), Botan::TLS::Session::encrypt(), Botan::mgf1_mask(), Botan::pbkdf2(), and Botan::TLS::write_record().
{ final_result(out); }
| secure_vector<byte> Botan::Buffered_Computation::final | ( | ) | [inline, inherited] |
Complete the computation and retrieve the final result.
Definition at line 97 of file buf_comp.h.
{
secure_vector<byte> output(output_length());
final_result(&output[0]);
return output;
}
| void Botan::Buffered_Computation::final | ( | std::vector< byte, Alloc > & | out | ) | [inline, inherited] |
Definition at line 105 of file buf_comp.h.
{
out.resize(output_length());
final_result(&out[0]);
}
| Key_Length_Specification Botan::Poly1305::key_spec | ( | ) | const [inline, virtual] |
Implements Botan::SymmetricAlgorithm.
Definition at line 31 of file poly1305.h.
{
return Key_Length_Specification(32);
}
| size_t Botan::SymmetricAlgorithm::maximum_keylength | ( | ) | const [inline, inherited] |
Definition at line 36 of file sym_algo.h.
References Botan::Key_Length_Specification::maximum_keylength().
{
return key_spec().maximum_keylength();
}
| size_t Botan::SymmetricAlgorithm::minimum_keylength | ( | ) | const [inline, inherited] |
Definition at line 44 of file sym_algo.h.
{
return key_spec().minimum_keylength();
}
| std::string Botan::Poly1305::name | ( | ) | const [inline, override, virtual] |
Get the name of this algorithm.
Implements Botan::MessageAuthenticationCode.
Definition at line 23 of file poly1305.h.
{ return "Poly1305"; }
| size_t Botan::Poly1305::output_length | ( | ) | const [inline, virtual] |
Implements Botan::Buffered_Computation.
Definition at line 29 of file poly1305.h.
{ return 16; }
| secure_vector<byte> Botan::Buffered_Computation::process | ( | const byte | in[], |
| size_t | length | ||
| ) | [inline, inherited] |
Update and finalize computation. Does the same as calling update() and final() consecutively.
| in | the input to process as a byte array |
| length | the length of the byte array |
Definition at line 118 of file buf_comp.h.
Referenced by Botan::HMAC_RNG::HMAC_RNG(), Botan::RTSS_Share::split(), and Botan::Cert_Extension::Subject_Key_ID::Subject_Key_ID().
{
add_data(in, length);
return final();
}
| secure_vector<byte> Botan::Buffered_Computation::process | ( | const secure_vector< byte > & | in | ) | [inline, inherited] |
Update and finalize computation. Does the same as calling update() and final() consecutively.
| in | the input to process |
Definition at line 130 of file buf_comp.h.
{
add_data(&in[0], in.size());
return final();
}
| secure_vector<byte> Botan::Buffered_Computation::process | ( | const std::vector< byte > & | in | ) | [inline, inherited] |
Update and finalize computation. Does the same as calling update() and final() consecutively.
| in | the input to process |
Definition at line 142 of file buf_comp.h.
{
add_data(&in[0], in.size());
return final();
}
| secure_vector<byte> Botan::Buffered_Computation::process | ( | const std::string & | in | ) | [inline, inherited] |
| void Botan::SymmetricAlgorithm::set_key | ( | const SymmetricKey & | key | ) | [inline, inherited] |
Set the symmetric key of this object.
| key | the SymmetricKey to be set. |
Definition at line 63 of file sym_algo.h.
References Botan::OctetString::begin(), and Botan::OctetString::length().
Referenced by Botan::aont_package(), Botan::aont_unpackage(), botan_mac_set_key(), Botan::TLS::Session::decrypt(), Botan::TLS::Session::encrypt(), and Botan::pbkdf2().
{
set_key(key.begin(), key.length());
}
| void Botan::SymmetricAlgorithm::set_key | ( | const std::vector< byte, Alloc > & | key | ) | [inline, inherited] |
Definition at line 69 of file sym_algo.h.
{
set_key(&key[0], key.size());
}
| void Botan::SymmetricAlgorithm::set_key | ( | const byte | key[], |
| size_t | length | ||
| ) | [inline, inherited] |
Set the symmetric key of this object.
| key | the to be set as a byte array. |
| length | in bytes of key param |
Definition at line 79 of file sym_algo.h.
{
if(!valid_keylength(length))
throw Invalid_Key_Length(name(), length);
key_schedule(key, length);
}
| void Botan::Buffered_Computation::update | ( | const byte | in[], |
| size_t | length | ||
| ) | [inline, inherited] |
Add new input to process.
| in | the input to process as a byte array |
| length | of param in in bytes |
Definition at line 34 of file buf_comp.h.
Referenced by botan_hash_update(), botan_mac_update(), Botan::McEliece_KEM_Decryptor::decrypt(), Botan::TLS::Session::decrypt(), Botan::McEliece_KEM_Encryptor::encrypt(), Botan::TLS::Session::encrypt(), Botan::mgf1_mask(), Botan::pbkdf2(), and Botan::TLS::write_record().
{ add_data(in, length); }
| void Botan::Buffered_Computation::update | ( | const secure_vector< byte > & | in | ) | [inline, inherited] |
Add new input to process.
| in | the input to process as a secure_vector |
Definition at line 40 of file buf_comp.h.
{
add_data(&in[0], in.size());
}
| void Botan::Buffered_Computation::update | ( | const std::vector< byte > & | in | ) | [inline, inherited] |
Add new input to process.
| in | the input to process as a std::vector |
Definition at line 49 of file buf_comp.h.
{
add_data(&in[0], in.size());
}
| void Botan::Buffered_Computation::update | ( | const std::string & | str | ) | [inline, inherited] |
Add new input to process.
| str | the input to process as a std::string. Will be interpreted as a byte array based on the strings encoding. |
Definition at line 73 of file buf_comp.h.
{
add_data(reinterpret_cast<const byte*>(str.data()), str.size());
}
| void Botan::Buffered_Computation::update | ( | byte | in | ) | [inline, inherited] |
Process a single byte.
| in | the byte to process |
Definition at line 82 of file buf_comp.h.
{ add_data(&in, 1); }
| void Botan::Buffered_Computation::update_be | ( | const T | in | ) | [inline, inherited] |
Add an integer in big-endian order
| in | the value |
Definition at line 58 of file buf_comp.h.
References Botan::get_byte().
Referenced by Botan::mgf1_mask(), and Botan::pbkdf2().
| bool Botan::SymmetricAlgorithm::valid_keylength | ( | size_t | length | ) | const [inline, inherited] |
Check whether a given key length is valid for this algorithm.
| length | the key length to be checked. |
Definition at line 54 of file sym_algo.h.
Referenced by Botan::aont_package(), and Botan::aont_unpackage().
{
return key_spec().valid_keylength(length);
}
| bool Botan::MessageAuthenticationCode::verify_mac | ( | const byte | in[], |
| size_t | length | ||
| ) | [virtual, inherited] |
Verify a MAC.
| in | the MAC to verify as a byte array |
| length | the length of param in |
Definition at line 16 of file mac.cpp.
References Botan::same_mem().
1.7.6.1