StegoCore is a high-performance steganography library for .NET 8. Hide secret data inside images using optimized algorithms with significant performance improvements.
More info about this project on https://pawelskaruz.pl/category/daj-sie-poznac-2017/
StegoCore is available on nuget and MyGet (dev build).
Install-Package StegoCore -Version 1.0.0dotnet add package StegoCore --version 1.0.0🚀 Major Performance Improvements
- 4.6x faster LSB algorithm performance
- 12.3x less memory allocation
- Updated to .NET 8 with enhanced nullable reference types
- ImageSharp 3.1.11 for the latest image processing optimizations
- Comprehensive benchmarking infrastructure with BenchmarkDotNet
StegoCore is using ImaheSharp as image processing library.
To hide some secret data inside an image do following:
byte[] secretData = System.IO.File.ReadAllBytes("secret.data");
using(var stego = new Stego("someimage.jpg"))
{
stego.SetSecretData(fileBytes);
Image<Rgba32> secretImage = stego.Embed(AlgorithmEnum.Lsb);
}Pretty simple, right? :) Now you can save the image with secret. But how to extract secret from image? It's even simpler.
using(var stego = new Stego("secretImage.jpg"))
{
byte[] secret = stego.Decode(AlgorithmEnum.Lsb);
}Right now there are 2 steganography algorithms implemented:
- LSB (least significant bit)
- Zhao & Koch (algorithm based on DCT)
These algorithms can be parameterized. You can pass a key parameter, which will be used as random seed to determine where to hide secret data:
stego.SetSettings(new StegoCore.Model.Settings
{
Key = "aaa"
});