This repository was archived by the owner on Apr 1, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 55
Algorithms X platforms support
Andrew Arnott edited this page Nov 28, 2015
·
16 revisions
PCLCrypto does not implement cryptography. It merely exposes cryptography that is in the underlying platform in a common PCL-compatible API. The API may allow calling into crypto functions or algorithms that are not available on an individual platform that you run on, in which case you may get a NotSupportedException at runtime.
The tables below serve as a guide so you can predict what you can expect to work:
| Algorithm | net45 | win80 | wpa81 | wp80 | monotouch/ios | android |
|---|---|---|---|---|---|---|
| AES | ||||||
| DES | ||||||
| 3DES | ||||||
| RC2 | ||||||
| RC4 |
| Algorithm | net45 | win80 | wpa81 | wp80 | monotouch/ios | android |
|---|---|---|---|---|---|---|
| CBC | ||||||
| ECB | ||||||
| CCM | ◾ | |||||
| GCM | ◾ |
| Algorithm | net45 | win80 | wpa81 | wp80 | monotouch/ios | android |
|---|---|---|---|---|---|---|
| None | ||||||
| PKCS7 | ||||||
| Zeros |
| Algorithm | net45 | win80 | wpa81 | wp80 | monotouch/ios | android |
|---|---|---|---|---|---|---|
| DSA | ||||||
| ECDSA | ||||||
| RSA | ||||||
| RSA-OAEP | ||||||
| RSASign | ||||||
| RsaSignPss |
| Algorithm | net45 | win80 | wpa81 | wp80 | monotouch/ios | android |
|---|---|---|---|---|---|---|
| PKCS8 Raw Private Key info | ||||||
| PKCS1 RSA | ||||||
| BCrypt | ||||||
| CAPI1 |
| Algorithm | net45 | win80 | wpa81 | wp80 | monotouch/ios | android |
|---|---|---|---|---|---|---|
| X.509 Subject Public Key Info | ||||||
| PKCS1 RSA | ||||||
| BCrypt | ||||||
| CAPI1 |
| Algorithm | net45 | win80 | wpa81 | wp80 | monotouch/ios | android |
|---|---|---|---|---|---|---|
| Pbkdf2 | ||||||
| Sp800108CtrHmac | ||||||
| Sp80056aConcat |
| Algorithm | net45 | win80 | wpa81 | wp80 | monotouch/ios | android |
|---|---|---|---|---|---|---|
| MD5 | ||||||
| SHA-1 | ||||||
| SHA-256 | ||||||
| SHA-384 | ||||||
| SHA-512 |
| Algorithm | net45 | win80 | wpa81 | wp80 | monotouch/ios | android |
|---|---|---|---|---|---|---|
| AES-CMAC | ||||||
| HMAC-MD5 | ||||||
| HMAC-SHA1 | ||||||
| HMAC-SHA256 | ||||||
| HMAC-SHA384 | ||||||
| HMAC-SHA512 |
| TxM | Platform |
|---|---|
| net45 | .NET Framework 4.5 (Windows desktop apps) |
| win80 | Windows Store app (WinRT and UWP) |
| wpa81 | Windows Phone 8.1 (AppX) |
| wp80 | Windows Phone 8.0 (Silverlight) |
| monotouch/ios | Xamarin.iOS and MonoTouch |
| android | Xamarin.Android |
| Symbol | Explanation |
|---|---|
| ✅ | Supported, with functionality that exceeds that which is exposed by the platform's typical APIs |
| ☑️ | Supported by platform and PCLCrypto |
| ◾ | Supported by platform, but not yet by PCLCrypto |
| ⛔ | Not available on the platform. If you require this, consider BouncyCastle-PCL, which implements crypto and can fill gaps in the platform. |