import { Buffer } from "buffer"; /** * Crypto utilities for RTZ-IO library */ /** * Generate a canonical JSON representation of an object * @param obj - The object to canonicalize * @returns Canonical JSON string */ export declare function canonicalizeJson(obj: any): string; /** * Calculate SHA-256 hash of data * @param data - Data to hash * @returns Hex string of hash */ export declare function calculateHash(data: Buffer | string): string; /** * Sign manifest using HMAC-SHA256 * @param manifest - Manifest object to sign * @param privateKey - Private key for signing * @returns Base64 encoded signature */ export declare function signManifest(manifest: object, privateKey: Buffer): string; /** * Verify manifest signature using HMAC-SHA256 * @param data - Data buffer to verify * @param signature - Base64 encoded signature * @param publicKey - Public key for verification * @returns True if signature is valid */ export declare function verifySignature(data: Buffer, signature: string, publicKey: Buffer): boolean; /** * Encrypt data using AES-256-CBC (simplified for compatibility) * @param data - Data to encrypt * @param key - Encryption key (32 bytes) * @returns Encrypted data with IV and auth tag */ export declare function encryptData(data: Buffer, key: Buffer): { encrypted: Buffer; iv: Buffer; authTag: Buffer; }; /** * Decrypt data using AES-256-CBC * @param encrypted - Encrypted data * @param key - Decryption key (32 bytes) * @param iv - Initialization vector * @param authTag - Authentication tag * @returns Decrypted data */ export declare function decryptData(encrypted: Buffer, key: Buffer, iv: Buffer, authTag: Buffer): Buffer; /** * Generate a random encryption key * @param length - Key length in bytes (default: 32 for AES-256) * @returns Random key buffer */ export declare function generateKey(length?: number): Buffer; //# sourceMappingURL=crypto.d.ts.map