Sunday, February 3, 2008

Encryption and my career goals

Symmetric Encryption:

With Symmetric encryption, key handling is an issue. Since the same algorithm is used to both encrypt and decrypt the information, there needs to be a secure way to transfer the key to both parties securely. This is the main drawback of symmetric encryption; since each party must have the same key, there must be a solution of making sure the key gets transfered securely. If we are able to get the same key to both individuals (both encrypter and decrypter), symmetric encryption can be very secure as long as the key size is adequate (128 bits is still secure, but 256 bits is the standard). Symmetric encryption is only vulnerable to a brute-force attack, which is trying every combination of the key in an attempt to decrypt the message. One of the main advantages of symmetric encryption is the speed of encryption and decryption, which is typically much faster than asymmetric key encryption. The receiver of the message can be sure of the senders identity since the encryption key was kept secret.


Asymmetric Encryption:

With Asymmetric encryption, we solve the major problem of symmetric encryption: the transfering of the encryption key from sender to receiver, as well as confirmation of identity.

In a common scheme of asymmetric key encryption, a public key is either given to an individual through email or other means, or posted to a public website. This key is known as the public key. The sender of the message encrypts the message with the public key, and sends it to the receiver. The receiver can then use a private key, which is complimentary to the public key and kept secret, to decrypt the message. Since this system relies on the use of prime numbers relative to the key length, a brute force attach would only have to try a key length up to the square root of the modulus, so the original key length would have to be quite long to be secure (1024 bits is the current standard). Since the key length is quite long, encryption takes much more time than symmetric key encryption, which poses a problem for transferring large messages (or files) and for instant two way communication.

To send a verified message to another person (let's say that Bob wants to send a message to Jane), Bob would first encrypt the message to be sent with his private key, and would send this message to Jane. Jane would then use Bob's public key to decrypt the message, verifying that it did come from him since the key pair is complimentary. To make this message secure in transit, Bob would first encrypt the message with his private key, then encrypt it again with Jane's public key. Jane could then decrypt the message using her private key, then again with Bob's public key. This method is much slower to complete than symmetric key encryption, but solves the issue of how to pass keys from one party to another.


My career plans and goals:

When I entered the field of Information Technology in my previous college, I knew that the field was developing quickly and there would be many job opportunities for me once I completed college. After graduating with an Associate degree, I decided that a Bachelor's of Science would suit me better, and applied to USF. Naturally, I chose the Computer Science degree, as I already had skills that would be well suited to this degree. Although I still believe that the field of Computer Science has many jobs that could potentially interest me, the deeper I get into the theory and practice of Computer Science, the less I actually want to get a job in industry. 5 or 10 years from now, I see myself working a fringe job in the computer science industry; something in the automotive industry or the home automation industry would probably interest me the most. I have been actively investigating the opportunities in these industries, and although I previously have not had time to pursue an internship, I plan to try to get one at the end of summer for the beginning of next semester.

No comments: