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