The First 50M Prime Numbers (1975) [pdf]
people.mpim-bonn.mpg.de
people.mpim-bonn.mpg.de
2^255-19
This is where Curve 25519 and the associated cryptography (ed25519, x25519) gets its name from. Written out, 2^255-19=57896044618658097711785492504343953926634992332820282019728792003956564819949.
I was going to include the digits for comparison, but yes, on second thought 6002 digits is probably too much for polite inclusion in a HN post.
OEIS says "19937 ones in a row" isn't prime, but "1031 ones in a row" is.
And "8177207 ones in a row" is at least a probable prime. (Which you can maybe remember as a seven-digit phone number, or as either BITTZOT or LOZLLIB depending on how you prefer to hold your calculator. But those mnemonics are wasted if (10^{81777207}-1)/9 turns out to be merely pseudoprime.)
echo '2^255-19' | bc""" upon looking at these numbers one has the feeling of being in the presence of one of the inexplicable secrets of creation. """
""" I hope that with this and the other pictures I have shown, I have communicated a certain impression of the immense beauty of the prime numbers and of the endless surprises which they have in store for us. """
Here we are with many orders of magnitude of computing power that we have to ourselves, 24/7, and mostly we're using all that power to browse the Internet :P
Calculating the first 50,000,000 primes takes less than ten minutes (using no memory - that is, not a sieve). The 50,000,000th prime, BTW, is 982,451,653. I wonder what the author of this paper would've been able to do with the kind of processing available to us.
IIRC computing primes was a popular way to test hardware; it’s fairly easy to compare results between machines, and both having a faster CPU, more CPUs and having more memory (simple example: if you do trial division, you can keep a larger table of ‘small’ primes around to quickly weed out most integers)) will speed up computations.
It then sort-of became a marketing goal to beat your competitors, so cleverer and cleverer algorithms were developed.
Because of that, those records had less trouble with resource allotments.
(Only useful if you have a large disk but not a fast CPU. As that page says “Usually it is faster to run a program on your own computer than to download them”)
"You certainly all know what a prime number is: it is a natural number bigger than 1 which is divisible by no other natural number except for 1."
By that definition, the set of prime numbers is an empty set. (All natural numbers greater than 1 are divisible by at least two other numbers: 1 and itself).
When there's a new "largest prime" announced, does that mean we know all the primes below that number?
What language did you use to write the code?
I also have another question, did you witness the transition from punched cards to terminals?
And yes, I saw that transition. I learned to program using Fortran IV and IBM 11/30 assembly in the mid-70s, using punched cards. Wrote a MIXAL assembler and simulator for the minicomputer at the local college around 1976; it was about 7000 punched cards in length, all assembly. Got a Commodore PET in 1978, moved on to SS-50 based 6809 and 68008 systems in the late 70s/early 80s, with a serial terminal.
⸻
1. Reader, I filled it up.
You could have made a significant amount of money betting against my technical predictions over the last few decades.
If I go to https://www.google.com using Chrome and Inspect > Security, I see it is using X25519Kyber768Draft00 for key exchange. X25519 is definitely ECC and and Kyber is being used for key encapsulation (per a quick google). I don't know to what extent it can be used independently vs it's new so they are layering it up until it has earned the right to stand on its own.
It's very, very easy to find big prime numbers: you generate a random number in the range that you are interested in, and then check whether it's prime. Repeat until you find a prime; they are fairly dense (a random number `n` has about a 1/log(n) chance of being prime) so you don't have to try too often.
In fact, that's how we find big primes for creating things like RSA key-pairs.
Testing a number for primality can also be done fairly quick. In general, much, much faster than finding the factors of a composite number. See https://en.wikipedia.org/wiki/Primality_test
> Has anyone ever considered a plan B for such a scenario?
Yes, quantum resistance cryptography is a thing. See the other comments.
(PDF is actually an executable format and allows computation inside of it.)