Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/imthecurse/hiddeninplainsight

🔐ㅤSimple C++ Image Steganography CLI tool to encrypt and decrypt messages hidden using RGB channel manipulation.
https://github.com/imthecurse/hiddeninplainsight

hiding-in-png hiding-information image-steganography steganography steganography-algorithms steganography-application steganography-based-on-metadata steganography-encoding steganography-tool

Last synced: 3 months ago
JSON representation

🔐ㅤSimple C++ Image Steganography CLI tool to encrypt and decrypt messages hidden using RGB channel manipulation.

Awesome Lists containing this project

README

        

# HiddenInPlainSight

A multi-threaded command line interface based program for Image Steganography.

it uses an algorithm that I've developed in which there are 3 steps to encoding an image.

:mag_right: find closest ascii character in choosen encoding channel, and insert value to encode inside the encoding channel.

:pushpin: Mark inside marking channel.

:bookmark_tabs: create a "10 char buffer", and rank each character in pixel column.

### Limitations
As we store ascii values inside the encoding channel, there is a need for a variety of color in the image.

Could encode upto:

10 characters per column = cc

Num of Characters = 10 * lines = n

Avg. of words:
$` cc * n / 4.7 `$

### Installation
1. Install Open-CV :

follow instruction at:
https://docs.opencv.org/4.x/d7/d9f/tutorial_linux_install.html
and run the following command in the CLI:
```
sudo apt-install libopencv-dev
```
2. clone to chosen folder and compile the program:
```
git clone https://github.com/ImTheCurse/HiddenInPlainSight.git
cd HiddenInPlainSight
cmake .
make
```
### Running the Program
1. Place .png file to encode inside ```images``` folder.
2. Place text file(or any other file that you can read from) inside ```textFile``` folder.

```
usage:
-h : shows this screen.
-i : relative PNG image path(with name and extension).
-f : relative file path to encode(with name and extension).
-m : command line message to encode.
-e : encode image(write after all the flags).
-d : decode image(write after all the flags).
```

encoding image example:
```
./HIPS -i images/lena.png -f test.txt -e
```
```
./HIPS -i images/newroad.png -m "this is amazing!" -e
```
decoding image example:
```
./HIPS -i enc_file.png -d
```
Encoded image and Decoded file will be saved to results directory.

## Disclaimer

This program is a proof-of-concept, and should not be intended for transfring important information, and I won't be liable for any damagaes caused by this program.

## Copyright

This software is licensed under MIT. Copyright © 2022 Rani Giro