/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: IRSAPublic.hpp Date: 2021-7-1 Author: Reece ***/ #pragma once namespace Aurora::Crypto::RSA { // Rememeber: there is no such thing as public decryption class IRSAPublic { public: virtual bool Verify(const void *buffer, AuUInt length, const void *sigBuffer, AuUInt sigLength, EHashType method, EPaddingType type) = 0; virtual bool Verify(const AuList &buffer, const AuList &sig, EHashType method, EPaddingType type) = 0; virtual bool Encrypt(const void *buffer, AuUInt length, EPaddingType type, AuList &out) = 0; virtual bool Encrypt(const AuList &in, EPaddingType type, AuList &out) = 0; virtual bool ToKey(ERSAKeyType type, AuList &out) = 0; }; }