xref: /openssl/doc/man3/BN_security_bits.pod (revision b5c4bbbe)
1=pod
2
3=head1 NAME
4
5BN_security_bits - returns bits of security based on given numbers
6
7=head1 SYNOPSIS
8
9 #include <openssl/bn.h>
10
11 int BN_security_bits(int L, int N);
12
13=head1 DESCRIPTION
14
15BN_security_bits() returns the number of bits of security provided by a
16specific algorithm and a particular key size. The bits of security is
17defined in NIST SP800-57. Currently, BN_security_bits() support two types
18of asymmetric algorithms: the FFC (Finite Field Cryptography) and IFC
19(Integer Factorization Cryptography). For FFC, e.g., DSA and DH, both
20parameters B<L> and B<N> are used to decide the bits of security, where
21B<L> is the size of the public key and B<N> is the size of the private
22key. For IFC, e.g., RSA, only B<L> is used and it's commonly considered
23to be the key size (modulus).
24
25=head1 RETURN VALUES
26
27Number of security bits.
28
29=head1 NOTES
30
31ECC (Elliptic Curve Cryptography) is not covered by the BN_security_bits()
32function. The symmetric algorithms are not covered neither.
33
34=head1 SEE ALSO
35
36L<DH_security_bits(3)>, L<DSA_security_bits(3)>, L<RSA_security_bits(3)>
37
38=head1 HISTORY
39
40The BN_security_bits() function was added in OpenSSL 1.1.0.
41
42=head1 COPYRIGHT
43
44Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.
45
46Licensed under the Apache License 2.0 (the "License").  You may not use
47this file except in compliance with the License.  You can obtain a copy
48in the file LICENSE in the source distribution or at
49L<https://www.openssl.org/source/license.html>.
50
51=cut
52