70 std::string algo_name()
const override;
74 OID object_identifier()
const override;
76 size_t key_length()
const override;
78 size_t estimated_strength()
const override;
80 std::vector<uint8_t> raw_public_key_bits()
const override;
82 std::vector<uint8_t> public_key_bits()
const override;
94 std::unique_ptr<PK_Ops::Verification> create_verification_op(std::string_view params,
95 std::string_view provider)
const override;
97 std::unique_ptr<PK_Ops::Verification> create_x509_verification_op(
const AlgorithmIdentifier& signature_algorithm,
98 std::string_view provider)
const override;
103 friend class Dilithium_Verification_Operation;
104 friend class Dilithium_Signature_Operation;
106 std::shared_ptr<Dilithium_PublicKeyInternal>
m_public;
115 std::unique_ptr<Public_Key> public_key()
const override;
142 std::string_view params,
143 std::string_view provider)
const override;
146 friend class Dilithium_Signature_Operation;
148 std::shared_ptr<Dilithium_PrivateKeyInternal> m_private;