AuroraRuntime/Source/Crypto/ECC/PublicECCImpl.hpp

27 lines
688 B
C++

#pragma once
namespace Aurora::Crypto::ECC
{
struct PublicECCImpl : IECCPublic
{
PublicECCImpl(EECCCurve type, ecc_key &key);
~PublicECCImpl();
bool Verify(const Memory::MemoryViewRead &hash,
const Memory::MemoryViewRead &signature) override;
bool Verify(const Memory::MemoryViewRead &plaintext,
const Memory::MemoryViewRead &signature,
Aurora::Hashing::EHashType method) override;
bool AsPublicECC(Memory::ByteBuffer &out) override;
EECCCurve GetType() override;
const ecc_key &GetKey();
private:
ecc_key _key;
EECCCurve _type;
};
}