You are here

Cryptanalysis

INTRODUCTION

"In cryptography, RSA is an algorithm for public key encryption. It was the first algorithm known to be suitable for signing as well as encryption, and one of the first great advances in public key cryptography. RSA is still widely used in electronic commerce protocols, and is believed to be secure given sufficiently long keys." However, within recent years, various strengths of the RSA cipher have been successfully broken as a result of advancements in methods of factoring large primes and increasing computer processing power.

THE PROJECT

During the course of the two weeks, students will be introduced to the fundamental concepts of encryption along with becoming knowledgeable about the workings of the RSA cipher specifically. As time is a limiting factor, experimenting with a long key would be unfeasible. However, using a less complex key, students will reproduce experiments similar to those done by RSA researchers. The project will be built upon their knowledge of RSA encryption. It will challenge them to not only write an application capable of generating keys, encrypting and decrypting, and factoring a RSA prime, but time permitting, it will also involve parallel code writing using MPI for benchmarking in a cluster environment.

Here is an example of RSA encryption and decryption. The parameters used here are artificially small, but you can also use OpenSSL to generate and examine a real keypair.