LeviLamina
Loading...
Searching...
No Matches
Asymmetric.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/crypto/asymmetric/ISystemInterface.h"
7#include "mc/deps/crypto/asymmetric/Padding.h"
8#include "mc/deps/crypto/asymmetric/PrivateKeySigningFormat.h"
9#include "mc/deps/crypto/asymmetric/PubKeyFormat.h"
10#include "mc/deps/crypto/hash/HashType.h"
11
12namespace Crypto::Asymmetric {
13
15public:
16 // member variables
17 // NOLINTBEGIN
20 // NOLINTEND
21
22public:
23 // prevent constructor by default
24 Asymmetric& operator=(Asymmetric const&);
25 Asymmetric(Asymmetric const&);
26 Asymmetric();
27
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 // vIndex: 0
32 virtual ~Asymmetric() /*override*/ = default;
33
34 // vIndex: 1
35 virtual bool generateKeyPair(::std::string& privateKey, ::std::string& publicKey) /*override*/;
36
37 // vIndex: 2
38 virtual ::std::string encryptData(
39 ::std::string const& publicKey,
40 ::std::string const& data,
41 ::Crypto::Asymmetric::Padding paddingType,
42 ::Crypto::Asymmetric::PubKeyFormat keyFormat
43 ) /*override*/;
44
45 // vIndex: 3
46 virtual ::std::string decryptData(
47 ::std::string const& privateKey,
48 ::std::string const& data,
49 ::Crypto::Asymmetric::Padding paddingType
50 ) /*override*/;
51
52 // vIndex: 4
53 virtual ::std::string signData(
54 ::std::string const& privateKey,
55 ::std::string const& data,
56 ::Crypto::Hash::HashType hash,
57 ::Crypto::Asymmetric::PrivateKeySigningFormat format
58 ) /*override*/;
59
60 // vIndex: 5
61 virtual bool verifyData(
62 ::std::string const& publicKey,
63 ::std::string const& signature,
64 ::std::string const& data,
65 ::Crypto::Hash::HashType hash
66 ) /*override*/;
67
68 // vIndex: 6
69 virtual ::std::string
70 computeSharedSecret(::std::string const& myPrivateKey, ::std::string const& peerPublicKey) /*override*/;
71 // NOLINTEND
72
73public:
74 // destructor thunk
75 // NOLINTBEGIN
76
77 // NOLINTEND
78
79public:
80 // virtual function thunks
81 // NOLINTBEGIN
82 MCFOLD bool $generateKeyPair(::std::string& privateKey, ::std::string& publicKey);
83
84 MCAPI ::std::string $encryptData(
85 ::std::string const& publicKey,
86 ::std::string const& data,
87 ::Crypto::Asymmetric::Padding paddingType,
88 ::Crypto::Asymmetric::PubKeyFormat keyFormat
89 );
90
91 MCAPI ::std::string
92 $decryptData(::std::string const& privateKey, ::std::string const& data, ::Crypto::Asymmetric::Padding paddingType);
93
94 MCAPI ::std::string $signData(
95 ::std::string const& privateKey,
96 ::std::string const& data,
97 ::Crypto::Hash::HashType hash,
98 ::Crypto::Asymmetric::PrivateKeySigningFormat format
99 );
100
101 MCAPI bool $verifyData(
102 ::std::string const& publicKey,
103 ::std::string const& signature,
104 ::std::string const& data,
105 ::Crypto::Hash::HashType hash
106 );
107
108 MCAPI ::std::string $computeSharedSecret(::std::string const& myPrivateKey, ::std::string const& peerPublicKey);
109 // NOLINTEND
110
111public:
112 // vftables
113 // NOLINTBEGIN
114 MCAPI static void** $vftable();
115 // NOLINTEND
116};
117
118} // namespace Crypto::Asymmetric
Definition Asymmetric.h:14
Definition ISystemInterface.h:13
Definition Alias.h:14