{ "info": { "author": "Se\u00e1n Hewitt", "author_email": "contact@2sh.me", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Security :: Cryptography" ], "description": "# AES Pipe\nThis application/library is for encrypting piped data and was mainly developed to be\nused with [limittar](https://github.com/2sh/limittar) for space efficient\ndata encryption using pipes to remove the need for temporarily storing the\npotentially large archives and encrypted data.\n\n## Requirements\n* Python 3.4+\n* PyCrypto\n\n## Installation\nFrom the Python Package Index:\n```\npip install aes-pipe\n```\n\nOr download and run:\n```\npython3 setup.py install\n```\n\n## Usage\nUse the ```-h``` argument for help:\n```\naes-pipe -h\n```\n\n### Encrypting data\nIf no key command is specified, the user is prompted for a passphrase.\n```\ncat something.tar | aes-pipe > encrypted_tar\n```\n\n### Encrypting files spanned across multiple Blu-Ray discs\n```\nfind /path/photos/ -print0 > files\n\nlimittar -0 -i files -l remaining1 -s 25025314784 | aes-pipe | cdrskin -v driveropts=burnfree -tao dev=/dev/sr0 -\nlimittar -0 -i remaining1 -l remaining2 -s 25025314784 | aes-pipe | cdrskin -v driveropts=burnfree -tao dev=/dev/sr0 -\n...\n```\nAs the remaining file list is output before the encryption ends, multiple\ndiscs can be written to at once.\n\n*Note that aes-pipe.py prepends a 32 byte nonce to the encrypted output data in\nthis case which needs to be calculated into the size limit of the tar.*\n\n### Decrypting files from discs\nUsing the Blu-Ray discs created in the example above, the following line can be\nrun for each disc.\n```\ncat /dev/sr0 | aes-pipe -d | tar -xf -\n```\nFiles will be output with their original paths.\n\n### Decrypt only specific files and directories\nThis is useful for recovering deleted items from a backup.\nUntil the items are found, this will need to be run on each storage area\nacross which the encrypted data was spanned.\n```\ncat /dev/sdX | aes-pipe -d | tar -C path/to/output/dir/ -xf - \"path/of/dir in archive/\" path/of/a_file.png\n```\n\n### Encryption with a GPG public key\n\n#### Output encrypted key file\n```\ncat something.tar | aes-pipe -c \"gpg --output encrypted_key.gpg --encrypt --recipient email@example.com\" > encrypted_tar\n```\nThis pipes the encryption key and nonce to the gpg application. This also means\nthat the nonce is not prepended to the encrypted output which means the output\ndata size is the same as the input data size.\n\n#### Use encrypted key file\n```\ncat encrypted_tar | aes-pipe -d -c \"gpg --decrypt encrypted_key.gpg\" > something.tar\n```\n\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/2sh/aes-pipe", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "aes-pipe", "package_url": "https://pypi.org/project/aes-pipe/", "platform": "", "project_url": "https://pypi.org/project/aes-pipe/", "project_urls": { "Homepage": "https://github.com/2sh/aes-pipe" }, "release_url": "https://pypi.org/project/aes-pipe/1.0.3/", "requires_dist": [ "pycrypto" ], "requires_python": ">=3.4", "summary": "Encrypting piped data with AES", "version": "1.0.3" }, "last_serial": 4141635, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "437adba3cd418b3142e0d1a2eaef512f", "sha256": "59d0d1b078939ffebdacd6ae1a3a0ed38678fded14d91dee5897fbf146a89268" }, "downloads": -1, "filename": "aes_pipe-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "437adba3cd418b3142e0d1a2eaef512f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 4731, "upload_time": "2018-08-03T12:18:10", "url": "https://files.pythonhosted.org/packages/f2/07/b29b0e6300ec7b1d8150f914f7243294a747ba320d2367347c39adaed933/aes_pipe-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e3f7f811d084bc16f0743be2d47abbb", "sha256": "11836af9ab826fca66d160deb2d5a4d27c2fd3c42498a859456b96c0cdae22e9" }, "downloads": -1, "filename": "aes-pipe-1.0.0.tar.gz", "has_sig": false, "md5_digest": "3e3f7f811d084bc16f0743be2d47abbb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 4373, "upload_time": "2018-08-03T12:18:12", "url": "https://files.pythonhosted.org/packages/9d/f1/01126b37cc13d208985b408745a74f5d7a20b98cd08eae14989430853a6f/aes-pipe-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "115729c94711b86c61170f72120c592a", "sha256": "fcd31e42564877fcd8cefda11dfd34e63bf7e9611be88c87fe26ff9c82a63260" }, "downloads": -1, "filename": "aes_pipe-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "115729c94711b86c61170f72120c592a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 4743, "upload_time": "2018-08-03T12:26:28", "url": "https://files.pythonhosted.org/packages/8f/53/dcf7b14eca0c59898b7d8b068ef12c09d5dea10d9c6f02d6d5b52331eed7/aes_pipe-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "53ae21a4c1cd1ee0a910a5865b437d4c", "sha256": "0af8c1e69970de55f7716fece0c5fcc2e94d52d3052b8ce60b5e8b07002f496a" }, "downloads": -1, "filename": "aes-pipe-1.0.1.tar.gz", "has_sig": false, "md5_digest": "53ae21a4c1cd1ee0a910a5865b437d4c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 4409, "upload_time": "2018-08-03T12:26:30", "url": "https://files.pythonhosted.org/packages/2d/50/32906ec2b215e92ec3181c98dcc9a0b7239a1937a9aa50f74076f145a3e2/aes-pipe-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "d0d424789b3d897bd8a53414a1a4915b", "sha256": "67cbf6a5c17e04ee5a7e8723c594c496eb18ed1e91c363cd38e6f0f8089b1129" }, "downloads": -1, "filename": "aes_pipe-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d0d424789b3d897bd8a53414a1a4915b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 4747, "upload_time": "2018-08-03T12:47:52", "url": "https://files.pythonhosted.org/packages/85/1e/3b20e632a1aba97ef65b5dd4423df62493025abbf5415a78bbeb37bac4a7/aes_pipe-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5da0e844d14932ea361124687e38130b", "sha256": "33ce9da66f198c860980c1d0a783e5b4535236b9a600e5791d7fef44931ddb35" }, "downloads": -1, "filename": "aes-pipe-1.0.2.tar.gz", "has_sig": false, "md5_digest": "5da0e844d14932ea361124687e38130b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 4412, "upload_time": "2018-08-03T12:47:53", "url": "https://files.pythonhosted.org/packages/0f/5b/48901a1fd79947b4ee1a91e837f95665f0d8ae7a4a7c70b1f596a97bbec4/aes-pipe-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "0ed00c3b8175824749d7740046bf0662", "sha256": "735f2c60c6f2f2b974da5ea7f2941cafd1fa37513f1f85c5573500931e08def5" }, "downloads": -1, "filename": "aes_pipe-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "0ed00c3b8175824749d7740046bf0662", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 5371, "upload_time": "2018-08-06T20:07:14", "url": "https://files.pythonhosted.org/packages/d9/d4/06c9577d0216e43bdba8a71d27553a0f4d312adc5426620079ec15dbd5c8/aes_pipe-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e16f47b9b7e6b8be3131afe3421f6814", "sha256": "20a0b8948ac0b250a9efa87e90272e0c6790b0f46b109f46f52148e0bc76adfa" }, "downloads": -1, "filename": "aes-pipe-1.0.3.tar.gz", "has_sig": false, "md5_digest": "e16f47b9b7e6b8be3131afe3421f6814", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 4465, "upload_time": "2018-08-06T20:07:15", "url": "https://files.pythonhosted.org/packages/bf/df/c38cb269718f7c70b5d94d949d8129f3f229fb96e38f8e27da2529266fa9/aes-pipe-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0ed00c3b8175824749d7740046bf0662", "sha256": "735f2c60c6f2f2b974da5ea7f2941cafd1fa37513f1f85c5573500931e08def5" }, "downloads": -1, "filename": "aes_pipe-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "0ed00c3b8175824749d7740046bf0662", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 5371, "upload_time": "2018-08-06T20:07:14", "url": "https://files.pythonhosted.org/packages/d9/d4/06c9577d0216e43bdba8a71d27553a0f4d312adc5426620079ec15dbd5c8/aes_pipe-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e16f47b9b7e6b8be3131afe3421f6814", "sha256": "20a0b8948ac0b250a9efa87e90272e0c6790b0f46b109f46f52148e0bc76adfa" }, "downloads": -1, "filename": "aes-pipe-1.0.3.tar.gz", "has_sig": false, "md5_digest": "e16f47b9b7e6b8be3131afe3421f6814", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 4465, "upload_time": "2018-08-06T20:07:15", "url": "https://files.pythonhosted.org/packages/bf/df/c38cb269718f7c70b5d94d949d8129f3f229fb96e38f8e27da2529266fa9/aes-pipe-1.0.3.tar.gz" } ] }