ProofSystem/include/ProofSystem/ECDSAPublicKey.hpp¶
ECDSA public key base class. More...
Classes¶
| Name | |
|---|---|
| class | ECDSAPublicKey Base class to organize public key values of ECDSA. |
Detailed Description¶
ECDSA public key base class.
Date: 2023-12-26 Henrique A. Klein ([email protected])
Source code¶
#include <string>
#include <vector>
#include "ProofSystem/util.hpp"
#ifndef _ECDSA_PUBLIC_KEY_HPP_
#define _ECDSA_PUBLIC_KEY_HPP_
class ECDSAPublicKey
{
public:
ECDSAPublicKey( std::vector<std::uint8_t> X_data, std::vector<std::uint8_t> Y_data ) :
X( util::to_string( X_data ) ), //
Y( util::to_string( Y_data ) ), //
X_vect( std::move( X_data ) ), //
Y_vect( std::move( Y_data ) )
{
}
virtual ~ECDSAPublicKey()
{
}
const std::string X;
const std::string Y;
const std::vector<std::uint8_t> X_vect;
const std::vector<std::uint8_t> Y_vect;
operator std::string &()
{
if ( pubkey_used_value == "" )
{
pubkey_used_value = CalcPubkeyUsedValue();
}
return pubkey_used_value;
}
[[nodiscard]] std::string GetEntireKey() const
{
return ( X + Y );
}
private:
std::string pubkey_used_value;
[[nodiscard]] virtual std::string CalcPubkeyUsedValue() const = 0;
};
#endif
Updated on 2026-03-04 at 13:10:44 -0800