{ "info": { "author": "Sundar Nagarajan", "author_email": "UNKNOWN", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "py\\_poly1305\\_donna\n===================\n\nFork of poly1305-donna by floodberry\n(https://github.com/floodyberry/poly1305-donna) adding a Python wrapper\nas an extension module\n\nWhat is a HMAC (Hash-based Message Authentication Code)?\n--------------------------------------------------------\n\nFrom wikipedia\n(https://en.wikipedia.org/wiki/Hash-based_message_authentication_code):\n\nIn cryptography, a keyed-hash message authentication code (HMAC) is a\nspecific construction for calculating a message authentication code\n(MAC) involving a cryptographic hash function in combination with a\nsecret cryptographic key. As with any MAC, it may be used to\nsimultaneously verify both the data integrity and the authentication of\na message. Any cryptographic hash function, such as MD5 or SHA-1, may be\nused in the calculation of an HMAC; the resulting MAC algorithm is\ntermed HMAC-MD5 or HMAC-SHA1 accordingly. The cryptographic strength of\nthe HMAC depends upon the cryptographic strength of the underlying hash\nfunction, the size of its hash output, and on the size and quality of\nthe key.\n\nWhat is poly1305?\n-----------------\n\nFrom http://cr.yp.to/mac.html:\n\nPoly1305-AES is a state-of-the-art secret-key message-authentication\ncode suitable for a wide variety of applications. Poly1305-AES computes\na 16-byte authenticator of a message of any length, using a 16-byte\nnonce (unique message number) and a 32-byte secret key. Attackers can't\nmodify or forge messages if the message sender transmits an\nauthenticator along with each message and the message receiver checks\neach authenticator.\n\nLICENSE:\n========\n\nFollowing floodberry's code license, this code is also released into the\npublic domain. See LICENSE file.\n\nThe 'floodberry.poly1305\\_donna' directory contains the unmodified\nsource code forked from poly1305-donna from\nhttps://github.com/floodyberry/poly1305-donna\n\nEXAMPLES\n========\n\n::\n\n from poly1305_donna import (\n self_test, get_key, authenticate, verify,\n )\n print('Power-On Self Test result: ' + str(self_test()))\n msg = 'Hello world'\n print('\\nTest class methods - authenticate, verify')\n kr = get_key()\n auth = authenticate(kr, msg)\n\n bad_kr = get_key()\n bad_msg = msg + '1'\n bad_auth = authenticate(kr, bad_msg)\n\n print('Good: %s\\nBad auth: %s\\nBad kr: %s\\nBad msg: %s' % (\n str(verify(auth, kr, msg)),\n str(verify(bad_auth, kr, msg)),\n str(verify(auth, bad_kr, msg)),\n str(verify(auth, kr, bad_msg))\n ))\n\nAlternately, run the test script that is shipped:\n\n::\n\n python -m poly1305_donna.test\n\nTo run a simple benchmark:\n\n::\n\n python -m poly1305_donna.benchmark\n\nINSTALLATION\n============\n\nUsing pip:\n\n::\n\n pip install 'git+https://github.com/sundarnagarajan/py_poly1305-donna.git'\n\nUsing setup.py:\n\n::\n\n python setup.py install\n\nBUILD / INSTALL REQUIREMENTS\n============================\n\n*GNU/Linux:*\n\n- Python Tested on 2.7.6, 3.4.3, pypy 2.7.10 (pypy 4.0.1)\n- cffi >= 1.0.0\n- six\n- Python.h (libpython-dev on Debian-like systems)\n- gcc (build-essential on Debian-like systems)\n\nNOTES\n=====\n\npy\\_poly1305\\_donna does not offer an API for incremental update and\nHMAC calculation.", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/sundarnagarajan/py_poly1305-donna/tree/0.11.15", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sundarnagarajan/py_poly1305-donna", "keywords": null, "license": "License :: OSI Approved :: MIT License", "maintainer": null, "maintainer_email": null, "name": "poly1305_donna", "package_url": "https://pypi.org/project/poly1305_donna/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/poly1305_donna/", "project_urls": { "Download": "https://github.com/sundarnagarajan/py_poly1305-donna/tree/0.11.15", "Homepage": "https://github.com/sundarnagarajan/py_poly1305-donna" }, "release_url": "https://pypi.org/project/poly1305_donna/0.11.15/", "requires_dist": null, "requires_python": null, "summary": "Python wrapper around poly1305_donna by floodberry", "version": "0.11.15" }, "last_serial": 2339122, "releases": { "0.11.13": [ { "comment_text": "", "digests": { "md5": "86785ef7b49015a6535a2c618eadd77c", "sha256": "2ae65c25717aba3d631d5bb945a67cd68206af7366bdbc50d598e2335b5de528" }, "downloads": -1, "filename": "poly1305_donna-0.11.13.tar.gz", "has_sig": false, "md5_digest": "86785ef7b49015a6535a2c618eadd77c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16011, "upload_time": "2016-03-26T21:08:22", "url": "https://files.pythonhosted.org/packages/ef/e1/1fbfa95ac5747349cd005e4a0c64553895c677f7ad573b8cc629942c2907/poly1305_donna-0.11.13.tar.gz" } ], "0.11.14": [ { "comment_text": "", "digests": { "md5": "86d58842eb9e028a2e25fae0a5d86f17", "sha256": "4de2d7927879d4fd59f1254b69dd783a296d344d57e2c5af566837e5ba716bf4" }, "downloads": -1, "filename": "poly1305_donna-0.11.14.tar.gz", "has_sig": false, "md5_digest": "86d58842eb9e028a2e25fae0a5d86f17", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16420, "upload_time": "2016-03-27T01:25:57", "url": "https://files.pythonhosted.org/packages/73/54/2e0505ece74080fce54ae73a652b4cfc518177652bf93e1d1a1a00ad93ed/poly1305_donna-0.11.14.tar.gz" } ], "0.11.15": [ { "comment_text": "", "digests": { "md5": "a2303d032cb0b9df1af9aef0ce32270a", "sha256": "4467d34c4cbab1ec6e2f61d16d1a256a19b96fd8ad89696643282a7163704d17" }, "downloads": -1, "filename": "poly1305_donna-0.11.15.tar.gz", "has_sig": false, "md5_digest": "a2303d032cb0b9df1af9aef0ce32270a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16341, "upload_time": "2016-09-12T23:06:50", "url": "https://files.pythonhosted.org/packages/78/b9/72b7778a05714973b24be1f103d0a194ca66b8a0519a1334511928d14e7e/poly1305_donna-0.11.15.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a2303d032cb0b9df1af9aef0ce32270a", "sha256": "4467d34c4cbab1ec6e2f61d16d1a256a19b96fd8ad89696643282a7163704d17" }, "downloads": -1, "filename": "poly1305_donna-0.11.15.tar.gz", "has_sig": false, "md5_digest": "a2303d032cb0b9df1af9aef0ce32270a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16341, "upload_time": "2016-09-12T23:06:50", "url": "https://files.pythonhosted.org/packages/78/b9/72b7778a05714973b24be1f103d0a194ca66b8a0519a1334511928d14e7e/poly1305_donna-0.11.15.tar.gz" } ] }