Friday, February 26, 2010

Lecture 10: Key Exchange (Feb 24th)

On Wednesday the 24th, CS 450 consisted of a presentation from Chris and lecture for Dr. Gunes. First, Chris presented on Man in the Middle (MITM) attacks. Basically, the theory behind it is that an attacker could get between two entities in which are communicating and be able to read/modify the messages between them. Chris mainly went over how they worked, are prevented, and presented some of the tools one could use to help execute an attack (Cain and Able, Ettercap, Dsniff, etc). For the lecture, Dr. Gunes talked about ways to exchange Public/Private encryption keys. Some ways to exchange Public keys are by: publically announcing them to everyone, publically announcing them to users of a directory service, using a public key authority, or by using public key certs. You can also exchange private keys, and the two ways to do it (well, in which we talked about in class) where by using Merkle’s simple way or Diffie-Hellman’s more complex way. The major vulnerabilities in key exchanges are key forgery and man in the middle attacks.

Tuesday, February 23, 2010

Lecture 9: Intrusion Prevention Systems, Digital Signatures (Feb 22)

The class started with a presentation on Intrusion Prevention Systems from Justin Bode. Justing began with a funny video that emphasized the need for computer security and privacy in general. The talk started with discussing the need for IPS which flows from the limitations and weaknesses of Anti-viruses, Firewalls and ID systems. Justing then explained how IPS work, covering several methods of intrusion prevention such as heuristic analysis, sandboxing, kernel-based calls interception, etc. Finally, the different types of IPS (network-based, host-based, etc.) were showed and compared according to their strengths and weaknesses.

Dr. Gunes traditionally started the lecture with the review of previous class materials and briefly went through hashing algorithms. Lecture proceeded with the introduction of the topic of Digital Signatures. Digital Signature is an indication of the signer's agreement with contents of an electronic document (similar to signatures on physical documents). The two necessary properties of a digital signature were said to be unforgeability (signer protection) and authenticity (seller protection). Digital signatures are also non-alterable (signed document is non-modifiable without invalidating the signature) and non-reusable (signature is unique to document). An important property of an electronic signature is that it is verifiable by any user.

Some implementation details were given. RSA encryption system was identified to be appropriate to implement a digital signature system. The general mechanism to generate a signature is to pass the message through a redundancy function and encrypt such message with your private key. To verify the signature, one should use your public key to decrypt the message and pass it through a reverse of the redundancy function. Redundancy function must be chosen carefully, as a poor redundancy function can make it easy to forge random signed messages by unauthorized parties.

The method discussed above only provides authenticity, not privacy. To add privacy protection, it is possible to further encrypt the message with a public key of the receiver, so he is the only one who would be able to decrypt it (with his private key).

In conclusion of the lecture, an example of digitally signing a document was given. In the example, message digest was encrypted and send as a key along with the original message. The receiver could verify the authenticity of the signature, but not modify the original message without invalidating the signature.

Friday, February 19, 2010

Lecture 8: Secure Hash Algorithm (Feb 17)

Today’s class started out differently, the projector in the normal classroom was missing and we were moved to another room without a projector. Dr. Gunes first reviewed AES and cryptographic hash functions from lecture 7. He then went over Secure Hash Algorithm (SHA) in detail. There are currently three different versions of SHA. They are SHA-0, SHA-1, and SHA-2. Submissions for an open competition for SHA-3 were due in October 2008 and publication of the new standard is scheduled for 2012. To implement SHA, six steps are required. They can be found in detail in the lecture slides. SHA-0 and SHA-1 both give a 160-bit message digest. SHA-2 has a variable digest size of 224, 256, 384, and 512 bits. Dr. Gunes also mentioned that when submitting homeworks, try not to include images because it takes much longer to print.

Wednesday, February 17, 2010

Cryptosystem Lab 1

I have uploaded the first lab assignment. The deadline is Wednesday, Mar 3 at 11:30 pm.

You may post questions or comments under this blog entry.

Note: You may use an external function to test whether a number is a prime number.

Lecture 7: AES & Hash Functions (10 Feb)

