AuroraRuntime/Source/Crypto/ECC/PrivateECCImpl.hpp

30 lines
813 B
C++

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