# 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?

-
Modern cryptography uses large primes. See this previous question and answer – 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
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
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
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

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
I've heard that unicorns are also adept at breaking RSA, so watch out. – R R Aug 16 '14 at 23:56

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.

-
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
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
Still, it's a very nice "real world application of primes". – Gadi A Jun 4 '11 at 4:58
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

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.

-
Interesting, lol, maybe I will do something like this some day. – GarouDan Jun 5 '13 at 0:25

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.

-
+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

From the world of real things...

Prime number are used in developing machine tools. Utilizing primes you can avoid setting up harmonics which "eat" your very expensive tools. Tools chatter, (bounce up and down), as they are being used. Allowing those vibrations to propagate intensifying the chatter and the wear.

You ever wonder how the metal racks in a microwave get designed? Again they use primes to assure that there are no harmonic possibilities, and you don't get the light show you would on an older microwave.

-
Can you be more specific? How are primes used here? (Links would do - I'm interested...) – user1729 Aug 14 '13 at 14:31
To overly simplify it...Machine tools are made of "composites", many parts. Taking the first part and multiplying it by a prime, your can reduce the harmionics caused by vibration. This continues through the whole tool set up. A Microwave metal grill is made the same way. If you look at the grill in your microwave you will note all of the cross beams are set at strange distances to each other. This is to eliminate arcing problems often seen in early microwaves. – Real World Guy Aug 27 '13 at 1:07

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
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

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.

-

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

-

Quadratic Reciprocity is stated in terms of the residues modulo primes. This "Golden Theorem" as called by Gauss, is one of the main threads leading up to Langlands program and eventually to the geometric Langlands Program. This later area of research has been shown to have ties with S-duality in string theory. String theory is just now being proven useful in understanding phenomena in condensed matter physics. Also it is the techniques that are used to prove results about prime numbers that have applications rather than a particular theorem about specific families of primes. Prime numbers are often test beds for more general results used in other areas of mathematics.

-

Arecibo message image dimensions

The Arecibo message consisted of a rectangle with prime width and height.

This guarantees that aliens can only interpret the image in 2 ways (modulo rotations and excluding a flat 1 x N image).

For example, for a 2 x 3 x 5 image with 30 bits can be read as either of:

2 x 15
3 x 10
5 x  6
6 x  5
10 x  3
25 x  2

But a similarly sized 3 x 11 image with 33 bits can only be read as:

3 x 11
11 x  3

If that counts as "real world", I leave up to you.

Indicator of intelligent life in interstellar communications

Another application in the alien communication vein: in the 1980's documentary series Cosmos, Carl Sagan proposes that we use a signal like:

X XX XXX XXXXX XXXXXXX XXXXXXXXXXX

with prime numbers length strings at the start of messages we send to aliens.

The rationale is that this is likely to catch their attention, since there are no (?) natural processes that generate such a sequence, even though it is a sequence we expect alien mathematicians to immediately understand, and thus recognize as a sign of intelligence.

So in this case, the lack of physical application of primes leads to their usefulness!

-

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

-

Primes are really strange... I created this simple pattern out of bordom. I haven't seen any of similarity online. As you see, the picture has lines of absence depending on the scale you choose, this is ranging from values 1 to 1000000

-

I used prime numbers to help group entities using two factors using Excel. I needed to calculate a. how large an entity was (in terms of turnover), and b. how tardy it was (by number of months) in filing annual returns. Each band had a consecutive number, and each size (e.g. turnover between $125,000 and$2 million) was assigned a prime number higher than the total number of time bands. Using prime numbers ensured that multiplying "size" by "lateness" values resulted in a unique "lateness score" that could then be used used to group entities based on size and degree of lateness.

-

I used a product of primes for a real world work task to see who could FULLY, emphasis on FULLY, cover whose duties.

Employees skills were assigned a prime number.

For each employee a prime product was generated that represented their skill mix.

My work example involved about 40 different types of skills and from memeory around 80 or so employees, and I wanted to use the prime product to see who could COMPLETELY cover the duties of who.

So for a very simple example if we had skills :-

can serve - assign prime number of 2 (say)

can cook - assign a prime number of 3 (say)

can clean - assign a prime number of 5 (say)

can deliver - assign a prime number of 7 (say)

As an aside if you didn't want a manual list of prime numbers you could use Euler's formula of

p(n) = n^2 + n + 41

to generate primes on the fly.

So lets say

Joe can serve, cook and clean - prime product = 2 x 3 x 5 = 30

Ann can cook and serve - prime product = 2 x 3 = 6

Tom can serve and clean - prime product = 2 x 5 = 10

Sue can serve and deliver - prime product = 2 x 7 = 14

Ben can cook serve and deliver - prime product = 2 x 3 x 7 = 42

So to see who can cover who,

the prime product of the person covering needs to be exactly divisible by the prime product of the person being covered.

Make sure its the right way round !

In other words there is no remainder , in many programming environments this can be checked using MOD.

So lets pose a question

Who can fully cover Sue ?

Sue's prime product = 14

Joe ? 30 / 14 = 2 r 2 So Joe can't fully cover

Ann ? 6 / 14 A fraction less than 1 so definitely cant cover

Tom ? 10 / 14 A fraction less than 1 so definitely cant cover

Ben ? 42 / 14 = 3 So Ben can FULLY cover Sue

This is a trivial example and doesn't amply demonstrate it's usefulness but imagine having a 100 employees with 40 or so skillsets and I think you can see then how useful this might be.

Hope this is of interest and even possible use.

-
There are much faster ways to get these same kind of results in most programming environments, which in addition do not require the use of a library to handle operations on extremely large numbers. – David K Jun 11 '15 at 16:05
is undoubtedly true that there are better ways of solving the problem. However it was posted as an example of a practical use of primes. Excel was the tool used and it seemed a way of completing the task offering a matrix view of who could cover who. To be honest I was surprised on cross-checking that the right cover was being identified, dubious as I was at the time of Excel handling large integers. – Jameel Siddiq Jun 12 '15 at 19:20
OK, that makes this interesting, because the "much faster ways" I had in mind are not nearly as convenient in Excel as the remainder (MOD) function. (Unlike, for example, the relative ease of doing bitwise arithmetic in C++ or Python.) So this could be a creative workaround in Excel for some applications like yours. And often Excel is a tool one might want to use. (I'd still want to test this quite thoroughly with some very large products.) – David K Jun 12 '15 at 20:20
Revisiting the idea of using prime products as a means of checking which employees can cover other employees fully (in relation to skills); as warned by David K, I have hit a limitation in using Excel. This is because it holds 15 places of accuracy internally. Even using consecutive primes from 2 , and allowing for the possibility of every skill being ticked for any given employee, the limit seems to be 13 skills. So still an interesting idea but really only justifiable where the number of skills is limited (up to 13) and the number of employees justifies the effort. – Jameel Siddiq Jul 16 '15 at 11:42

Prime numbers are used to generate Pseudo-Random numbers---which are used for coding-decoding exam.papers and digital signals . Also they are useful for testing new designs of computers . For example--

1/7=0.142857_142857_142857_14...(the decimal numbers repeat after six digits)

1/7^2=0.020408163265306122448979591836734693877551_020408163265306122448979591836734693877551_020408163265306122448979591836734693877551_02041...(Decimal digits repeat after 42 =6*7 digits)

1/7^3.=0.002915451895043731778425655976676384839650145772594752186588921282798833819241982507288629737609329446064139941690962099125364431486880466472303206997084548104956268221574344023323615160349854227405247813411078717201166180758017492711370262390670553935860058309037900874635568513119533527696793_002915451895043731778425655976676384839650145772594752186588921282798833819241982507288629737609329446064139941690962099125364431486880466472303206997084548104956268221574344023323615160349854227405247813411078717201166180758017492711370262390670553935860058309037900874635568513119533527696793_00291545189504...( Decimal digits repeat after294=42*7 =6*7^2digits)

period of repetition of decimal digits 1/7^n = 6*7^(n-1)

You can use multiples of 6 digits or 7digits as a code.

If the signal you are sending has 200 words ,you can use 6digit code .

6*7^(n-1)>2000*6 ......7^(n-1)>2000 ....so n>5

Also you can calculate p/7^101 ( p is any prime number) and check if the numbers repeat after .............6*7^100=19406859057748547948067886614601300865143219193427752405603371988350148757821568360006 digits --if your computer can handle that many digits.

-

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.

-