/*** 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 Memory::MemoryViewRead &plainText, const Memory::MemoryViewRead &signature, EHashType method, EPaddingType type) = 0; virtual bool Encrypt(const Memory::MemoryViewRead &plainText, EPaddingType type, Memory::ByteBuffer &out) = 0; virtual bool ToKey(ERSAKeyType type, Memory::ByteBuffer &out) = 0; }; }