2007-2008 Supercomputing Challenge New Mexico Supercomputing Challenge


Final Reports



School Map


Technical Guide

Past Participant Survey



Challenge Team Interim Report

[Challenge Logo]

    Team Number: 029

    School Name: Highland High School

    Area of Science: Cryptography

    Project Title: Cipher This

Final Report

Problem Definition:

Recently, there has been quite an increase in the business one can do over the Internet. From the comfort of home and at leisure one can shop for toys, furniture, clothes, cars, and even insurance. Really the possibilities for business over the Internet are endless. However, as with all things there is a draw back. To do this shopping online the consumer must provide personal information. Personal information like credit card numbers, home addresses, and social security numbers in the wrong hands can be quite costly for the consumer and business alike. Over the last couple of years there have been numerous news stories on hackers who have broken into the code of many businesses and stolen valuable customer information to use for their own financial gain. Now more than ever, complete security of this sensitive information is a must. A secure code-producing program that the average consumer and business alike could use to protect information would be of great value.


In order to find an effective code to solve this consumer and business security problem, it is mandatory that we learn to completely understand and use already existing codes. We will learn everything from early basic ciphers like the Julius Caesar code to more complex ones like RSA. The purpose and goal of learning existing codes is to discover weaknesses to avoid in creating our own code. We will produce our code in C+ +. After its production we will then apply standard code breaking techniques to test its effectiveness.

Progress Made:

Thus far we have a pretty good understanding of RSA. After plenty of reading and research of different codes we are now in the process of recreating RSA in C++. Progress has been good; we have gotten one letter of the alphabet coded. The decoding process has proved more difficult in that it involves more subroutines. However, we have run into some difficulties. RSA is based entirely on the multiplication of prime numbers. What makes this code so successful is its reliance on creating huge numerical products that are nearly impossible to decode without dedicating years of time to this task. C++ does not have the necessary means to handle such huge numbers therefore, we have decided that it is crucial to the success of our project to use Maple. Maple is a computer program that solves complex mathematical problems. We will do all of the mathematics in Maple, and then transfer the results to C++ which will be used to handle the actual code working of the problem.

Expected Results:

We expect to fully recreate RSA in the C+ + program, which will allow us to accurately code the alphabet. After this task is complete we then expect to learn to effectively decode RSA. As stated earlier the decoding will prove to be more difficult. After these tasks our complete we will create our own code-producing program. To test the program we plan to produce the output of the code in picture form. This will allow for the technique of pattern searching to be used.

Team Members

Team Mail

Sponsoring Teachers

Project Advisor(s)

For questions about the Supercomputing Challenge, a 501(c)3 organization, contact us at: consult1516 @ supercomputingchallenge.org

New Mexico Supercomputing Challenge, Inc.
80 Cascabel Street
Los Alamos, New Mexico 87544
(505) 667-2864

Flag Counter

Tweet #SupercomputingChallenge