A polytime proof of correctness of the Rabin-Miller algorithm from Fermat's little theorem (original) (raw)

Primality testing revisited

Papers from the international symposium on Symbolic and algebraic computation - ISSAC '92, 1992

Rabin's algorithm is commonly used in computer algebra systems and elsewhere for primality testing. This paper presents an experience with this in the Axiom* computer algebra system. As a result of this experience, we suggest certain strengthenings of the algorithm.

A generalization of Miller's primality theorem

Proceedings of the American Mathematical Society, 2008

For any integer r we show that the notion of ω-prime to base a introduced by Berrizbeitia and Berry, 2000, leads to a primality test for numbers n congruent to 1 modulo r, which runs in polynomial time assuming the Extended Riemann Hypothesis (ERH). For r = 2 we obtain Miller's classical result.

PPT: New Low Complexity Deterministic Primality Tests Leveraging Explicit and Implicit Non-Residues. A Set of Three Companion Manuscripts

ArXiv, 2019

In this set of three companion manuscripts/articles, we unveil our new results on primality testing and reveal new primality testing algorithms enabled by those results. The results have been classified (and referred to) as lemmas/corollaries/claims whenever we have complete analytic proof(s); otherwise the results are introduced as conjectures. In Part/Article 1, we start with the Baseline Primality Conjecture~(PBPC) which enables deterministic primality detection with a low complexity = O((log N)^2) ; when an explicit value of a Quadratic Non Residue (QNR) modulo-N is available (which happens to be the case for an overwhelming majority = 11/12 = 91.67% of all odd integers). We then demonstrate Primality Lemma PL-1, which reveals close connections between the state-of-the-art Miller-Rabin method and the renowned Euler-Criterion. This Lemma, together with the Baseline Primality Conjecture enables a synergistic fusion of Miller-Rabin iterations and our method(s), resulting in hybrid ...

Formal and Efficient Primality Proofs by Use of Computer Algebra Oracles

Journal of Symbolic Computation, 2001

This paper focuses on how to use Pocklington's criterion to produce efficient formal proof-objects for showing primality of large positive numbers. First, we describe a formal development of Pocklington's criterion, done using the proof assistant Coq. Then we present an algorithm in which computer algebra software is employed as oracle to the proof assistant to generate the necessary witnesses for applying the criterion. Finally, we discuss the implementation of this approach and tackle the proof of primality for some of the largest numbers expressible in Coq.

Notes on Primality Testing And Public Key Cryptography Part 1: Randomized Algorithms Miller-Rabin and Solovay-Strassen Tests

Ever since written communication was used, people have been interested in trying to conceal the content of their messages from their adversaries. This has led to the development of techniques of secret communication, a science known as cryptography. The basic situation is that one party, A, say Albert, wants to send a message to another party, J, say Julia. However, there is a danger that some ill-intentioned third party, Machiavelli, may intercept the message and learn things that he is not supposed to know about and as a result, do evil things. The original message, understandable to all parties, is known as the plain text. To protect the content of the message, Albert encrypts his message. When Julia receives the encrypted message, she must decrypt it in order to be able to read it. Both Albert and Julia share some information that Machiavelli does not have, a key. Without a key, Machiavelli, is incapable of decrypting the message and thus, to do harm. There are many schemes for generating keys to encrypt and decrypt messages. We are going to describe a method involving public and private keys known as the RSA Cryptosystem, named after its inventors, Ronald Rivest, Adi Shamir, and Leonard Adleman (1978), based on ideas by Diffie and Hellman (1976). We highly recommend reading the orginal paper by Rivest, Shamir, and Adleman [19]. It is beautifully written and easy to follow. A very clear, but concise exposition can also be found in Koblitz [10]. An encyclopedic coverage of cryptography can be found in Menezes, van Oorschot, and Vanstone's Handbook [14].

Fast Generation of Provable Primes Using Search in Arithmetic Progressions

Lecture Notes in Computer Science, 1994

Many cryptographic algorithms use number theory. They share the problem of generating large primes with a given (fixed) number n of bits. In a series of articles, Brandt, Damgard, Landrock and Pomerance address the problem of optimal use of probabilistic primality proofs for generation of cryptographic primes. Maurer proposed using the Pocklington lemma for generating provable primes. His approach loses efficiency due to involved mechanisms for generating close to uniform distribution of primes. We propose an algorithm which generates provable primes and can be shown to be the most efficient prime generation algorithm up to date. This is possible at the cost of a slight reduction of the set of primes which may be produced by the algorithm. However, the entropy of the primes produced by this algorithm is assymptotically equal to the entropy of primes with random uniform distribut,ion. Primes are sought in arithmetic progressions and proved by recursion. Search in arithmetic progressions allows the use of Eratosthenes sieves, which leads finaly to saving 1 / 3 of the psuedo prime tests compared to random search.

PROVING PRIMALITY IN ESSENTIALLY QUARTIC RANDOM TIME

This paper presents an algorithm that, given a prime n, finds and verifies a proof of the primality of n in random time (lg n) 4+o(1). Several practical speedups are incorporated into the algorithm and discussed in detail.

Fast verification, testing, and generation of large primes

Theoretical Computer Science, 1979

We present a prime certification method which permits shorter certificates of primality than the method analyzed by Pratt. We analyze the expected time required by a stochastic method for showing that n is prime, given a factorization of n-1. We use this method, together with Rabin's stochastic m.c;hOd for verifying COmpOSiteneSs, to obtain an algorithm for generating arbitrarily large pssnes and short ce&kates Of their primahty. We give plausibility arguments that this method can g(znerate primes larger than n in expected time polynomial in log n. We analyze several such prime generation algorithms*

Efficient “quasi”-deterministic primality test improving AKS

preprint, 2003

We combine ideas from the seminal paper of Agrawal, Kayal and Saxena [AKS] as improved by Lenstra [Le3] with the particular case sharpening of Berrizbeitia and introduce the cyclotomy of rings setting [Le2, BvdH, Mi3] for the latter. Thus we deduce a new variant of the AKS algorithm which: (i) has running time O`log 4+o(1) (n)´; (ii) works on all prime candidates n > e e 2e ; and (iii) is "quasi deterministic", in the sense that it is deterministic under the assumption that some roots of unity can be found in polynomial time, while failing to do so would raise an explicit contradiction to the GRH. The bottleneck of the algorithm are the space requirements.

An Efficient Modular Exponentiation Proof Scheme

arXiv (Cornell University), 2022

We present an efficient proof scheme for any instance of left-to-right modular exponentiation, used in many computational tests for primality. Specifically, we show that for any (a, n, r, m) the correctness of a computation a n ≡ r (mod m) can be proven and verified with an overhead negligible compared to the computational cost of the exponentiation. Our work generalizes the Gerbicz-Pietrzak proof scheme used when n is a power of 2, and has been successfully implemented at PrimeGrid, doubling the efficiency of distributed searches for primes.