Ethereum  PoC-8
The C++ Implementation of Ethereum
CryptoPP.h
Go to the documentation of this file.
1 /*
2  This file is part of cpp-ethereum.
3 
4  cpp-ethereum is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  cpp-ethereum is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with cpp-ethereum. If not, see <http://www.gnu.org/licenses/>.
16  */
24 #pragma once
25 
26 #include "Common.h"
27 
28 namespace dev
29 {
30 namespace crypto
31 {
33 static const unsigned c_eciesOverhead = 113;
34 
40 {
41 public:
42  static Secp256k1PP* get();
43 
45  void encrypt(Public const& _k, bytes& io_cipher);
46 
48  void decrypt(Secret const& _k, bytes& io_text);
49 
51  void encryptECIES(Public const& _k, bytes& io_cipher);
52 
54  void encryptECIES(Public const& _k, bytesConstRef _sharedMacData, bytes& io_cipher);
55 
57  bool decryptECIES(Secret const& _k, bytes& io_text);
58 
60  bool decryptECIES(Secret const& _k, bytesConstRef _sharedMacData, bytes& io_text);
61 
62 private:
63  Secp256k1PP() = default;
64 };
65 
66 }
67 }
68 
Definition: Address.cpp:20
void encrypt(Public const &_k, bytes &io_cipher)
Encrypts text (replace input). (ECIES w/XOR-SHA1)
Definition: CryptoPP.cpp:177
bool decryptECIES(Secret const &_k, bytes &io_text)
Decrypts text (replace input). (ECIES w/AES128-CTR-SHA256)
Definition: CryptoPP.cpp:122
std::vector< byte > bytes
Definition: Common.h:72
void encryptECIES(Public const &_k, bytes &io_cipher)
Encrypts text (replace input). (ECIES w/AES128-CTR-SHA256)
Definition: CryptoPP.cpp:80
void decrypt(Secret const &_k, bytes &io_text)
Decrypts text (replace input). (ECIES w/XOR-SHA1)
Definition: CryptoPP.cpp:208