diff options
author | Matt Caswell <matt@openssl.org> | 2019-04-26 13:11:13 +0200 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2019-07-01 11:18:37 +0200 |
commit | 792cb4ee8d82e4b063f707fc9f4992271ffd65ab (patch) | |
tree | 156e8395a325dd9503a17a02326a07c0a4034f43 /doc/man3/EVP_rc5_32_12_16_cbc.pod | |
parent | Only cache a method if we actually created one (diff) | |
download | openssl-792cb4ee8d82e4b063f707fc9f4992271ffd65ab.tar.xz openssl-792cb4ee8d82e4b063f707fc9f4992271ffd65ab.zip |
Ensure that rc5 doesn't try to use a key longer than 2040 bits
The maximum key length for rc5 is 2040 bits so we should not attempt to
use keys longer than this.
Issue found by OSS-Fuzz and Guido Vranken.
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/8834)
Diffstat (limited to 'doc/man3/EVP_rc5_32_12_16_cbc.pod')
-rw-r--r-- | doc/man3/EVP_rc5_32_12_16_cbc.pod | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/doc/man3/EVP_rc5_32_12_16_cbc.pod b/doc/man3/EVP_rc5_32_12_16_cbc.pod index ee3ef8548d..0876fab612 100644 --- a/doc/man3/EVP_rc5_32_12_16_cbc.pod +++ b/doc/man3/EVP_rc5_32_12_16_cbc.pod @@ -33,7 +33,26 @@ EVP_rc5_32_12_16_ofb() RC5 encryption algorithm in CBC, CFB, ECB and OFB modes respectively. This is a variable key length cipher with an additional "number of rounds" parameter. By -default the key length is set to 128 bits and 12 rounds. +default the key length is set to 128 bits and 12 rounds. Alternative key lengths +can be set using L<EVP_CIPHER_CTX_set_key_length(3)>. The maximum key length is +2040 bits. + +The following rc5 specific I<ctrl>s are supported (see +L<EVP_CIPHER_CTX_ctrl(3)>). + +=over 4 + +=item EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_SET_RC5_ROUNDS, rounds, NULL) + +Sets the number of rounds to B<rounds>. This must be one of RC5_8_ROUNDS, +RC5_12_ROUNDS or RC5_16_ROUNDS. + +=item EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GET_RC5_ROUNDS, 0, &rounds) + +Stores the number of rounds currently configured in B<*rounds> where B<*rounds> +is an int. + +=back =back @@ -43,10 +62,6 @@ These functions return an B<EVP_CIPHER> structure that contains the implementation of the symmetric cipher. See L<EVP_CIPHER_meth_new(3)> for details of the B<EVP_CIPHER> structure. -=head1 BUGS - -Currently the number of rounds in RC5 can only be set to 8, 12 or 16. -This is a limitation of the current RC5 code rather than the EVP interface. =head1 SEE ALSO |