Friday, September 24, 2010

Exam Questions

1. Which topics and ideas do you think are the most important out of those we have studied?
I think that understanding the Euclidean Algorithm is very important as well as modular arithmetic. Also, understanding how different modes of operations will be important. The finite fields section is crucial to understanding AES and other types of cryptosystems.
2. What kinds of questions do you expect to see on the exam?
Computationally, I expect to see the Euclidean Algorithm on the exam, the Hill cipher, and recursion. I expect that there will also be theoretical problems, which will test the understanding of the different modes of operation and the different types of ciphers. I expect that an affine map and substitution cipher will be incorporated into the exam.
3. What do you need to work on understanding better before the exam?
I need to make sure that I understand the steps in various cryptosystems and how to encrypt/decrypt. I also need to work on finite fields. I just do not feel completely ready for the exam because I need to understand the cryptosystems more clearly, including the modes of operation, (CTR, CFB, etc.)

Sections 5.1-5.4 for September 29

1. (Difficult) The key schedule was the most confusing part. I read it through twice, and I think that is makes more sense, but I don't understand why some of the steps were taken or used to create the key schedule. Also, a little more explanation about why MC was not included in the last round would be helpful. The reading seemed to go a lot more smoothly though because we had already started learning about it in class.
2. (Reflective) I liked this section. It was an interesting section that I felt that I understood for the most part. I find it interesting that the number of rounds was chosen simply to have a pad for safety. I understand that there needed to be more than seven rounds, but ten still seems arbitrary to me. Some of these cryptosystems make me wonder who ever thought of such ideas. How were they discovered and implemented for the first time? I guess in math there is a lot of things like that. Some ideas and theorems proved seem so abstract or even random, but yet they are applicable and work in the world.

Questions for September 27

1. How long have you spent on the homework assignments? Did lecture and the reading prepare you for them?
It depends on the assignment, but this last week probably took me a total of 3-3.5 hours. The first 9 problems were actually relatively quick for me, but the one time pad probably took at least half of the total time that I spend on the homework. I think that together both the lecture and the reading prepare me well for the homework. When I read, I often feel confused and am not exactly sure how some things work, but the lecture helps me understand. Plus in lecture, we often do an example or two similar to the homework, so that helps a lot.
2. What has contributed most to your learning in this class thus far?
The homework has been the most helpful for my learning. The reading is a good preparation for lecture, and lecture is a good preparation for the homework, but the homework is where I actually use the tools that we mentioned and start to understand the material better.
3. What do you think would help you learn more effectively or make the class better for you?
I think that the class is going well, and I cannot think of any suggestions right now.

Saturday, September 18, 2010

Section 3.11 for September 24

1. (Difficult) I understood most of the information about fields, but why does x+1 = x^2 in the group Z_2[X]? I know that it was a law in the first example, but I do not understand where it comes from. The last page was a little fuzzy for me once it went into recurrence. I understand how to set up the matrix and most of the steps and explanation, but I don't know what Lagrange's theorem in group theory is, so I didn't understand exactly how the value 2^m -1 comes into play.
2. (Reflective) I have seen most of this stuff in Abstract Algebra. I remember doing a short lesson and homework assignment on irreducible polynomials and feeling really confused, but I think that I understand it better now. It makes more sense now that we have been doing some homework problems using binary numbers, and the example in the book used Z_2[X]. I still do not understand all of the theory behind groups and fields, but it is becoming clearer every time I study it a little more. It is definitely a different kind of mindset to think of certain polynomials being irreducible or not irreducible mod 2, when that is not always the case when working with real numbers.

Sections 4.5-4.8 for September 22

1. (Difficult) Section 4.5 was pretty difficult to understand. I didn't understand the differences in many of the five modes of operation. I understood the first one, ECB, and the way it is attacked, but the Cipher Feedback (CFB) and Output Feedback (OFB) were confusing, even with the diagrams. I did not fully understand the Meet-in-the-Middle Attack either. I understand that this attack shows that the composition of two keys does not make it any more secure, but the process is not clear to me.
2. (Reflective) I find it interesting the way that DES was broken. I took a seminar on parallel computing, and the use of several computers to break one code makes a lot of sense. Using multiple computers at one time is much more efficient than using one computer. Parallel computing makes many seemingly "impossible" problems possible.
I really like the concept of "interesting" decrypted messages. When I first read that, I was wondering what it meant, but then the explanation explained it. It shows that even though the DES system can be broken by using parallel computing and checking the keys, that a lot of work is being done that is somewhat useless. Many of the keys are simply discarded.

Sections 4.1, 4.2, and 4.4 for September 20

1. (Difficult) I was very confused about the DES method and the simplified example provided in section 4.2. I think it was mainly the notation and the use of bits that made it confusing for me. I understood some of the simpler steps, such as using the S-boxes and XOR, but it was the process and steps that confused me. Using the Initial Permutation table was clear, but then I did not understand how to use several of the other tables. I understand that R is the last 32-bits of a sequence of 64-bits, but what is the function E(R)?
2. (Reflective) I find it interesting the history of many of the different methods of cryptosystems. It is amazing how something that seems secure 30 years ago can now be relatively easily broken. Also, the fact that DES was used and then replaced shows the importance of continuing to study cryptography and a lot of other subjects. Different methods are meant to be broken eventually and replaced by a better one, and then a another one, and another. There was a psychologist that believed that good theories and ideas have to be falsifiable. That is, that ideas need to have the option to be false, so that better ideas can come about in an effort to proof current ideas false. It is an interesting thing to think about. We come up with pretty good ideas, and then we try to disprove their security so that better ideas will emerge.

