ChaCha20Poly1305

object ChaCha20Poly1305

ChaCha20Poly1305 AEAD (Authenticated Encryption with Additional Data) algorithm see https://tools.ietf.org/html/rfc7539#section-2.5

This what we should be using (see BOLT #8)

Types

ChaCha20Poly1305Error
Link copied to clipboard
common
abstract class ChaCha20Poly1305Error(msg: String) : RuntimeException
DecryptionError
Link copied to clipboard
common
object DecryptionError : ChaCha20Poly1305.ChaCha20Poly1305Error
EncryptionError
Link copied to clipboard
common
object EncryptionError : ChaCha20Poly1305.ChaCha20Poly1305Error
InvalidCounter
Link copied to clipboard
common
object InvalidCounter : ChaCha20Poly1305.ChaCha20Poly1305Error
InvalidMac
Link copied to clipboard
common
object InvalidMac : ChaCha20Poly1305.ChaCha20Poly1305Error

Functions

decrypt
Link copied to clipboard
common
fun decrypt(key: ByteArray, nonce: ByteArray, ciphertext: ByteArray, aad: ByteArray, mac: ByteArray): ByteArray
encrypt
Link copied to clipboard
common
fun encrypt(key: ByteArray, nonce: ByteArray, plaintext: ByteArray, aad: ByteArray): Pair<ByteArray, ByteArray>
pad16
Link copied to clipboard
common
fun pad16(data: ByteArray): ByteArray
write64
Link copied to clipboard
common
fun write64(input: Int): ByteArray
fun write64(input: Long): ByteArray