2017-08-09 15:25:19 +00:00
|
|
|
=pod
|
|
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
|
|
|
BN_security_bits - returns bits of security based on given numbers
|
|
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
|
|
|
#include <openssl/bn.h>
|
|
|
|
|
|
|
|
int BN_security_bits(int L, int N);
|
|
|
|
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
|
|
|
BN_security_bits() returns the number of bits of security provided by a
|
|
|
|
specific algorithm and a particular key size. The bits of security is
|
|
|
|
defined in NIST SP800-57. Currently, BN_security_bits() support two types
|
|
|
|
of asymmetric algorithms: the FFC (Finite Field Cryptography) and IFC
|
|
|
|
(Integer Factorization Cryptography). For FFC, e.g., DSA and DH, both
|
|
|
|
parameters B<L> and B<N> are used to decide the bits of security, where
|
|
|
|
B<L> is the size of the public key and B<N> is the size of the private
|
|
|
|
key. For IFC, e.g., RSA, only B<L> is used and it's commonly considered
|
|
|
|
to be the key size (modulus).
|
|
|
|
|
|
|
|
=head1 RETURN VALUES
|
|
|
|
|
|
|
|
Number of security bits.
|
|
|
|
|
|
|
|
=head1 NOTES
|
|
|
|
|
|
|
|
ECC (Elliptic Curve Cryptography) is not covered by the BN_security_bits()
|
|
|
|
function. The symmetric algorithms are not covered neither.
|
|
|
|
|
|
|
|
=head1 HISTORY
|
|
|
|
|
2018-12-09 00:02:36 +00:00
|
|
|
The BN_security_bits() function was added in OpenSSL 1.1.0.
|
2017-08-09 15:25:19 +00:00
|
|
|
|
|
|
|
=head1 SEE ALSO
|
|
|
|
|
|
|
|
L<DH_security_bits(3)>, L<DSA_security_bits(3)>, L<RSA_security_bits(3)>
|
|
|
|
|
|
|
|
=head1 COPYRIGHT
|
|
|
|
|
|
|
|
Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.
|
|
|
|
|
|
|
|
Licensed under the OpenSSL license (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
|