In today's lecture, Dr. Gunes ,first, went over the RSA. Then, we began discussing Advanced Encryption Standard(AES) in more detail. He gave brief information about how the first AES is implemented and why DES was not sufficient. Then, he explained the architecture of AES and its requirements. In AES, each round consists of four main operations: byte substitution, shift row, mix columns and add round key. And the number of rounds needed is different for each bit length. He explained these four main steps with examples. Then, he compared DES and AES. One interesting thing was that DES still widely used around the world to protect sensitive online applications. Finally, he mentioned about cryptographic hash functions: Message Digest Functions(MDFs) and Message Authentication Codes(MACs).

Tuesday, February 16, 2010

Colloquium talk

There is a speaker from the Department of Homeland Security this Friday at 11 am in Ansari Business Building room 107. Dr. Lesley Blancas and Jalal Mapar will talk about "Research Funding Opportunities at the U.S. Department of Homeland Security".

Especially graduate students should plan to attend the talk.
See CSE Colloquia & Symposia page for details

Wednesday, February 10, 2010

Lecture 6: RSA (Feb 8)

This lecture we talked about RSA, which is a public key encryption algorithm that uses the problem of factoring large numbers to its advantage. This is a strong algorithm as it is said that is does not reside in the domain of NP-Complete, meaning the best known algorithm that can break this encryption is exponential. This encryption is based on two key numbers, which need to both be fairly large prime numbers, which are then multiplied together to get "N". We can derive the first of the two keys by finding a relatively prime number greater than one less than each of the two primes that were selected. We then can find the second key by finding the number that you can multiply with the first key that results in a 1 when the modulus of the product of the two primes each with one subtracted from it. A weakness of this encryption was pointed out, and that was if someone was ever able to factor "N", which is available to the public along with one of the two keys, the other key would be fairly easy to compute. We were then shown that encryption and decryption of a message using RSA was rather simple, take the message, raise it to the power of one of the keys, then take the modulus using "N". Decryption is the same process except the other key is used. It was pointed out that if we directly raise the message to the power of one of the keys, the result would be a fairly large number, however a method of "repeated squaring" can be used to achieve the same result without ever having to compute a large number. For example, say one of the keys is "20", which can be broken down into 2*10, the "10" can be broken down into 2*5, then 5=2*2+1, and finally 2=1*2. Starting with the smallest exponent (as the numbers just listed correspond to what the values should be) and using exponent rules calculating the final solution by repeated applying the modulus of "N" while building the exponent back up to "20" in this case results in never having to deal with any large numbers. We ended that day with a final note of the fact that RSA has no set key length and only RSA-140,155,160, and 200 have been cracked so far.

Monday, February 8, 2010

Student presentations

I have uploaded the link for class presentation schedule on WebCT under announcements.
Indicate your preferred date and topic on the spread sheet.

Saturday, February 6, 2010

Homework 1

Ch 2, Q 19: The question is mainly about key lengths. You may take any computer in production and estimate the number of operations for DES and AES in calculations.

Ch 12, Q 13: The question is asking which of the keys should be used.

Thursday, February 4, 2010

Lecture 5:DES & Rivest-Shamir-Adelman (Feb 3)

We began the lecture by discussing how DES came to be unreasonable for encrypting messages when it was easy enough to crack it. Then, triple DES was introduced to cover this weakness. Triple DES is used with two separate keys. The first is used to encrypt, the second is used to decrypt, and finally the first is used to encrypt again. This creates a better encryption because these two keys need to be ordered the right way to decrypt the message, creating an exponential increase in the encryption. We then went over computational complexity and what P, NP, NP-Hard, and NP-Complete problems. Finally, we went over what is behind the Rivest-Shamir-Adelman encryption which uses two large prime numbers.

Monday, February 1, 2010

Lecture 4: Data Encryption Standard (DES) (Feb 1)

In today’s lecture we discussed the Data Encryption Standard. The DES algorithm is a combination of substitutions and transpositions. Product ciphers are created by the combination of two weaker ciphers. DES uses an initial permutation followed by 16 cycles of different shifts and swaps that increase the cipher texts security. Most of the class was spent diving into the granular details of the steps in the algorithm. The algorithm uses a series of look up tables that are all published. DES is used on 64 bit blocks with 56 bit keys. Decryption is just the inverse of the encryption by applying the 16 cycles in reverse order. For more in depth information about the DES algorithm see the Lecture 4 Ppt. Also Wikipedia has a ton of great information about the standard.