{"id":21187236,"url":"https://github.com/sebastinas/pyrelic","last_synced_at":"2025-07-10T02:30:56.561Z","repository":{"id":49914223,"uuid":"346027006","full_name":"sebastinas/pyrelic","owner":"sebastinas","description":"Python bindings for relic","archived":false,"fork":false,"pushed_at":"2023-12-11T18:32:30.000Z","size":136,"stargazers_count":7,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-09-15T09:01:47.674Z","etag":null,"topics":["cryptography","pairings","relic"],"latest_commit_sha":null,"homepage":"","language":"Python","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/sebastinas.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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-03-09T14:06:41.000Z","updated_at":"2023-03-09T00:27:12.000Z","dependencies_parsed_at":"2023-12-11T19:46:48.088Z","dependency_job_id":null,"html_url":"https://github.com/sebastinas/pyrelic","commit_stats":{"total_commits":131,"total_committers":5,"mean_commits":26.2,"dds":"0.36641221374045807","last_synced_commit":"1ea63420e45faf57ca3b427e84a91c78fbff2506"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebastinas%2Fpyrelic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebastinas%2Fpyrelic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebastinas%2Fpyrelic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebastinas%2Fpyrelic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sebastinas","download_url":"https://codeload.github.com/sebastinas/pyrelic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225384362,"owners_count":17465879,"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":["cryptography","pairings","relic"],"created_at":"2024-11-20T18:32:53.869Z","updated_at":"2024-11-20T18:32:54.531Z","avatar_url":"https://github.com/sebastinas.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Python bindings for relic\n\n`python-relic` (`pyrelic` for short) provides Python bindings for\n[relic](https://github.com/relic-toolkit/relic). Note though, that the bindings are driven by my\npersonal needs and they do not cover the full `relic` API.\n\n## Dependencies\n\n`pyrelic` requires the following dependencies to successfully build and install:\n* `relic \u003e= 0.5.0` with pairing support enabled.\n* `Cython \u003e= 0.28` (optional, only for building). If Cython is not available, the C files are not\n  regenerated from their source.\n* `pkgconfig` (optional, only for building). If `pkgconfig` is not available, the build system\n  assumes that `relic` can be linked as `-lrelic`.\n\n## Quick installation guide\n\nIf you are running Ubuntu 20.04, the easiest way to install `pyrelic` is via my\n[PPA](https://launchpad.net/~s-ramacher/+archive/ubuntu/ait):\n```sh\nsudo add-apt-repository -u ppa:s-ramacher/ait\nsudo apt install python3-pyrelic\n```\nIt comes with a pre-built version of `relic` configured for the pairing-friendly BLS12-381 curve.\n\nOtherwise, `pyrelic` can be installed via `pip`:\n```sh\npip install python-relic\n```\nor by running:\n```sh\npython3 setup.py install\n```\nNote though that these two approaches require a pairing-enabled build of `relic` to be available.\n\n## Examples\n\n`pyrelic` includes some examples that demonstrate the use of the module and also showcases some\npairing-based schemes:\n* `examples/bls.py`: Implements the [Boneh-Lynn-Shacham signature\n  scheme](https://doi.org/10.1007%2Fs00145-004-0314-9).\n* `examples/bfibe.py`: Implements the [Boneh-Franklin identity-based encryption\n  scheme](https://doi.org/10.1007/3-540-44647-8_13) (BasicIdent).\n* `examples/hpra.py`: Implements [homomorphic proxy\n  re-authenticators](https://doi.org/10.1007/978-3-319-70972-7_7) for linear functions.\n* `examples/bfe.py`: Implements [Bloom Filter KEM](https://doi.org/10.1007/978-3-319-78372-7_14)\n  based on the BF IBE.\n* `examples/spseq.py`: Implements a [structure-preserving signature\n  scheme on equivalence classes](https://doi.org/10.1007/978-3-662-45611-8_26).\n* `examples/chac`: Implements [core/helper anonymous\n  credentials](https://doi.org/10.1145/3460120.3484582).\n\n## License\n\nThe code is licensed under the MIT license and was written by Sebastian Ramacher (AIT Austrian\nInstitute of Technology).\n\n## Acknowledgements\n\nThis work has been partially funded by the European Union’s Horizon 2020\nresearch and innovation programme under grant agreement No 871473\n([KRAKEN](https://krakenh2020.eu/)) and by ECSEL Joint Undertaking under grant\nagreement No 826610 ([Comp4Drones](https://www.comp4drones.eu/)).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebastinas%2Fpyrelic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsebastinas%2Fpyrelic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebastinas%2Fpyrelic/lists"}