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"

Save your tears for another day — BYU researchers can use them to detect disease

December 05, 2024
It’s been said that angry tears are salty and happy tears are sweet. Whether or not that’s actually the case, it is true that not all tears are the same. Tears from chopping an onion are different from those shed from pain – like stepping on a Lego in the middle of the night — as are those special basal tears that keep eyes moist all day. Each type of tear carries unique proteins that reveal insights into health.
overrideBackgroundColorOrImage= overrideTextColor= overrideTextAlignment= overrideCardHideSection=false overrideCardHideByline=false overrideCardHideDescription=false overridebuttonBgColor= overrideButtonText= overrideTextAlignment=
data-content-type="article"

BYU study shows that even one act of kindness per week improves wellbeing for individuals, communities

November 25, 2024
Have you felt uplifted through a simple smile, help with a task or a positive interchange with someone — even a stranger? Kindness works both ways. A new study conducted by BYU researcher Julianne Holt-Lunstad finds that offering a single act of kindness each week reduced loneliness, social isolation and social anxiety, and promoted neighborhood relationships.
overrideBackgroundColorOrImage= overrideTextColor= overrideTextAlignment= overrideCardHideSection=false overrideCardHideByline=false overrideCardHideDescription=false overridebuttonBgColor= overrideButtonText= overrideTextAlignment=
data-content-type="article"

From Tony Hawk Pro Skater to Minecraft, these humanities professors want students to study (and play) video games

November 21, 2024
Humanities professors Michael Call and Brian Croxall have introduced a new video gaming initiative to BYU’s campus. With the support of the College of Humanities, students gather each Monday at 4:00 p.m. in the Humanities Learning Commons for a short faculty lecture about the video game of the week. The game is then available to play throughout the week. Beginning with Stardew Valley and Minecraft, the highlighted games and analyses are continuing through the semester.
overrideBackgroundColorOrImage= overrideTextColor= overrideTextAlignment= overrideCardHideSection=false overrideCardHideByline=false overrideCardHideDescription=false overridebuttonBgColor= overrideButtonText= overrideTextAlignment=
overrideBackgroundColorOrImage= overrideTextColor= overrideTextAlignment= overrideCardHideSection=false overrideCardHideByline=false overrideCardHideDescription=false overridebuttonBgColor= overrideButtonText=