facezk-core
Version:
ZKP-AI Proof of Humanity: Live Selfie Check with Biometric Template Extraction and Fuzzy Hashing
53 lines • 1.77 kB
TypeScript
/**
* Fuzzy Biometric Hashing
* ZK-AI Proof of Humanity: Fuzzy-Tolerant Biometric Template Comparison
*/
import type { BiometricTemplate } from '../types';
/** Fuzzy hash configuration */
export interface FuzzyHashConfig {
/** Number of hash bits */
hashBits: number;
/** Similarity threshold (0-1) */
similarityThreshold: number;
/** Number of hash functions */
numHashFunctions: number;
/** Feature normalization method */
normalization: 'l2' | 'minmax' | 'zscore';
}
/** Default fuzzy hash configuration */
export declare const defaultFuzzyConfig: FuzzyHashConfig;
/** Fuzzy hash result */
export interface FuzzyHashResult {
/** Fuzzy hash string */
hash: string;
/** Hash bits array */
bits: number[];
/** Confidence score */
confidence: number;
/** Template features used */
features: number[];
}
/**
* Generate fuzzy hash from biometric template
*/
export declare function generateFuzzyHash(template: BiometricTemplate, config?: FuzzyHashConfig): FuzzyHashResult;
/**
* Compare two fuzzy hashes for similarity
*/
export declare function compareFuzzyHashes(hash1: FuzzyHashResult, hash2: FuzzyHashResult, _config?: FuzzyHashConfig): {
similarity: number;
match: boolean;
};
/**
* Generate fuzzy-tolerant biometric ID (Sₐ)
* This replaces the original generateBiometricId function
*/
export declare function generateFuzzyBiometricId(template: BiometricTemplate, config?: FuzzyHashConfig): string;
/**
* Compare two biometric templates for similarity
*/
export declare function compareBiometricTemplates(template1: BiometricTemplate, template2: BiometricTemplate, config?: FuzzyHashConfig): {
similarity: number;
match: boolean;
};
//# sourceMappingURL=fuzzy-hash.d.ts.map