A .NET library providing cryptographic APIs that delegate to platform-native implementations for portable libraries.
PCLCrypto is a .NET library that provides cryptographic APIs for portable libraries by delegating to the underlying operating system's native implementations. It solves the problem of accessing reliable, high-performance cryptography across different platforms without implementing its own algorithms. The library offers symmetric/asymmetric encryption, signatures, key derivation, and random number generation through a consistent API.
Developers building portable .NET libraries or applications that need cryptographic functionality across multiple platforms (Windows, Android, iOS) where platform-native crypto is preferred. Particularly relevant for projects that were created when .NET's cross-platform crypto support was limited.
Developers choose PCLCrypto because it provides cryptographic assurance by using the operating system's trusted implementations, offers significant performance benefits on mobile platforms, and maintains API consistency across different environments without requiring platform-specific code.
Platform crypto for portable libraries
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Delegates all cryptographic operations to the operating system's implementations, ensuring high-quality and reliable crypto without custom code, as emphasized in the README for cryptographic assurance.
Provides 2-100X speed improvements for RSA on Android and iOS by leveraging native crypto, a key feature highlighted in the documentation for performance optimization.
Offers a single, consistent API for portable libraries across Windows, Android, and iOS, solving fragmentation issues when .NET's crypto support was limited, as noted in the value proposition.
Extends WinRT capabilities by supporting streaming encryption on Universal Windows Platform, a feature mentioned in the README that goes beyond standard API offerings.
The project hasn't been developed for years and is explicitly archived, with no updates or security patches, making it risky for production use, as warned in the README archive notice.
Not tested with contemporary .NET features like trimming, which are now standard, limiting its applicability in modern development environments, as admitted in the README.
Requires specific NuGet installation techniques, such as bait-and-switch PCLs, and careful management with packages.config, adding overhead and potential for errors, as detailed in the installation section.