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 // vIndex: 0
18 virtual ~ISystemInterface() = default;
19
20 // vIndex: 1
21 virtual bool generateKeyPair(::std::string&, ::std::string&) = 0;
22
23 // vIndex: 2
24 virtual bool constructPublicKey(::std::string const&, ::std::string const&, ::std::string&) = 0;
25
26 // vIndex: 3
27 virtual ::std::string encryptData(
28 ::std::string const&,
29 ::std::string const&,
30 ::Crypto::Asymmetric::Padding,
31 ::Crypto::Asymmetric::PubKeyFormat,
32 bool
33 ) = 0;
34
35 // vIndex: 4
36 virtual ::std::string decryptData(::std::string const&, ::std::string const&, ::Crypto::Asymmetric::Padding) = 0;
37
38 // vIndex: 5
39 virtual ::std::string signData(
40 ::std::string const&,
41 ::std::string const&,
42 ::Crypto::Hash::HashType,
43 ::Crypto::Asymmetric::PrivateKeySigningFormat
44 ) = 0;
45
46 // vIndex: 6
47 virtual bool
48 verifyData(::std::string const&, ::std::string const&, ::std::string const&, ::Crypto::Hash::HashType) = 0;
49
50 // vIndex: 7
51 virtual ::std::string computeSharedSecret(::std::string const&, ::std::string const&) = 0;
52 // NOLINTEND
53
54public:
55 // virtual function thunks
56 // NOLINTBEGIN
57
58 // NOLINTEND
59};
60
61} // namespace Crypto::Asymmetric
Definition ISystemInterface.h:13