IvAuthenticatedCipher

Combines the ability to set explicit initialization vector (IV) and authenticated encryption (AEAD) capabilities.

Inherited encrypt/decrypt methods generate a random IV and prepend it to the output. The authentication tag is appended to the ciphertext: encrypt returns IV || ciphertext || tag, and decrypt expects the same format.

The WithIv variants use a caller-provided IV and do not include it in the output: encrypt returns ciphertext || tag, and decrypt expects ciphertext || tag.

Functions

Link copied to clipboard
open suspend fun decrypt(ciphertext: ByteArray, associatedData: ByteArray?): ByteArray

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

open suspend fun decrypt(ciphertext: ByteString, associatedData: ByteString?): ByteString

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

open suspend fun decrypt(ciphertext: ByteArray): ByteArray

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

open suspend fun decrypt(ciphertext: ByteString): ByteString

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

Link copied to clipboard
abstract fun decryptBlocking(ciphertext: ByteArray, associatedData: ByteArray?): ByteArray

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

open fun decryptBlocking(ciphertext: ByteString, associatedData: ByteString?): ByteString

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

open fun decryptBlocking(ciphertext: ByteArray): ByteArray

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

open fun decryptBlocking(ciphertext: ByteString): ByteString

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

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

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

open fun decryptingSink(plaintext: RawSink): RawSink

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

Link copied to clipboard
abstract fun decryptingSinkWithIv(iv: ByteArray, plaintext: RawSink, associatedData: ByteArray?): RawSink

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

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

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

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

open fun decryptingSource(ciphertext: RawSource): RawSource

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

Link copied to clipboard
abstract fun decryptingSourceWithIv(iv: ByteArray, ciphertext: RawSource, associatedData: ByteArray?): RawSource

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

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

Link copied to clipboard
open suspend fun decryptWithIv(iv: ByteArray, ciphertext: ByteArray, associatedData: ByteArray?): ByteArray

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

open suspend fun decryptWithIv(iv: ByteString, ciphertext: ByteString, associatedData: ByteString?): ByteString

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

Decrypts the given ciphertext using the specified iv and returns the resulting plaintext as a ByteArray.

Decrypts the given ciphertext using the specified iv and returns the resulting plaintext as a ByteString.

Link copied to clipboard
abstract fun decryptWithIvBlocking(iv: ByteArray, ciphertext: ByteArray, associatedData: ByteArray?): ByteArray

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

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

Decrypts the given ciphertext using the specified iv and returns the resulting plaintext as a ByteArray.

Decrypts the given ciphertext using the specified iv and returns the resulting plaintext as a ByteString.

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
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
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 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.

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

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

Link copied to clipboard
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.

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

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