{"id":36490054,"url":"https://github.com/ymarcus93/gallisto","last_synced_at":"2026-01-12T01:54:59.486Z","repository":{"id":64303893,"uuid":"253372521","full_name":"ymarcus93/gallisto","owner":"ymarcus93","description":"A Go implementation of the Callisto protocol","archived":false,"fork":false,"pushed_at":"2020-04-11T21:06:46.000Z","size":93,"stargazers_count":5,"open_issues_count":7,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-06-20T17:39:21.861Z","etag":null,"topics":["crypto","go","oprf","shamir-secret-sharing"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ymarcus93.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":"2020-04-06T02:00:54.000Z","updated_at":"2021-12-27T01:57:36.000Z","dependencies_parsed_at":"2023-01-15T10:00:55.064Z","dependency_job_id":null,"html_url":"https://github.com/ymarcus93/gallisto","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ymarcus93/gallisto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ymarcus93%2Fgallisto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ymarcus93%2Fgallisto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ymarcus93%2Fgallisto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ymarcus93%2Fgallisto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ymarcus93","download_url":"https://codeload.github.com/ymarcus93/gallisto/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ymarcus93%2Fgallisto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28331303,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T00:36:25.062Z","status":"ssl_error","status_checked_at":"2026-01-12T00:36:15.229Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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","go","oprf","shamir-secret-sharing"],"created_at":"2026-01-12T01:54:59.418Z","updated_at":"2026-01-12T01:54:59.472Z","avatar_url":"https://github.com/ymarcus93.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gallisto\n\n![Build and test\nGo](https://github.com/ymarcus93/gallisto/workflows/Build%20and%20test%20Go/badge.svg?branch=master)\n\nA Go implementation of the [Callisto\nprotocol](https://www.projectcallisto.org/callisto-cryptographic-approach.pdf)\n\nThis repository contains both a library implementation of the protocol (see\n`protocol` folder), and an interactive CLI (see `cmd/gallisto` folder).\n\n## Download, verify, and run\n\nThe CLI is bundled as a release. Download the latest release from\n[here](https://github.com/ymarcus93/gallisto/releases)\n\nA signed list of checksums is available to verify the authenticity of all\nreleases. The checksum file (`sha256sum.txt`) is signed using the following\n[Minisign](https://jedisct1.github.io/minisign/) key:\n`RWQiEhl2q3tjeBIvQEjWyR/i/rhJqeuCc0Qjs0tXZqL3X2c221s3Se3n`\n\nYou can verify the signature and checksums as follows:\n\n```console\n$ minisign -Vm sha256sum.txt -P RWQiEhl2q3tjeBIvQEjWyR/i/rhJqeuCc0Qjs0tXZqL3X2c221s3Se3n\n$ sha256sum -c sha256sum.txt\n```\n\nNow uncompress the tar file:\n\n```console\n$ tar -xvf \u003cname-of-release\u003e.tar.gz\n```\n\nAnd run the cli:\n\n```console\n$ cd \u003cname-of-release\u003e\n$ ./gallisto\n```\n\n## CLI usage\n\nThe CLI is bundled with a Callisto server (holder of OPRF key) and has the\nfunctionality to spawn new Callisto clients (submitters of entries).\n\nThe CLI is stateless. When the program starts up, new keys for the server and\nDLOCs/LOCs are created.\n\nThe CLI provides an interactive series of menus to execute the protocol. There\nare two main actions: (1) Submit an entry, and (2) Find matches\n\n### Submit an entry\n\nThis command walks the user through a series of questions in order to submit an\nentry to the server.\n\nWhen the user asks to submit a new entry, an initial Callisto client is created.\nFor each subsequent submission, the CLI asks if a new client should be created.\n\nIf there is more than one available clients, the CLI asks the user which client to use.\n\n### Find matches\n\nThis command checks to see if there are any matches on submitted entries.\n\nRecall that in the Callisto protocol, a match between entries can only be found\nif more than two _distinct_ users report the same perpetrator. In this\nimplementation, perpetrator IDs are derived from the perpretrator's name.\n\nFor a match to be found, use the [Submit an entry](#submit-an-entry) command to\nsubmit an entry with the same perpetrator name using distinct clients.\n\nOnce a match has been found, the CLI asks which matches to decrypt. The CLI then\nuses the LOC/DLOC private keys to decrypt all entry/assignment data submitted\nfor the matched perpretrator.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fymarcus93%2Fgallisto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fymarcus93%2Fgallisto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fymarcus93%2Fgallisto/lists"}