UNPKG

gnablib

Version:

A lean, zero dependency library to provide a useful base for your project.

25 lines (24 loc) 1 kB
/*! Copyright 2023-2024 the gnablib contributors MPL-1.1 */ import { U64 } from '../../primitive/number/U64.js'; import { IFullCrypt } from '../interfaces/IFullCrypt.js'; declare class Salsa implements IFullCrypt { #private; readonly blockSize = 64; private readonly _count; constructor(key: Uint8Array, nonce: Uint8Array, count: U64, rounds: number); private block; decryptInto(plain: Uint8Array, enc: Uint8Array): void; encryptInto(enc: Uint8Array, plain: Uint8Array): void; encryptSize(plainLen: number): number; } declare class XSalsa extends Salsa { constructor(key: Uint8Array, nonce: Uint8Array, count: U64, rounds: number); } export declare class Salsa20 extends Salsa { constructor(key: Uint8Array, nonce: Uint8Array, count?: U64); } export declare function hSalsa20(output: Uint8Array, key: Uint8Array, input: Uint8Array): void; export declare class XSalsa20 extends XSalsa { constructor(key: Uint8Array, nonce: Uint8Array, count?: U64); } export {};