Skip to content

Commit

Permalink
Add documentation for "NULL" cipher and digest algorithms.
Browse files Browse the repository at this point in the history
Fixes #20340

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from #20356)

(cherry picked from commit f7d76c3)
(cherry picked from commit b4ac0bf)
  • Loading branch information
slontis authored and paulidale committed Feb 28, 2023
1 parent ceb767b commit 511eb1a
Show file tree
Hide file tree
Showing 6 changed files with 132 additions and 1 deletion.
12 changes: 12 additions & 0 deletions doc/build.info
Original file line number Diff line number Diff line change
Expand Up @@ -4145,6 +4145,10 @@ DEPEND[html/man7/EVP_CIPHER-IDEA.html]=man7/EVP_CIPHER-IDEA.pod
GENERATE[html/man7/EVP_CIPHER-IDEA.html]=man7/EVP_CIPHER-IDEA.pod
DEPEND[man/man7/EVP_CIPHER-IDEA.7]=man7/EVP_CIPHER-IDEA.pod
GENERATE[man/man7/EVP_CIPHER-IDEA.7]=man7/EVP_CIPHER-IDEA.pod
DEPEND[html/man7/EVP_CIPHER-NULL.html]=man7/EVP_CIPHER-NULL.pod
GENERATE[html/man7/EVP_CIPHER-NULL.html]=man7/EVP_CIPHER-NULL.pod
DEPEND[man/man7/EVP_CIPHER-NULL.7]=man7/EVP_CIPHER-NULL.pod
GENERATE[man/man7/EVP_CIPHER-NULL.7]=man7/EVP_CIPHER-NULL.pod
DEPEND[html/man7/EVP_CIPHER-RC2.html]=man7/EVP_CIPHER-RC2.pod
GENERATE[html/man7/EVP_CIPHER-RC2.html]=man7/EVP_CIPHER-RC2.pod
DEPEND[man/man7/EVP_CIPHER-RC2.7]=man7/EVP_CIPHER-RC2.pod
Expand Down Expand Up @@ -4289,6 +4293,10 @@ DEPEND[html/man7/EVP_MD-MDC2.html]=man7/EVP_MD-MDC2.pod
GENERATE[html/man7/EVP_MD-MDC2.html]=man7/EVP_MD-MDC2.pod
DEPEND[man/man7/EVP_MD-MDC2.7]=man7/EVP_MD-MDC2.pod
GENERATE[man/man7/EVP_MD-MDC2.7]=man7/EVP_MD-MDC2.pod
DEPEND[html/man7/EVP_MD-NULL.html]=man7/EVP_MD-NULL.pod
GENERATE[html/man7/EVP_MD-NULL.html]=man7/EVP_MD-NULL.pod
DEPEND[man/man7/EVP_MD-NULL.7]=man7/EVP_MD-NULL.pod
GENERATE[man/man7/EVP_MD-NULL.7]=man7/EVP_MD-NULL.pod
DEPEND[html/man7/EVP_MD-RIPEMD160.html]=man7/EVP_MD-RIPEMD160.pod
GENERATE[html/man7/EVP_MD-RIPEMD160.html]=man7/EVP_MD-RIPEMD160.pod
DEPEND[man/man7/EVP_MD-RIPEMD160.7]=man7/EVP_MD-RIPEMD160.pod
Expand Down Expand Up @@ -4619,6 +4627,7 @@ html/man7/EVP_CIPHER-CAST.html \
html/man7/EVP_CIPHER-CHACHA.html \
html/man7/EVP_CIPHER-DES.html \
html/man7/EVP_CIPHER-IDEA.html \
html/man7/EVP_CIPHER-NULL.html \
html/man7/EVP_CIPHER-RC2.html \
html/man7/EVP_CIPHER-RC4.html \
html/man7/EVP_CIPHER-RC5.html \
Expand Down Expand Up @@ -4655,6 +4664,7 @@ html/man7/EVP_MD-MD4.html \
html/man7/EVP_MD-MD5-SHA1.html \
html/man7/EVP_MD-MD5.html \
html/man7/EVP_MD-MDC2.html \
html/man7/EVP_MD-NULL.html \
html/man7/EVP_MD-RIPEMD160.html \
html/man7/EVP_MD-SHA1.html \
html/man7/EVP_MD-SHA2.html \
Expand Down Expand Up @@ -4743,6 +4753,7 @@ man/man7/EVP_CIPHER-CAST.7 \
man/man7/EVP_CIPHER-CHACHA.7 \
man/man7/EVP_CIPHER-DES.7 \
man/man7/EVP_CIPHER-IDEA.7 \
man/man7/EVP_CIPHER-NULL.7 \
man/man7/EVP_CIPHER-RC2.7 \
man/man7/EVP_CIPHER-RC4.7 \
man/man7/EVP_CIPHER-RC5.7 \
Expand Down Expand Up @@ -4779,6 +4790,7 @@ man/man7/EVP_MD-MD4.7 \
man/man7/EVP_MD-MD5-SHA1.7 \
man/man7/EVP_MD-MD5.7 \
man/man7/EVP_MD-MDC2.7 \
man/man7/EVP_MD-NULL.7 \
man/man7/EVP_MD-RIPEMD160.7 \
man/man7/EVP_MD-SHA1.7 \
man/man7/EVP_MD-SHA2.7 \
Expand Down
72 changes: 72 additions & 0 deletions doc/man7/EVP_CIPHER-NULL.pod
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
=pod

