{"id":22394120,"url":"https://github.com/flant/gogost","last_synced_at":"2026-06-29T11:31:55.941Z","repository":{"id":192589988,"uuid":"679697027","full_name":"flant/gogost","owner":"flant","description":null,"archived":false,"fork":false,"pushed_at":"2023-08-17T12:21:10.000Z","size":373,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-11-10T07:31:33.453Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flant.png","metadata":{"files":{"readme":"README","changelog":"news.texi","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-17T12:18:28.000Z","updated_at":"2025-01-06T15:06:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"b97c1e83-78f9-4621-be59-351605d766cf","html_url":"https://github.com/flant/gogost","commit_stats":null,"previous_names":["flant/gogost"],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/flant/gogost","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flant%2Fgogost","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flant%2Fgogost/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flant%2Fgogost/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flant%2Fgogost/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flant","download_url":"https://codeload.github.com/flant/gogost/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flant%2Fgogost/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34925718,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-29T02:00:05.398Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-05T05:09:05.846Z","updated_at":"2026-06-29T11:31:55.922Z","avatar_url":"https://github.com/flant.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"Pure Go 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-2012 Стрибог (Streebog) hash function (RFC 6986)\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* KDF_GOSTR3411_2012_256 KDF function (RFC 7836)\n* GOST R 34.12-2015 128-bit block cipher Кузнечик (Kuznechik) (RFC 7801)\n* GOST R 34.12-2015 64-bit block cipher Магма (Magma)\n* GOST R 34.13-2015 padding methods\n* MGM AEAD mode for 64 and 128 bit ciphers (RFC 9058)\n* TLSTREE keyscheduling function\n* ESPTREE/IKETREE (IKE* is the same as ESP*) keyscheduling function\n* PRF_IPSEC_PRFPLUS_GOSTR3411_2012_{256,512} and generic prf+ functions\n  (Р 50.1.111-2016 with IKEv2 RFC 7296)\n\nProbably you could be interested in\nGo's support of GOST TLS 1.3 (http://www.gostls13.cypherpunks.ru/).\n\nKnown problems:\n\n* intermediate calculation values are not zeroed\n* 34.10 is not time constant and slow\n\nExample 34.10-2012-256 keypair generation, signing and verifying:\n\n    import (\n        \"crypto/rand\"\n        \"io\"\n        \"go.cypherpunks.ru/gogost/v5/gost3410\"\n        \"go.cypherpunks.ru/gogost/v5/gost34112012256\"\n    )\n    func main() {\n        data := []byte(\"data to be signed\")\n        hasher := gost34112012256.New()\n        _, err := hasher.Write(data)\n        dgst := hasher.Sum(nil)\n        curve := gost3410.CurveIdtc26gost341012256paramSetB()\n        prvRaw := make([]byte, int(32))\n        _, err = io.ReadFull(rand.Reader, prvRaw)\n        prv, err := gost3410.NewPrivateKey(curve, prvRaw)\n        pub, err := prv.PublicKey()\n        pubRaw := pub.Raw()\n        sign, err := prv.Sign(rand.Reader, dgst, nil)\n        pub, err = gost3410.NewPublicKey(curve, pubRaw)\n        isValid, err := pub.VerifyDigest(dgst, sign)\n        if !isValid { panic(\"signature is invalid\") }\n    }\n\nGoGOST is free software: see the file COPYING for copying conditions.\n\nGoGOST'es home page is: http://www.gogost.cypherpunks.ru/\nYou can read about GOST algorithms more: http://www.gost.cypherpunks.ru/\n\nPlease send questions, bug reports and patches to\nhttp://lists.cypherpunks.ru/gost.html mailing list.\nAnnouncements also go to this mailing list.\n\nDevelopment Git source code repository currently is located here:\nhttp://www.git.cypherpunks.ru/?p=gogost.git;a=summary\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflant%2Fgogost","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflant%2Fgogost","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflant%2Fgogost/lists"}