Botan 3.8.1
Crypto and TLS for C&
sym_algo.cpp
Go to the documentation of this file.
1/*
2* (C) 2018 Jack Lloyd
3*
4* Botan is released under the Simplified BSD License (see license.txt)
5*/
6
7#include <botan/sym_algo.h>
8
9#include <botan/exceptn.h>
10#include <botan/symkey.h>
11
12namespace Botan {
13
15 set_key(std::span{key.begin(), key.length()});
16}
17
18void SymmetricAlgorithm::throw_key_not_set_error() const {
19 throw Key_Not_Set(name());
20}
21
22void SymmetricAlgorithm::set_key(std::span<const uint8_t> key) {
23 if(!valid_keylength(key.size())) {
24 throw Invalid_Key_Length(name(), key.size());
25 }
26 key_schedule(key);
27}
28
29} // namespace Botan
const uint8_t * begin() const
Definition symkey.h:41
size_t length() const
Definition symkey.h:27
bool valid_keylength(size_t length) const
Definition sym_algo.h:109
virtual std::string name() const =0
void set_key(const OctetString &key)
Definition sym_algo.cpp:14