=head1 NAME

EVP_CIPHER-NULL - The NULL EVP_CIPHER implementation

=head1 DESCRIPTION

Support for a NULL symmetric encryption using the B<EVP_CIPHER> API.
This is used when the TLS cipher suite is TLS_NULL_WITH_NULL_NULL.
This does no encryption (just copies the data) and has a mac size of zero.

=head2 Algorithm Name

The following algorithm is available in the default provider:

=over 4

=item "NULL"

=back

=head2 Parameters

This implementation supports the following parameters:

=head3 Gettable EVP_CIPHER parameters

See L<EVP_EncryptInit(3)/Gettable EVP_CIPHER parameters>

=head3 Gettable EVP_CIPHER_CTX parameters

=over 4

=item "keylen" (B<OSSL_CIPHER_PARAM_KEYLEN>) <unsigned integer>

=item "ivlen" (B<OSSL_CIPHER_PARAM_IVLEN> and <B<OSSL_CIPHER_PARAM_AEAD_IVLEN>) <unsigned integer>

=item "tls-mac" (B<OSSL_CIPHER_PARAM_TLS_MAC>) <octet ptr>

=back

See L<EVP_EncryptInit(3)/PARAMETERS> for further information.

=head3 Settable EVP_CIPHER_CTX parameters

=over 4

=item "tls-mac-size" (B<OSSL_CIPHER_PARAM_TLS_MAC_SIZE>) <unsigned integer>

=back

See L<EVP_EncryptInit(3)/PARAMETERS> for further information.

=head1 CONFORMING TO

RFC 5246 section-6.2.3.1

=head1 SEE ALSO

L<provider-cipher(7)>, L<OSSL_PROVIDER-default(7)>

=head1 COPYRIGHT

Copyright 2023 The OpenSSL Project Authors. All Rights Reserved.

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
L<https://www.openssl.org/source/license.html>.

=cut
42 changes: 42 additions & 0 deletions doc/man7/EVP_MD-NULL.pod
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
=pod

=head1 NAME

EVP_MD-NULL - The NULL EVP_MD implementation

=head1 DESCRIPTION

Support for a NULL digest through the B<EVP_MD> API.
This algorithm does nothing and returns 1 for its init,
update and final methods.

=head2 Algorithm Name

The following algorithm is available in the default provider:

=over 4

=item "NULL"

=back

=head2 Gettable Parameters

This implementation supports the common gettable parameters described
in L<EVP_MD-common(7)>.

=head1 SEE ALSO

L<EVP_MD_CTX_set_params(3)>, L<provider-digest(7)>,
L<OSSL_PROVIDER-default(7)>

=head1 COPYRIGHT

Copyright 2023 The OpenSSL Project Authors. All Rights Reserved.

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
L<https://www.openssl.org/source/license.html>.

=cut
4 changes: 4 additions & 0 deletions doc/man7/OSSL_PROVIDER-default.pod
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@ The OpenSSL default provider supports these operations and algorithms:

=item RIPEMD160, see L<EVP_MD-RIPEMD160(7)>

=item NULL, see L<EVP_MD-NULL(7)>

=back

=head2 Symmetric Ciphers
Expand All @@ -93,6 +95,8 @@ The OpenSSL default provider supports these operations and algorithms:

=item ChaCha20-Poly1305, see L<EVP_CIPHER-CHACHA(7)>

=item NULL, see L<EVP_CIPHER-NULL(7)>

=back

=head2 Message Authentication Code (MAC)
Expand Down
2 changes: 1 addition & 1 deletion doc/man7/provider-cipher.pod
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ L<EVP_CIPHER-AES(7)>, L<EVP_CIPHER-ARIA(7)>, L<EVP_CIPHER-BLOWFISH(7)>,
L<EVP_CIPHER-CAMELLIA(7)>, L<EVP_CIPHER-CAST(7)>, L<EVP_CIPHER-CHACHA(7)>,
L<EVP_CIPHER-DES(7)>, L<EVP_CIPHER-IDEA(7)>, L<EVP_CIPHER-RC2(7)>,
L<EVP_CIPHER-RC4(7)>, L<EVP_CIPHER-RC5(7)>, L<EVP_CIPHER-SEED(7)>,
L<EVP_CIPHER-SM4(7)>,
L<EVP_CIPHER-SM4(7)>, L<EVP_CIPHER-NULL(7)>,
L<life_cycle-cipher(7)>, L<EVP_EncryptInit(3)>

=head1 HISTORY
Expand Down
1 change: 1 addition & 0 deletions doc/man7/provider-digest.pod
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,7 @@ L<EVP_MD-MD4(7)>, L<EVP_MD-MD5(7)>, L<EVP_MD-MD5-SHA1(7)>,
L<EVP_MD-MDC2(7)>, L<EVP_MD-RIPEMD160(7)>, L<EVP_MD-SHA1(7)>,
L<EVP_MD-SHA2(7)>, L<EVP_MD-SHA3(7)>, L<EVP_MD-SHAKE(7)>,
L<EVP_MD-SM3(7)>, L<EVP_MD-WHIRLPOOL(7)>,
L<EVP_MD-NULL(7)>,
L<life_cycle-digest(7)>, L<EVP_DigestInit(3)>

=head1 HISTORY
Expand Down

0 comments on commit 511eb1a

Please sign in to comment.