gnablib
Version:
A lean, zero dependency library to provide a useful base for your project.
24 lines (23 loc) • 846 B
TypeScript
/*! Copyright 2025 the gnablib contributors MPL-1.1 */
import { U64MutArray } from '../../primitive/number/U64.js';
import { IBlockCrypt } from '../interfaces/IBlockCrypt.js';
declare class Simon64bit {
#private;
readonly blockSize = 16;
readonly rounds: number;
constructor(rounds: number, rk: U64MutArray);
private _encBlock;
private _decBlock;
encryptBlock(block: Uint8Array, offset?: number): void;
decryptBlock(block: Uint8Array, offset?: number): void;
}
export declare class Simon128_128 extends Simon64bit implements IBlockCrypt {
constructor(key: Uint8Array);
}
export declare class Simon128_192 extends Simon64bit implements IBlockCrypt {
constructor(key: Uint8Array);
}
export declare class Simon128_256 extends Simon64bit implements IBlockCrypt {
constructor(key: Uint8Array);
}
export {};