Interim Report


Problem Definition:

Encryption, often used throughout history as a covert means of transmitting secret messages, is literally defined as altering using a secret code so as to make private information unintelligible to unauthorized parties. Currently, the RSA algorithm, based on the difficulty of factoring large numbers, is used to help combat the growing threat of digital information theft. The RSA algorithm is an extremely popular asymmetric algorithm, which is why we chose it for our project. Our goal is to create our own algorithm based on the principles of the RSA algorithm, in order to produce an enhanced program that will remain efficient without relying solely on numerical bit-length. This will allow it to remain effective for an extended period of time in the future.

Problem Solution:

The RSA algorithm's strength is based on factoring extremely large numbers with a suggested minimum bit-length of 1024 bits. We plan to become familiar with the inner-workings of the RSA algorithm using other encryption-based technologies such as the Affine Cipher and the Euclidean Algorithm. The Affine Cipher is a simple code based on modulus arithmetic. We used it to familiarize our team with mods and how they can be implemented in cryptology. The Euclidean Algorithm was a more advanced code that is used to determine the greatest common divisors of two numbers. This is essential in speeding up the process of the RSA algorithm without a computer code. Next, we will program the original RSA algorithm using Javascript and NetBeans. The final stage of our plan commences once we have successfully programmed the RSA algorithm. Then, with the help of our mentor, we will analyze the code and modify it in an attempt to increase the complexity and integrity of the parent algorithm without merely increasing the bit-length.

Progress to Date:

We have completed our study of the Affine Cipher and the Euclidean Algorithm. Our team has mastered the basic fundamentals of the RSA algorithm with help from our mentor. Since we have worked through the algorithm with pencil, paper, and smaller numbers, we are ready to move into the computational phase of our project. Once completed, we will be able to tweak the code and use larger numbers in the encryption that can be handled by a computer.

Expected Results:

Using the strengths of the RSA algorithm, and also the flexibility of our own modifications, we expect to produce a new algorithm capable of securing today's data for an extended period of time in the future. Today, data encrypted with the standard RSA Algorithm isn't vulnerable until the time between 2006 and 2010. Increased bit-length can extend this safety period to 2030, but this combined with our own modifications could extend security for generations.