{"id":20060639,"url":"https://github.com/oasisprotocol/deoxysii","last_synced_at":"2025-05-05T15:33:19.588Z","repository":{"id":43479900,"uuid":"176518556","full_name":"oasisprotocol/deoxysii","owner":"oasisprotocol","description":"Go Deoxys-II-256-128","archived":false,"fork":false,"pushed_at":"2024-04-17T15:09:25.000Z","size":252,"stargazers_count":24,"open_issues_count":0,"forks_count":3,"subscribers_count":29,"default_branch":"master","last_synced_at":"2024-06-21T18:12:24.783Z","etag":null,"topics":["aead","cryptography","go","golang","mrae"],"latest_commit_sha":null,"homepage":null,"language":"Go","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/oasisprotocol.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-19T13:31:26.000Z","updated_at":"2024-04-02T01:37:14.000Z","dependencies_parsed_at":"2024-06-21T16:51:05.675Z","dependency_job_id":"81feaf62-a721-4ed2-9077-96b909be49e1","html_url":"https://github.com/oasisprotocol/deoxysii","commit_stats":{"total_commits":37,"total_committers":4,"mean_commits":9.25,"dds":"0.21621621621621623","last_synced_commit":"2091330c22b71dd4e04e15306498e68f3a1b3afc"},"previous_names":["oasislabs/deoxysii"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Fdeoxysii","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Fdeoxysii/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Fdeoxysii/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Fdeoxysii/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oasisprotocol","download_url":"https://codeload.github.com/oasisprotocol/deoxysii/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224452753,"owners_count":17313668,"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":["aead","cryptography","go","golang","mrae"],"created_at":"2024-11-13T13:16:07.254Z","updated_at":"2024-11-13T13:16:07.772Z","avatar_url":"https://github.com/oasisprotocol.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"### deoxysii - Deoxys-II-256-128 for Go\n\n[![Build status][github-ci-tests-badge]][github-ci-tests-link]\n[![GoDoc][godoc-badge]][godoc-link]\n\n[github-ci-tests-badge]: https://github.com/oasisprotocol/deoxysii/workflows/ci-tests/badge.svg\n[github-ci-tests-link]: https://github.com/oasisprotocol/deoxysii/actions?query=workflow:ci-tests\n[godoc-badge]: https://godoc.org/github.com/oasisprotocol/deoxysii?status.svg\n[godoc-link]: https://godoc.org/github.com/oasisprotocol/deoxysii\n\nThis package provides a \"from-the-paper\" implementation of the\n[Deoxys-II-256-128 v1.43][1] algorithm from the [final CAESAR portfolio][2].\n\n#### Implementations\n\n * (`ct32`) Portable 32 bit constant time implementation (Extremely slow).\n\n * (`ct64`) Portable 64 bit constant time implementation (Extremely slow).\n\n * (`aesni`) SSSE3 + AESNI implementation for `amd64`\n\n * (`vartime`) Portable and variable time (insecure) implementation,\n   for illustrative purposes (tested/benchmarked but never reachable\n   or usable by external consumers).\n\n#### Notes\n\nPerformance for the AES-NI implementation still has room for improvement,\nhowever given that the Deoxys-BC-384 tweakable block cipher has 3 more\nrounds than AES-256, and Deoxys-II will do two passes over the data\npayload, it is likely reasonably close to what can be expected.\n\nThe pure software constant time implementation would benefit considerably\nfrom vector optimizations as the amount of internal paralleism is quite\nhigh, making it well suited to be implemented with [bitslicing][3].\nAdditionally a rather ludicrous amount of time is spent implementing the\n`h` permutation in software, that can be replaced with a single `PSHUFB`\ninstruction.\n\n[1]: https://drive.google.com/file/d/1IUELtBUdp6vrY8uhxHhycsGuSH_XlpMJ/view?usp=drive_web\n[2]: https://competitions.cr.yp.to/caesar-submissions.html\n[3]: https://eprint.iacr.org/2009/129.pdf\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foasisprotocol%2Fdeoxysii","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foasisprotocol%2Fdeoxysii","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foasisprotocol%2Fdeoxysii/lists"}