Team Number: 53
School Name: Moriarty High School
Area of Science: Cryptology
Project Title: Cryptoanalysis
Introduction Cryptology is the art of encoding and decoding messages and has been important throughout history. In ancient days people used concealment ciphers. The message was there but somehow hidden. Another way of encrypting in the early days was transposition ciphers. You would write a message in columns and you would read it in a diagonal direction. Another way of encrypting is substitution ciphers. In substitution ciphers, numbers and symbols replace the letters. Today, cryptology has become a very important topic. In the world there is a high security need to encrypt and decode messages. Through this expanding field of study, a project is formed. Purpose For our project we plan to create a program that will encrypt a message in a new way. In our design we will attempt to incorporate the use of fractals to encrypt the message. Presently, we are starting small and learning to encrypt messages using substitution - a method of encryption long known and used. After we have experience with encrypting and knowledge about fractals, we will combine our research to make a fractal-encoding program. The project could be advanced further by decrypting the newly formed message by the reverse process in which it was encrypted. Proposed Method of Solution Although this project will be difficult it can be accomplished. We will begin by studying encryption and messages that are encrypted. Then we will need to set up a math model to encrypt messages in a new and, or, more efficient way. Next, we will implement parallel processing to speed up encryption time. Finally, the project can be extended by setting up a way to decode encryptions such as the one created. Project Significance This project will be important in today's National Security Issues. There would be a great advantage if our country were able to encode information in ways impossible to decode while decoding secret information that we need to know. We find cryptology to be very interesting. As young children, the element of making something only a select few can understand has been very exciting. Now, as young adults, we are still fascinated with this idea, and want to continue it through the encryption program we are generating. We want to create a code that will present a unique way of encrypting messages. Mentors Our team attended the Supercomputing conference in Glorieta near the end of October. While there, we asked many scientists for help with refining our project to a more doable one. One expert instructed us that we should focus our project on a new way to encrypt messages. He suggested using fractals as the new way of encryption. We have followed his advice and looked up information on fractals as well as general encryption. The Challenge also set us up with a mentor who reviewed our abstract. He contacted us and we are making a list of questions for him. We would like to know if he has any background with fractals to add to our research or any better ideas for encryption. He instructed us to focus our project and we want to ask him for suggestions about a simple fractal/encryption program we can start to focus with. We know that mentors are an essential part of a successful project. We are also getting help form a mentor at Sandia National Lab who suggested that we should start with a simple method of encryption such as a substitution cipher. Once the substitution cipher worked with our fractal encryption we should then try a more complex cipher in its place. Math Model / Research Substitution Substitution cipher is very simple to understand. A substitution cipher is when you substitute the regular alphabet for a "cryptobet." This cryptobet is a regular alphabet where the letters are replaced with other letters or numbers. Although there are no set equations for substitution ciphers, one equation we tried was as follows. Since each letter has a corresponding ASCII number, we added 25 to the ASCII number. This would make A Z and R l. Another substitution method is to put a formula to change the first letter. For example, with the first letter being in the variable x changing into the variable y one could use a formula such as y = (12*x - 17/8)^2. This formula would also find a number correlating to a letter, but it would be more difficult to decrypt because the formula is so complex. There are many substitution ciphers. We are currently writing a simple program that switches the alphabet with a cryptobet so that we will know how to implement substitution into our program with fractals. Fractals To add to our project, we plan to use fractals as a new way to encrypt messages. We need to discuss this with our mentor after completing other, simpler encryption methods. The information we have presently is as follows. Fractals are usually simple equations that, when reiterated numerous times, create chaotic pictures that sometimes look like real life. One very simple fractal is the Sierpinski Triangle. This triangle can be formed through many different ways. One is in the form of a game. The idea is to mark three points in three different colors and then color two sides of a dice each color. You have to start with a spot and then roll the die. Move halfway towards the color you rolled and mark a point of that color. Continue to roll moving halfway towards the color you roll each time. Rather than a mess of points, this game forms a triangle like the one shown at left. Other fractals are formed through diverse ways. The Mandelbrot set iterates the equation (z^2+c) with z fixed at 0 and c varying. It is a set of all of the sets of a different fractal set, the Julia set. The Julia set is the function f(z)=z^2+c when z is a point and c is a complex number of any value. There are an infinite number of equations and thus an infinite number of fractals. The fractals are created by plotting each point on a screen using the formula. The points that end up going out of the screen are one color, depending on how many iterations it takes to leave the screen. The points from which the formula never leaves the screen are a different color. This creates a picture. The twist is that each point has a real x coordinate and an imaginary y coordinate. This makes numbers needing great accuracy, which is why computers are so convenient to use to make fractals. From this information we plan to create a program to use fractals in cryptology. Some ideas we have today include substituting the ASCII number for each letter as the variable in the equation (this is usually "c"). We could also first use a substitution method and then from our results we would replace the variable with our substitution. We need to ensure our formula is random enough it is difficult to crack. Although there is the possibility we will use a different math concept to encrypt, fractals are an interesting subject that would be fun to work with. The options are endless with fractals because of their basis in math.