logarithm in OpenSSL

Guido Vranken guidovranken at gmail.com
Wed Jul 24 17:17:14 UTC 2019


log() in math.h only supports float or double type. float and double are
limited in the range of numbers they can express. For example, these types
cannot hold large numbers like "99999999999999999999999999999999999999999".
Depending on your purpose, float and double may be sufficient, and you can
use log() from math.h and link with -lm.

If you require logarithms of large numbers, you'll have to resort to a
library that supports this, like the one I linked to.

Alternatively, you can implement a logarithm extension to OpenSSL's bignum
library using existing bignum functions.

On Wed, Jul 24, 2019 at 7:02 PM Niklas Niere <nniklas at mail.uni-paderborn.de>
wrote:

> Thank you for the answer. We are using the Makefile from OpenSSL to
> compile our feature as it changes OpenSSL directly. As I understood it, we
> would have to import another number library to compile our code with the
> standard OpenSSL settings and using the logarithm, correct?
> On 2019-07-24 6:51 p.m., Guido Vranken wrote:
>
> If you want to use the log() from math.h, then you must compile with -lm,
> eg.: clang source.c -lm
>
> The log() in math.h only supports floating point numbers. If you require
> computing logarithms of bignums, try https://www.mpfr.org/
>
> On Wed, Jul 24, 2019 at 6:39 PM Niklas Niere <
> nniklas at mail.uni-paderborn.de> wrote:
>
>> Hello,
>>
>> we are implementing a TLS 1.3 feature into OpenSSL to get an idea of how
>> well our feature performs in a concrete server library. In the feature,
>> we want to use the log function.
>>
>> When we try to use the log function from the math.h header, OpenSSL
>> won't compile with the statement that 'log' is a reference to an
>> undefined function. The BigNum library from OpenSSL does also not seem
>> to offer a log function.
>>
>> We suspect that the compile error comes from the fact that OpenSSL is
>> C90 compatible but are unsure. Does anyone know how to compute the
>> logarithm of a number in OpenSSL?
>>
>> Thanks,
>> Niklas
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mta.openssl.org/pipermail/openssl-users/attachments/20190724/9f75ecf9/attachment-0001.html>


More information about the openssl-users mailing list