{"id":17717314,"url":"https://github.com/bwesterb/atumd","last_synced_at":"2025-04-01T16:30:36.983Z","repository":{"id":29737912,"uuid":"122643788","full_name":"bwesterb/atumd","owner":"bwesterb","description":"Post-quantum trusted time-stamping server","archived":false,"fork":false,"pushed_at":"2024-03-17T22:18:00.000Z","size":90,"stargazers_count":13,"open_issues_count":1,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-06-19T05:38:57.507Z","etag":null,"topics":["ed25519","golang","post-quantum","server","trusted-timestamping","xmss","xmssmt"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-23T16:14:30.000Z","updated_at":"2024-04-10T18:35:02.000Z","dependencies_parsed_at":"2024-06-19T05:17:44.920Z","dependency_job_id":"5c5a3801-9c92-4a37-ad3e-d549ba28c9fd","html_url":"https://github.com/bwesterb/atumd","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwesterb%2Fatumd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwesterb%2Fatumd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwesterb%2Fatumd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwesterb%2Fatumd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bwesterb","download_url":"https://codeload.github.com/bwesterb/atumd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246620224,"owners_count":20806722,"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":["ed25519","golang","post-quantum","server","trusted-timestamping","xmss","xmssmt"],"created_at":"2024-10-25T14:19:48.296Z","updated_at":"2025-04-01T16:30:36.673Z","avatar_url":"https://github.com/bwesterb.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"atumd\n=====\n\nPost-quantum trusted time-stamping service.\nSee [go-atum](https://github.com/bwesterb/go-atum) for more information\non the protocol.\n\nSetup\n-----\nTo install `atumd`, run\n\n```\ngo get github.com/bwesterb/atumd\n```\n\nThen create a `config.yaml`:\n\n```yaml\nbindAddr: :8080\ncanonicalUrl: http://localhost:8080\n```\n\nand run\n\n```\natumd\n````\n\nYou probably want to configure a proper webserver like `nginx` to act\nas proxy and set a corresponding sane `canonicalUrl` with HTTPS.\n\nFor more configuration options, see [config.yaml.example](config.yaml.example)\n\nWarnings concerning redundancy and backups\n------------------------------------------\n\n`atumd` uses the **statefull** XMSS[MT] Siganture scheme.  Each signature\nhas a *sequence number* (seqno) and a sequence number\n[must not](https://eprint.iacr.org/2016/1042.pdf) be reused as it\nis likely to lead to signature forgery.\nA private key has a largest sequence number which depends on the\ninstance of the scheme.  The first free sequence number is stored in the\nXMSSMT private key file.  Thus\n\n- **Do not copy** the XMSSMT private key file, for then the same signature\n  sequence number might be reused.\n- In particular, **do not restore** a keyfile from a backup.\n\nInstead of **backups**, simply generate a new XMSSMT keypair for your atumd\nserver if the old one gets corrupted.  You can add the old public key to\nthe `otherTrustedPublicKeys` list in the configuration so that signatures set\nby the old public key remain trusted.\n\nInstead of copying the key for **redundant copies** of the server, create\na new keypair for each server and again add the different public keys to\nthe `otherTrustedPublicKeys` of all servers.\n\nClients\n-------\n\n - [go-atum](https://github.com/bwesterb/go-atum),\n      Go client and Cli tool\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbwesterb%2Fatumd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbwesterb%2Fatumd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbwesterb%2Fatumd/lists"}