{ "info": { "author": "Unibg Seclab", "author_email": "seclab@unibg.it", "bugtrack_url": null, "classifiers": [], "description": "Description\n-----------\n\n.. image:: https://travis-ci.org/unibg-seclab/aesmix.svg?branch=master\n :target: https://travis-ci.org/unibg-seclab/aesmix\n\nThis directory contains the python wrapper based on cffi and the command\nline tool to use Mix&Slice on your files.\n\nThe C implementation has been built with performance in mind, whereas\nthe python wrapper and the CLI tool has been implemented to offer a more\nwidespread access of the Mix&Slice capabilities. The mixing and slicing\nphases use the C implementation, but the python conversion adds a big\noverhead since it has to materialize all the buffers in memory.\n\nSince the tool materializes all the buffers in memory and has to perform\nboth the mixing and the slicing phases, you should only use the CLI tool\non files that are at maximum as large as a third of your available\nmemory.\n\nPlease check the file ``example.py`` to understand how to use the\nlibrary.\n\nRequirements\n------------\n\nBefore proceeding please install the ``openssl/crypto`` library source.\nIn ubuntu you can proceed as follows:\n\n.. code-block:: shell\n\n sudo apt install libssl-dev\n\nInstallation\n------------\n\nThe package has been uploaded to `PyPI`_ so, after installing the\nrequirements, you can install the latest released version using pip:\n\n.. code-block:: shell\n\n pip install aesmix\n\nTo install the version from this repository, you can use the commands:\n\n.. code-block:: shell\n\n make build\n sudo make install\n\nTo install the package in a virtual environment, use:\n\n.. code-block:: shell\n\n python setup.py install\n\nThe python wrapper will also compile the ``libaesmix`` library.\n\nCommand Line Interface\n----------------------\n\nThis package also installs the ``mixslice`` tool that can be used as\nfollows.\n\nTo encrypt a file:\n\n.. code-block:: shell\n\n $ mixslice encrypt sample.txt\n INFO: [*] Encrypting file sample.txt ...\n INFO: Output fragdir: sample.txt.enc\n INFO: Public key file: sample.txt.public\n INFO: Private key file: sample.txt.private\n\nTo perform a policy update:\n\n.. code-block:: shell\n\n $ mixslice update sample.txt.enc\n INFO: [*] Performing policy update on sample.txt.enc ...\n INFO: Encrypting fragment #68\n INFO: Done\n\nTo decrypt a file:\n\n.. code-block:: shell\n\n $ mixslice decrypt sample.txt.enc\n INFO: [*] Decrypting fragdir sample.txt.enc using key sample.txt.public ...\n INFO: Decrypting fragment #68\n INFO: Decrypted file: sample.txt.enc.dec\n\n $ sha1sum sample.txt sample.txt.enc.dec\n d3e92d3c3bf278e533f75818ee94d472347fa32a sample.txt\n d3e92d3c3bf278e533f75818ee94d472347fa32a sample.txt.enc.dec\n\n--------------\n\nKey regression mechanism\n========================\n\nThe key regression mechanism implementation is based on `\u201cKey\nRegression: Enabling Efficient Key Distribution for Secure Distributed\nStorage\u201d`_.\n\nExample\n-------\n\nThe key regression library can be used as follows.\n\n.. code-block:: python\n\n from aesmix.keyreg import KeyRegRSA\n\n\n iters = 5\n stp = KeyRegRSA()\n\n print(\"== WINDING ==\")\n for i in range(iters):\n stp, stm = stp.wind()\n print(\"k%i: %r\" % (i, stm.keyder()))\n\n print(\"\\n== UNWINDING ==\")\n for i in range(iters - 1, -1, -1):\n print(\"k%i: %r\" % (i, stm.keyder()))\n stm = stm.unwind()\n\n.. _PyPI: https://pypi.org/project/aesmix\n.. _`\u201cKey Regression: Enabling Efficient Key Distribution for Secure Distributed Storage\u201d`: https://eprint.iacr.org/2005/303.pdf", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/unibg-seclab/aesmix", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "aesmix", "package_url": "https://pypi.org/project/aesmix/", "platform": "", "project_url": "https://pypi.org/project/aesmix/", "project_urls": { "Homepage": "http://github.com/unibg-seclab/aesmix" }, "release_url": "https://pypi.org/project/aesmix/1.6/", "requires_dist": null, "requires_python": "", "summary": "Mix&Slice", "version": "1.6" }, "last_serial": 5096671, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "f5491ae07a7b10eedf0e7bcb9c8cd652", "sha256": "6c33a26e9c6263f5068782798c108cbfec3978a09a1bc217fbf91b4dfa77279f" }, "downloads": -1, "filename": "aesmix-1.0.tar.gz", "has_sig": false, "md5_digest": "f5491ae07a7b10eedf0e7bcb9c8cd652", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9549, "upload_time": "2019-04-02T11:07:02", "url": "https://files.pythonhosted.org/packages/4c/84/105de8e00f8cf5ff4739ccc2cd5379d95a99820901ea433e5b059a1f5f43/aesmix-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "4abd109dc8a47bd30327ec42ba1ca223", "sha256": "28c6bd5180fe7dc847e8f711661be7c5ccef984dace3a9f995233e27f086507a" }, "downloads": -1, "filename": "aesmix-1.1.tar.gz", "has_sig": false, "md5_digest": "4abd109dc8a47bd30327ec42ba1ca223", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14161, "upload_time": "2019-04-02T11:27:41", "url": "https://files.pythonhosted.org/packages/54/04/efae11af68151abcb08e6ff97bd0e5174da8abec2b666eab0659031f8564/aesmix-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "2f1fc380e5064aa306b589729437fa8a", "sha256": "78d2d0d7e8b25dc87a0887f0c986f61692b8c7289e78b55b081eb7c2fb43c1ba" }, "downloads": -1, "filename": "aesmix-1.2.tar.gz", "has_sig": false, "md5_digest": "2f1fc380e5064aa306b589729437fa8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14163, "upload_time": "2019-04-02T11:32:38", "url": "https://files.pythonhosted.org/packages/1e/16/e9d16eef3f598d193ae6236f11d8527675e4056116cb81bae1bf6dd3e418/aesmix-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "e27bbf568d12ff288812a851ed3b5339", "sha256": "92f86b5dd4b4d0ca3076d2e832bf05b5704cbe295ed5f50247cf65e2e7edf8a7" }, "downloads": -1, "filename": "aesmix-1.3.tar.gz", "has_sig": false, "md5_digest": "e27bbf568d12ff288812a851ed3b5339", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14175, "upload_time": "2019-04-02T12:17:30", "url": "https://files.pythonhosted.org/packages/03/25/a4e439d50fb65094e1bc16cd1c21fb3bbe8ad6042901da330af2904ac4f3/aesmix-1.3.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "30ae9cbab9d577de4a019e22f55cac57", "sha256": "4795dccc7d11089b9a72a00cf274e37c3f158a1e13954b0265d10bf4aa7ae279" }, "downloads": -1, "filename": "aesmix-1.5.tar.gz", "has_sig": false, "md5_digest": "30ae9cbab9d577de4a019e22f55cac57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14534, "upload_time": "2019-04-04T10:46:36", "url": "https://files.pythonhosted.org/packages/ef/d6/303c59661fef46498a28cbd05b8a5e0cf9f3c641da248b281628717bf483/aesmix-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "94f9ec4830c7858a6e51ff88aafeb18b", "sha256": "0075721efb2a091f3ee822ff3e3a8412134ec239e11a238fab905b91d4485daa" }, "downloads": -1, "filename": "aesmix-1.6.tar.gz", "has_sig": false, "md5_digest": "94f9ec4830c7858a6e51ff88aafeb18b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14745, "upload_time": "2019-04-04T11:31:54", "url": "https://files.pythonhosted.org/packages/26/39/90fbca4528501f30d0b6641a4d1fb4a26334593582d99dae6614c8f618e2/aesmix-1.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "94f9ec4830c7858a6e51ff88aafeb18b", "sha256": "0075721efb2a091f3ee822ff3e3a8412134ec239e11a238fab905b91d4485daa" }, "downloads": -1, "filename": "aesmix-1.6.tar.gz", "has_sig": false, "md5_digest": "94f9ec4830c7858a6e51ff88aafeb18b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14745, "upload_time": "2019-04-04T11:31:54", "url": "https://files.pythonhosted.org/packages/26/39/90fbca4528501f30d0b6641a4d1fb4a26334593582d99dae6614c8f618e2/aesmix-1.6.tar.gz" } ] }