About the usage of Macro: "ASSERT_ALWAYS" and Miller-Rabin primality test

Niels Möller nisse at lysator.liu.se
Tue Apr 23 10:54:37 UTC 2019

chenjiechuan <chenjiechuan at huawei.com> writes:

> The first problem is about the usage of Macro "ASSERT_ALWAYS".
> I've looked into the source code of gmp 6.1.2 and found that there're
> numbers of usage of the macro "ASSERT_ALWAYS". Within this macro, a
> function named "__gmp_assert_fail()" is called, which will trigger
> "abort()" procedure and cause the operating system to raise a core
> dump and may result in leaking sensitive information (for example, by
> making use of operating system's error reporting program).

Bugs in GMP or in the application code may cause the process to crash in
many interesting ways, ASSERT_ALWAYS inside GMP only being one of the
possibilities. Depending on outside factors (e.g., ulimit -c), a crash
may result in a core dump.

If core dumps from the application is a security problem, please just
use the available facilities to disable core dumps, for *all* types of

> So I would like to know if the primality testing algorithm will be
> replaced in the next coming version?

The next version will use BPSW
https://en.wikipedia.org/wiki/Baillie%E2%80%93PSW_primality_test for
primality testing (or more strictly compositeness testing).


Niels Möller. PGP-encrypted email is preferred. Keyid 368C6677.
Internet email is subject to wholesale government surveillance.

More information about the gmp-discuss mailing list