Monday, September 13, 2010

Sections 2.9-2.11 due September 17

1. (Difficult) I understood the proposition on Pg. 48, but the proof was difficult to follow. I understood the first part when it is shown that the det(M_n) = 0 for all n>N, but it was contradiction portion that I was getting confused. I also didn't understand how the period of a sequence is at most 2^m -1.

2. (Reflective) Using the bits for the key is something that I understand better now because the group we switched projects with used that as their cryptosystem. It is certainly an very good idea, because the key can be very long and hard to break. It makes sense that a one-time pad is unbreakable. The key is just as long as the plaintext, so really the only way to decrypt the message is with the key. Blum-Blum-Shub pseudo-random generator seemed like a good idea, but like it said it the book the numbers get large and it takes time to calculate. I had never thought about how important the randomness of the key would be, but it must be random or else someone could find a pattern or find a way to discover the key.

Section 3.8 and Sections 2.5-2.8 for September 15

1. (Difficult) I understand how many of the messages are encrypted, but it is the attacks that often do not make complete sense to me. In the ADFGX cipher, I understand how they encode a message, but the attack does not make sense. Similarly, the attack for the block ciphers seem very complicated. I assume that the block cipher attacks are more complicated due to the discussed definitions of diffusion and confusion, where one change in the plain text can alter several letters in the cipher text.

2. (Reflective) I have never found the inverse of a matrix, mod (n), but it makes sense how to find the inverse. I think that algebra, especially matrices, can be very useful in cryptography and that was shown in the block ciphers. Matrices are very useful tools in many areas of mathematics, especially applied mathematics. I did research using matrices, and they are very useful in many areas of mathematics.
I also enjoyed the story about Sherlock Holmes. It was an excellent example of how someone imitate someone else using cryptography.

Friday, September 10, 2010

2.3, due on September 13

1. (Difficult) I was confused about the explanation about how to find the key length. I understand that the dot product when A_i is multiplied by A_i is the highest, but I am still confused about how that relates to the matching up of the letters when displacing the message. Also, finding the key using the second method was more confusing than the displacement and frequency analysis, and still is a little unclear.
2. (Reflective) I had never heard of the Vigenere Cipher, but I think it is a good idea. The fact that all you need for the key is one word is impressive. It doesn't surprise me that it was thought to be secure for that length of time. It would be a hard message to simply look at and break; thus, it is even more impressive that people have come up with methods to break the code. Even though the reasoning confuses me a little, I find it really cool that you can find the length of the key simply by the coincidences in matching letters when using displacement.

Wednesday, September 8, 2010

2.1-2.2 and 2.4, due on September 10

1. (Difficult) In Section 2.4, when the book discusses substitution ciphers, it was a little confusing how they deducted the letters from the table. It took a little while to understand how one frequency of two successive letters, led to deducing another letter. The explanation was clear, but it just shows how tedious it can be to decipher the ciphertext would be. The affine ciphers were also more challenging than a simple shift cipher. The modular arithmetic would be more challenging using an affine cipher.
2. (Reflective) Although it was difficult to follow sometimes, I think it is cool that we are able to often decipher a substitution cipher by using the frequency of letters. It is interesting that we have the statistics on the frequency of letters in the English language, but it does make it easier and possibly to break the code. Like I mentioned in the difficulty section, the reasoning takes a little time to understand how one letter can deduce another letter, but it is very interesting. A long line of ciphertext can look intimidating, but using the frequency of letters, we can often figure it out without using any computer at all.

Guest Lecturer, due on September 10

1. (Difficult) I found that the most difficult part was initially trying to decrypt the pig pen code. It was very clever though and did not take too much work. Many of the codes were easy to understand because they were simple encryption methods, including substitution ciphers.
2. (Reflective) I found this lecture very interesting and wish we had been able to hear more. I never realized that the church had used so many different codes before. It makes sense that for any type of organization that codes would be important to protect information. It was interesting to hear about the Doctrine and Covenants and to find out that the names were still not changed even in 1982. I also thought that the pig pen code was very clever. I really enjoyed the lecture!

Wednesday, September 1, 2010

3.2 and 3.3, due on September 3

1. (Difficult) I have heard many of the definitions before, but the most difficult part was the division operation in modulus arithmetic. I have learned it previously, but I have not practiced it enough to be complete comfortable. Also working with fractions mod n is something I have never learned. It seems more confusing to write 1/2 mod n instead of the inverse of 2 mod n, but I could see how when using large numbers 1/2 mod n would be more convenient.
2. (Reflective) I have seen most of the material in previous math courses, including Math 290 and Math 371. The Euclidean algorithm and extended Euclidean algorithm still impress me in their simplicity, but ingenuity. The fact that we can find the gcd of two integers and then using our work find the linear combination of the two integers that equal the gcd is very impressive. Also, as I mentioned about, working with fractions in modular arithmetic seems more confusing to me because I have never learned it before, but it makes sense when the working with large numbers that fractions will simplify things.