#include #include #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 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 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 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 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 deserializedData = drp::util::serialize::deserializeVector(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; }