{ "info": { "author": "Sergey Matveev", "author_email": "stargrave@stargrave.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Security :: Cryptography", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Pure Python 2.7/3.x GOST cryptographic functions library.\n\nGOST is GOvernment STandard of Russian Federation (and Soviet Union).\n\n* GOST 28147-89 (RFC 5830) block cipher with ECB, CNT (CTR), CFB, MAC,\n CBC (RFC 4357) modes of operation\n* various 28147-89-related S-boxes included\n* GOST R 34.11-94 hash function (RFC 5831)\n* GOST R 34.11-94 based PBKDF2 function\n* GOST R 34.11-2012 \u0421\u0442\u0440\u0438\u0431\u043e\u0433 (Streebog) hash function (RFC 6986)\n* GOST R 34.11-2012 based PBKDF2 function (\u0420 50.1.111-2016)\n* GOST R 34.10-2001 (RFC 5832) public key signature function\n* GOST R 34.10-2012 (RFC 7091) public key signature function\n* various 34.10 curve parameters included\n* Coordinates conversion from twisted Edwards to Weierstrass form and\n vice versa\n* VKO GOST R 34.10-2001 key agreement function (RFC 4357)\n* VKO GOST R 34.10-2012 key agreement function (RFC 7836)\n* 28147-89 and CryptoPro key wrapping (RFC 4357)\n* 28147-89 CryptoPro key meshing for CFB and CBC modes (RFC 4357)\n* RFC 4491 (using GOST algorithms with X.509) compatibility helpers\n* GOST R 34.12-2015 128-bit block cipher \u041a\u0443\u0437\u043d\u0435\u0447\u0438\u043a (Kuznechik) (RFC 7801)\n* GOST R 34.12-2015 64-bit block cipher \u041c\u0430\u0433\u043c\u0430 (Magma)\n* GOST R 34.13-2015 padding methods and block cipher modes of operation\n (ECB, CTR, OFB, CBC, CFB, MAC)\n* PEP247-compatible hash/MAC functions\n\nKnown problems: low performance and non time-constant calculations.\n\nExample 34.10-2012 keypair generation, signing and verifying:\n\n >>> from pygost.gost3410 import CURVES\n >>> curve = CURVES[\"id-tc26-gost-3410-12-512-paramSetA\"]\n >>> from os import urandom\n >>> prv_raw = urandom(32)\n >>> from pygost.gost3410 import prv_unmarshal\n >>> prv = prv_unmarshal(prv_raw)\n >>> from pygost.gost3410 import public_key\n >>> pub = public_key(curve, prv)\n >>> from pygost.gost3410 import pub_marshal\n >>> from pygost.utils import hexenc\n >>> print \"Public key is:\", hexenc(pub_marshal(pub))\n >>> from pygost import gost34112012256\n >>> data_for_signing = b\"some data\"\n >>> dgst = gost34112012256.new(data_for_signing).digest()\n >>> from pygost.gost3410 import sign\n >>> signature = sign(curve, prv, dgst, mode=2012)\n >>> from pygost.gost3410 import verify\n >>> verify(curve, pub, dgst, signature, mode=2012)\n True\n\nOther examples can be found in docstrings and unittests.\n\nPyGOST is free software: see the file COPYING for copying conditions.\n\nPyGOST'es home page is: http://pygost.cypherpunks.ru/\nYou can read about GOST algorithms more: http://gost.cypherpunks.ru/\n\nPlease send questions, bug reports and patches to\nhttps://lists.cypherpunks.ru/mailman/listinfo/gost\nmailing list. Announcements also go to this mailing list.\n\nDevelopment Git source code repository currently is located here:\nhttps://git.cypherpunks.ru/cgit.cgi/pygost.git/", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pygost.cypherpunks.ru/", "keywords": "", "license": "GPLv3+", "maintainer": "", "maintainer_email": "", "name": "pygost", "package_url": "https://pypi.org/project/pygost/", "platform": "", "project_url": "https://pypi.org/project/pygost/", "project_urls": { "Homepage": "http://pygost.cypherpunks.ru/" }, "release_url": "https://pypi.org/project/pygost/4.0/", "requires_dist": null, "requires_python": "", "summary": "Pure Python GOST cryptographic functions library", "version": "4.0" }, "last_serial": 5555965, "releases": { "2.3": [ { "comment_text": "", "digests": { "md5": "0f25c23f911ecdf53a8965879ceb34e2", "sha256": "ac4be8c615da78ce352c624ec053926d7b2fade38fcbdfa218a4d99e7f91ed56" }, "downloads": -1, "filename": "pygost-2.3.tar.gz", "has_sig": true, "md5_digest": "0f25c23f911ecdf53a8965879ceb34e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45865, "upload_time": "2016-09-25T17:46:20", "url": "https://files.pythonhosted.org/packages/ad/11/6c70893b5e57cd178f2b62620613fe8aa6d3c2eee8ff1a7f72bd4e1f2737/pygost-2.3.tar.gz" } ], "2.4": [ { "comment_text": "", "digests": { "md5": "541e44ef38f11865c6cef0b404ed399b", "sha256": "09d9eb1299b0a549497cbc9fc1ddebe1c8414c983fe54ba713fcc0609b76db90" }, "downloads": -1, "filename": "pygost-2.4.tar.gz", "has_sig": true, "md5_digest": "541e44ef38f11865c6cef0b404ed399b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45600, "upload_time": "2016-10-13T08:21:24", "url": "https://files.pythonhosted.org/packages/a4/cf/4d9cef120d9f610233bdd19bbfeaaecfb4efd1167836270c9af757f41722/pygost-2.4.tar.gz" } ], "3.0": [ { "comment_text": "", "digests": { "md5": "8674d681e3f036ab0526d23bf320f90d", "sha256": "f60ad7308d51879f6516a85f96922a743859106c263e767bd5b4b26a2dbaaaa2" }, "downloads": -1, "filename": "pygost-3.0.tar.gz", "has_sig": true, "md5_digest": "8674d681e3f036ab0526d23bf320f90d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48455, "upload_time": "2016-11-21T07:45:04", "url": "https://files.pythonhosted.org/packages/e0/ea/62469a8e2e5d515e712d1fc69bd7d4e44933b0370b65c321a011ff8c466c/pygost-3.0.tar.gz" } ], "3.1": [ { "comment_text": "", "digests": { "md5": "710289eb99ae16ce4c04d2eb49b99758", "sha256": "31665e3e7ee32c26a01d349e69befae18d18a9e71520f429507801e364e7edce" }, "downloads": -1, "filename": "pygost-3.1.tar.gz", "has_sig": true, "md5_digest": "710289eb99ae16ce4c04d2eb49b99758", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48346, "upload_time": "2016-11-28T10:36:05", "url": "https://files.pythonhosted.org/packages/1f/10/24b74cdb82929520aa4e5ad476aa2c20629a8cd5a71b72bb290f43f69167/pygost-3.1.tar.gz" } ], "3.15": [ { "comment_text": "", "digests": { "md5": "37c6758b57775d886f110642480a5e98", "sha256": "30a0a10e5eb83f93662edb713a94266e8b3cdafd4e1485d164e7b67dd65fb39c" }, "downloads": -1, "filename": "pygost-3.15.tar.gz", "has_sig": true, "md5_digest": "37c6758b57775d886f110642480a5e98", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68160, "upload_time": "2018-12-14T07:31:47", "url": "https://files.pythonhosted.org/packages/06/24/cfbeafa25229bbf4735287506a91c780773c43e19bce46e706a13b89fe17/pygost-3.15.tar.gz" } ], "3.2": [ { "comment_text": "", "digests": { "md5": "bbabdabddf7d98bf114a87395a23d022", "sha256": "a1a25a91237f443cdb568d34e0f6705408dfe33a5f2e7123416d8896ae328c6b" }, "downloads": -1, "filename": "pygost-3.2.tar.gz", "has_sig": true, "md5_digest": "bbabdabddf7d98bf114a87395a23d022", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50713, "upload_time": "2017-06-04T15:31:09", "url": "https://files.pythonhosted.org/packages/93/d7/3fcbcc816a65a9c5716335eb6157006f9cee92ddfeefa9c69f0c336e8ab0/pygost-3.2.tar.gz" } ], "3.3": [ { "comment_text": "", "digests": { "md5": "af3c1ba13eaee39f74b60c22d3a67f4e", "sha256": "5bfa2d40fe7db248f828cdbb2b9f82e670f01bb33e02a570178412c826c47f54" }, "downloads": -1, "filename": "pygost-3.3.tar.gz", "has_sig": true, "md5_digest": "af3c1ba13eaee39f74b60c22d3a67f4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51200, "upload_time": "2017-06-10T21:09:16", "url": "https://files.pythonhosted.org/packages/92/d6/e3349812e4e82a396f8f7de44e46cf1ece47812be415198eaf49455d8a37/pygost-3.3.tar.gz" } ], "4.0": [ { "comment_text": "", "digests": { "md5": "ae691994eb46691f2e7fd9166b31c0ea", "sha256": "aa5804f694029cc5ff18980f3ea1e1499df252db7a23149fee99753f7927cf55" }, "downloads": -1, "filename": "pygost-4.0.tar.gz", "has_sig": true, "md5_digest": "ae691994eb46691f2e7fd9166b31c0ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76829, "upload_time": "2019-07-19T11:43:27", "url": "https://files.pythonhosted.org/packages/3f/cb/b9e323de0647238221f4a6a0cb078b31caa36f77420dd4cbd8e7cdcfbcbc/pygost-4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ae691994eb46691f2e7fd9166b31c0ea", "sha256": "aa5804f694029cc5ff18980f3ea1e1499df252db7a23149fee99753f7927cf55" }, "downloads": -1, "filename": "pygost-4.0.tar.gz", "has_sig": true, "md5_digest": "ae691994eb46691f2e7fd9166b31c0ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76829, "upload_time": "2019-07-19T11:43:27", "url": "https://files.pythonhosted.org/packages/3f/cb/b9e323de0647238221f4a6a0cb078b31caa36f77420dd4cbd8e7cdcfbcbc/pygost-4.0.tar.gz" } ] }