CryptoSwift Overview and Features
mainCryptoSwift is a pure Swift implementation of cryptographic primitives and utilities. It provides convenient extensions for String, Data, and Array<UInt8>, supports incremental updates and streaming APIs, and is compatible with Apple platforms, Linux, and Android.
Supported Cryptographic Features:
- Hash (Digest): MD5, SHA1, SHA2 (224, 256, 384, 512), SHA3
- CRC: CRC32, CRC32C, CRC16
- Cipher: AES (128, 192, 256), ChaCha20, XChaCha20, Rabbit, Blowfish
- RSA: Encryption and Signature
- Message Authenticators: Poly1305, HMAC (MD5, SHA1, SHA256), CMAC, CBC-MAC
- Cipher Modes: ECB, CBC, PCBC, CFB, OFB, CTR, GCM, CCM, OCB
- Key Derivation (KDF): PBKDF1, PBKDF2, HKDF, Scrypt
- Padding: PKCS#5, EMSA-PKCS1-v1_5, EME-PKCS1-v1_5, PKCS#7, Zero padding, ISO/IEC 7816-4, ISO10126, No padding
- AEAD: AEAD_CHACHA20_POLY1305, AEAD_XCHACHA20_POLY1305