Zero Knowledge, Zkp, Fiat Shamir, Zero Knowledge Proofs.
abstraction of an idealized hash function. What is done in practice (known as the random oracle methodology) is to do all security proofs under the assumption that a random oracle does exist (in the random oracle model), and then replace the random oracles by your favorite hash function (queries to