19 virtual bool generateKeyPair(::std::string& privateKey, ::std::string& publicKey) = 0;
22 constructPublicKey(::std::string
const& modulus, ::std::string
const& exponent, ::std::string& keyOut) = 0;
24 virtual ::std::string encryptData(
25 ::std::string
const& publicKey,
26 ::std::string
const& data,
27 ::Crypto::Asymmetric::Padding paddingType,
28 ::Crypto::Asymmetric::PubKeyFormat keyFormat,
32 virtual ::std::string decryptData(
33 ::std::string
const& privateKey,
34 ::std::string
const& data,
35 ::Crypto::Asymmetric::Padding paddingType
38 virtual ::std::string signData(
39 ::std::string
const& privateKey,
40 ::std::string
const& data,
41 ::Crypto::Hash::HashType hash,
42 ::Crypto::Asymmetric::PrivateKeySigningFormat format
45 virtual bool verifyData(
46 ::std::string
const& publicKey,
47 ::std::string
const& signature,
48 ::std::string
const& data,
49 ::Crypto::Hash::HashType hash
53 computeSharedSecret(::std::string
const& myPrivateKey, ::std::string
const& peerPublicKey) = 0;