This project demonstrates how to use the OpenSSL EVP API (openssl/evp.h
) in C++ to implement various cryptographic techniques. It serves as an introductory guide to the powerful features provided by OpenSSL's EVP API, covering the following areas:
- Hashing: Securely hash data using various algorithms.
- Key Generation: Create cryptographic keys for signing, encryption, and decryption tasks.
- Signing: Use private keys to sign data for authentication purposes.
- Verifying: Verify signatures to ensure data integrity and authenticity.
- Comprehensive examples of hashing, signing, and verifying.
- Demonstrates how to handle cryptographic key generation.
- A clean and structured approach to using the EVP API in C++.
Ensure the following dependencies are installed:
sudo apt-get install openssl
sudo pacman -S openssl
- GCC or Clang compiler
make
utility
-
Clean Previous Builds Remove any existing compiled files:
make clean
-
Compile the Program Build the main executable:
make main
-
Run the Program Execute the compiled program using:
./object/main
Alternatively, you can use the following command:
make exec
Demonstrate cryptographic techniques like:
- Hashing a message
- Generating and saving cryptographic keys
- Signing a message with a private key
- Verifying the signature with a public key
Refer to the source code for detailed examples.
This project is licensed under both the OpenSSL License and the Apache License 2.0. For more details, refer to the LICENSE file or the links below:
This project utilizes the OpenSSL library, an industry-standard tool for secure communication and cryptographic operations.