119 lines
No EOL
3.1 KiB
C++
119 lines
No EOL
3.1 KiB
C++
#include <iostream>
|
|
#include <vector>
|
|
|
|
#include "Peer.hpp"
|
|
#include "utils/crypto/aes/AesKey.hpp"
|
|
#include "utils/crypto/rsa/RsaKeyPair.hpp"
|
|
#include "utils/serialize/basics.hpp"
|
|
|
|
|
|
int mainAes() {
|
|
const auto aesKey = drp::util::crypto::AesKey256();
|
|
|
|
// plain
|
|
std::string text = "hello world!";
|
|
const std::vector<std::uint8_t> plainData(text.begin(), text.end());
|
|
std::cout << "plain: ";
|
|
for (const auto& byte : plainData)
|
|
std::cout << std::to_string(byte) << "-";
|
|
std::cout << std::endl;
|
|
|
|
// encrypted
|
|
const auto encryptedData = aesKey.encrypt(plainData);
|
|
std::cout << "encrypted: ";
|
|
for (const auto& byte : encryptedData)
|
|
std::cout << std::to_string(byte) << "-";
|
|
std::cout << std::endl;
|
|
|
|
// decrypted
|
|
const auto decryptedData = aesKey.decrypt(encryptedData);
|
|
std::cout << "decrypted: ";
|
|
for (const auto& byte : decryptedData)
|
|
std::cout << std::to_string(byte) << "-";
|
|
std::cout << std::endl;
|
|
|
|
return 0;
|
|
}
|
|
|
|
|
|
int mainRsa() {
|
|
const auto rsaKey = drp::util::crypto::RsaKeyPair(2048);
|
|
const auto rsaPrivateKey = rsaKey.getPrivateKey();
|
|
const auto rsaPublicKey = rsaKey.getPublicKey();
|
|
|
|
// plain
|
|
std::string text = "hello world!";
|
|
const std::vector<std::uint8_t> plainData(text.begin(), text.end());
|
|
std::cout << "plain: ";
|
|
for (const auto& byte : plainData)
|
|
std::cout << std::to_string(byte) << "-";
|
|
std::cout << std::endl;
|
|
|
|
// encrypted
|
|
const auto encryptedData = rsaPublicKey.encrypt(plainData);
|
|
std::cout << "encrypted: ";
|
|
for (const auto& byte : encryptedData)
|
|
std::cout << std::to_string(byte) << "-";
|
|
std::cout << std::endl;
|
|
|
|
// decrypted
|
|
const auto decryptedData = rsaPrivateKey.decrypt(encryptedData);
|
|
std::cout << "decrypted: ";
|
|
for (const auto& byte : decryptedData)
|
|
std::cout << std::to_string(byte) << "-";
|
|
std::cout << std::endl;
|
|
|
|
return 0;
|
|
}
|
|
|
|
|
|
int mainSerialize() {
|
|
std::string text = "hello world!";
|
|
const std::vector<char> plainData(text.begin(), text.end());
|
|
|
|
std::cout << "plain: ";
|
|
for (const auto& byte : plainData)
|
|
std::cout << std::to_string(byte) << "-";
|
|
std::cout << std::endl;
|
|
|
|
std::vector<std::uint8_t> serializedData = drp::util::serialize::serializeVector(plainData);
|
|
|
|
std::cout << "serialized: ";
|
|
for (const auto& byte : serializedData)
|
|
std::cout << std::to_string(byte) << "-";
|
|
std::cout << std::endl;
|
|
|
|
std::vector<char> deserializedData = drp::util::serialize::deserializeVector<char>(serializedData);
|
|
|
|
std::cout << "deserialized: ";
|
|
for (const auto& byte : deserializedData)
|
|
std::cout << std::to_string(byte) << "-";
|
|
std::cout << std::endl;
|
|
|
|
return 0;
|
|
}
|
|
|
|
|
|
int mainRsaSerialize() {
|
|
Peer peer;
|
|
auto serializedPeer = peer.serialize();
|
|
|
|
std::cout << "serialized: ";
|
|
for (const auto& byte : serializedPeer)
|
|
std::cout << std::to_string(byte) << "-";
|
|
std::cout << std::endl;
|
|
|
|
const auto deserializedPeer = Peer::deserialize(serializedPeer);
|
|
|
|
return 0;
|
|
}
|
|
|
|
|
|
int main_test() {
|
|
// mainAes();
|
|
// mainRsa();
|
|
// mainSerialize();
|
|
// mainRsaSerialize();
|
|
|
|
return 0;
|
|
} |