In 1984, Goldreich, Goldwasser, and Micali formalized the concept of pseudo-random functions and proposed a PRF implementation based on a length doubling pseudo-random generator (PRG). Since then, pseudo-random functions have proven to be an extremely important abstraction that has found applications in various fields, such as message authentication and theorem proving. In this article I will explain:
What are random functions (RF)
What are pseudo-random functions (PRF)
Who are these families of yours?
PRF vs. PRG
What does block ciphers have to do with it?
Randomness
Already from the name it becomes clear that a pseudo-random function is something that "looks" like a random function. Well, what is a random function in our case? To begin with, we will restrict our scope of consideration by functions displaying a string of zeros and ones of length in a string of zeros and ones of the same length , that is
Generally speaking, this can be omitted, and we can consider mappings of strings of one length to strings of another length, but in this case one will have to pay attention to differences in dimensions. Next, we introduce the set of all functions that perform the mapping and denote it .
Consider the cardinality of this set. Obviously .
-
. – . , - . ,
– , – .
, – - , . , .
, :
, :
:
– ( ).
. , , 20 . :
, , :
– , – , .
. -, , , ? , . .
-, ,
, , , , . , , , :
– , , , . .
.
, .
. , .
, , , :
, .
, , . , - . , . , . , - , , , , . , , - , . , . . , , , , ( ).
PRF vs. PRG
PRG – . , . , PRG – PRF, PRF – PRG. , PRG, . , PRG (), (seed) . , PRG , PRF , . .
– , PRG PRF. , . , PRF , PRG.
, . , : , , , , , () .
, , AES.
. , .
P.S. . , . , c:
P.P.S. – .