{ "info": { "author": "J. Ryan Littlefield", "author_email": "ryan@ryanlittlefield.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# pyciphersweet\nPython implementation of ciphersweet\n\nThis is a very early stage implementation of ciphersweet from https://github.com/paragonie/ciphersweet\nPlease do not attempt to use this in production yet, as I'm not sure if everything works. There are tests that match the original ciphersweet tests and those tests are currently passing.\n\nCurrently, only the \"modern\" modes are supported.\n\nHere is an example of how to create an encrypted field of the last four digits of a number:\n\n import ciphersweet\n import secrets\n \n nacl_key = secrets.token_bytes(32)\n field = ciphersweet.EncryptedField(\n base_key=nacl_key,\n table='contacts',\n field='ssn',\n )\n t = ciphersweet.Transformation.last_four_digits\n field.add_blind_index('contact_ssn_last_four', t, output_length=16, fast=True)\n index = field.get_blind_index('hello', name='contact_ssn_last_four')\n \n print(index['value'])\n \nFor documentation on how this works, look into the original ciphersweet project.\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/rlittlefield/pyciphersweet", "keywords": "", "license": "MIT", "maintainer": "J. Ryan Littlefield", "maintainer_email": "ryan@ryanlittlefield.com", "name": "ciphersweet", "package_url": "https://pypi.org/project/ciphersweet/", "platform": "", "project_url": "https://pypi.org/project/ciphersweet/", "project_urls": { "Homepage": "https://github.com/rlittlefield/pyciphersweet" }, "release_url": "https://pypi.org/project/ciphersweet/0.1.1/", "requires_dist": [ "pysodium (>=0.7.0,<0.8.0)", "cryptography (>=2.3,<3.0)" ], "requires_python": "", "summary": "Python implementation of ciphersweet", "version": "0.1.1" }, "last_serial": 4371194, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "6b6b379f461fca8072e02c2dec693423", "sha256": "abb28da567152060f0ef4ab87f05880bb7f7255e9f4977c2fc4fe63adcf98ec8" }, "downloads": -1, "filename": "ciphersweet-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6b6b379f461fca8072e02c2dec693423", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7701, "upload_time": "2018-10-13T06:01:18", "url": "https://files.pythonhosted.org/packages/68/9b/53d810513d113e177bd73b2470897dca4d6fb3e6ca5165bf2426e9156fbf/ciphersweet-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0a47744c6bc8679d795eb75700447176", "sha256": "44512f32debfcc42238b84dee1c0ca614630c8537418a431660e58a829fa539d" }, "downloads": -1, "filename": "ciphersweet-0.1.0.tar.gz", "has_sig": false, "md5_digest": "0a47744c6bc8679d795eb75700447176", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2847, "upload_time": "2018-10-13T06:01:20", "url": "https://files.pythonhosted.org/packages/2d/ce/b14dca4d082252b0f319f5fcc87031c087828213b55d00ba516b353ad7d6/ciphersweet-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "29620b72171094e2d6fb43f2d50dc0b0", "sha256": "ce8a8c2da637b308ab65eb7903d2886d539dc2976cf69c057bc525dc7f61b5ff" }, "downloads": -1, "filename": "ciphersweet-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "29620b72171094e2d6fb43f2d50dc0b0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9512, "upload_time": "2018-10-13T07:00:25", "url": "https://files.pythonhosted.org/packages/6a/1a/24fa99e88f4fc21d3d1cc824fa5120a11a2d4900924d2c1dad96b8fb335f/ciphersweet-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "45f17df04c656857f4f8641770d337f4", "sha256": "b3718211ccfa1d4a9cc8cf45d164bc8c617315451a795c0f6becdc88b47e09f7" }, "downloads": -1, "filename": "ciphersweet-0.1.1.tar.gz", "has_sig": false, "md5_digest": "45f17df04c656857f4f8641770d337f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4255, "upload_time": "2018-10-13T07:00:27", "url": "https://files.pythonhosted.org/packages/2a/aa/30d1101f02b5346d999b0d75ee779fde29dec40553028211ee794051b3d2/ciphersweet-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "29620b72171094e2d6fb43f2d50dc0b0", "sha256": "ce8a8c2da637b308ab65eb7903d2886d539dc2976cf69c057bc525dc7f61b5ff" }, "downloads": -1, "filename": "ciphersweet-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "29620b72171094e2d6fb43f2d50dc0b0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9512, "upload_time": "2018-10-13T07:00:25", "url": "https://files.pythonhosted.org/packages/6a/1a/24fa99e88f4fc21d3d1cc824fa5120a11a2d4900924d2c1dad96b8fb335f/ciphersweet-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "45f17df04c656857f4f8641770d337f4", "sha256": "b3718211ccfa1d4a9cc8cf45d164bc8c617315451a795c0f6becdc88b47e09f7" }, "downloads": -1, "filename": "ciphersweet-0.1.1.tar.gz", "has_sig": false, "md5_digest": "45f17df04c656857f4f8641770d337f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4255, "upload_time": "2018-10-13T07:00:27", "url": "https://files.pythonhosted.org/packages/2a/aa/30d1101f02b5346d999b0d75ee779fde29dec40553028211ee794051b3d2/ciphersweet-0.1.1.tar.gz" } ] }