@antigane/encryption
Version:
encryption with Lattice-based Cryptography
33 lines (31 loc) • 928 B
text/typescript
interface EncryptionParams {
A: number[][];
E: number[];
q: number;
}
interface EncryptedData {
data: string;
params: EncryptionParams;
}
declare class AntiganeEncryption {
private m;
private n;
private q;
private A;
private s;
private e;
constructor(m: number, n: number, q?: number);
private mod;
private getSecureRandom;
private defineA;
private defineE;
private generateHash;
private sVector;
private calculateB;
encrypt(msg: string, password: string, encryptParams?: EncryptionParams): Promise<EncryptedData>;
decrypt(encryptedData: EncryptedData, password: string): Promise<string>;
private arrayToBase64;
private base64ToArray;
}
declare const createEncryptionService: (m?: number, n?: number, q?: number) => AntiganeEncryption;
export { AntiganeEncryption, type EncryptedData, type EncryptionParams, createEncryptionService };