{"id":30161312,"url":"https://github.com/jimouris/ring-signatures","last_synced_at":"2026-05-15T20:02:31.333Z","repository":{"id":308026248,"uuid":"1031395732","full_name":"jimouris/ring-signatures","owner":"jimouris","description":"A Rust implementation of ring signatures using Ristretto.","archived":false,"fork":false,"pushed_at":"2025-08-03T17:38:58.000Z","size":230,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-11T16:38:52.243Z","etag":null,"topics":["crypto","cryptocurrency","cryptography","monero","ring","ring-signature","ring-signature-scheme","ring-signatures"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/jimouris.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-03T16:44:56.000Z","updated_at":"2025-08-03T17:40:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"a9b328af-386d-4b30-bb35-7023b13206f8","html_url":"https://github.com/jimouris/ring-signatures","commit_stats":null,"previous_names":["jimouris/ring-signatures"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jimouris/ring-signatures","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimouris%2Fring-signatures","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimouris%2Fring-signatures/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimouris%2Fring-signatures/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimouris%2Fring-signatures/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jimouris","download_url":"https://codeload.github.com/jimouris/ring-signatures/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimouris%2Fring-signatures/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33077926,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["crypto","cryptocurrency","cryptography","monero","ring","ring-signature","ring-signature-scheme","ring-signatures"],"created_at":"2025-08-11T16:35:46.165Z","updated_at":"2026-05-15T20:02:31.328Z","avatar_url":"https://github.com/jimouris.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"images/logo.png\" alt=\"Ring Signatures Logo\" width=\"150\"/\u003e\n\u003c/p\u003e\n\n# Ring Signatures \u003ca href=\"https://github.com/jimouris/ring-signatures/blob/main/LICENSE\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-GPLv3-blue.svg?logo=gnu\" alt=\"GPLv3 License\"/\u003e\u003c/a\u003e\n\nA ring signature allows a member of a group to sign a message on behalf of the group, without revealing who the actual signer is.\nIt is used in privacy-focused systems like [Monero](https://www.getmonero.org/) to hide the sender among a group of decoys ([Monero (RingCT)](https://www.getmonero.org/resources/moneropedia/ringCT.html)).\n\n\n\u003e [!NOTE]\n\u003e Implementation of [ring signatures](https://en.wikipedia.org/wiki/Ring_signature) with the [curve25519-dalek](https://docs.rs/curve25519-dalek/latest/curve25519_dalek/index.html) crate using the Ristretto group ([Why Ristretto?](https://ristretto.group/why_ristretto.html)).\n\n# Usage\n\n```shell\nOptions:\n  -n, --n \u003cN\u003e              Ring size [default: 5]\n  -s, --signer \u003cSIGNER\u003e    Index of signer [default: 2]\n  -m, --message \u003cMESSAGE\u003e  Message to sign [default: \"Ring signatures are cool.\"]\n```\n\nFor example,\n```shell\ncargo run -r -- -n 10 -s 2 -m \"Ring signatures are cool.\"\n```\noutputs:\n```shell\nNumber of Signers : 10\nSigner Index      : 2\nMessage           : Ring signatures are cool.\n\nSignature:\n  c0 = 99b46fb00ae67a7e12b9cc5097c22db6bb855aa23d0182742fd90a84538afc09\n  s[0] = 15d5ba651ff5757af80ce986c6041ac31366c841127bc508fc8a78438756f700\n  s[1] = d198821b087dff7d9099395cdd531a65b3862ec62161418fbc4965ca9ab3740b\n  s[2] = c6de14551480fef1c91330beffce60e8456035ac6a6fa5b7c61993daa2e8990b\n  s[3] = e8ef01811d9237f7bbcae0bc2c1270b8b916a48fd07d9dc152438f68df934b01\n  s[4] = c60387b3b840631460a56dc9a2bf4ae93c70f9c439033b5e7567b08231cd7b02\n  s[5] = 294ed77e893b2146aa6d6e28c2d6ed9a4451647045982404ef16a9c20e9c910f\n  s[6] = 65763d4500b4d6a83f3d3e978b58e2139078f5a182dba48ca36c05c04caf8f0b\n  s[7] = e0572ac14dce8a50c1a2fa33f48bc9bbe1a0e0be99bcab4e5ca6925d3a973705\n  s[8] = 559603b71a6036a49e25f0a00323d92ce8c55cde176295a6bb947e141575320c\n  s[9] = 948038559c6d4ceebff4e15e1cba5f94a879fcfe8fbdc6f2a4dce410f5414f0c\n\nValid signature: true\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimouris%2Fring-signatures","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjimouris%2Fring-signatures","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimouris%2Fring-signatures/lists"}