Date of Award

Spring 5-7-2021

Document Type

Honors Project

Degree Name

Bachelor of Science



Department Chair or Program Director

Esunge, Julius

First Advisor

Helmstutler, Randall

Major or Concentration



We introduce a variation of Shanks’ baby-step/giant-step (BSGS) to carry out a chosen plaintext attack on RSA. The original usage of BSGS is to find a solution to the discrete log problem. Although BSGS is guaranteed to find a solution, it is not guaranteed to find the matching RSA private key. Our variation of BSGS finds the matching private key d by using the order of the plaintext message to generate a set of solutions. We then use the length of this set to determine the most likely candidate for φ(n). We use a large data set to test the efficiency and accuracy of our variation.

Included in

Mathematics Commons