Research Collection Conference Paper A Performant, Misuse-Resistant API for Primality Testing Author(s): Massimo, Jake; Paterson, Kenneth G. Publication Date: 2020-10 Permanent Link: https://doi.org/10.3929/ethz-b-000409319 Originally published in: http://doi.org/10.1145/3372297.3417264 Rights / License: In Copyright - Non-Commercial Use Permitted This page was generated automatically upon download from the ETH Zurich Research Collection. For more information please consult the Terms of use. ETH Library A Performant, Misuse-Resistant API for Primality Testing Jake Massimo Kenneth G. Paterson
[email protected] [email protected] Royal Holloway, University of London Department of Computer Science, ETH Zurich ABSTRACT parameter sets (see also Bleichenbacher [9] for an earlier example Primality testing is a basic cryptographic task. But developers today involving the GNU Crypto library). are faced with complex APIs for primality testing, along with docu- The main underlying issue identified in [3] is that, while all li- mentation that fails to clearly state the reliability of the tests being braries examined performed well on random inputs, some failed performed. This leads to the APIs being incorrectly used in practice, miserably on maliciously crafted ones in their default settings. with potentially disastrous consequences. In an effort to overcome Meanwhile code documentation was generally poor and did not this, we present a primality test having a simplest-possible API: the distinguish clearly between the different use cases. And developers test accepts a number to be tested and returns a Boolean indicat- were faced with complex APIs requiring them to understand the ing whether the input was composite or probably prime.