Skip to content

Supported Algorithms, Operations, Providers #15

@whyoleg

Description

@whyoleg

The current issue is just a dashboard for all algorithms/operations/providers supported or planned to be supported by the library. Status is updated after release where specific item is implemented. List is ordered only by release version and doesn't represent priority in which new items will be implemented.
Feel free to comment if you are missing something from or outside the list!

For detailed information about which provider support which algorithms please consult documentation: https://whyoleg.github.io/cryptography-kotlin/providers/

Status is provided in format of [ ] when it’s not implemented and [x] (X.Y.Z) when it’s implemented in version X.Y.Z

Algorithms

  • (0.1.0) MD5 (hash) - LEGACY
  • (0.1.0) SHA1 (hash) - LEGACY
  • (0.1.0) SHA256, SHA512 (hash)
  • (0.1.0) HMAC (mac)
  • (0.1.0) AES-CBC (cipher)
  • (0.1.0) AES-GCM (cipher)
  • (0.1.0) RSA-OAEP (cipher)
  • (0.1.0) RSA-PSS (signature)
  • (0.1.0) ECDSA (signature)
  • (0.2.0) SHA224, SHA384 (hash)
  • (0.2.0) SHA3 family (hash)
  • (0.2.0) RSA-PKCS1-V1.5 (signature)
  • (0.3.0) AES-CTR (cipher)
  • (0.4.0) ECDH (key agreement)
  • (0.4.0) PBKDF2 (prf)
  • (0.4.0) HKDF (kdf)
  • (0.4.0) AES-ECB (cipher) - LEGACY
  • (0.4.0) RSA without padding (cipher/ signature[?]) - LEGACY
  • (0.4.0) RSA-PKCS1-V1.5 (cipher) - LEGACY
  • (0.5.0) CMAC (mac)
  • (0.5.0) RIPEMD160 (hash)
  • AES-KW (key wrap/unwrap)
  • ChaCha20-Poly1305 (stream cipher)
  • Agron2 (prf)
  • scrypt (prf)
  • brcypt (prf)
  • Blowfish (cipher)
  • Blake (hash)
  • SHAKE (hash)
  • EdDSA (signature)
  • XDH (key agreement)
  • DH (key agreement)
  • DHKEM (kem)
  • MLDSA (signature) - PQC
  • MLKEM (kem) - PQC
  • TOTP/HOTP (otp)

Operations

  • (0.1.0) Hashing
  • (0.1.0) Cipher and AEAD Cipher
  • (0.1.0) Signature generation and verification
  • (0.4.0) Key agreement
  • (0.4.0) Key derive (kdf/prf)
  • Key wrap/unwrap
  • Hybrid Encryption
  • KEM (Key encapsulation mechanism)
  • OTP (One Time Password) support

Providers

  • (0.1.0) WebCrypto
  • (0.1.0) Apple
  • (0.1.0) JDK
  • (0.1.0) OpenSSL3
  • (0.5.0) CryptoKit
  • Windows CNG
  • AWS/GCP KMS provider
  • BorringSSL (optional, in addition to openssl)
  • NodeJS engine
  • OpenSSL3 KMP (JVM , may be JS/Wasm)
  • wasi-crypto or via component model

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions