Interface ICryptoInterface

Underlying crypto implementation, meant to be overridable

interface ICryptoInterface {
    chaCha20Poly1305Decrypt(ciphertext, nonce, ad, k, dst?): Uint8Array | Uint8ArrayList;
    chaCha20Poly1305Encrypt(plaintext, nonce, ad, k): Uint8Array | Uint8ArrayList;
    generateX25519KeyPair(): KeyPair;
    generateX25519KeyPairFromSeed(seed): KeyPair;
    generateX25519SharedKey(privateKey, publicKey): Uint8Array;
    getHKDF(ck, ikm): [Uint8Array, Uint8Array, Uint8Array];
    hashSHA256(data): Uint8Array;
}

Methods