gnablib
Version:
A lean, zero dependency library to provide a useful base for your project.
26 lines (25 loc) • 989 B
TypeScript
/*! Copyright 2023-2025 the gnablib contributors MPL-1.1 */
import { IFullCrypt } from '../interfaces/IFullCrypt.js';
import { IBlockCrypt } from '../interfaces/IBlockCrypt.js';
export declare class IncrBytes implements Iterable<Uint8Array> {
private readonly _iv;
constructor(iv: Uint8Array);
get length(): number;
[Symbol.iterator](): Iterator<Uint8Array>;
}
export declare class Concat32 implements Iterable<Uint8Array> {
private readonly _iv;
private readonly _count;
constructor(iv: Uint8Array, count?: number);
get length(): number;
[Symbol.iterator](): Iterator<Uint8Array>;
}
export declare class Ctr implements IFullCrypt {
private readonly _crypt;
private readonly _counter;
constructor(crypt: IBlockCrypt, counter: IncrBytes | Concat32);
get blockSize(): number;
decryptInto(plain: Uint8Array, enc: Uint8Array): void;
encryptInto(enc: Uint8Array, plain: Uint8Array): void;
encryptSize(plainLen: number): number;
}