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

Uploaded Source

File details

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

File metadata

  • Download URL: judyb-0.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 e86ac2191b0c32ad6002e71f65457f2fffa9d5f7d45eeb0039f57ef3a6344be1
MD5 fad5d73c3e039ed917938ad7cd8c1f69
BLAKE2b-256 1b8e053d9c8c582c5cbecf514214c2632318f816b086ab618edd52c64c081085

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