Thursday, September 27, 2012

Exam 1 Preparation, due on September 28


    • Which topics and ideas do you think are the most important out of those we have studied?
      • I think that understanding the basics of divisibility, GCDs, the Euclidean Algorithm in different mods will be important and that knowing how to do this with polynomials will demonstrate whether we really understand the concepts. 
      • I think we need to know how to encrypt and decrypt messages in the basic cryptographic methods we have learned, like Vigenere ciphers, affine ciphers, alphabet shifts, and hill ciphers
      • I think we will need to know how to examine the strength of different methods and know how to break them 
    • What kinds of questions do you expect to see on the exam?
      • I expect you to ask us to define some of the definitions you gave us in class and to state some of the theorems you gave us. However, I don't think you'll ask us to memorize and recite any of the proofs. 
      • I expect you to ask us the weaknesses and strengths of different methods
      • I expect there to be a GCD problem, an inverse problem, a matrix problem, an Extended Euclidean Algorithm problem, and I bet you have us solve an affine cipher. 
      • Finite Fields will definitely come up
      • I think you'll ask us about meet-in-the-middle strategies
    • What do you need to work on understanding better before the exam?
      • I need to understand more about Meet in the Middle attacks
      • I need to learn about the strengths and weaknesses of the different modes of operation because right now the only thing I know about them is how to use them. 
      • I need to try to better understand pseudorandom bit generation and LFSR's
      • I need to study up on affine ciphers, because I don't remember how to crack them

Monday, September 24, 2012

5.1-5.4, Due on September 26


The Exciting

After class, I was able to spend some time to convince myself that x inverse was the same as x^6 in the example we did in class, and then I felt much more comfortable about our Baby AES. It was really helpful going over that in class because it made it much easier to understand the Read AES in the book. 

The Difficult

I think the best way to show what I find difficult in these particular sections is to ask some questions.
-On page 154 in the ByteSub Transformation, How come you can plug in an 8 bit input and obtain an output of only 6 bits? Do we just add two 0's to the beginning of it to make it match?
-On page 156 in the MixColumn Transformation, we "Multiply this by a matrix to produce our output." How do you know the matrix? Is it just made up? When we decrypt this same step, how do they come up with that matrix (page 158)?
-Could we go over an example of the key schedule when i is a multiple of four? I would like to make sure that the way I understood from the reading is the real way. 

Friday, September 21, 2012

Self-Reflection, due on September 24

How long have you spent on the homework assignments? Did lecture and the reading prepare you for them?

The first assignment was very simple, so it was definitely an outlier on how long the assignments have taken me. The project was really fun, and it never took very long, maybe a few hours combined for the whole project. The next two homework assignments took much longer. The first half of the homework assignments probably take me 3-5 hours (because it takes me a very long time to formulate and understand proofs) and the decryption section takes me about 2-4 hours.

The lecture really helped me in the decryption portion, and it was nice to have the book as a reference for that as well. On the first half of the assignments, I don't think anything could really prepare me for the proof problems. I think I ought to start utilizing your office more frequently on those types of problems. I am in class during your office hours and your TA's office hours, so I will just have to try to stop by another time.

Wednesday, September 19, 2012

3.11, due on September 21

The Cool

This was cool for me to read because I understood everything but the last two pages. I didn't do very well in Abstract Algebra, but a lot of the concepts they were talking about were at least familiar. 

The Hard

How do we know that polynomials are irreducible in mod2. For instance, on page 98, why do we know that x^8 + x ^4 + x ^3 + x + 1 is irreducible? Is there some quick way of noticing that by just looking?

Also, the entire section on LFSR Sequences was over my head (and a little bit of the end of GF(2^8)). In the GF part, what is a analog of a primitive root and why does it matter that a polynomial is irreducible. In LFSR, what was the point?

Tuesday, September 18, 2012

4.5-4.8, due on September 19

The Interesting

It's crazy to me that technology has developed with such great extent that within years of DES being implemented that they had to have reviews to decide whether to keep it or if it was already outdated.

Also, while reading this section, I realized that password security is really cool. I was thinking it would be fun to have my password be an ASCII string of numbers for some strange punctuation mark that is never used. 

