Skip to main content
Intellect

Spies at the Y

New class trains undergrads how to make and break secret codes

  • New cryptography class trains BYU undergrads for careers in digital security
  • One third of the students come from majors outside the math department
  • For the final exam, the students get 3 hours to unravel a message masked by 15 ciphers

Jared Webb’s assignment today: Decode pages of garbled numbers and letters to unravel a secret message hidden by 15 ciphers.
With seven days to complete the task with the help of classmates, he’s not too worried. The final exam, however, will give him only three hours to accomplish a similar feat working solo.

Welcome to BYU’s first-ever cryptography course. Housed in the math department, one-third of the 29 students are not math majors. Half a dozen are prepping for careers in information security under the tutelage of mathematics professor Paul Jenkins.

“When people hear ‘secret codes,’” says Jenkins, “a lot of people think of, say, the cryptograms in the newspaper. And we did that the first day and haven’t looked back.”

Webb and classmate Chris Guzman are aiming high. Both have applied for summer internships with the NSA and would be happy to land careers with this government agency that protects most of our nation’s top-secret information. The NSA also helps secure many systems critical to keeping our way of life running smoothly: power plants, traffic grids and water lines to name a few.

These systems are protected by the types of codes that Webb, Guzman and their classmates learn about. Similar codes secure e-commerce transactions, digital health records and personal emails. Fortunately, the sophistication of modern cryptography is up to the task.

Where cryptograms and pre-1900 ciphers employed tricky puzzle mechanisms – all of which are weak in the eyes of a computer – most modern cryptography relies on fairly simple mathematics involving very big numbers. Security lies in the near impossibility of finding numbers that evenly divide into massive numbers.

“The best computers in the world can’t do that very quickly,” Webb said. “And it seems like we should be able to come up with a cool trick to do it, but no one has been able to do it in 30 years.”

One of the coding techniques Jenkins’ students learn is called RSA public key encryption, an improvement on pre-math-based ciphers that can’t be undone by working backwards. RSA uses one key that encrypts messages and can be shared openly and another key that decodes the message and is known only by the receiver.

These “keys” are huge numbers related to large prime numbers – those that can’t be divided evenly by smaller positive numbers – such as the number 71515040012210311000015140000060914011219.

To find the keys, it is necessary to find the prime factors of numbers like the 48-digit beast from one of Jenkins' homework problems:

Bob’s public RSA key is (n,e) = (471983537467118210233708045324888209721498527413, 37). You have reason to believe that Bob has a fairly weak RSA key. You intercept a message intended for Bob:

27597870388144542006827731002740651679942899536

Decrypt. Explain how you did it.

“Cryptography has a really long, storied history. Since people have been around, they’ve wanted to obscure information from other people,” Webb said. And up until the late 1800s, “none of it was very good.”

But thanks to modern cryptography, people can safely send and receive messages on the go – at least until someone breaks RSA. But by the time that happens, the next generation of code makers, perhaps some trained at BYU, will have developed the next uncrackable code.

Math 485 is now offered once a year and is open to BYU students who have completed Math 313, elementary linear algebra.

Learn how to find a message hidden with a simple cipher in this story.

Writer: Nat Harward

Related Articles

data-content-type="article"

As the U.S. obesity epidemic grows, new BYU study shows who is most likely to be part of it

June 23, 2022
BYU researchers found that more than half of American adults in a new study gained 5% or more body weight over a 10-year period. What’s more, more than a third of American adults gained 10% or more body weight and almost a fifth gained 20% or more body weight.
overrideBackgroundColorOrImage= overrideTextColor= overrideTextAlignment= overrideCardHideSection=false overrideCardHideByline=false overrideCardHideDescription=false overridebuttonBgColor= overrideButtonText= overrideTextAlignment=
data-content-type="article"

Bunches of Oats: BYU professors untangle oat's evolutionary history for Nature paper

June 13, 2022
For the first time, researchers have sequenced the entire genome of a modern oat, the Swedish variety “Sang.” BYU plant and wildlife sciences professors Jeff Maughan and Rick Jellen played an important role in the international project, sequencing the genomes of two of oat’s ancient progenitors to elucidate its evolutionary history. The group’s findings were recently published as the cover article in top science journal Nature.
overrideBackgroundColorOrImage= overrideTextColor= overrideTextAlignment= overrideCardHideSection=false overrideCardHideByline=false overrideCardHideDescription=false overridebuttonBgColor= overrideButtonText= overrideTextAlignment=
data-content-type="article"

BYU tapped as major lead in $360 million national water resources effort

June 07, 2022
This spring the National Oceanic and Atmospheric Administration announced a massive $360 million grant to fund a four-part initiative to conduct research on water resources nationwide. BYU has been tapped to lead one of the four pillars of this major effort over the next five years.


overrideBackgroundColorOrImage= overrideTextColor= overrideTextAlignment= overrideCardHideSection=false overrideCardHideByline=false overrideCardHideDescription=false overridebuttonBgColor= overrideButtonText= overrideTextAlignment=
overrideBackgroundColorOrImage= overrideTextColor= overrideTextAlignment= overrideCardHideSection=false overrideCardHideByline=false overrideCardHideDescription=false overridebuttonBgColor= overrideButtonText=