{ "info": { "author": "Preetam Shingavi", "author_email": "p.shingavi@yahoo.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Security :: Cryptography", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "# murmuration \n![Build Status](https://codebuild.us-east-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiWk1NT3pKUUVNRXJ1THFrd2ZncTBRRlVWNGl5Nmk3czJKU21ldEpOMmJHV0NRYjBoK2lESUFuWnAyS3FtMUQwakU1bW95MXlsYW9SZy9KakxER1RsemNVPSIsIml2UGFyYW1ldGVyU3BlYyI6InVJdlBpMnBMYTBRNHhQa0siLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=master)\nencryption primitives for use with aws kms\n\n## aes + galois counter mode encryption\n\n```python\nfrom murmuration import gcm\nkey = 'this is my secret encryption key'\nplaintext = 'the quick brown fox jumps over the lazy dog'\nciphertext = gcm.encrypt(plaintext, key, 'header')\ndecrypted = gcm.decrypt(ciphertext, key)\nassert decrypted == plaintext\n```\n\n## encryption using kms (for use with aws)\n\nYou can also use kms as an encryption / decryption service. This does\nincur kms costs and require kms setup. The `region` and `profile` parameters\ndo not have to be specified. If they are not specified, the values will\nbe inferred [in the order specified by boto3](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html#configuring-credentials):\n\n\n> 1. Passing credentials as parameters in the `boto.client()` method\n> 2. Passing credentials as parameters when creating a `Session` object\n> 3. Environment variables\n> 4. Shared credential file (`~/.aws/credentials`)\n> 5. AWS config file (`~/.aws/config`)\n> 6. Assume Role provider\n> 7. Boto2 config file (`/etc/boto.cfg` and `~/.boto`)\n> 8. Instance metadata service on an Amazon EC2 instance \n> that has an IAM role configured.\n\n```python\nfrom murmuration import kms\nplaintext = 'the quick brown fox jumps over the lazy dog'\nkey_alias = 'my kms key alias'\nciphertext = kms.encrypt(plaintext, key_alias, region='us-west-1', profile='company')\ndecrypted = kms.decrypt(ciphertext, region='us-west-1', profile='company')\nassert decrypted == plaintext\n```\n\n## wrapped encryption using kms (for use with aws)\n\nYou can also use wrapped kms data keys for encryption to protect the underlying\nkms key. Using this does functionality will incur kms costs and require kms \nsetup. The `region` and `profile` parameters do not have to be specified. \nIf they are not specified, the values will\nbe inferred [in the order specified by boto3](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html#configuring-credentials):\n\n\n> 1. Passing credentials as parameters in the `boto.client()` method\n> 2. Passing credentials as parameters when creating a `Session` object\n> 3. Environment variables\n> 4. Shared credential file (`~/.aws/credentials`)\n> 5. AWS config file (`~/.aws/config`)\n> 6. Assume Role provider\n> 7. Boto2 config file (`/etc/boto.cfg` and `~/.boto`)\n> 8. Instance metadata service on an Amazon EC2 instance \n> that has an IAM role configured.\n\n```python\nfrom murmuration import kms_wrapped\nplaintext = 'the quick brown fox jumps over the lazy dog'\nkey_alias = 'my kms key alias'\nciphertext = kms_wrapped.encrypt(plaintext, key_alias, region='us-west-1', profile='company')\ndecrypted = kms_wrapped.decrypt(ciphertext, region='us-west-1', profile='company')\nassert decrypted == plaintext\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/angry-penguins/murmuration", "keywords": "aws python encryption cryptography kms", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "murmuration", "package_url": "https://pypi.org/project/murmuration/", "platform": "", "project_url": "https://pypi.org/project/murmuration/", "project_urls": { "Homepage": "https://github.com/angry-penguins/murmuration" }, "release_url": "https://pypi.org/project/murmuration/0.6/", "requires_dist": [ "boto3 (>=1.9.0)", "pycryptodome (>=3.7.3)" ], "requires_python": "", "summary": "encryption primitives for use with aws", "version": "0.6" }, "last_serial": 5438083, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "b9c02af51cb0ff531031d2875df4ffee", "sha256": "fa1604b3859842229a6fab911e2133f52e6831657bd793aa61a357355ddfeca2" }, "downloads": -1, "filename": "murmuration-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b9c02af51cb0ff531031d2875df4ffee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6900, "upload_time": "2019-02-10T22:02:30", "url": "https://files.pythonhosted.org/packages/97/a1/73a4177e88acef011aa99dbf44d98d8ed5d883818a5ee5053264cace132a/murmuration-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c30b66a936d4980c0da17d3cfccbd3f", "sha256": "929c8a521334e2646ee1cae5f54d4bc7649de905944d9f181b731d6bf52a2a83" }, "downloads": -1, "filename": "murmuration-0.1.tar.gz", "has_sig": false, "md5_digest": "0c30b66a936d4980c0da17d3cfccbd3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5352, "upload_time": "2019-02-10T22:02:33", "url": "https://files.pythonhosted.org/packages/07/c3/a94c39ace4678c5b64057260ba0c72b3c17104efca9e68c559dddecfea6a/murmuration-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "e04cf971db2a2ea1b944cdce53994b4d", "sha256": "dd5404afdbfb157abc92907d5ce58d5b822964943ee45dd1859f391d766612cd" }, "downloads": -1, "filename": "murmuration-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e04cf971db2a2ea1b944cdce53994b4d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6928, "upload_time": "2019-02-10T22:08:55", "url": "https://files.pythonhosted.org/packages/5a/68/907a023186c7616e6b161cc7d3221877a4d56ed1230d1c58347d5e11bfbd/murmuration-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "38abe2bcc0f83be28caac5f973f1b941", "sha256": "6a150cc003c5e224a2f831bfa02f589eb20d9fec3c941ce4d2a19d14d79f4119" }, "downloads": -1, "filename": "murmuration-0.2.tar.gz", "has_sig": false, "md5_digest": "38abe2bcc0f83be28caac5f973f1b941", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5389, "upload_time": "2019-02-10T22:08:56", "url": "https://files.pythonhosted.org/packages/e6/0c/62ad7696ee97190f5d1be555ae50669fad9843c17c94745247c4a834c037/murmuration-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "d403219521172bded043fab1512eb130", "sha256": "868c0359810b6958fd6d7e9a9d80f9b63c0cb2ac19061a819fdfec5b0e38c0da" }, "downloads": -1, "filename": "murmuration-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "d403219521172bded043fab1512eb130", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6980, "upload_time": "2019-02-14T02:08:47", "url": "https://files.pythonhosted.org/packages/d9/84/ad07727a5832eadb33e997c13815660829e65e309bdb0110c4da6fff1ef6/murmuration-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0850a764986fc74ffa680f2432f125cc", "sha256": "033dc2d00aa3a25847c1a23a1ad348ac7ac62940b300ce5b93365502f4136e6b" }, "downloads": -1, "filename": "murmuration-0.3.tar.gz", "has_sig": false, "md5_digest": "0850a764986fc74ffa680f2432f125cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5487, "upload_time": "2019-02-14T02:08:48", "url": "https://files.pythonhosted.org/packages/5a/81/f7e6551d37a8ee4b9e46a1875a03be1ee311099f7c0d091e62747ea3ae4d/murmuration-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "f7756e561c72ee669f6cfbe555f6d84b", "sha256": "43da95ab27cb1c6d22c28040353cf6a1e415433790ab886bc8277f5c014b6cc5" }, "downloads": -1, "filename": "murmuration-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f7756e561c72ee669f6cfbe555f6d84b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7065, "upload_time": "2019-02-14T02:22:06", "url": "https://files.pythonhosted.org/packages/2d/36/a2cffb1c2f2d3ed19c8929f00ab5db42f3acaa25bfea17fb5979f6e92fb6/murmuration-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "445984e6f3ebea8e214bd174237c8bf1", "sha256": "3d0f517888f52a0975afd2c396fbd3a1ff0427ae2eb8ec07f2148727847c7e86" }, "downloads": -1, "filename": "murmuration-0.4.tar.gz", "has_sig": false, "md5_digest": "445984e6f3ebea8e214bd174237c8bf1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5563, "upload_time": "2019-02-14T02:22:07", "url": "https://files.pythonhosted.org/packages/cf/32/2c453d90a7347255cf53ccd44874f5148f4b5ab0a39d7d97af6606bccad1/murmuration-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "034e6c1a8496f62490842cc769d889c7", "sha256": "48045484631bed817fc9172bfd352b76616b66c4bc86ae76331424658c7ac246" }, "downloads": -1, "filename": "murmuration-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "034e6c1a8496f62490842cc769d889c7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7062, "upload_time": "2019-02-14T03:30:07", "url": "https://files.pythonhosted.org/packages/8f/dd/c4b057081619e647f2a73618d67e92b46aa387ccb441f0ea71d3b30460e4/murmuration-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9aa13f9fbbc03e8bea09e4f650093c6d", "sha256": "1ab418000f02bb16924d78e9ffb9aa57fc7b2cd6219385749b9963b4d8cd74d8" }, "downloads": -1, "filename": "murmuration-0.5.tar.gz", "has_sig": false, "md5_digest": "9aa13f9fbbc03e8bea09e4f650093c6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5567, "upload_time": "2019-02-14T03:30:09", "url": "https://files.pythonhosted.org/packages/44/fc/a7395dfadd57bbd555d3491cc5cc75393bed05ad3bc69a21df29d1b24ec3/murmuration-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "8cbc651b758d218a51483ab703abb5e8", "sha256": "01b5e03b8e5425f974dc156127abe884b9f7e02e5af4fb8f5467f13c32b11067" }, "downloads": -1, "filename": "murmuration-0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8cbc651b758d218a51483ab703abb5e8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7068, "upload_time": "2019-06-23T19:05:11", "url": "https://files.pythonhosted.org/packages/0c/b2/6d5dca836df9e8a45c7a101211c43074fa732c1fa7101fae009ff63f0ac2/murmuration-0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aad95ca2972cdc23dd0b9c0662e6d75f", "sha256": "dc1b8d4a0b72d69b20b2ba92dd6998dacdb2f80b5f37b2631eff9c414a4fdeb6" }, "downloads": -1, "filename": "murmuration-0.6.tar.gz", "has_sig": false, "md5_digest": "aad95ca2972cdc23dd0b9c0662e6d75f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5595, "upload_time": "2019-06-23T19:05:13", "url": "https://files.pythonhosted.org/packages/61/30/cb94dcbc0ed0b5cffcc4fd5320ed37a230c9792a646d846b3ce32d72c43f/murmuration-0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8cbc651b758d218a51483ab703abb5e8", "sha256": "01b5e03b8e5425f974dc156127abe884b9f7e02e5af4fb8f5467f13c32b11067" }, "downloads": -1, "filename": "murmuration-0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8cbc651b758d218a51483ab703abb5e8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7068, "upload_time": "2019-06-23T19:05:11", "url": "https://files.pythonhosted.org/packages/0c/b2/6d5dca836df9e8a45c7a101211c43074fa732c1fa7101fae009ff63f0ac2/murmuration-0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aad95ca2972cdc23dd0b9c0662e6d75f", "sha256": "dc1b8d4a0b72d69b20b2ba92dd6998dacdb2f80b5f37b2631eff9c414a4fdeb6" }, "downloads": -1, "filename": "murmuration-0.6.tar.gz", "has_sig": false, "md5_digest": "aad95ca2972cdc23dd0b9c0662e6d75f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5595, "upload_time": "2019-06-23T19:05:13", "url": "https://files.pythonhosted.org/packages/61/30/cb94dcbc0ed0b5cffcc4fd5320ed37a230c9792a646d846b3ce32d72c43f/murmuration-0.6.tar.gz" } ] }