Skip to content
This repository was archived by the owner on Apr 1, 2024. It is now read-only.

Algorithms X platforms support

Andrew Arnott edited this page Dec 1, 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:

** NOTE: This page is under construction and grossly incomplete. Many things are supported that are not on this table yet. **

Symmetric encryption algorithms

Algorithm desktop win80 wpa81 wp80 monotouch/ios android
AES ☑️
DES ☑️
3DES ☑️
RC2 ☑️
RC4

Block modes

Algorithm desktop win80 wpa81 wp80 monotouch/ios android
CBC ☑️
ECB ☑️
CCM
GCM

Padding

Algorithm desktop win80 wpa81 wp80 monotouch/ios android
None ☑️
PKCS7 ☑️
Zeros ☑️

Asymmetric encryption algorithms

Algorithm desktop win80 wpa81 wp80 monotouch/ios android
DSA
ECDSA ☑️
RSASign ☑️
RsaSignPss ☑️

Key exchange

Algorithm desktop win80 wpa81 wp80 monotouch/ios android
RSA ☑️
RSA-OAEP ☑️
ECDH
DH

Key serialization formats

Private keys

Algorithm desktop win80 wpa81 wp80 monotouch/ios android
PKCS8 Raw Private Key info ☑️
PKCS1 RSA ☑️
BCrypt
CAPI1 ☑️

Public keys

Algorithm desktop win80 wpa81 wp80 monotouch/ios android
X.509 Subject Public Key Info ☑️
PKCS1 RSA ☑️
BCrypt
CAPI1 ☑️

Key derivation algorithms

Algorithm desktop win80 wpa81 wp80 monotouch/ios android
Pbkdf2
Sp800108CtrHmac
Sp80056aConcat

Hash algorithms

Algorithm desktop win80 wpa81 wp80 monotouch/ios android
MD5 ☑️
SHA-1 ☑️
SHA-256 ☑️
SHA-384 ☑️
SHA-512 ☑️

MAC algorithms

Algorithm desktop win80 wpa81 wp80 monotouch/ios android
AES-CMAC
HMAC-MD5 ☑️
HMAC-SHA1 ☑️
HMAC-SHA256 ☑️
HMAC-SHA384 ☑️
HMAC-SHA512 ☑️

Legend

TxM Platform
desktop .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.

Clone this wiki locally