{ "info": { "author": "MissingLink.ai", "author_email": "support@missinglink.ai", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3" ], "description": "### ML-Crypto\nThis library is `pycrypto` / `pycryptodome` wrapper that standardises the MissingLink.ai-s encryption and allows easy extentions to support additional encryption schemes.\n\n ## Overview\n * This library contains a set of `Cipher`s. Each `Cipher` has \n * `encrpyt` and `decrypt` functions that *MUST* return/accept byte array and \n * `encrpyt_string` / `decrypt_string` that work with string objects that will be a `base64` representation of the encrypted byte output of the underlying `[en|de]crypt functions`\n * If your cipher returns structured data (such as `IV` and other data), you SHOULD use `namedtuples` and extend them with `MsgPackNamedTuple` mixin. This will allow you to easly dump the named tuple into optimised byterarray, in order to be flexable with the object, currently we are converting the named tuple into `dict` in order to be able to add fields in the feature \n * You SHOULD provide key generation function as part of the cipher that will generate key (the function may perform external calls in case of cloud kms and etc.) \n ## Current Ciphers\n * Symmetric - `AES-CTR` encryption with `256` bits (32 bytes) key length\n * Asymmetric - `PKCS1_OAEP` encryption with `SHA512` hashAlgo\n * Envelope - Envelope encryption where the body is encrypted with the `Symmetric` cipher. the `DEK` (data encryption key) is encrypted using non-specific cipher provided during init\n\n ## PyCryptoDome vs PyCrypto vs None\n * When installing, no cryptography package is provided by default. Use `ml-crypto[pycryptodome]` or `ml-crypto[pycrypto]` to ensure one is installed or use the default if you know you have one installed\n * As `pycrypto` is dead, prefer using `pycryptodome` and expect some issues (The main one is encrypted ssh private keys) not to work\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://missinglink.ai", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "ml-crypto", "package_url": "https://pypi.org/project/ml-crypto/", "platform": "", "project_url": "https://pypi.org/project/ml-crypto/", "project_urls": { "Homepage": "https://missinglink.ai" }, "release_url": "https://pypi.org/project/ml-crypto/0.7.811/", "requires_dist": [ "six", "msgpack (~=0.5)", "pycrypto (~=2.6.1) ; extra == 'pycrypto'", "pycryptodome (~=3.6.4) ; extra == 'pycryptodomex'" ], "requires_python": "", "summary": "pyCrypto wrapper, used by various MissingLink.ai libraries", "version": "0.7.811" }, "last_serial": 5607104, "releases": { "0.6.362": [ { "comment_text": "", "digests": { "md5": "8e8d04ceabbbe55ab5fe46f6e557e427", "sha256": "560c9a4e77e10cc9ce0649eaec8490866bd09db27cd7d87547bb179a7c74730c" }, "downloads": -1, "filename": "ml_crypto-0.6.362-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8e8d04ceabbbe55ab5fe46f6e557e427", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9148, "upload_time": "2018-09-29T23:21:13", "url": "https://files.pythonhosted.org/packages/4a/64/34baf3fbe9a5d1196b3ff8aeb245bf0e8f09445c9039df81895851066513/ml_crypto-0.6.362-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "23c45e95c3df62f56236f6fa0b3efa11", "sha256": "6f933b4725192091d2cf3ec5e847e1889ab9b513f0e25a82364ecbc93ac80edf" }, "downloads": -1, "filename": "ml-crypto-0.6.362.tar.gz", "has_sig": false, "md5_digest": "23c45e95c3df62f56236f6fa0b3efa11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5276, "upload_time": "2018-09-29T23:21:14", "url": "https://files.pythonhosted.org/packages/95/d6/03cd27d0a1f6c7f07afe5f0fbbf22b773b12f5740e3bc1d2dcd8cb33f339/ml-crypto-0.6.362.tar.gz" } ], "0.7.408": [ { "comment_text": "", "digests": { "md5": "d607c99d69f0300330007e7527d89a2c", "sha256": "711f252ff7f1b8a4df1d12383e238a80ff45e2c5c9c67dc090c5a47157d387cc" }, "downloads": -1, "filename": "ml_crypto-0.7.408-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d607c99d69f0300330007e7527d89a2c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10260, "upload_time": "2018-11-12T12:44:53", "url": "https://files.pythonhosted.org/packages/3e/d4/c069cc9a47735ac6e96a459c036685b34fd501aa9288c96bf578262ff56a/ml_crypto-0.7.408-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c6f4d99bf9e21d0530ccda421b6439b", "sha256": "934c17f3d88b1c9ad728a7cfe2bbec6d69c68f1998b8b3fb0562f3c09da77c79" }, "downloads": -1, "filename": "ml-crypto-0.7.408.tar.gz", "has_sig": false, "md5_digest": "6c6f4d99bf9e21d0530ccda421b6439b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5792, "upload_time": "2018-11-12T12:44:55", "url": "https://files.pythonhosted.org/packages/76/b0/384f26edd0576237f743bc3e77d77fe300df0a057d6ed3827564fb0d8845/ml-crypto-0.7.408.tar.gz" } ], "0.7.441": [ { "comment_text": "", "digests": { "md5": "5282d43c01ec6ae1debe4c0fcb8444f8", "sha256": "9aee37f38b2a5895960c0f262288189b1aafff584bc5baf3bd8d8408a741f028" }, "downloads": -1, "filename": "ml_crypto-0.7.441-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5282d43c01ec6ae1debe4c0fcb8444f8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10260, "upload_time": "2018-12-23T15:17:20", "url": "https://files.pythonhosted.org/packages/13/5b/f318580ed0c95c1180751265fdeb50f634d9d8efae42076114a7ba9645f7/ml_crypto-0.7.441-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c1678368b0171cf3bb66491821d74252", "sha256": "4ab4578fb608ea50abbe255ad4dfb27b70c55f8fb9b8bbe32bd85c4a8cf3cb61" }, "downloads": -1, "filename": "ml-crypto-0.7.441.tar.gz", "has_sig": false, "md5_digest": "c1678368b0171cf3bb66491821d74252", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5737, "upload_time": "2018-12-23T15:17:21", "url": "https://files.pythonhosted.org/packages/a6/49/2974d1f994d6740facc935b2729e931d88abe1b1b79d18549eab1d59b1d8/ml-crypto-0.7.441.tar.gz" } ], "0.7.678": [ { "comment_text": "", "digests": { "md5": "86c0382d52f3b0edcf4f3e81120d7d16", "sha256": "9e38c19f00214354b9055b1d1cb4ba629cd2d43e34454e7db926fce8112dd5c3" }, "downloads": -1, "filename": "ml_crypto-0.7.678-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "86c0382d52f3b0edcf4f3e81120d7d16", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10260, "upload_time": "2019-03-05T09:49:36", "url": "https://files.pythonhosted.org/packages/f8/cb/30d0cbac53cfd2183750dc804882fac859f7b95ce971c6069575fc1550e0/ml_crypto-0.7.678-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "19956ee7efccfd348f85112d41bcc624", "sha256": "f59e75c41db94ea1112da7a7d89ac5217ef92298ee6ed38e5195f45a3bc895bd" }, "downloads": -1, "filename": "ml-crypto-0.7.678.tar.gz", "has_sig": false, "md5_digest": "19956ee7efccfd348f85112d41bcc624", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5826, "upload_time": "2019-03-05T09:49:38", "url": "https://files.pythonhosted.org/packages/46/4c/bf937323bad92c28d362cc7315829c8c90029998f8a25cd138c3955ed7d6/ml-crypto-0.7.678.tar.gz" } ], "0.7.732": [ { "comment_text": "", "digests": { "md5": "3018a8660bde735996be2f8ed21a3188", "sha256": "3d50deedcd6ab683eb5d92bb39dc5e6144550d040cc2ed97ce1af56b5068ccdd" }, "downloads": -1, "filename": "ml_crypto-0.7.732-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3018a8660bde735996be2f8ed21a3188", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10259, "upload_time": "2019-03-07T09:40:30", "url": "https://files.pythonhosted.org/packages/bb/b6/74d37995557bb319724fa8073ba2c03c625c306621768b6f3aa03fb8fbc9/ml_crypto-0.7.732-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d3d04643f2b1b919870d8b60aedbb1fb", "sha256": "45e8e30f745cde542dd43ea65b4b460b89b828e0aeff4abb725528f7999c38c0" }, "downloads": -1, "filename": "ml-crypto-0.7.732.tar.gz", "has_sig": false, "md5_digest": "d3d04643f2b1b919870d8b60aedbb1fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6082, "upload_time": "2019-03-07T09:40:31", "url": "https://files.pythonhosted.org/packages/32/5f/c9d30d29720bf66597d5d702bcfa9e8572149e739d5b049a78cbc2694935/ml-crypto-0.7.732.tar.gz" } ], "0.7.740": [ { "comment_text": "", "digests": { "md5": "11d36c6262b62be16d1570a097892fc5", "sha256": "7f91d4d20908c85a97c9c4058014338b9f703a9cf40cfdb30cde7cbaed8d609a" }, "downloads": -1, "filename": "ml_crypto-0.7.740-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "11d36c6262b62be16d1570a097892fc5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10259, "upload_time": "2019-03-10T20:46:46", "url": "https://files.pythonhosted.org/packages/dc/69/cba94d9af68dccacf67bf13ee2e1845736f9be39979d9842c8737d97ad36/ml_crypto-0.7.740-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "55314c47181923ac406037bfffba692e", "sha256": "737d1430d362248284e7e6e670779b868aaaef56558f82294e7a0dab427a2141" }, "downloads": -1, "filename": "ml-crypto-0.7.740.tar.gz", "has_sig": false, "md5_digest": "55314c47181923ac406037bfffba692e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5733, "upload_time": "2019-03-10T20:46:47", "url": "https://files.pythonhosted.org/packages/60/f6/ea24923aad890dfccd7b7b9944c68a2d56f2e833a08385e9a6a374c1afcb/ml-crypto-0.7.740.tar.gz" } ], "0.7.780": [ { "comment_text": "", "digests": { "md5": "68fdfcbc4cec93824944a780cca950f7", "sha256": "777eff8feecb7da1633f771b4adc87191df4c084506466a3a6997ce6a3d4fea8" }, "downloads": -1, "filename": "ml_crypto-0.7.780-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "68fdfcbc4cec93824944a780cca950f7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11054, "upload_time": "2019-07-14T12:22:34", "url": "https://files.pythonhosted.org/packages/34/39/157399d0f363cf97d0c484af49c4afb07c8c6263d798fd6afa9fbffc0377/ml_crypto-0.7.780-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8cd65825d6d71b1c01a52cc8f6263bcd", "sha256": "3b0cfde069af082bd03323c766b9257513c8cbad2a7721a87b344631d82a20c0" }, "downloads": -1, "filename": "ml-crypto-0.7.780.tar.gz", "has_sig": false, "md5_digest": "8cd65825d6d71b1c01a52cc8f6263bcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6013, "upload_time": "2019-07-14T12:22:35", "url": "https://files.pythonhosted.org/packages/23/a9/d897f8d08128dfb6497ff035f089f4e3fe8b87b6c8f9ee4302be09687a99/ml-crypto-0.7.780.tar.gz" } ], "0.7.811": [ { "comment_text": "", "digests": { "md5": "9a6eda2f668bf7508f79a09e468d8752", "sha256": "ddfe1b43b35b9b0f2991e4157a7e0e3eb48447b69d12809181b9ebe091821e85" }, "downloads": -1, "filename": "ml_crypto-0.7.811-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9a6eda2f668bf7508f79a09e468d8752", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11087, "upload_time": "2019-07-30T11:03:55", "url": "https://files.pythonhosted.org/packages/e9/7d/45ab0a053049a82e165f1f163038ca9a664bb4de40e130bcd016bd8af024/ml_crypto-0.7.811-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "982b7f50b21e569405cca34bfb3f8ee6", "sha256": "72e34db649592b47fff62ad6e0430bf10e5f9983cbea3f74907bb646b3ea4e6d" }, "downloads": -1, "filename": "ml-crypto-0.7.811.tar.gz", "has_sig": false, "md5_digest": "982b7f50b21e569405cca34bfb3f8ee6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5985, "upload_time": "2019-07-30T11:03:57", "url": "https://files.pythonhosted.org/packages/cf/17/693c96e79903ec9804c2c1667e11486a8ae14b719f2646957c5eab09029a/ml-crypto-0.7.811.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9a6eda2f668bf7508f79a09e468d8752", "sha256": "ddfe1b43b35b9b0f2991e4157a7e0e3eb48447b69d12809181b9ebe091821e85" }, "downloads": -1, "filename": "ml_crypto-0.7.811-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9a6eda2f668bf7508f79a09e468d8752", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11087, "upload_time": "2019-07-30T11:03:55", "url": "https://files.pythonhosted.org/packages/e9/7d/45ab0a053049a82e165f1f163038ca9a664bb4de40e130bcd016bd8af024/ml_crypto-0.7.811-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "982b7f50b21e569405cca34bfb3f8ee6", "sha256": "72e34db649592b47fff62ad6e0430bf10e5f9983cbea3f74907bb646b3ea4e6d" }, "downloads": -1, "filename": "ml-crypto-0.7.811.tar.gz", "has_sig": false, "md5_digest": "982b7f50b21e569405cca34bfb3f8ee6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5985, "upload_time": "2019-07-30T11:03:57", "url": "https://files.pythonhosted.org/packages/cf/17/693c96e79903ec9804c2c1667e11486a8ae14b719f2646957c5eab09029a/ml-crypto-0.7.811.tar.gz" } ] }