61 std::string algo_name()
const override;
65 OID object_identifier()
const override;
67 size_t key_length()
const override;
69 size_t estimated_strength()
const override;
71 std::vector<uint8_t> raw_public_key_bits()
const override;
73 std::vector<uint8_t> public_key_bits()
const override;
85 std::unique_ptr<PK_Ops::Verification> create_verification_op(std::string_view params,
86 std::string_view provider)
const override;
88 std::unique_ptr<PK_Ops::Verification> create_x509_verification_op(
const AlgorithmIdentifier& signature_algorithm,
89 std::string_view provider)
const override;
94 friend class Dilithium_Verification_Operation;
95 friend class Dilithium_Signature_Operation;
97 std::shared_ptr<Dilithium_PublicKeyInternal>
m_public;
106 std::unique_ptr<Public_Key> public_key()
const override;
133 std::string_view params,
134 std::string_view provider)
const override;
137 friend class Dilithium_Signature_Operation;
139 std::shared_ptr<Dilithium_PrivateKeyInternal> m_private;