{"id":13438893,"url":"https://github.com/Fraunhofer-AISEC/rabe","last_synced_at":"2025-03-20T06:31:44.067Z","repository":{"id":41859719,"uuid":"137991556","full_name":"Fraunhofer-AISEC/rabe","owner":"Fraunhofer-AISEC","description":"rabe is an Attribute Based Encryption library, written in Rust","archived":false,"fork":false,"pushed_at":"2025-03-10T13:17:34.000Z","size":505,"stargazers_count":82,"open_issues_count":2,"forks_count":23,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-10T14:25:10.723Z","etag":null,"topics":["abe","attribute-based-encryption","cryptography","order-preserving-encryption","pairing-based","rust","rust-library","somewhat-homomorphic"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/Fraunhofer-AISEC.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-06-20T06:48:05.000Z","updated_at":"2025-03-10T13:17:37.000Z","dependencies_parsed_at":"2024-01-07T05:53:26.663Z","dependency_job_id":"9d9cd776-de20-4992-86de-ca9e9ceb3010","html_url":"https://github.com/Fraunhofer-AISEC/rabe","commit_stats":{"total_commits":251,"total_committers":9,"mean_commits":27.88888888888889,"dds":"0.40637450199203184","last_synced_commit":"e4dff4a9975222a7fe69a027fe397e29379b53af"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fraunhofer-AISEC%2Frabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fraunhofer-AISEC%2Frabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fraunhofer-AISEC%2Frabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fraunhofer-AISEC%2Frabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fraunhofer-AISEC","download_url":"https://codeload.github.com/Fraunhofer-AISEC/rabe/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244565616,"owners_count":20473306,"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":["abe","attribute-based-encryption","cryptography","order-preserving-encryption","pairing-based","rust","rust-library","somewhat-homomorphic"],"created_at":"2024-07-31T03:01:09.403Z","updated_at":"2025-03-20T06:31:39.060Z","avatar_url":"https://github.com/Fraunhofer-AISEC.png","language":"Rust","funding_links":[],"categories":["Libraries","库","库 Libraries"],"sub_categories":["Cryptography","加密","密码学 Cryptography"],"readme":"\n[![Crates.io](https://img.shields.io/crates/v/rabe?style=plastic)](https://crates.io/crates/rabe)\n[![Docs.rs](https://img.shields.io/docsrs/rabe?style=plastic)](https://docs.rs/rabe)\n[![License](https://img.shields.io/crates/l/rabe?style=plastic)](https://github.com/Fraunhofer-AISEC/rabe/blob/master/LICENSE)\n\n# Rabe\n\nrabe is a rust library implementing several Attribute Based Encryption (ABE) schemes using a modified version of the `bn` library of zcash (type-3 pairing / Baretto Naering curve). The modification of `bn` brings in `serde` or `borsh` instead of the deprecated `rustc_serialize`.\nThe standard serialization library is `serde`. If you want to use `borsh`, you need to specify it as feature.\n\nFor integration in distributed applications contact [us](mailto:info@aisec.fraunhofer.de).\n\n# Implemented Ciphertext Policy Schemes (CP-ABE)\n\n## BDABE CP-ABE\n\nGeorg Bramm, Mark Gall, Julian Schütte , \"Blockchain based Distributed Attribute-based Encryption\". In Proceedings of the 15th International Joint Conference on e-Business and Telecommunications (ICETE 2018) - Volume 2: SECRYPT, pages 99-110. Available from https://doi.org/10.5220/0006852602650276\n\n## AC17 CP-ABE\n\nShashank Agrawal, Melissa Chase, \"FAME: Fast Attribute-based Message Encryption\", (Section 3). In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security 2017. Available from https://eprint.iacr.org/2017/807.pdf\n\n## AW11 CP-ABE\n\nLewko, Allison, and Brent Waters, \"Decentralizing Attribute-Based Encryption.\", (Appendix D). In Eurocrypt 2011. Available from http://eprint.iacr.org/2010/351.pdf\n\n## BSW CP-ABE\n\nJohn Bethencourt, Amit Sahai, Brent Waters, \"Ciphertext-Policy Attribute-Based Encryption\" In IEEE Symposion on Security and Privacy, 2007. Available from https://doi.org/10.1109/SP.2007.11\n\n## MKE08 CP-ABE\n\nS Müller, S Katzenbeisser, C Eckert , \"Distributed Attribute-based Encryption\". Published in International Conference on Information Security and Cryptology, Heidelberg, 2008. Available from http://www2.seceng.informatik.tu-darmstadt.de/assets/mueller/icisc08.pdf\n\n\n# Implemented Key Policy Schemes (KP-ABE)\n\n## AC17 KP-ABE\n\nShashank Agrawal, Melissa Chase, \"FAME: Fast Attribute-based Message Encryption\". In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security 2017. Available from https://eprint.iacr.org/2017/807.pdf\n\n## LSW KP-ABE \n\nAllison Lewko, Amit Sahai and Brent Waters, \"Revocation Systems with Very Small Private Keys\". In IEEE Symposium on Security and Privacy, 2010. SP'10. Available from http://eprint.iacr.org/2008/309.pdf\n\n## YCT14 KP-ABE\n\nXuanxia Yao, Zhi Chen, Ye Tian, \"A lightweight attribute-based encryption scheme for the Internet of things\". In Future Generation Computer Systems. Available from http://www.sciencedirect.com/science/article/pii/S0167739X14002039\n# WARNING !\nThe YCT14 scheme was broken in [1] and a 'fixed' version was again broken in [2].\nDemonstration how the attack can be implemented in practice in https://www.blackhat.com/eu-21/briefings/schedule/index.html#practical-attacks-against-attribute-based-encryption-25058.\n[1] https://ieeexplore.ieee.org/document/8651482\n[2] https://ieeexplore.ieee.org/document/9291064\n\n# Building rabe lib\n\nIn order to compile and test:\n- install rust nightly\n- git clone library \n- install build-essential\n- and then run `cargo build --release \u0026\u0026 RUST_BACKTRACE=1 cargo test -- --nocapture` \n- rabe is also available with borsh serialization. just add `--no-default-features --features borsh` to the build command\n\n# Building rabe console app\n\nSee [README.md](./rabe-console/README.md)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFraunhofer-AISEC%2Frabe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFraunhofer-AISEC%2Frabe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFraunhofer-AISEC%2Frabe/lists"}