The Challenging

  • What is XORed? I have seen that used this entire chapter and have no idea what it is. 
  • How exactly does a Cipher Feedback and the Output Feedback mode work? (CFB). There is a small section on them, but the encryption method isn't very well documented. 
  • In OFB, page 137 says that if the adversary knows a particular plaintext Pj and cipherext Cj, he can attack it. Is Pj and Cj an individual letter or is it 8 bits?

Sunday, September 16, 2012

4.1, 4.2, 4.4, Due on September 17

The Interesting

It's pretty incredible that modern technology can do something in a short time that used to take months, like finding the S-boxes. I wonder what this theory would be like if each S-box could have more input and output bits, so it was more updated with newer capabilities. Would the code still be fairly easy to break for a computer?

The Challenging

To be honest, I read 4.2 and 4.4 multiple times each, but I still could not figure out how this DES system works, why there are different rounds, and how the different strings and S boxes play in. I think I would really benefit from you demonstrating this process in class. 

Thursday, September 13, 2012

2.9-2.11, due on September 14

The Interesting

I liked reading about these random number generators. I have used random number generators in many statistics classes to help simulate real life, but I've never stopped to wonder how they work. 

The Challenging

I have a hard time connecting the theory and logic of linear congruential generators to the symbols they use to talk about it, which made it really hard to understand the second half of 2.10. Also, I don't really understand how to calculate how long it would take computers to decrypt something and why it's best if it's logarithmic. In 2.11, my main question is understanding the different equations they show, how they connect to the different matrices, and how to find the period (what is the period?). However, I think these things will make a lot more sense after I hear them explained in class. 

Monday, September 10, 2012

3.8 & 2.5-2.8, due on September 12

The Exciting

The Sherlock Holmes story was really interesting and was fun to read. It was fun seeing some matrices reappear, because I have not used them since Math 313 two years ago. My favorite of these methods was the ADFGX method because it had two completely trippy steps to encrypting the messages. 

The Difficult

I had a hard time understanding how to crack a code written in ADFGX when the key and matrix aren't known; it mentioned something about having the first several characters match, but I couldn't follow the entire method. Also, on page 35 when they inverted the 3 x 3 matrix, I can't tell how they got that inverse so easily; is there some quick trick that I never learned?

One other question I have is in cracking the Hill cipher; they say they can break it if they have enough plaintext and the ciphertext; are they just using that information to guess what the matrix is?

Saturday, September 8, 2012

2.3, due on September 10

The Interesting 

When I came up with the method for coding our message for our homework project, I thought I had been totally original and completely tricky. I am so surprised to find out that this same method is already invented and just in chapter 2-- it was the vigenere cipher! I thought that was really cool. 

The Difficult

I think the hardest part of this section is understanding how the book was using dot products to theorize about solving for the key. I couldn't follow what they were doing with the vectors and the code and how they connected in 2.3.2 but they based their explanation of 2.3.3 off of it, so I didn't understand how the second method for finding the key worked either. 

Thursday, September 6, 2012

2.1, 2.2, 2.4, Due on September 7

The Challenging

From just reading section 2.2, my understanding of how to decode affine messages is pretty cloudy. I think I could really benefit from seeing the "Known plaintext" method done in class, because it seems to make sense in theory, but I don't know if I really understand everything that is going on there. I didn't understand why there were two corresponding values of beta and why of the two key candidates, only one of them was possible. 

The Interesting

I like that these sections talked about using frequency counts to determine what the cipher texts read, because I tried using frequency counts on the first day of class to decode the message handed out to us. I didn't realize that frequency counting was considered one of the longer methods. 

Guest Lecture, Due on September 7

The Interesting

This was such an interesting lecture; there were so many stories that I loved. I did not realize that there was a Deseret Alphabet that they had attempted to implement. I wonder why they stopped trying to use it? Also, I have had my scriptures since I was 8 so I looked back to see if there were code names, and there definitely were. So funny!

The Difficult

After having been raised with the roman alphabet, I think I would have a hard time trying to use a phonetic alphabet. How would we be able to tell the difference between the words "to, two, and too" if it was spelled phonetically?