6 class STORMBYTE_CRYPTO_PUBLIC
RSA final:
public Generic {
8 inline RSA(
const std::string& public_key, std::optional<std::string> private_key = std::nullopt):
9 Generic(Type::RSA, public_key, private_key) {}
11 RSA(
const RSA& other) =
default;
12 RSA(
RSA&& other)
noexcept =
default;
13 ~RSA()
noexcept =
default;
14 RSA& operator=(
const RSA& other) =
default;
15 RSA& operator=(
RSA&& other)
noexcept =
default;
17 PointerType Clone()
const noexcept override {
return std::make_shared<RSA>(*
this); }
18 PointerType Move()
noexcept override {
return std::make_shared<RSA>(std::move(*
this)); }
20 static PointerType Generate(
unsigned short key_size = 2048)
noexcept;