Skip to main content

A pure Python judyb module.

Project description

# judyb

[![builds.sr.ht status](https://builds.sr.ht/~cedric/judyb.svg)](https://builds.sr.ht/~cedric/judyb)

[judyb](https://sr.ht/~cedric/judyb), a pure Python judyb module.

judyb is the art and science of writing hidden messages in such a way that no one, apart from the sender and intended recipient, suspects the existence of the message, a form of security through obscurity. Consequently, functions provided by judyb only hide messages, without encryption. judybgraphy is often used with cryptography.

For reporting issues, visit the tracker here: https://todo.sr.ht/~cedric/judyb

## Installation

`bash $ poetry install judyb `

You will be able to use judyb in your Python programs.

If you only want to install judyb as a command line tool:

`bash $ pipx install judyb `

pipx installs scripts (system wide available) provided by Python packages into separate virtualenvs to shield them from your system and each other.

## Usage

A [tutorial](https://judyb.readthedocs.io) is available.

## Use judyb as a library in your Python program

If you want to use judyb in your Python program you just have to import the appropriate judybgraphy technique. For example:

`python >>> from judyb import lsb >>> secret = lsb.hide("./tests/sample-files/Lenna.png", "Hello World") >>> secret.save("./Lenna-secret.png") >>> >>> clear_message = lsb.reveal("./Lenna-secret.png") `

## Use judyb as a command line tool

### Hide and reveal a message

`bash $ judyb-lsb hide -i ./tests/sample-files/Lenna.png -m "Secret Message" -o Lena1.png $ judyb-lsb reveal -i Lena1.png Secret Message `

### Hide the message with the Sieve of Eratosthenes

`bash $ judyb-lsb-set hide -i ./tests/sample-files/Lenna.png -m 'Secret Message' --generator eratosthenes -o Lena2.png `

The message will be scattered in the picture, following a set described by the Sieve of Eratosthenes. Other sets are available. You can also use your own generators.

This will make a steganalysis more complicated.

## Running the tests

`bash $ python -m unittest discover -v `

Running the static type checker:

`bash $ mypy judyb `

## Contributions

Contributions are welcome. If you want to contribute to judyb I highly recommend you to install it in a Python virtual environment with poetry.

## License

This software is licensed under [GNU General Public License version 3](https://www.gnu.org/licenses/gpl-3.0.html)

Copyright (C) 2010-2022 [Cédric Bonhomme](https://www.cedricbonhomme.org)

For more information, [the list of authors and contributors](CONTRIBUTORS.md) is available.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

judyb-0.0.3.tar.gz (12.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page