gnablib
Version:
A lean, zero dependency library to provide a useful base for your project.
45 lines (44 loc) • 1.46 kB
TypeScript
/*! Copyright 2023-2025 the gnablib contributors MPL-1.1 */
import { IBlockCrypt } from '../interfaces/IBlockCrypt.js';
declare class Simon_32bit implements IBlockCrypt {
readonly blockSize: number;
private readonly keySize;
private readonly rounds;
constructor(blockSize: number, keySize: number, rounds: number, key: Uint8Array);
keySchedule(key: Uint8Array): void;
encryptBlock(block: Uint8Array, offset?: number): void;
decryptBlock(block: Uint8Array, offset?: number): void;
}
export declare class Simon32 extends Simon_32bit {
constructor(key: Uint8Array);
}
export declare class Simon48_72 extends Simon_32bit {
constructor(key: Uint8Array);
}
export declare class Simon48_96 extends Simon_32bit {
constructor(key: Uint8Array);
}
export declare class Simon64_96 extends Simon_32bit {
constructor(key: Uint8Array);
}
export declare class Simon64_128 extends Simon_32bit {
constructor(key: Uint8Array);
}
export declare class Simon96_96 extends Simon_32bit {
constructor(key: Uint8Array);
}
export declare class Simon96_144 extends Simon_32bit {
constructor(key: Uint8Array);
}
export declare class Simon128_128 extends Simon_32bit {
constructor(key: Uint8Array);
}
export declare class Simon128_192 extends Simon_32bit {
constructor(key: Uint8Array);
}
export declare class Simon128_256 extends Simon_32bit {
constructor(key: Uint8Array);
}
export declare class Speck {
}
export {};