UNPKG

gnablib

Version:

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

2 lines 1.45 kB
/*! Copyright 2023-2025 the gnablib contributors MPL-1.1 */ import{NotEnoughSpaceError as e}from"../../error/NotEnoughSpaceError.js";import{U64Mut as t}from"../../primitive/number/U64.js";import{sLen as o}from"../../safe/safe.js";class r{constructor(e,r,s,c){this.blockSize=e,this.keySize=r,this.rounds=s,o("key",c).exactly(r).throwNot();t.fromI32s(422317813,1936324741)}keySchedule(e){}encryptBlock(t,o=0){const r=o*this.blockSize;if(t.length<r+this.blockSize)throw new e("block.length",r+this.blockSize,t.length);new Uint32Array(t.buffer,r,2);throw new Error("Method not implemented.")}decryptBlock(t,o=0){const r=o*this.blockSize;if(t.length<r+this.blockSize)throw new e("block.length",r+this.blockSize,t.length);new Uint32Array(t.buffer,r,2)}}export class Simon32 extends r{constructor(e){super(4,8,32,e)}}export class Simon48_72 extends r{constructor(e){super(6,9,36,e)}}export class Simon48_96 extends r{constructor(e){super(6,12,36,e)}}export class Simon64_96 extends r{constructor(e){super(8,12,42,e)}}export class Simon64_128 extends r{constructor(e){super(8,16,44,e)}}export class Simon96_96 extends r{constructor(e){super(12,12,52,e)}}export class Simon96_144 extends r{constructor(e){super(12,18,54,e)}}export class Simon128_128 extends r{constructor(e){super(16,16,68,e)}}export class Simon128_192 extends r{constructor(e){super(16,24,69,e)}}export class Simon128_256 extends r{constructor(e){super(16,32,72,e)}}export class Speck{}