random(7) Miscellaneous Information Manual random(7)
>>>>>
random - >>>> >>>> >>> >>>>>>
>>>>>> >>> >>>>>>>>>
>>>>>
>>>>> >>>> >>>>>>>
>>>>>>>>> >> >>>>>> >>>
>>>>>>>>>> >>>>>>> >>
>>>>> >>>>> >>>>>>>
>>>>>> >>>> >>>>>>>
>>>>>>> >>>>>> >>>> >>>>>
>>> >>>>>> >>> >>>>>>>>
(CSPRNG). >>> >>>> >>>>>>> >>>>
>>>>>>.
>>>> >>>>>>>> >>>>>>>
>>>>>> >>> >>>>>> CSPRNG
>>>>>>:
o >>>>> /dev/urandom > /dev/random>
>>>>>>> >>>>> >> random(4).
>>>> >>> >>>>>>> >> >>>>>
>>> >>>>>>> >>>>>>>> >>>
>>>>>> >>>>> >>> >>>>>>
>> >>>>>>> >>>>>>.
o >>>>>>> >>>>>> >>>>>
>>>>>> getrandom(2)> >>>>>> >>>
>>>>> 3.17. >>>> >>>>>>>
>>>>>> >>> >>>>>> >>> >>>
>>> >>>> /dev/urandom (>>>>>> >>>>
urandom >> >>> >>>>>>) >> >>>
>>> >>>> /dev/random (>>>>>> >>>>
random >> >>> >>>>>>). >>>>>>>
>> >>>> urandom> >>> >>>>>
>>>> random >>>>>> >>>>> GRND_RANDOM
>>>>>>>> >>>>>>. (>>>>
>>>>>> getentropy(3) >>>>> >>>>
>>>>>> >>>>> >>>>>> >>>
getrandom(2).)
>>>>> >>>> >>>>>>>>>>
>>>> >>>>>> >>>>
>>>>>>>>>> >> >>>>>>.
>>>>> >>> >>> >>> >>>> >>
>>>>>> >>>>>>>>>> >>>>>
>>>> >>>>>>>>>> >> >>>
>>>>>>.
>>>>>> >>>>>> >>>>>>>>
>> >> >>> >>>> >>>>>>
>>>>>> >>>>> >>>>> (>>>>
>>>>>> >>> >> >>> >>>>>>)>
>>>> >> >>>>> >> >>>>>>> >>
>>>> /dev/random >> >>>>>>> getrandom(2)
>> >>>>> GRND_RANDOM. >>>>> >>
>>>> >>>> >>> >> >>>> /dev/urandom
>> >>>>>> getrandom(2) >>>> >>>>>
GRND_RANDOM. >>>>>>>>>>>
>>>>>>>>> >>>>>>>>> >>>>>
urandom >>>>>> >>>>>>>
>>>>>>>> >>>>> >> >>>>
>>>>> >>>>> >>>>>>>.
>>> GRND_RANDOM >>>>>>>>> >> /dev/random
>> >> >>>>>>> >>>> >> >>>>
>>>>> >>> >>>>> >> >>>>>.
>>>>> >>> >>>> >>>>>>> >>
>>>>>>> >>>>>>> >>>>>>
>>>> >>>> >> >>>> >>>
>>>>>>> GRND_RANDOM >> >>>
>>>>>>> >> /dev/random >>>> >>
>>>>> >>>>>.
>>>>>>> >>>> >>>>> >>>>
>>>>>>> >>>>>>>>>> >>>>>>
>>>>>>> >>> >>>>>>>>
>>>>>> >>>>> >>>>> >>
>>>>>>>> >>>>>>> >>>>
>>>>> >> >>>>>/>>>>>>>>>
>>>> >>>> >>>> >>>>>
>>>>>>>> >>>>> >>>>>>.
>>>>> >>> >>>> >>> >>>
>>>>>> >>> >>> >>>
>>>>>>>>> >> >>>>> >>>
>>>>> >>>>>>> >>>>
>>>>>>>>. >>>>> >> >>>>
>>>>>> >>>>>>>> >>>>>>>>
>> >>> >>>>>> >>>>>> >>>
>>>> >>>>> >> >>>>>>>>
>>>>>> >>>> >>>>> >>>
>>>>>> >> >>>>> >>>>>>>>
>>>>>>>>> >>>>>> >>>
>>>>>>>>>.
>>>>>> >>> getrandom > /dev/urandom > /dev/random
>>>> >>>>>> >>>>>> >>>>
>>>>>>>> >>>>>>>> >>>>
>>>> >>>>>>>>> >>>>>> >>>
>>>>>>>>>. GRND_NONBLOCK >> >>>
>>>> >>>>>>>> >>>>>> >>
>>>> >>>>> >> getrandom(2). >>>>>>
>>>>>> >> >>>>>> >>>> >>
>>>>>>>> >>>>>> >>>> >>>>
>> >>>> >> >>> >>>>>>>
>>>>>> >>>>> >> >>>> >>>>
>>>>>>>>>> >> >>> >>>>>>
>>>.
+----------------------+--------------------+--------------------------------+--------------------------+
|>>>>>>> | >>>>>> | >>>> >>>>> | >>>>>> |
| | | | >>>>> >> |
| | | | >>>> |
| | | | >>>>>> |
| | | | >>>>>> |
| | | | >>> |
+----------------------+--------------------+--------------------------------+--------------------------+
|/dev/random | >>>> | >>> >>>> | >>>> >>> |
| | >>>>> | >>>>>>>>>> | >>> >>> |
| | | >>>>>> | >>>>>>>> |
| | | >>>>> >>>> | >>>>> |
| | | >>> >>>>> | |
| | | >>>>>>>> | |
| | | >>>>> >>> | |
| | | >>>> | |
+----------------------+--------------------+--------------------------------+--------------------------+
|/dev/urandom | >>>>>> | >> >>>> | >>>> |
| | CSPRNG | >>>>> | >>>>>> |
| | | | >> CSPRNG >>> |
| | | | >>>> (>> |
| | | | >>>> |
| | | | >>>>>>>> |
| | | | >>>>>> |
| | | | >>>> |
| | | | >>>>>> |
| | | | >>>>>>>) |
+----------------------+--------------------+--------------------------------+--------------------------+
|getrandom() | >>> | >> >>>> | >>>> >>> |
| | /dev/urandom | >>>>> >> | >>>> |
| | | >>>> | >>>>>> |
| | | >>>>>> | >>>>>> |
| | | >>>>>> | |
+----------------------+--------------------+--------------------------------+--------------------------+
|getrandom() | >>> | >>> >>>> | >>>> >>> |
|GRND_RANDOM | /dev/random | >>>>>>>>>> | >>>> |
| | | >>>>>> | >>>>>> |
| | | >>>>> >>>> | >>>>>> |
| | | >>> >>>>> | |
| | | >>>>>>>> | |
| | | >>>>> >>> | |
| | | >>>> | |
+----------------------+--------------------+--------------------------------+--------------------------+
|getrandom() | >>> | >> >>>> | EAGAIN |
|GRND_NONBLOCK | /dev/urandom | >>>>> >> | |
| | | >>>> | |
| | | >>>>>> | |
| | | >>>>>> | |
+----------------------+--------------------+--------------------------------+--------------------------+
|getrandom() | >>> | EAGAIN >> >>>> | EAGAIN |
|GRND_RANDOM + | /dev/random | >>> >>>> >> | |
|GRND_NONBLOCK | | >>>> >> | |
| | | >>>>>>>>>> | |
+----------------------+--------------------+--------------------------------+--------------------------+
>>>>> >>>>>> >>>>>>>
>>>> >>>> >>>>>> >>>>>>>>
>>>>>> >>>>> >>>>>> >>>>>
>>> >>>>>>> >>>>>>. >>>
>>>> >>>>>>> >>>>> >>> RSA >>
Diffie-Hellman >>>> 3072 >> >> >>> >>>>
>>>> 128 >> (>>>>> >>>>> 2^128
>>>>> >>>>>>)> >>> >>>>>
>>>> >>>>>>>> >>> 128 >> (16
>>>>) >> >>>> >>>>>> >>
/dev/random.
>>>>> >>>>> >>>> >>>> >>>
>>> >>>> >>>>>> >>>>>>>>
>>>>>> >> >>>> >> >>>>>>>>
CSPRNG> >> >>>> >>> >>>>>>
>>>>>>> >>>>> >>>>> >> >>>
>>>>> >> 256 >> >> >>>>>>>
>>> >>> >>> >> >>>>>> >>>>
>> 256 >> (32 >>>>) >> >>>>
>>>>>>>>> >>>>>> >>>
>>>>>>>> >> >>> >>>> >>>>>
>>> >>>>>> (>> >>> >> >>>>>
>>>>>)> >>>> >>>>>> >>>
>>>>> >>> >> >>>>>> >>>
>>>>>> >>>>>>.
>>>> >>>>>
getrandom(2), getauxval(3), getentropy(3), random(4), urandom(4),
signal(7)
>>>>>
>>>>>> >>> >>>>>> >>
>>>>>> >>>>>> >>>>
>>>>>>>
>>> >>>>>>> >> >>>>>
>>>>>>> >>>> >>>> >>>
>>>>>> >>>>>>> 3
>> >> >>>>
>>>>>>> >>> >>>> >>>>
>>>>>. >> >>>> >> >>>>>>.
>>> >>>> >> >>>>> >> >>>>>
>>>> >>>>>> >>>> >>>>
>>>>> >>>> >>>>>>>> >>>
>>>>> >>>> >>>>>>>>>:
.
>>>>> >>>> >>>>> 6.18
8 >>>>>> 2026 random(7)