LeviLamina
Loading...
Searching...
No Matches
ISystemInterface.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/crypto/Padding.h"
7#include "mc/deps/crypto/PrivateKeySigningFormat.h"
8#include "mc/deps/crypto/PubKeyFormat.h"
9#include "mc/deps/crypto/hash/HashType.h"
10
11namespace Crypto::Asymmetric {
12
14public:
15 // virtual functions
16 // NOLINTBEGIN
17 virtual ~ISystemInterface() = default;
18
19 virtual bool generateKeyPair(::std::string&, ::std::string&) = 0;
20
21 virtual bool constructPublicKey(::std::string const&, ::std::string const&, ::std::string&) = 0;
22
23 virtual ::std::string encryptData(
24 ::std::string const&,
25 ::std::string const&,
26 ::Crypto::Asymmetric::Padding,
27 ::Crypto::Asymmetric::PubKeyFormat,
28 bool
29 ) = 0;
30
31 virtual ::std::string decryptData(::std::string const&, ::std::string const&, ::Crypto::Asymmetric::Padding) = 0;
32
33 virtual ::std::string signData(
34 ::std::string const&,
35 ::std::string const&,
36 ::Crypto::Hash::HashType,
37 ::Crypto::Asymmetric::PrivateKeySigningFormat
38 ) = 0;
39
40 virtual bool
41 verifyData(::std::string const&, ::std::string const&, ::std::string const&, ::Crypto::Hash::HashType) = 0;
42
43 virtual ::std::string computeSharedSecret(::std::string const&, ::std::string const&) = 0;
44 // NOLINTEND
45
46public:
47 // virtual function thunks
48 // NOLINTBEGIN
49
50 // NOLINTEND
51};
52
53} // namespace Crypto::Asymmetric
Definition ISystemInterface.h:13