Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F139863645
EVP_RAND-JITTER.7
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
EVP_RAND-JITTER.7
View Options
.
\" -*- mode: troff; coding: utf-8 -*-
.
\" Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45)
.
\"
.
\" Standard preamble:
.
\" ========================================================================
.
de
Sp
\" Vertical space (when we can't use .PP)
.
if
t
.sp
.5v
.
if
n
.sp
.
.
.
de
Vb
\" Begin verbatim text
.
ft
CW
.
nf
.
ne
\\
$1
.
.
.
de
Ve
\" End verbatim text
.
ft
R
.
fi
.
.
.
\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.
ie
n
\{
\
.
ds
C`
""
.
ds
C'
""
'br
\}
.
el
\{
\
.
ds
C`
.
ds
C'
'br
\}
.
\"
.
\" Escape single quotes in literal strings from groff's Unicode transform.
.
ie
\n
(.g
.ds
Aq
\(aq
.
el
.ds
Aq
'
.
\"
.
\" If the F register is >0, we'll generate index entries on stderr for
.
\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.
\" entries marked with X<> in POD. Of course, you'll have to process the
.
\" output yourself in some meaningful fashion.
.
\"
.
\" Avoid warning from groff about undefined register 'F'.
.
de
IX
.
.
.
nr
rF
0
.
if
\n
(.g
.if
rF
.nr
rF
1
.
if
(\n(rF:(\n(.g==0))
\{
\
.
if
\nF
\{
\
.
de
IX
.
tm
Index:\\$1\t\\n%\t"\\$2"
..
.
if
!\nF==2
\{
\
.
nr
%
0
.
nr
F
2
.
\}
.
\}
.
\}
.
rr
rF
.
\" ========================================================================
.
\"
.
IX
Title
"EVP_RAND-JITTER 7ossl"
.
TH
EVP_RAND-JITTER
7
ossl
2025
-07-01
3
.5.1
OpenSSL
.
\" For nroff, turn off justification. Always turn off hyphenation; it makes
.
\" way too many mistakes in technical documents.
.
if
n
.ad
l
.
nh
.
SH
NAME
EVP_RAND
\-
JITTER
\-
The randomness seed source EVP_RAND implementation
.
SH
DESCRIPTION
.
IX
Header
"DESCRIPTION"
Support for deterministic random number generator seeding through the
\&\fB
EVP_RAND
\fR
API.
.
PP
This software seed source produces randomness based on tiny CPU
"jitter" fluctuations.
.
PP
It is available when OpenSSL is compiled with
\fB
enable-jitter
\fR
option. When available it is listed in
\fB
openssl list
\&\-
random
\-
generators
\fR
and
\fB
openssl info
\-
seeds
\fR
.
.
SS
Identity
.
IX
Subsection
"Identity"
"JITTER" is the name for this implementation; it can be used with the
\&\fB
EVP_RAND_fetch()
\fR
function.
.
SS
"Supported parameters"
.
IX
Subsection
"Supported parameters"
The supported parameters are:
.
IP
"""state""
(\fBOSSL_RAND_PARAM_STATE\fR)
<integer>"
4
.
IX
Item
"""state""
(OSSL_RAND_PARAM_STATE)
<integer>"
.
PD
0
.
IP
"""strength""
(\fBOSSL_RAND_PARAM_STRENGTH\fR)
<unsigned
integer>"
4
.
IX
Item
"""strength""
(OSSL_RAND_PARAM_STRENGTH)
<unsigned
integer>"
.
IP
"""max_request""
(\fBOSSL_RAND_PARAM_MAX_REQUEST\fR)
<unsigned
integer>"
4
.
IX
Item
"""max_request""
(OSSL_RAND_PARAM_MAX_REQUEST)
<unsigned
integer>"
.
PD
These parameters work as described in "PARAMETERS" in
\fB
EVP_RAND
\fR\|
(3).
.
SH
NOTES
.
IX
Header
"NOTES"
A context for the seed source can be obtained by calling:
.
PP
.
Vb
2
\&
EVP_RAND *rand = EVP_RAND_fetch(NULL, "JITTER", NULL);
\&
EVP_RAND_CTX *rctx = EVP_RAND_CTX_new(rand, NULL);
.
Ve
.
PP
The
\fB
enable-jitter
\fR
option was added in OpenSSL 3.4.
.
PP
By specifying the
\fB
enable-fips-jitter
\fR
configuration option, the FIPS
provider will use an internal jitter source for its entropy. Enabling
this option will cause the FIPS provider to operate in a non-compliant
mode unless an entropy assessment
ESV <https://csrc.nist.gov/Projects/cryptographic-module-validation-program/entropy-validations>
and validation through the
CMVP <https://csrc.nist.gov/projects/cryptographic-module-validation-program>
are additionally conducted. This option was added in OpenSSL 3.5.
.
SH
EXAMPLES
.
IX
Header
"EXAMPLES"
.
Vb
5
\&
EVP_RAND *rand;
\&
EVP_RAND_CTX *seed, *rctx;
\&
unsigned char bytes[100];
\&
OSSL_PARAM params[2], *p = params;
\&
unsigned int strength = 128;
\&
\&
/* Create and instantiate a seed source */
\&
rand = EVP_RAND_fetch(NULL, "JITTER", NULL);
\&
seed = EVP_RAND_CTX_new(rand, NULL);
\&
EVP_RAND_instantiate(seed, strength, 0, NULL, 0, NULL);
\&
EVP_RAND_free(rand);
\&
\&
/* Feed this into a DRBG */
\&
rand = EVP_RAND_fetch(NULL, "CTR
\-
DRBG", NULL);
\&
rctx = EVP_RAND_CTX_new(rand, seed);
\&
EVP_RAND_free(rand);
\&
\&
/* Configure the DRBG */
\&
*p++ = OSSL_PARAM_construct_utf8_string(OSSL_DRBG_PARAM_CIPHER,
\&
SN_aes_256_ctr, 0);
\&
*p = OSSL_PARAM_construct_end();
\&
EVP_RAND_instantiate(rctx, strength, 0, NULL, 0, params);
\&
\&
EVP_RAND_generate(rctx, bytes, sizeof(bytes), strength, 0, NULL, 0);
\&
\&
EVP_RAND_CTX_free(rctx);
\&
EVP_RAND_CTX_free(seed);
.
Ve
.
SH
"SEE ALSO"
.
IX
Header
"SEE ALSO"
\&\fB
EVP_RAND
\fR\|
(3),
"PARAMETERS" in
\fB
EVP_RAND
\fR\|
(3)
.
SH
COPYRIGHT
.
IX
Header
"COPYRIGHT"
Copyright 2024 The OpenSSL Project Authors. All Rights Reserved.
.
PP
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
in the file LICENSE in the source distribution or at
<https://www.openssl.org/source/license.html>.
File Metadata
Details
Attached
Mime Type
text/troff
Expires
Fri, Dec 19, 6:47 AM (1 d, 19 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27043117
Default Alt Text
EVP_RAND-JITTER.7 (4 KB)
Attached To
Mode
rG FreeBSD src repository
Attached
Detach File
Event Timeline
Log In to Comment