Welcome to Malcolm's csha
A new way of steganography
Get started
Build the C++ command-line tool with CMake and create your first encoded image.
Try the walkthrough →Inside csha
Explore image encoding, cryptographic helpers, and Minecraft map generation.
Explore the architecture →CLI reference
Encode text and ZIP files, decode PNGs, and generate maps from seeds.
Browse commands →Get started in a few commands.
One C++ project. One CMake build. One command-line tool.
Install the dependencies, build csha, and explore the available commands.
# From the repository root
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel
ctest --test-dir build --output-on-failure
./build/csha --helpSend bytes. Save images.
Exchange live encrypted data between devices, or package a Docker image into a lossless PNG and restore it with its key.
Build with the library.
Explore the C++ interfaces, understand the formats and keys, and find practical answers when a command fails.
Learn more about csha.
Turn data into images and explore the connection between image hashes and Minecraft seeds.
Join this open-source project.
Clone the repository, try the examples, or submit a patch. The source, tests, and documentation live together.