@li0ard/crapto1_ts
Version:
Crapto1 TypeScript implement
43 lines (42 loc) • 1.39 kB
TypeScript
import { Crypto1State } from "./state";
export declare const LF_POLY_ODD: number;
export declare const LF_POLY_EVEN: number;
/**
* Helper used to obscure the keystream during authentication
* @param x Input data
* @param n Keystream number
* @returns {number}
*/
export declare const prng_successor: (x: number, n: number) => number;
/**
* Generate keystream for words (uint32)
* @param s State
* @param input Input word
* @param isEncrypted Is input word encrypted?
* @returns {number}
*/
export declare const crypto1_word: (s: Crypto1State, input: number, isEncrypted?: boolean) => number;
/**
* Generate keystream for bytes
* @param s State
* @param input Input byte
* @param isEncrypted Is input byte encrypted?
* @returns {number}
*/
export declare const crypto1_byte: (s: Crypto1State, input: number, isEncrypted?: boolean) => number;
/**
* Generate keystream for bits
* @param s State
* @param input Input bit
* @param isEncrypted Is input bit encrypted?
* @returns {number}
*/
export declare const crypto1_bit: (s: Crypto1State, input: number, isEncrypted?: boolean) => number;
/**
* Proceed encryption/decryption process
* @param s State
* @param data Input data
* @param isIn Use input data as input word for keystream generation?
* @returns {number[]}
*/
export declare const encrypt: (s: Crypto1State, data: number[], isIn?: boolean) => number[];