{"id":15370296,"url":"https://github.com/jedisct1/zig-morus","last_synced_at":"2025-10-30T16:09:30.445Z","repository":{"id":66081716,"uuid":"422375260","full_name":"jedisct1/zig-morus","owner":"jedisct1","description":"MORUS-1280-128 implementation in Zig.","archived":false,"fork":false,"pushed_at":"2024-05-09T20:00:00.000Z","size":16,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T20:46:39.373Z","etag":null,"topics":["morus","morus-1280-128","webassembly","zig","zig-package"],"latest_commit_sha":null,"homepage":"","language":"Zig","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/jedisct1.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,"governance":null}},"created_at":"2021-10-28T22:42:35.000Z","updated_at":"2024-05-09T20:00:03.000Z","dependencies_parsed_at":"2023-11-20T19:29:29.299Z","dependency_job_id":"d3a28daa-d01a-4d5f-b511-13a3bec11f65","html_url":"https://github.com/jedisct1/zig-morus","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jedisct1%2Fzig-morus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jedisct1%2Fzig-morus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jedisct1%2Fzig-morus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jedisct1%2Fzig-morus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jedisct1","download_url":"https://codeload.github.com/jedisct1/zig-morus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249085474,"owners_count":21210267,"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":["morus","morus-1280-128","webassembly","zig","zig-package"],"created_at":"2024-10-01T13:40:48.200Z","updated_at":"2025-10-30T16:09:30.373Z","avatar_url":"https://github.com/jedisct1.png","language":"Zig","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MORUS cipher for Zig\n\nThis is a Zig implementation of\n[MORUS](https://competitions.cr.yp.to/round3/morusv2.pdf) (MORUS-1280-128)\n\nMORUS is a fast authenticated cipher for platforms without hardware AES acceleration.\n\nIt performs especially well on WebAssembly compared to alternatives.\n\nIts performance is comparable to AES-OCB, without using AES instructions.\n\nBenchmark results on x86_64 (Macbook Pro, 2,4 GHz Core i9, single core):\n\n```text\n            morus:       5890 MiB/s\n       aes128-ocb:       5824 MiB/s\n```\n\nBenchmark results for WebAssembly (WAVM)\n\n```text\n       aes128-gcm:        176 MiB/s\n       aes128-ocb:        300 MiB/s\n xchacha8Poly1305:        319 MiB/s\n       aegis-128l:        807 MiB/s\n            rocca:        854 MiB/s\n            morus:       3505 MiB/s\n```\n\nMORUS is the fastest cipher on Raspberry Pi 4, and possibly other ARM devices without crypto extensions:\n\n```text\n       aes128-gcm:         41 MiB/s\n       aes128-ocb:         81 MiB/s\n xchacha8Poly1305:        159 MiB/s\n       aegis-128l:        168 MiB/s\n            rocca:        221 MiB/s\n            morus:        713 MiB/s\n```\n\nOn platforms with AES acceleration, [AEGIS](https://jedisct1.github.io/draft-aegis-aead/draft-irtf-cfrg-aegis-aead.html)(available in the standard library as `std.crypto.aead.aegis.Aegis128L`) and [ROCCA](https://github.com/jedisct1/zig-rocca) have higher performance.\n\nBenchmark on Rocket Lake (Xeon E-2386G):\n\n```text\n       aes128-ocb:      10173 MiB/s\n       aes256-ocb:       7792 MiB/s\n            morus:      11069 MiB/s\n            rocca:      16274 MiB/s\n       aegis-128l:      21206 MiB/s (170 Gb/s)\n```\n\nWarning: MORUS doesn't provide 128-bit confidentiality even though [the best know attacks](https://eprint.iacr.org/2019/172.pdf) are impractical.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjedisct1%2Fzig-morus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjedisct1%2Fzig-morus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjedisct1%2Fzig-morus/lists"}