/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: IECCPublic.hpp Date: 2021-9-18 Author: Reece ***/ #pragma once namespace Aurora::Crypto::ECC { struct IECCPublic { virtual bool Verify(const Memory::MemoryViewRead &hash, const Memory::MemoryViewRead &signature) = 0; virtual bool Verify(const Memory::MemoryViewRead &plaintext, const Memory::MemoryViewRead &signature, Aurora::Hashing::EHashType method) = 0; virtual bool AsPublicECC(Memory::ByteBuffer &out) = 0; virtual EECCCurve GetType() = 0; }; }