IvAuthenticatedEncryptor

Encrypts plaintext with an explicit initialization vector (IV) and optional associated data. The WithIv methods return ciphertext || tag without the IV. All WithIv methods are marked DelicateCryptographyApi because using a custom IV requires careful handling to avoid security issues such as IV reuse. When associated data is provided, it is authenticated but not encrypted. When associated data is null, only the plaintext is authenticated and encrypted.

For the decryption counterpart, see IvAuthenticatedDecryptor.

Inheritors

Functions

Link copied to clipboard
open suspend fun encrypt(plaintext: ByteArray, associatedData: ByteArray?): ByteArray

Encrypts the given plaintext with optional associatedData and returns the resulting ciphertext as a ByteArray.

open suspend fun encrypt(plaintext: ByteString, associatedData: ByteString?): ByteString

Encrypts the given plaintext with optional associatedData and returns the resulting ciphertext as a ByteString.

open suspend fun encrypt(plaintext: ByteArray): ByteArray

Encrypts the given plaintext and returns the resulting ciphertext as a ByteArray.

open suspend fun encrypt(plaintext: ByteString): ByteString

Encrypts the given plaintext and returns the resulting ciphertext as a ByteString.

Link copied to clipboard
abstract fun encryptBlocking(plaintext: ByteArray, associatedData: ByteArray?): ByteArray

Encrypts the given plaintext with optional associatedData and returns the resulting ciphertext as a ByteArray.

open fun encryptBlocking(plaintext: ByteString, associatedData: ByteString?): ByteString

Encrypts the given plaintext with optional associatedData and returns the resulting ciphertext as a ByteString.

open fun encryptBlocking(plaintext: ByteArray): ByteArray

Encrypts the given plaintext and returns the resulting ciphertext as a ByteArray.

open fun encryptBlocking(plaintext: ByteString): ByteString

Encrypts the given plaintext and returns the resulting ciphertext as a ByteString.

Link copied to clipboard
abstract fun encryptingSink(ciphertext: RawSink, associatedData: ByteArray?): RawSink
open fun encryptingSink(ciphertext: RawSink, associatedData: ByteString?): RawSink

Returns a RawSink that encrypts data as it is written, sending the resulting ciphertext to ciphertext, with optional associatedData.

open fun encryptingSink(ciphertext: RawSink): RawSink

Returns a RawSink that encrypts data as it is written, sending the resulting ciphertext to ciphertext. Write plaintext to the returned sink, and ciphertext will be forwarded to ciphertext.

Link copied to clipboard

Returns a RawSink that encrypts data as it is written, sending the resulting ciphertext to ciphertext, using the specified iv without associated data.

abstract fun encryptingSinkWithIv(iv: ByteArray, ciphertext: RawSink, associatedData: ByteArray?): RawSink

Returns a RawSink that encrypts data as it is written, sending the resulting ciphertext to ciphertext, using the specified iv with optional associatedData.

Returns a RawSink that encrypts data as it is written, sending the resulting ciphertext to ciphertext, using the specified iv.

Link copied to clipboard
abstract fun encryptingSource(plaintext: RawSource, associatedData: ByteArray?): RawSource
open fun encryptingSource(plaintext: RawSource, associatedData: ByteString?): RawSource

Returns a RawSource that encrypts data as it is read from the given plaintext source with optional associatedData.

open fun encryptingSource(plaintext: RawSource): RawSource

Returns a RawSource that encrypts data as it is read from the given plaintext source. The resulting source produces ciphertext on reads.

Link copied to clipboard

Returns a RawSource that encrypts data as it is read from the given plaintext source using the specified iv without associated data.

abstract fun encryptingSourceWithIv(iv: ByteArray, plaintext: RawSource, associatedData: ByteArray?): RawSource

Returns a RawSource that encrypts data as it is read from the given plaintext source using the specified iv with optional associatedData.

Returns a RawSource that encrypts data as it is read from the given plaintext source using the specified iv.

Link copied to clipboard
open suspend override fun encryptWithIv(iv: ByteArray, plaintext: ByteArray): ByteArray

Encrypts the given plaintext using the specified iv without associated data and returns the resulting ciphertext as a ByteArray.

open suspend override fun encryptWithIv(iv: ByteString, plaintext: ByteString): ByteString

Encrypts the given plaintext using the specified iv without associated data and returns the resulting ciphertext as a ByteString.

open suspend fun encryptWithIv(iv: ByteArray, plaintext: ByteArray, associatedData: ByteArray?): ByteArray

Encrypts the given plaintext using the specified iv with optional associatedData and returns the resulting ciphertext as a ByteArray.

open suspend fun encryptWithIv(iv: ByteString, plaintext: ByteString, associatedData: ByteString?): ByteString

Encrypts the given plaintext using the specified iv with optional associatedData and returns the resulting ciphertext as a ByteString.

Link copied to clipboard

Encrypts the given plaintext using the specified iv without associated data and returns the resulting ciphertext as a ByteArray.

Encrypts the given plaintext using the specified iv without associated data and returns the resulting ciphertext as a ByteString.

abstract fun encryptWithIvBlocking(iv: ByteArray, plaintext: ByteArray, associatedData: ByteArray?): ByteArray

Encrypts the given plaintext using the specified iv with optional associatedData and returns the resulting ciphertext as a ByteArray.

Encrypts the given plaintext using the specified iv with optional associatedData and returns the resulting ciphertext as a ByteString.