This workspace provides several utility crates for cryptographic operations within Proton.
The proton-crypto crate contains the core library for crypto operations. In particular:
- It defines a generic API for OpenPGP operations, which is the core cryptographic protocol in most products. An implementation of the API can be accessed through
new_pgp_providerproviding a defaultPGPProvider. - An implementation of the
PGPProviderusing GopenPGP via thegopenpgp-syswrapper. - SRP API for authentication and an implementation using GopenPGP via the
gopenpgp-syswrapper. The default SRP provider can be accessed vianew_srp_provider.
The proton-crypto-account crate provides Proton key models (e.g., User Keys, Address keys, etc.) and key management operations building on proton-crypto. Note that the crate re-exports the underlying proton-crypto dependency.
A pure Rust implementation of Proton's version of the Secure Remote Password (SRP) protocol.
Rust API calling GopenPGP.
Implements device verification for clients.