# Uses of Package
io.axoniq.dataprotection.cryptoengine

- Packages that use io.axoniq.dataprotection.cryptoengine
  Package | Description
  --- | ---
  io.axoniq.dataprotection.api | Annotations, exceptions and encryption service objects of the Axon Data Protection Module.
  io.axoniq.dataprotection.cryptoengine | Contains the core `CryptoEngine` interface and various implementations.
  io.axoniq.dataprotection.cryptoengine.jpa | Contains a JPA-based implementation of `CryptoEngine` and some associated classes.
  io.axoniq.dataprotection.cryptoengine.vault | Contains a HashiCorp Vault backed implementation of `CryptoEngine` and associated classes.

- Classes in io.axoniq.dataprotection.cryptoengine used by io.axoniq.dataprotection.api
  Class | Description
  --- | ---
  CryptoEngine | Interface towards the cryptographic functionality needed by the Axon Data Protection Module.

- Classes in io.axoniq.dataprotection.cryptoengine used by io.axoniq.dataprotection.cryptoengine
  Class | Description
  --- | ---
  CryptoEngine | Interface towards the cryptographic functionality needed by the Axon Data Protection Module.
  DatabaseBackedCryptoEngine | Partial implementation of `CryptoEngine` which operates using the JVM's standard `Provider` to perform encryption and decryption, while assuming some separate storage facility for keys.
  JavaKeyStoreCryptoEngine | Implementation of `CryptoEngine` that uses a JCE `KeyStore` implementation to store its keys.
  KeyType | Enum used to describe key type/length.

- Classes in io.axoniq.dataprotection.cryptoengine used by io.axoniq.dataprotection.cryptoengine.jpa
  Class | Description
  --- | ---
  CryptoEngine | Interface towards the cryptographic functionality needed by the Axon Data Protection Module.
  DatabaseBackedCryptoEngine | Partial implementation of `CryptoEngine` which operates using the JVM's standard `Provider` to perform encryption and decryption, while assuming some separate storage facility for keys.

- Classes in io.axoniq.dataprotection.cryptoengine used by io.axoniq.dataprotection.cryptoengine.vault
  Class | Description
  --- | ---
  CryptoEngine | Interface towards the cryptographic functionality needed by the Axon Data Protection Module.
  DatabaseBackedCryptoEngine | Partial implementation of `CryptoEngine` which operates using the JVM's standard `Provider` to perform encryption and decryption, while assuming some separate storage facility for keys.