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