41 std::string
algo_name()
const override {
return "RSA"; }
47 std::vector<uint8_t> public_key_bits()
const override;
52 const BigInt& get_n()
const;
57 const BigInt& get_e()
const;
59 size_t key_length()
const override;
60 size_t estimated_strength()
const override;
62 const BigInt& get_int_field(std::string_view field)
const override;
69 std::shared_ptr<const RSA_Public_Data> public_data()
const;
72 std::string_view params,
73 std::string_view provider)
const override;
75 std::unique_ptr<PK_Ops::KEM_Encryption> create_kem_encryption_op(std::string_view params,
76 std::string_view provider)
const override;
78 std::unique_ptr<PK_Ops::Verification> create_verification_op(std::string_view params,
79 std::string_view provider)
const override;
81 std::unique_ptr<PK_Ops::Verification> create_x509_verification_op(
const AlgorithmIdentifier& alg_id,
82 std::string_view provider)
const override;
89 std::shared_ptr<const RSA_Public_Data>
m_public;
123 const BigInt& d = BigInt::zero(),
124 const BigInt& n = BigInt::zero());
134 std::unique_ptr<Public_Key> public_key()
const override;
138 const BigInt& get_int_field(std::string_view field)
const override;
144 const BigInt& get_p()
const;
150 const BigInt& get_q()
const;
156 const BigInt& get_d()
const;
158 const BigInt& get_c()
const;
159 const BigInt& get_d1()
const;
160 const BigInt& get_d2()
const;
165 std::shared_ptr<const RSA_Private_Data> private_data()
const;
168 std::string_view params,
169 std::string_view provider)
const override;
172 std::string_view params,
173 std::string_view provider)
const override;
176 std::string_view params,
177 std::string_view provider)
const override;
182 std::shared_ptr<const RSA_Private_Data> m_private;