IvCipher

Extends Cipher with the ability to set explicit initialization vector (IV) support.

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

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

Inheritors

Functions

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

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): 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

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

Link copied to clipboard

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

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

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

Link copied to clipboard

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

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.