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 details)

Uploaded Source

File details

Details for the file judyb-0.0.3.tar.gz.

File metadata

  • Download URL: judyb-0.0.3.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.10

File hashes

Hashes for judyb-0.0.3.tar.gz
Algorithm Hash digest
SHA256 27a22c7b53cbbc96131a53b4472fc0ec433fa97d08fb290d1b765075b58f83b6
MD5 01c9db45b8e284e2344835a4a89d2986
BLAKE2b-256 b66729e0d958315e2efc414fe2ff1ef3e23eda5dd80f8056fbc3c22e39fcd352

See more details on using hashes here.

Supported by

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