## Honors Projects

### New Implementations for Tabulating Pseudoprimes and Liars

2017

#### Publication Date

12-15-2017

The author completed this work in 2017. It was recognized with University Research Honors in 2018.

#### Abstract

Whether it is applied to primality test or cryptography, pseudoprimes are one of the most important topics in number theory. Regarding the study of strong pseudoprimes, there are two problems which mathematicians have been working on:
1. Given a, b, find all a-spsp up to b.
2. Given an odd composite n, find all a -n such that n is an a-spsp.
where n = a-spsp means n is a strong pseudoprime to base a, and a is a strong liar of n.

The two problems are respectively referred to as the tabulation of strong pseudoprimes and the tabulation of strong liars. The main focus of my work in this research project is on the tabulation of strong liars. This can be achieved by the application of the multiplicative group modulo n, denoted by (Z=nZ). Instead of checking each potential candidate, we can actually construct the set of Fermat liars, a \weaker" version than strong liars, from the bottom up with the help of the primitive roots of (Z=pZ) for all prime factors p of n. We then sieve out the set of strong liars with Millerwitness() function in NTL library. By implementing the algorithms with appropriate data structures, I verified that in most cases the runtimes have been improved compared to previous algorithms or brute force. This is to be expected, since they have less computational complexities theoretically. All implementations of the algorithms in this research project are in C++.

In 2010, Professors Mark Liffiton and Andrew Shallue built a new computer system for research purposes, known as Hyperion. This is essentially a cluster of 8 computers, also referred to as nodes, which are able to finish complex distributed computations. The operating systems installed on all the nodes in the cluster is Linux. By submitting Shell scripts which include instructions from its front end, I can grab a cup of coffee while the programs are running on the cluster. This feature is particularly beneficial for this project since the programs sometimes take tens of minutes to return all the outputs.

Mathematics

COinS