#pragma once namespace Aurora::Crypto::ECC { class PrivateECCImpl : public IECCPrivate { public: PrivateECCImpl(EECCCurve type, ecc_key &key); ~PrivateECCImpl(); bool Sign(const Memory::MemoryViewRead &plainText, EHashType method, AuList &out) override; bool Sign(const Memory::MemoryViewRead &hash, AuList &out) override; bool ECDH(const AuSPtr &partnerPublic, AuList &sharedKey) override; bool AsPublicECC(AuList &out) override; bool AsPrivateECC(AuList &out) override; EECCCurve GetType() override; private: ecc_key _key; EECCCurve _type; }; }