# Finding primes

This is the main blog page for the "Deterministic way to find primes" project, which will be started in within a few weeks.

The main aim of the project is as follows:

Problem. Find a deterministic algorithm which, when given an integer k, is guaranteed to find a prime of at least k digits in length of time polynomial in k. You may assume as many standard conjectures in number theory (e.g. the generalised Riemann hypothesis) as necessary, but avoid powerful conjectures in complexity theory (e.g. P=BPP) if possible.

Here is the proposal for the project, which is also the de facto research thread for that project. Here is the discussion thread for the project.

Please add and develop this wiki; in order to maximise participation in the project when it launches, we will need as much expository material on this project as we can manage.

## Partial results

1. P=NP implies a deterministic algorithm to find primes
2. Problem is true if Cramer's conjecture holds (explain!)
3. Problem is true if strong pseudorandom number generators exist (explain!)
4. k-digit primes can be found with high probability using O(k) random bits (explain!)

## Easier versions of the problem

1. Subexponential time rather than polynomial
1. Equivalently, find primes with superlogarithmically many digits ($\gg \log k$) in poly(k) time
2. Find k-digit primes using o(k) random bits
3. Assume complexity conjectures such as P=BPP, P=BQP, etc.

## Relevant concepts

1. Complexity classes
2. Pseudo-random number generators (PRG)
3. Expander graphs
4. Cramer's random model for the primes
5. Prime gaps

## Relevant conjectures

1. P=NP
2. P=BPP
3. P=promise-BPP
4. P=BQP
5. existence of PRG
6. existence of one-way functions
7. whether DTIME(2^n) has subexponential circuits
8. GRH
9. the Hardy-Littlewood prime tuples conjecture
10. the ABC conjecture
11. Cramer’s conjecture