Challenge Team Interim Report

[Challenge Logo]
    Team Number: 014

    School Name: Freedom High School

    Area of Science: Computer Science

    Project Title: Client Server Implementation of Cryptography

Abstract
Interim
Final Report

In our modern era, technology plays a key role in our lives. With the exponential growth in the processing power of computers, so has our utility of them expanded to levels not previously seen. Along with the advantages and convenience that comes with technology, there also comes a tendency to grow dependent upon the benefits. With all of the technological crutches we have created, our security has been compromised in the process. As the future of e-commerce expands, we need to broaden our approaches in security to ensure that our personal information and bank account numbers stay that way- personal. This can be accomplished by cryptography, among other things. Cryptography can be described as the art and science of transforming information into an intermediate form, which secures that information while in storage or in transit. This includes the confidentiality of your data,  and message authentication or integrity of your data. Cryptography may also include nonrepudation, which is the inability to deny sending a message; user or source authentication; and the availability of security options for the general public. Modern methods of cryptography generally translate data into one of an astronomical number of immediate representations, which are called collectively the key. The translated message is called ciphertext. Let's say Jane wanted to set up secret communication with Paul, but did not want sly 'man-in-the-middle' to have the ability to apprehend and/or understand any of the messages. With cryptography, Jane can make her communications unintelligible, even when in plain sight. First off, Jane and Paul need to meet and agree on a key in which to encipher (translate) their messages. Now, if they were able to send their secret key over the network securely, then in theory they can send any data securely via that route. However, this leaves their data open and vulnerable to attack. So, Jane comes up with a key, gives it to Paul, and they start writing to each other, encrypting and decrypting as they send and receive data. This is called a symmetric crypto system. It is symmetric because the key to encrypt is the same as the key to decrypt. In an asymmetric cryptosystem,  the key to encrypt is different from the one used to decrypt. This type of system is called the Public-Key system. It is named public key because the encryption key can be made public. Any Joe can get a copy of the public key to encrypt and send messages, but only the person holding the corresponding decrypting key can decrypt the data.
     Using a supercomputer we plan to write a program which creates virtual servers and clients, which will encrypt and decrypt a test block of data.  When our test data starts it's journey it will be encrypted with AES (Advanced Encryption Standard) for the receiving virtual client of the data, but will also be encrypted through an ECC (Elliptic Curve Cryptosystem) public key algorithm using the public key of the first virtual server in the path of the test data.  While the first virtual server has the encrypted test data in it's possession it will decrypt the test data (only to a point where the test data is still encrypted by AES) and then encrypt the test data using the public key of the next virtual server in the path.  Each subsequent virtual server will follow the same method until it reaches the intended virtual client.  At the final stage the virtual client will receive both AES and ECC encrypted test data which it will decrypt to yield the original test data.
    Our progress up until this point, was basically to arm ourselves with as much knowledge about the vast subject as we could and begin experimenting with our ideas. As we wade through all possible directions we could take this project, we hope to keep an open mind and to play the devils advocate whenever possible, to try and find the most secure method of encrypting data.
    Cryptography is a complex subject of study, involving painstaking mathematics, in-depth computer applications, different thought processes, and intriguing historical virtues. This project may never be completed, but just the journey is worth the energy.


Team Members

Sponsoring Teachers Project Advisor(s)