Research Practicum Reflection Essay

For my practicum project I did research under Professor William Gasarch, a cryptography professor at UMD. Because of Covid, my practicum site was online. Every week, I would have a meeting with my research group where we go over the tasks we have completed the past week and what we need to do in the following week. We would go over questions and solutions to them and share code and ideas.

I found my practicum site by looking up at the computer science department at UMD's research tab. I messaged several professors who had research that I found interesting for me to work on. Professor William Gasarch was one such professor that I was pointed towards with the help of Jeffrey Zhang, who pointed him out to me. Professor Gasarch responded back and we managed to set up a Zoom meeting to go over what I could do for him. After that, I was part of the team.

The project I did was cracking RSA encryption using Pollard's Rho algorithm. I researched and coded up trivial, randomized, and Pollard's Rho algorithm for factoring numbers. My research group and I compared their execution times. For Pollard's Rho algorithm, we looked to see which numbers it factored quicker. We then tested to see what RSA numbers Pollard's Rho algorithm could crack. I worked originally with a team of three others including: Matthew Chan, Zhongxia Li, and Jeffrey Zhang. This team at one point of the project split up into two groups to work on different factoring algorithms. I worked with Jeffrey Zhang for the majority of the time on Pollard's Rho factoring algorithm. RSA is an encryption mechanism that basically is dependent on the assumption that factoring is hard. "Hardness", as known in computer science, just means that it takes an inordinately long time to execute on really large inputs. P. Rho is a method for factoring. Basically what I did was code several different factoring methods as well as a version of RSA encryption and a method to crack the RSA encryption. I looked at Pollard's Rho and tested what numbers it did well on and what numbers it struggled with.

Having worked on this project, I would say I have a newfound appreciation of the practical applications of how computer science can utilize mathematics for security. Cryptography is a field that makes it so that people's usernames, passwords, and identities aren’t being stolen every time you use the internet. It is what allows you to be able to trust a company like Twitter to have your passwords not be discoverable. Because of this experience, I am sure that I would like to pursue other research positions. I do have plans to continue research with Professor William Gasarch the following summer. I also am applying to join the University of Maryland Computer Science Departmental Honors program. I would really like to join the honors seminar and be able to learn and reach out to professors that I know are looking for students to work with them. If I don’t manage to get in, I will still try to reach out to professors on my own in the future.

Last modified: 11 May 2021