{"id":18424556,"url":"https://github.com/joehendrix/lean-crypto","last_synced_at":"2026-01-23T04:57:46.433Z","repository":{"id":37078079,"uuid":"437924650","full_name":"joehendrix/lean-crypto","owner":"joehendrix","description":"Cryptographic routines for the Lean 4 language","archived":false,"fork":false,"pushed_at":"2024-09-09T09:43:04.000Z","size":4583,"stargazers_count":45,"open_issues_count":1,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-10-09T01:34:46.085Z","etag":null,"topics":["lean4"],"latest_commit_sha":null,"homepage":"","language":"Roff","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joehendrix.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":"2021-12-13T15:25:44.000Z","updated_at":"2025-10-01T09:28:24.000Z","dependencies_parsed_at":"2024-09-09T11:19:37.925Z","dependency_job_id":"1869ee18-a4f2-4ec1-962c-568b1650c8b3","html_url":"https://github.com/joehendrix/lean-crypto","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/joehendrix/lean-crypto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joehendrix%2Flean-crypto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joehendrix%2Flean-crypto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joehendrix%2Flean-crypto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joehendrix%2Flean-crypto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joehendrix","download_url":"https://codeload.github.com/joehendrix/lean-crypto/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joehendrix%2Flean-crypto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28680623,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T04:33:33.518Z","status":"ssl_error","status_checked_at":"2026-01-23T04:33:30.433Z","response_time":59,"last_error":"SSL_read: 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":["lean4"],"created_at":"2024-11-06T04:43:06.691Z","updated_at":"2026-01-23T04:57:46.412Z","avatar_url":"https://github.com/joehendrix.png","language":"Roff","funding_links":[],"categories":["Packages"],"sub_categories":[],"readme":"# Cryptography in Lean 4\n\nThis repo is intended to provide a comprehensive collection of specifications\nof cryptographic algorithms in Lean 4.  Each algorithm will have a complete,\nexecutable specification along with test vectors for some validation that the\nalgorithm is correctly specified.\n\nThe repositiory currently contains a complete specification of the\n[Classic McEliece](https://classic.mceliece.org/) algorithm on the\n``kem/mceliece348864`` parameter set.  It has been\nderived from the [Nist Round 3](https://classic.mceliece.org/nist.html)\nsubmission files.  Our [continuous integration](https://github.com/joehendrix/lean-crypto/actions)\nvalidates that the Lean specification produces the same known-answer tests\nas the C reference implementation.\n\nThe cryptographic library also links in [OpenSSL](https://www.openssl.org/)\nand [libkeccak](https://codeberg.org/maandree/libkeccak) so\nthat we can invoke fast C implementations of AES and SHAKE respectively.\n\nThis repository also includes experiments aimed at mapping the cryptographic\nspecifications into SMT so that we can take advantage of automated constraint\nsolving to reason about cryptographic specificiations including equivalence\nchecking and checking correctness properties of specifications.\n\nPlans for the Future\n====================\n\nThis repository is still in its early stages.  Our next plans are to:\n\n* Write reference specifications of AES and SHAKE that can be validated\n  against known answer tests.\n* Complete specifications of other Classic Mceliece parameter sets.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoehendrix%2Flean-crypto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoehendrix%2Flean-crypto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoehendrix%2Flean-crypto/lists"}