trojanhorse-js
Version:
A comprehensive JavaScript library for fetching, managing, and analyzing global threat intelligence from multiple open-source feeds and security news sources. Unlike its mythological namesake, this Trojan protects your digital fortress.
54 lines • 1.85 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
import { SecureVaultOptions } from '../types';
export interface RealEncryptionResult {
encrypted: string;
authTag: string;
salt: string;
iv: string;
algorithm: string;
iterations: number;
timestamp: number;
memoryKb: number;
parallelism: number;
keyDerivation: 'Argon2id' | 'PBKDF2-Fallback';
}
export declare class CryptoEngine {
private static readonly ALGORITHM;
private static readonly KEY_SIZE;
private static readonly IV_SIZE;
private static readonly SALT_SIZE;
private static readonly TAG_SIZE;
private static readonly ARGON2_MEMORY;
private static readonly ARGON2_TIME;
private static readonly ARGON2_PARALLELISM;
private static readonly PBKDF2_ITERATIONS;
private argon2Instance;
constructor();
private initializeArgon2;
generateSecureRandom(length: number): Uint8Array;
generateSalt(length?: number): string;
deriveKey(password: string, salt: string, options?: {
memoryCost?: number;
timeCost?: number;
parallelism?: number;
}): Promise<{
key: Buffer;
method: 'Argon2id' | 'PBKDF2-Fallback';
}>;
encrypt(data: any, password: string, options?: Partial<SecureVaultOptions>): Promise<RealEncryptionResult>;
decrypt(vault: RealEncryptionResult, password: string): Promise<any>;
hash(data: string): string;
hmac(data: string, key: string): string;
secureErase(data: any): void;
private wordArrayToUint8Array;
validateEncryptionParams(vault: any): boolean;
getCryptoInfo(): {
implementation: 'Node.js Crypto' | 'CryptoJS Fallback';
algorithm: string;
keyDerivation: string;
secure: boolean;
};
isSecureContext(): boolean;
}
//# sourceMappingURL=CryptoEngine.d.ts.map