BN_security_bits.pod 1.5 KB

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