{ "info": { "author": "Alexandre D'Hondt", "author_email": "alexandre.dhondt@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Security", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "[![PyPi](https://img.shields.io/pypi/v/solitaire-cipher.svg)](https://pypi.python.org/pypi/solitaire-cipher/)\n[![Python Versions](https://img.shields.io/pypi/pyversions/solitaire-cipher.svg)](https://pypi.python.org/pypi/solitaire-cipher/)\n[![Platform](https://img.shields.io/badge/platform-linux-yellow.svg)](https://pypi.python.org/pypi/solitaire-cipher/)\n[![Known Vulnerabilities](https://snyk.io/test/github/dhondta/solitaire-cipher/badge.svg?targetFile=requirements.txt)](https://snyk.io/test/github/dhondta/solitaire-cipher?targetFile=requirements.txt)\n[![Requirements Status](https://requires.io/github/dhondta/solitaire-cipher/requirements.svg?branch=master)](https://requires.io/github/dhondta/solitaire-cipher/requirements/?branch=master)\n[![License](https://img.shields.io/pypi/l/solitaire-cipher.svg)](https://pypi.python.org/pypi/solitaire-cipher/)\n\n\n## Table of Contents\n\n * [Introduction](#introduction)\n * [Installation](#installation)\n * [Quick Start](#quick-start)\n\n\n## Introduction\n\nThis tool relies on [Tinyscript](https://github.com/dhondta/tinyscript) and implements Bruce Schneier's [Solitaire Cipher](https://www.schneier.com/academic/solitaire/).\n\n\n## Installation\n\n ```session\n $ sudo pip install solitaire-cipher\n ```\n\n > **Behind a proxy ?**\n > \n > Do not forget to add option `--proxy=http://[user]:[pwd]@[host]:[port]` to your pip command.\n\n\n## Quick Start\n\n### Help\n\n```session\n$ solitaire-cipher --help\nusage: solitaire-cipher [-r INI] [-w INI] [-h] [-v] {decrypt,encrypt} ...\n\nSolitaireCipher v1.1\nAuthor : Alexandre D'Hondt\nCopyright: \u00a9 2019 AGPLv3 (http://www.gnu.org/licenses/agpl.html)\nReference: https://www.schneier.com/academic/solitaire/\n\nThis tool implements the Solitaire Encryption Algorithm of Bruce Schneier.\n\npositional arguments:\n {decrypt,encrypt} commands\n decrypt decrypt message\n encrypt encrypt message\n\nconfig arguments:\n -r INI, --read-config INI\n read args from a config file (default: None)\n NB: this overrides other arguments\n -w INI, --write-config INI\n write args to a config file (default: None)\n\nextra arguments:\n -h, --help show this help message and exit\n -v, --verbose verbose mode (default: False)\n\nUsage examples:\n solitaire-cipher encrypt \"AAAAA AAAAA\" -p my_super_secret -s\n solitaire-cipher decrypt \"AAAAA AAAAA\" -p my_super_secret -d deck.txt\n\n```\n\n### Encryption\n\n```session\n$ solitaire-cipher encrypt --help\nusage: solitaire-cipher encrypt [-h] [-a A] [-b B] [-d DECK] -p PASSPHRASE\n [-o OUTPUT] [-s]\n message\n\npositional arguments:\n message message to be handled\n\noptional arguments:\n -a A joker A (default: 53)\n -b B joker B (default: 54)\n -d DECK deck file or list of integers (default: 1,2,...,53,54)\n -p PASSPHRASE passphrase (default: None)\n -o OUTPUT save the encoded deck to (default: deck.txt)\n -s shuffle the deck (default: False)\n\nextra arguments:\n -h, --help show this help message and exit\n\n```\n\n```session\n$ solitaire-cipher encrypt \"TEST\" -s -p my_super_secret\n12:34:56 [INFO] IWEJ\n12:34:56 [INFO] 28,48,10,24,3,23,2,38,34,6,30,40,8,4,9,11,15,20,31,47,22,35,45,41,49,43,5,13,25,39,19,12,37,33,36,7,16,B,46,29,50,42,26,1,21,A,17,51,14,27,18,44,32,52\n12:34:56 [INFO] Saved the encoded deck to 'deck.txt'\n\n```\n\n### Decryption\n\n```session\n$ solitaire-cipher decrypt --help\nusage: solitaire-cipher decrypt [-h] [-a A] [-b B] [-d DECK] -p PASSPHRASE\n message\n\npositional arguments:\n message message to be handled\n\noptional arguments:\n -a A joker A (default: 53)\n -b B joker B (default: 54)\n -d DECK deck file or list of integers (default: 1,2,...,53,54)\n -p PASSPHRASE passphrase (default: None)\n\nextra arguments:\n -h, --help show this help message and exit\n\n```\n\n```session\n$ solitaire-cipher decrypt \"IWEJ\" -d deck.txt -p my_super_secret\n12:34:56 [INFO] TEST\n12:34:56 [INFO] 28,48,10,24,3,23,2,38,34,6,30,40,8,4,9,11,15,20,31,47,22,35,45,41,49,43,5,13,25,39,19,12,37,33,36,7,16,B,46,29,50,42,26,1,21,A,17,51,14,27,18,44,32,52\n\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dhondta/solitaire-cipher", "keywords": "python,tool,solitaire-cipher", "license": "AGPLv3", "maintainer": "", "maintainer_email": "", "name": "solitaire-cipher", "package_url": "https://pypi.org/project/solitaire-cipher/", "platform": "", "project_url": "https://pypi.org/project/solitaire-cipher/", "project_urls": { "Homepage": "https://github.com/dhondta/solitaire-cipher" }, "release_url": "https://pypi.org/project/solitaire-cipher/1.2/", "requires_dist": null, "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,<4", "summary": "Python tool implemeting Bruce Schneier's Solitaire Cipher made with Tinyscript", "version": "1.2" }, "last_serial": 5653996, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "347522a997102ab1824e61450d1d419b", "sha256": "ee9aa488c3b9055b6e5f661652c6fccacd2bdadc532cb66332ad9a8fc03766f3" }, "downloads": -1, "filename": "solitaire-cipher-1.0.tar.gz", "has_sig": false, "md5_digest": "347522a997102ab1824e61450d1d419b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,<4", "size": 18399, "upload_time": "2019-04-15T06:58:46", "url": "https://files.pythonhosted.org/packages/a6/f3/eaec345d16019eacc97b94b1a9e5b7f7653a27f7fe14a5074c4acf62db51/solitaire-cipher-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "155ce62fb1ecd740a5d92cea23f3ad8a", "sha256": "e21c27bcc1f8e8373ac54153334a2900636a993733ee512bc518341d6fc53cc1" }, "downloads": -1, "filename": "solitaire-cipher-1.1.tar.gz", "has_sig": false, "md5_digest": "155ce62fb1ecd740a5d92cea23f3ad8a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,<4", "size": 18418, "upload_time": "2019-04-15T07:33:04", "url": "https://files.pythonhosted.org/packages/f7/f1/1250f112579566917faecc25c656350ac5a007925e5eef824e4cf0876952/solitaire-cipher-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "d35f973e66b972da896e5f66ce2085f7", "sha256": "7bd395203480c9cfd42c05a02caa26b9a10d99e9ff2ba7f83ad173e239ae1219" }, "downloads": -1, "filename": "solitaire-cipher-1.2.tar.gz", "has_sig": false, "md5_digest": "d35f973e66b972da896e5f66ce2085f7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,<4", "size": 17352, "upload_time": "2019-08-09T07:21:02", "url": "https://files.pythonhosted.org/packages/01/24/c3ae8d8f11456eebecd3766681e76f8e15193ad8e537755d121182b46e7c/solitaire-cipher-1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d35f973e66b972da896e5f66ce2085f7", "sha256": "7bd395203480c9cfd42c05a02caa26b9a10d99e9ff2ba7f83ad173e239ae1219" }, "downloads": -1, "filename": "solitaire-cipher-1.2.tar.gz", "has_sig": false, "md5_digest": "d35f973e66b972da896e5f66ce2085f7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,<4", "size": 17352, "upload_time": "2019-08-09T07:21:02", "url": "https://files.pythonhosted.org/packages/01/24/c3ae8d8f11456eebecd3766681e76f8e15193ad8e537755d121182b46e7c/solitaire-cipher-1.2.tar.gz" } ] }