School Name: Freedom High School Area of Science: Computer Science Project Title: Client Server Implementation of Cryptography |
|
|
|
|
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)