Intial shitty commit
This commit is contained in:
68
README.md
Normal file
68
README.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# OpenSSL Hybrid Encryption Test
|
||||
|
||||
Test C++17 project for hybrid file encryption with OpenSSL:
|
||||
|
||||
- RSA key pair generation
|
||||
- AES file encryption
|
||||
- RSA encryption of the temporary AES key
|
||||
- streaming file encryption/decryption
|
||||
|
||||
The application creates a small test file, encrypts it, decrypts it back, and writes the restored result.
|
||||
|
||||
## Requirements
|
||||
|
||||
- CMake 3.24 or newer
|
||||
- C++17 compiler
|
||||
- On Windows: Visual Studio Build Tools or Visual Studio with the Desktop development with C++ workload
|
||||
|
||||
On Windows, `CMakeLists.txt` downloads a pre-built OpenSSL package with `FetchContent` and copies the required DLLs next to the executable.
|
||||
|
||||
## Build
|
||||
|
||||
From the project directory:
|
||||
|
||||
```powershell
|
||||
cmake -S . -B build
|
||||
cmake --build build --config Release
|
||||
```
|
||||
|
||||
If you changed CMake options or headers and want a clean rebuild:
|
||||
|
||||
```powershell
|
||||
cmake --build build --config Release --clean-first
|
||||
```
|
||||
|
||||
## Run
|
||||
|
||||
With Visual Studio generators, the executable is usually in `build\Release`:
|
||||
|
||||
```powershell
|
||||
cd build\Release
|
||||
.\crypto_app.exe
|
||||
```
|
||||
|
||||
The program generates these files in the current working directory:
|
||||
|
||||
- `private.pem`
|
||||
- `public.pem`
|
||||
- `important_data.txt`
|
||||
- `important_data.enc`
|
||||
- `restored_data.txt`
|
||||
|
||||
Expected console output:
|
||||
|
||||
```text
|
||||
Generating RSA-4096 key pair...
|
||||
Success! Saved 'private.pem' and 'public.pem'.
|
||||
Encrypting file with public key...
|
||||
Decrypting file with private key...
|
||||
Done! Verify 'restored_data.txt' matching original inputs.
|
||||
```
|
||||
|
||||
No output means the files match.
|
||||
|
||||
## Notes
|
||||
|
||||
If CMake reports `No CMAKE_CXX_COMPILER could be found`, install Visual Studio Build Tools and enable the C++ desktop workload.
|
||||
|
||||
If the executable cannot find OpenSSL DLLs, rebuild the project so the post-build copy step can place the DLLs next to `crypto_app.exe`.
|
||||
Reference in New Issue
Block a user