# Real world applications of prime numbers?

I am going through the problems from Project Euler and I notice a strong insistence on Primes and efficient algorithms to compute large primes efficiently.

The problems are interesting per se, but I am still wondering what the real world applications of primes would be.

What real tasks require the use of prime numbers?

Edit: A bit more context to the question: I am trying to improve myself as a programmer, and having learned a few good algorithms for calculating primes, I am trying to figure out where I could apply them.

The explanations concerning cryptography are great, but is there nothing else that primes can be used for?

-

3
– Arturo Magidin Jun 4 '11 at 3:44
Thanks, that's a great answer. Is there any other use besides cryptography? – Sylverdrag Jun 4 '11 at 4:14

2
As far as "real tasks" (if you don't consider mathematical research to be a real task) cryptography is the main use, though no doubt they make appearances in many other algorithms used all over the place, they don't have the "leading role", as it were, that they have in cryptography. – Arturo Magidin Jun 4 '11 at 4:17

11
No offense taken. When my dad's advisor was teaching a course in automata theory in the sixties, a student asked "Is there any practical application of automata theory?" After thinking about it for about 10 seconds, he replied "I know that at least me and thirty odd other people in the country make a living by doing automata theory. If you can come up with something more practical than that, let me know." – Arturo Magidin Jun 4 '11 at 21:08

3
Beside cryptography is coding theory. Random number generators, error correcting codes, and hashes often involve primes: either directly or indirectly. Another not so obvious (indirect) application: many libraries which perform arithmetic on large integers, or polynomials involve reductions modulo primes (see Hensel's lemma) for computational complexity reason. – user2468 Jul 16 '12 at 15:56
show 1 more comment

## 11 Answers

The most popular example I know comes from Cryptography, where many systems rely on problems in number theory, where primes have an important role (since primes are in a sense the "building blocks" of numbers).

Take for example the RSA encryption system: All arithmetic is done modulo $n$, with $n=pq$ and $p,q$ large primes. Decryption in this system relies on computing Euler's phi function, $\varphi(n)$, which is hard to compute (hence the system is hard to break) unless you know the prime factorization of $n$ (which is also hard to compute unless you know it upfront). Hence you need a method to generate primes (the Miller-Rabin primality checking algorithm is usually used here) and then you construct $n$ by multiplying the primes you have found.

-

Note that this encryption system will be utterly useless as soon as quantum computers are reasonably usable. – akkkk Nov 30 '12 at 22:48
Indeed. However, it is still not clear whether quantum computers will even be reasonably useful at a level that allowed them to break real-world RSA ciphers, and meanwhile RSA is used practically everywhere, so RSA is a good example of practical use of primes even if someday it will be obsolete. – Gadi A Dec 3 '12 at 9:45

Here is a hypothesized real-world application, but it's not by humans...it's by cicadas.

Cicadas are insects which hibernate underground and emerge every 13 or 17 years to mate and die (while the newborn cicadas head underground to repeat the process). Some people have speculated that the 13/17-year hibernation is the result of evolutionary pressures. If cicadas hibernated for X years and had a predator which underwent similar multi-year hibernations, say for Y years, then the cicadas would get eaten if Y divided X. So by "choosing" prime numbers, they made their predators much less likely to wake up at the right time.

(It doesn't matter much anyway, because as I understand it, all of the local bug-eating animals absolutely gorge themselves whenever the cicadas come out!)

EDIT: I should have refreshed my memory before posting. I just re-read the article, and the cicadas do not hibernate underground. They apparently "suckle on tree roots". The article has a few other mild corrections to my answer, as well.

-

2
I somehow don't think 13 and 17 are "large primes" that need computing, though, even if you are a cicada... – Arturo Magidin Jun 4 '11 at 4:54

1
Cicada's don't have the computing power that we do, so they stuck with smaller primes. Anyway, I realize my answer is not quite was the OP was looking for, but I still thought it was neat. – Jeff Jun 4 '11 at 4:58

1
Still, it's a very nice "real world application of primes". – Gadi A Jun 4 '11 at 4:58

2
And the computation is not done by the cicadas anyway, but by the predators who ate all the 15- and 16-year cicadas. – MJD Jul 16 '12 at 16:14
@Jeff: to expand on Mark's answer, it's not a matter of a computational power, because the burden of proof is on the predators. It's more likely because 13 and 17 were the smallest primes that allowed them to avoid most predators. A hypothetical group of 89-year period cicadas would grow much more slowly while not avoiding many more predators, so it would not be favored by evolution. – Generic Human Jul 25 '12 at 13:46
show 2 more comments

You can use prime numbers to plot this fine pattern :)

Intensity of green colour for each pixel was calculated using a function, which can be described with this pseudocode snippet:

````g_intensity = ((((y << 32) | x))^((x << 32) | y))) * 15731 + 1376312589) % 256
````

where x and y are a pixel coordinates in screen space, stored in a 64bit integer variables.

-

7
+1 designing carpets :) – user2468 Jul 16 '12 at 15:52
Nice picture! FWIW this is equivalent to `((x^y)*115 + 13) % 256` and it has nothing to do with prime numbers, but rather with the fact that 115 is odd and has a binary representation that is "random enough". – Generic Human Jul 25 '12 at 14:05

