https://github.com/rpgp/rpgp Skip to content Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} rpgp / rpgp Public * Notifications * Fork 68 * Star 513 * Pure rust implementation of OpenPGP docs.rs/pgp License Unknown and 2 other licenses found Licenses found Unknown LICENSE.md Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT 513 stars 68 forks Branches Tags Activity Star Notifications * Code * Issues 47 * Pull requests 2 * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security * Insights rpgp/rpgp This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master BranchesTags Go to file Code Folders and files Name Name Last commit message Last commit date Latest commit History 526 Commits .github .github benches benches ios-simulator ios-simulator src src tests tests .gitignore .gitignore .gitmodules .gitmodules CHANGELOG.md CHANGELOG.md Cargo.toml Cargo.toml LICENSE-APACHE LICENSE-APACHE LICENSE-MIT LICENSE-MIT LICENSE.md LICENSE.md PLATFORMS.md PLATFORMS.md README.md README.md STATUS.md STATUS.md cliff.toml cliff.toml release.toml release.toml rust-toolchain rust-toolchain View all files Repository files navigation * README * License * Apache-2.0 license * MIT license rPGP crates.io Documentation Build Status minimum rustc 1.70 dependency status License OpenPGP implemented in pure Rust, permissively licensed rPGP is the only pure Rust implementation of OpenPGP, following RFC4880 and RFC2440. It offers a minimal low-level API and does not prescribe trust schemes or key management policies. It fully supports all functionality required by the Autocrypt 1.1 e-mail encryption specification. rPGP is regularly published as the pgp Crate and its RSA implementation lives under the collective RustCrypto umbrella. For ECC crypto support we are using Curve25519-dalek. Please note that the API is not well documented yet. You may check out the tests which exercise the API. Please open issues here if if you are attempting to use rPGP and need help. Status (Last updated: October 2019) rPGP and its RSA dependency got an independent security audit mid 2019, see here for the full report from IncludeSecurity. No critical flaws were found and we have fixed most high, medium and low risk ones. rPGP is used in production by Delta Chat, the e-mail based messenger app suite, successfully running on Windows, Linux, macOS, Android and iOS in 32bit (only Windows and Android) and 64 bit builds (for the other platforms). More details on platform and OpenPGP implementation status: * OpenPGP Status document which describes what of OpenPGP is supported * Platform status document which describes current platform support. Experimental WASM Support When enabeling the wasm feature, rpgp can be compiled to run using WASM in Node.js and the supported Browsers. Experimental bindings for this can be found in rpgp/rpgp-js. Developement To run the stress tests, > git submodule update --init --recursive > cargo test --release -- --ignored To enable debugging, add use pretty_env_logger; let _ = pretty_env_logger::try_init(); And then run tests with RUST_LOG=pgp=info. How is rPGP different from Sequoia? Some key differences: * rPGP has a more permissive license than Sequoia, which allows a broader usage * rPGP is a library with a well-defined, relatively small feature-set where Sequoia also tries to be a replacement for the GPG command line tool * All crypto used in rPGP is implemented in pure Rust, whereas Sequoia by default uses Nettle, which is implemented in C. Minimum Supported Rust Version (MSRV) All crates in this repository support Rust 1.70 or higher. In future minimally supported version of Rust can be changed, but it will be done with a minor version bump. LICENSE MIT or Apache 2.0 Contribution Unless you explicitly state otherwise, any contribution submitted for inclusion in rPGP by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. About Pure rust implementation of OpenPGP docs.rs/pgp Topics rust cryptography pgp openpgp Resources Readme License Unknown and 2 other licenses found Licenses found Unknown LICENSE.md Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT Activity Custom properties Stars 513 stars Watchers 11 watching Forks 68 forks Report repository Releases 4 v0.11.0 Latest Feb 21, 2024 + 3 releases Used by 757 * @jecrs687 * @General-Collaboration * @FedericoSchonborn * @wiktor-k * @soywod * @antonta0 * @bonigarcia * @dravenk + 749 Contributors 31 * @dignifiedquire * @hko-s * @fmckeogh * @link2xt * @wiktor-k * @hpk42 * @sebastinas * @rvolgers * @lumag * @flub * @drahnr * @r10s * @dadleyy * @reyk + 17 contributors Languages * Rust 99.5% * Other 0.5% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.