{ "info": { "author": "Vin Busquet", "author_email": "computationalcore@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Security" ], "description": "Cryptosteganography\n===================\n\nA python steganography module to store messages or files protected with\nAES-256 encryption inside an image.\n\nSteganography is the art of concealing information within different\ntypes of media objects such as images or audio files, in such a way that\nno one, apart from the sender and intended recipient, suspects the\nexistence of the message. By default steganography is a type of security\nthrough obscurity.\n\nAdditionally this module also enhance the security of the steganography through data encryption. The data concealed\nis encrypted using AES 256 encryption, a popular algorithm used in symmetric key cryptography.\n\nPrerequisites\n-------------\n\n`Python 3+ `_\n\n`pip3 `_\n\n(Most Linux systems comes with python 3 installed by default).\n\nDependencies Installation (Ubuntu)\n----------------------------------\n\n.. code:: bash\n\n $ sudo apt-get install python3-pip\n\nDependencies Installation (MacOS)\n---------------------------------\n\nTo install Python3 I recommend use Homebrew package manager\n\nThe script will explain what changes it will make and prompt you before\nthe installation begins.\n\n.. code:: bash\n\n $ ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"\n\nEdit your ~/.profile to include (if it is not already there)\n\n.. code:: bash\n\n export PATH=/usr/local/bin:/usr/local/sbin:$PATH\n\nTo install Python 3:\n\n.. code:: bash\n\n $ brew install python3\n\nInstallation\n------------\n\nTo install the package just run\n\n.. code:: bash\n\n $ pip3 install cryptosteganography\n\nUsage\n-----\n\nUse as a library in a python program\n''''''''''''''''''''''''''''''''''''\n\n**Store a message string inside an image**\n\n.. code:: python\n\n from cryptosteganography import CryptoSteganography\n\n crypto_steganography = CryptoSteganography('My secret password key')\n\n # Save the encrypted file inside the image\n crypto_steganography.hide('input_image_name.jpg', 'output_image_file.png', 'My secret message')\n\n secret = crypto_steganography.retrieve('output_image_file.png')\n\n print(secret)\n # My secret message\n\n**Store a binary file inside an image**\n\nNote: This only works if the concealed file size is smaller than the input image\n\n.. code:: python\n\n from cryptosteganography import CryptoSteganography\n\n message = None\n with open('sample.mp3', \"rb\") as f:\n message = f.read()\n\n crypto_steganography = CryptoSteganography('My secret password key')\n\n # Save the encrypted file inside the image\n crypto_steganography.hide('input_image_name.jpg', 'output_image_file.png', message)\n\n # Retrieve the file ( the previous crypto_steganography instance could be used but I instantiate a brand new object\n # with the same password key just to demonstrate that can it can be used to decrypt)\n crypto_steganography = CryptoSteganography('My secret password key')\n decrypted_bin = crypto_steganography.retrieve('output_image_file.png')\n\n # Save the data to a new file\n with open('decrypted_sample.mp3', 'wb') as f:\n f.write(secret_bin)\n\nUse as a python program\n'''''''''''''''''''''''\n\n**Check help at command line prompt to learn how to use it.**\n\n.. code:: bash\n\n $ cryptosteganography -h\n usage: cryptosteganography [-h] {save,retrieve} ...\n\n A python steganography script that save/retrieve a text/file (AES 256\n encrypted) inside an image.\n\n positional arguments:\n {save,retrieve} sub-command help\n save save help\n retrieve retrieve help\n\n optional arguments:\n -h, --help show this help message and exit\n\n**Save sub command help**\n\n.. code:: bash\n\n $ cryptosteganography save -h\n usage: cryptosteganography save [-h] -i INPUT_IMAGE_FILE\n (-m MESSAGE | -f MESSAGE_FILE) -o\n OUTPUT_IMAGE_FILE\n\n optional arguments:\n -h, --help show this help message and exit\n -i INPUT_IMAGE_FILE, --input INPUT_IMAGE_FILE\n Input image file.\n -m MESSAGE, --message MESSAGE\n Your secret message to hide (non binary).\n -f MESSAGE_FILE, --file MESSAGE_FILE\n Your secret to hide (Text or any binary file).\n -o OUTPUT_IMAGE_FILE, --output OUTPUT_IMAGE_FILE\n Output image containing the secret.\n\n**Retrieve sub command help**\n\n.. code:: bash\n\n $ cryptosteganography retrieve -h\n usage: cryptosteganography retrieve [-h] -i INPUT_IMAGE_FILE [-o RETRIEVED_FILE]\n\n optional arguments:\n -h, --help show this help message and exit\n -i INPUT_IMAGE_FILE, --input INPUT_IMAGE_FILE\n Input image file.\n -o RETRIEVED_FILE, --output RETRIEVED_FILE\n Output for the binary secret file (Text or any binary\n file).\n\n**Save message example**\n\n.. code:: bash\n\n $ cryptosteganography save -i 4824157.png -m \"My secret message...\" -o output.png\n Enter the key password: \n Confirm the key password: \n Output image output.png saved with success\n\n**Retrieve message example**\n\n.. code:: bash\n\n $ cryptosteganography retrieve -i output.png\n Enter the key password: \n My secret message...\n\n**Save file example**\n\n.. code:: bash\n\n $ cryptosteganography save -i input_image_name.jpg -f duck_logo.pem -o output_file.png\n Enter the key password: \n Confirm the key password: \n Output image output_file.png saved with success\n\n**Retrieve file example**\n\n.. code:: bash\n\n $ cryptosteganography retrieve -i output.png -o decrypted_file\n Enter the key password: \n decrypted_file saved with success\n\nLicense\n-------\n\nThis project is licensed under the MIT License - see the\n`LICENSE `_ file for details\n\nLimitations\n-----------\n\n- Only works with python 3\n- It does not work if the conceived file is greater than original input\n file\n- I did not tested with all conceived file types. Feel free to\n `report `_ any bug you find\n\nAcknowledgments\n---------------\n\n- `PyCryptodome `_\n- `St\u00e9gan\u00f4 `_", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/computationalcore/cryptosteganography", "keywords": "steganography,cryptography,encryption,aes,cryptosteganography,image", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "cryptosteganography", "package_url": "https://pypi.org/project/cryptosteganography/", "platform": "", "project_url": "https://pypi.org/project/cryptosteganography/", "project_urls": { "Homepage": "https://github.com/computationalcore/cryptosteganography" }, "release_url": "https://pypi.org/project/cryptosteganography/0.2.1/", "requires_dist": null, "requires_python": ">=3", "summary": "A python steganography module to store messages or files protected with AES-256 encryption inside an image.", "version": "0.2.1" }, "last_serial": 3555501, "releases": { "0.2.1": [ { "comment_text": "", "digests": { "md5": "656ec3021575e32de8064190a05e1347", "sha256": "697d6adec9cf5e9574b0bed3718395bb130201e24d729d9d23853299cbc94138" }, "downloads": -1, "filename": "cryptosteganography-0.2.1.tar.gz", "has_sig": false, "md5_digest": "656ec3021575e32de8064190a05e1347", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 6850, "upload_time": "2018-02-06T02:57:10", "url": "https://files.pythonhosted.org/packages/7b/d7/eca096b8aae4573a7cc8beb3dd1146c9f84f20535fec96bd5841257a9088/cryptosteganography-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "656ec3021575e32de8064190a05e1347", "sha256": "697d6adec9cf5e9574b0bed3718395bb130201e24d729d9d23853299cbc94138" }, "downloads": -1, "filename": "cryptosteganography-0.2.1.tar.gz", "has_sig": false, "md5_digest": "656ec3021575e32de8064190a05e1347", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 6850, "upload_time": "2018-02-06T02:57:10", "url": "https://files.pythonhosted.org/packages/7b/d7/eca096b8aae4573a7cc8beb3dd1146c9f84f20535fec96bd5841257a9088/cryptosteganography-0.2.1.tar.gz" } ] }