Sono un po 'confuso riguardo ai termini "funzione hash" e "funzione pseudo-casuale". Per quanto ne so, posso usare una funzione hash strong crittografica come un PRF. La funzione hash ha un IV ed è completamente pubblica - tutti possono guardare la costruzione e i dettagli. Una buona funzione di hash mappa l'input in modo pseudocasuale al suo output (deterministico).
Quindi una funzione pseudocasuale è abbastanza simile. Qui non si prende una funzione di hash di correzione, piuttosto che si prende una funzione da un insieme di funzioni. Quel modello è implicito usando una funzione con chiave. Pertanto, spesso vengono utilizzate funzioni di hash con chiave, ad esempio l'HMAC viene preso come PRF.
Quindi, in una visione limitata, è giusto dire che un attaccante non conosce le mie "condizioni interne" del mio PRF? (Intendo il mio attuale Setting: quale chiave uso e quale funzione hash, o se uso HMAC, lui non conosce la mia chiave e le mie costanti e la mia funzione di hash.)