Blame doc/man3/EVP_chacha20.pod

Packit c4476c
=pod
Packit c4476c
Packit c4476c
=head1 NAME
Packit c4476c
Packit c4476c
EVP_chacha20,
Packit c4476c
EVP_chacha20_poly1305
Packit c4476c
- EVP ChaCha20 stream cipher
Packit c4476c
Packit c4476c
=head1 SYNOPSIS
Packit c4476c
Packit c4476c
 #include <openssl/evp.h>
Packit c4476c
Packit c4476c
 const EVP_CIPHER *EVP_chacha20(void)
Packit c4476c
 const EVP_CIPHER *EVP_chacha20_poly1305(void)
Packit c4476c
Packit c4476c
=head1 DESCRIPTION
Packit c4476c
Packit c4476c
The ChaCha20 stream cipher for EVP.
Packit c4476c
Packit c4476c
=over 4
Packit c4476c
Packit c4476c
=item EVP_chacha20()
Packit c4476c
Packit c4476c
The ChaCha20 stream cipher. The key length is 256 bits, the IV is 128 bits long.
Packit c4476c
The first 32 bits consists of a counter in little-endian order followed by a 96
Packit c4476c
bit nonce. For example a nonce of:
Packit c4476c
Packit c4476c
000000000000000000000002
Packit c4476c
Packit c4476c
With an initial counter of 42 (2a in hex) would be expressed as:
Packit c4476c
Packit c4476c
2a000000000000000000000000000002
Packit c4476c
Packit c4476c
=item EVP_chacha20_poly1305()
Packit c4476c
Packit c4476c
Authenticated encryption with ChaCha20-Poly1305. Like EVP_chacha20(), the key
Packit c4476c
is 256 bits and the IV is 96 bits. This supports additional authenticated data
Packit c4476c
(AAD) and produces a 128-bit authentication tag. See the
Packit c4476c
L<EVP_EncryptInit(3)/AEAD Interface> section for more information.
Packit c4476c
Packit c4476c
=back
Packit c4476c
Packit c4476c
=head1 RETURN VALUES
Packit c4476c
Packit c4476c
These functions return an B<EVP_CIPHER> structure that contains the
Packit c4476c
implementation of the symmetric cipher. See L<EVP_CIPHER_meth_new(3)> for
Packit c4476c
details of the B<EVP_CIPHER> structure.
Packit c4476c
Packit c4476c
=head1 SEE ALSO
Packit c4476c
Packit c4476c
L<evp(7)>,
Packit c4476c
L<EVP_EncryptInit(3)>,
Packit c4476c
L<EVP_CIPHER_meth_new(3)>
Packit c4476c
Packit c4476c
=head1 COPYRIGHT
Packit c4476c
Packit c4476c
Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.
Packit c4476c
Packit c4476c
Licensed under the OpenSSL license (the "License").  You may not use
Packit c4476c
this file except in compliance with the License.  You can obtain a copy
Packit c4476c
in the file LICENSE in the source distribution or at
Packit c4476c
L<https://www.openssl.org/source/license.html>.
Packit c4476c
Packit c4476c
=cut
Packit c4476c