{"id":17717294,"url":"https://github.com/bwesterb/go-sha256x8","last_synced_at":"2026-04-16T18:33:39.025Z","repository":{"id":57564575,"uuid":"136801781","full_name":"bwesterb/go-sha256x8","owner":"bwesterb","description":"Pure Go eight-way sha256 using AVX2","archived":false,"fork":false,"pushed_at":"2019-01-24T18:05:53.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-06-20T10:12:15.212Z","etag":null,"topics":["avx2","golang","peachpy","sha256","sha256x8"],"latest_commit_sha":null,"homepage":"https://godoc.org/github.com/bwesterb/go-sha256x8","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bwesterb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-06-10T11:09:18.000Z","updated_at":"2019-01-24T18:05:48.000Z","dependencies_parsed_at":"2022-09-18T04:51:34.866Z","dependency_job_id":null,"html_url":"https://github.com/bwesterb/go-sha256x8","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwesterb%2Fgo-sha256x8","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwesterb%2Fgo-sha256x8/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwesterb%2Fgo-sha256x8/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwesterb%2Fgo-sha256x8/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bwesterb","download_url":"https://codeload.github.com/bwesterb/go-sha256x8/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246465244,"owners_count":20781920,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["avx2","golang","peachpy","sha256","sha256x8"],"created_at":"2024-10-25T14:19:43.341Z","updated_at":"2026-04-16T18:33:33.976Z","avatar_url":"https://github.com/bwesterb.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"sha256x8\n========\n\nThis pure Go package implements an eight-way SHA256 using AVX2 instructions.\n\nBasic usage\n-----------\n\nThe following\n\n```go\ndata := [8][]byte{\n    []byte(\"Eight pieces of data\"),\n    []byte(\"which all must have \"),\n    []byte(\"the same length     \"),\n    []byte(\"                    \"),\n    []byte(\"Eight pieces of data\"),\n    []byte(\"which all must have \"),\n    []byte(\"the same length     \"),\n    []byte(\"                    \"),\n}\nout := [8][32]byte{}\nsha256x8.SumsInto(data,\n    [8][]byte{\n        out[0][:], out[1][:], out[2][:], out[3][:],\n        out[4][:], out[5][:], out[6][:], out[7][:],\n    })\nfmt.Printf(\"%x\\n\", out)\n```\n\nwill output\n```\n[38ce9135c02f5ee3cfc527e9d33d6cc7c5f387ee0f272af21d73b14c79c8bad4 c0aa3c27409dcebf899fb5eac8fd5ea098c22b3e2400b79f1a1128df83954aa9 928c112e5a5d9eac1d6100d603942ec4a8b1002b04449cc05fb3388bb4dde9b6 1e8a105dbcab2f5d6b30a670c0ff91942f4db62401e669331037101e94198250 38ce9135c02f5ee3cfc527e9d33d6cc7c5f387ee0f272af21d73b14c79c8bad4 c0aa3c27409dcebf899fb5eac8fd5ea098c22b3e2400b79f1a1128df83954aa9 928c112e5a5d9eac1d6100d603942ec4a8b1002b04449cc05fb3388bb4dde9b6 1e8a105dbcab2f5d6b30a670c0ff91942f4db62401e669331037101e94198250]\n```\n\n[See godoc for more documentation](https://godoc.org/github.com/bwesterb/go-sha256x8).\n\nAcknowledgement\n---------------\nThis package is based on the [SPHINCS+ AVX2 sha256x8 code](\nhttps://github.com/sphincs/sphincsplus) and Bernstein's `crypto_hash_sha256`.\n\nContributing\n------------\n\nThere is still quite a lot to do:\n\n - Optimize buffering\n - SHA256NI backend\n - AVX512 backend\n - AVX backend\n - ARM SIMD backend\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbwesterb%2Fgo-sha256x8","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbwesterb%2Fgo-sha256x8","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbwesterb%2Fgo-sha256x8/lists"}