Just to add one more: Primes are also useful when generating Pseudo-Random Numbers with the computer. A few formulas use them to avoid patterns in the output.

-

that sounds interesting. Any specific example? – Sylverdrag Jun 4 '11 at 6:58
The most basic case is probably this: en.wikipedia.org/wiki/Lehmer_random_number_generator it was also asked a few days ago here math.stackexchange.com/questions/41847/… – Listing Jun 4 '11 at 7:05

When I was some 20 years old and living by myself for the first time, I designed a little racetrack with numbered squares on it, along with a handful of coloured tokens that would race along the track at the speed of one square per day. Each token had a household chore and a prime number on it; when a token hit its number, I had to carry out the given task, and it would get reset to zero. So, I washed the dishes every two days, watered the plants every three, vacuumed the carpet every five, ....

It was a good system. It made cleaning fun, it provided variety and structure at the same time, and I was obliged to devote the entire day to chores only once every 1397.73 years.

-

Primes are also useful for generating hash codes.

-
How would they be used for that purpose? Is it different from the cryptographic use? – Sylverdrag Jun 4 '11 at 6:56
The requirements for a hash are a little different: you want to minimize collisions and you don't really care whether the "encoding" is easy to undo or not. Though both randomizing functions and encryption functions can be used to generate hashes. – trutheality Jun 4 '11 at 7:05
Another reason prime numbers are used is that when the size of a hash table is prime, collisions are less likely. – trutheality Jun 4 '11 at 7:07
Maybe you want to expand your answer - explain what hash codes are and how primes are used to generate them. – Gadi A Jun 4 '11 at 8:49

1
No I don't. I'm severely underqualified for that. Those interested are better off searching for further details on Wikipedia or Google. – trutheality Jun 4 '11 at 8:56

Like yourself, I got into primes since this was a common exercise program to do when learning new programming languages and it was interesting to see which language was faster on the same algorithm/error check plan.

It was only when I was refining my Ada coded program to get the highest number of primes that I could get from a 32-bit machine that I came across the offset logarithmic integral. (I needed to reserve enough - but not too much - memory for my holding array for the primes. The array, of course, had to be declared prior to making any assignments to it. On a 1 GB memory 32-bit machine, I can get primes up to ~ 50 million before stack blows.)

$${\rm Li} (x) = \int_2^x \frac{dt}{\ln t}$$

This function represents the best approximation to the number of primes up to some number, x.

All I'm saying here is that this equation made me wonder about primes in the context of a number of other things that use related functions . . . That led me on to thinking about entropy calculations, particularly about selecting compositions more likely to give rise to metastable crystal forms - possibly even glasses - than other compositions using the same constituent elements.

-

Not sure this answers the question... – J. M. Jul 16 '12 at 16:07
A metastable phase of an existing substance is effectively a whole new material. It has its own individual properties, some (e.g. magnetic properties of metallic glasses, mechanical properties of diamond-like carbon, abrasive properties of cubic boron nitride, . . ) potentially very useful to mankind. The mathematical approach to predicting such compositions likely to obviate the usual kinetics of crystallisation has to be cheaper and simpler than existing approaches, like rapid solidification, huge external magnetic fields, phase prediction based on existing thermochemical data, etc. – Deek Jul 16 '12 at 19:12

Yes indeed modern cryptography is a useful branch which requires extensive use of prime numbers. A real world application to them would be how we use large primes in order for us to be able to encode information that is sent wirelessly when making transactions on our debit cards, credit cards, computers,$~\ldots$etc in order to keep our information safe. Now when I say real world I don't mean the physical world. Primes numbers use is only in the computer world, in which we use computers in our physical world; if that makes any sense at all. Primes number had little use until about the 19th century, when mathematicians experimented with them in hopes to uncover some breakthrough with their use. When the times of the war came around, the U.S. defense needed a way of secrecy of all high class confidential information, so files and messages all needed to be encoded, so that enemy lines could not retrieve vital information of plans and routines. Encryption was used, and to make the process of using primes numbers to encode information, computers came into play to create more complex and longer codes that would be much harder to crack by anyone. Primes can also be used in pseudorandom number generators and computer hash tables. There are some biological instances in which primes are used to help in predicting the predator-prey model for a special type of insect to have a higher survival rate which are "Cicada". Something else would be public-key encryption, formally known as RSA.

There are many types of classifications of prime numbers, but the main two are Fermat primes and Mersenne primes.

Have a look at this video here from Terence Tao. Structure and Randomness in Prime Numbers

Articles Here:

Treatment on Primes, They are the very top 9 links by Terry Tao and others.

Powerpoint Link in First Paragraph

-

A simple answer is finding GCF and LCD for whole numbers which allows us to efficiently manipulate fractions, both arithmetic and algebraic. Another is rationalizing and simplifying radical expressions. Prime number manipulation is a basic and not-so-basic tool of mathematics.

-

There may be some applications (other than to cryptography, already mentioned) in Manfred Schroeder's book, Number Theory in Science and Communication.

-

Prime numbers are used in public key cryptography. It is used because you generally don't think of the really big prime numbers, so it is great for codes and to keep things safe.

-
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 7, "mathjax_display_tex": 1, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": false}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9406687021255493, "perplexity_flag": "middle"}