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.2.tar.gz (12.1 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: judyb-0.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 c5ffe9cc17cdc7d7ad4d989645b63ecc0b52c2bd70c71cd0931a83ff65ececce
MD5 97b61cad497731e0f6acdf4fbc15d571
BLAKE2b-256 2bdb517ed5e8f724fe08c201f389685d9efec364b9ab5b18eeeec0f27b8d8c26

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