Tuesday, April 29, 2008

Sec 2.12 due April 30th

What was difficult?

Understanding the internal workings of the engima was quite difficult. However, it really didnt matter how the innards of the machine worked because I was able to understand how the encryption process worked overall. It kind of seemed like a Vigenere cipher that just kept going. Also, understanding the part about permutations when it came to cracking the message key was a bit hard to fully follow.

Reflections

Whenever I tell someone I am taking an encryption class they always mention the Engima machine from World War II. Before, I never really knew much about the machine except from movies and such. However, now that I have read this section I fell like I can say something back to my friends, like about how to crack the machine or how it works.

Sunday, April 27, 2008

Sec 6.3 due April 28th

What was Difficult?

The more difficult part about this section was following some of the primality tests. For example, I gave up trying to understand the Miller-Rabin Primality Test and also why it can fail sometimes. A lot of the justifications were also hard to follow. Its sometimes hard for me to read the really dry math explanations of how things work, I'm sure in class discussion (where I can ask questions) will help me better understand the material.

Reflections:

So up to this point all my primality testing functions that I have written in c code have been just try to divide the number by all the numbers up to its square root. Which always worked for me because I never really needed to test the primality of large numbers. However, as the book mentions this will take a computer 10^81 years to calculate all the primes under 10^10. So it was cool reading about all the improved methods of proving something prime or proving something to be composite.

Friday, April 25, 2008

What was difficult?

I found it hard to understand fully the section on Legendre and Jacobi Symbols. I kind of understand what they are, but once the math is shown I get totally lost in whats going on. Perhaps I am just getting lost in all the symbols. I'm pretty sure when backed with examples from class I will be on track.

Reflections:

Good old square roots are back. I find it amusing that like with regular math, square roots in modular math have more then one solution, however, they can also have more then two! It also seems like they are really tricky to calculate. I wonder if there will be a quadratic formula (my favorite formula) equivalent for modular math!

Sunday, April 20, 2008

Sec 6.2 due April 21st

What was difficult?

Keeping up with all the math was very difficult for this section. I had to read paragraphs over and over. There was a lot of complex math equations and description going on in this section regarding attacking RSA. I even gave up on some of the subsections and hope to learn the material in class on Monday.


Reflections

In CS 180 we learned about how to determine the efficiency of an algorithm. We even learned how some algorithms are not polynomial efficient and such. Reading this section kind of reminded me about that class as it went over ways of improving factoring algorithms given extra information about p,q or d. However, as mentioned above a lot of it was hard to follow.

Friday, April 18, 2008

How long have you spent on the homework assignments?
I have spent a good 4-5 hours doing the homework assignments, the longest part is doing the ciphertext cracking.

Did lecture and the reading prepare you for them?
Yes

What have you liked/disliked about the class thus far?
Doing the math behind some of these "simple" cryptosystems is fun!

What do you think would help you learn more effectively or make the class better for you?
More real world similarity examples. Like when you talk about Alice and Bob sending boxes with locks on to each other really helps explain what the math behind it is trying to do

Are there topics you’re looking forward to learning about?
Public Key Algorithms

Tuesday, April 15, 2008

Sec 3.7 and 6.1 due April 15th

What was difficult? and reflections

The most difficult part yet most interesting part of the reading was the section on RSA. It was hard to understand the underlying math of how RSA works mainly due to all the big scary numbers. It also bothers my that the "hardness" of factoring is the only thing that keeps this method secure. Eve has all the information she needs yet she has no way of solving for p and q, unless she makes very lucky guesses. It just seems strange and hard to grasp, the math side of me says it must be possible to factor while the computer scientist side of me says it cannot be done fast enough.

And that reason is why RSA also fascinates me. It is almost like giving your attacker everything they need but then taunt them for having the inability to solve for p and q. RSA was one of the first real encryption protocols I was taught back in my Aerospace job. So it is nice to have this refresher on it and to still be intrigued by it.

Sunday, April 13, 2008

Sections 3.4-3.6 due April 14th

What was difficult?

Understanding the sections on Fermat's Little Theorem and Euler's Theorem was a bit difficult. The proofs weren't easy to follow, however, I just tried it on enough test cases of my own to convince myself of their validity. The reading of the Three-Pass Protocol was also a little thick for me, so I hope to better understand it when it is mention in class.

Reflections

I found the brief section on modular exponentiation very fascinating. As a computer scientist it is many times in algorithmic designs I try to find shorter and less expense methods of computing something that would seem to take a long time. For example, many times a computer scientist has to look for polynomial time algorithms to solve problems in which brute force would be exponential time. So seeing the example of 2^1234 (mod 789) in which the largest number calculated is 788^2 was interesting.

Thursday, April 10, 2008

2.9-2.11 due April 11th

What was difficult?

I found section 2.11 to be the most difficult to read through of all the sections thus far. The material wasn't really straight forward and easy to assimilate. Also, the proofs were a bit thick. I had to read through the examples a couple of times to understand what the meaning of the matrices were and what they were actually trying to solve. I am still a bit fuzzy on some of the stuff and hopefully it will be cleared up in class.

Reflections

I really liked the section about Pseudo-Random Bit Generation. As a computer science major, I use random numbers all the time as well as come up with system to create random numbers using hardware. It was interesting to read about how the random number generators I usually work with are in fact not cryptographically secure. It seemed weird to me that it is possible for people to predict the next numbers in the "random" sequence. It was also cool seeing the methods proposed by the book that are cryptographically secure.

Tuesday, April 8, 2008

2.5-2.8 due April 9th

What was difficult?

Following the encryptions methods and decryption methods (and verifying that they work) was a little difficult for me. Specifically when it came to doing the Hill ciphers where matrix multiplication was being done mod 26. Took some time to convince myself that you can use the mod 26 version of the inverse rather then the true mathematical inverse to decrypt.

Reflections

It really impresses me the cleverness and creativity that goes into some of these ciphers. I like how we are getting into more complex ciphers and its just very interesting what some people came up with. I really liked the Hill cipher as I thought it was a really cool idea to use matrices to encrypt blocks of letters instead of just one at a time.

Sunday, April 6, 2008

2.3-2.4 due April 7th

What was the most difficult part of the material for you?

The material was mostly straight forward and simple to understand. I am, however, skeptical of the frequency chart methods to crack the codes. It just seems very hand-wavish the way they are able to "guess" the correct corresponding letters via the simple analysis. Of course, they did mention it is very hard to skew the message letter frequencies. After looking at the math of it I guess it made more sense.

Reflections

Like last reading, it was again cool to see the basic cryptosystems I used to play around with as a kid developed in a mathematical sense. The dot products with the frequency vectors did seem like a very clever trick to crack such systems and I enjoyed reading these sections. Of course the math just helps you get a head start, after which, it is back to the guesswork of the childish puzzles!

Thursday, April 3, 2008

Sec 3.3 and 2.1-2.2 due April 4th

What was the most difficult part of the material for you?

By far the most challenging aspect of the readings was learning about modular arithmetic. I found myself re-reading and doing practice examples until I was able to convince my self of some of the properties. Specifically, when it got to the section on fractions I was having a hard time following. I guess it took me a while to allow me to accept that 1/2 = 6173 in (mod 12345).

Reflections:
I really enjoyed reading the section on shift and affine ciphers. It brought me back to the days of decoder rings in cereal boxes. It was just interesting to see it presented so formally and mathematically as done in these sections. As a kid I would just search every possible key-space but now I have more tools to crack these codes!

I eagerly await the introduction and breaking of my sophisticated cryptosystems.

Tuesday, April 1, 2008

1.1-1.2, 3.1-3.2, due on April 2.

What was the most difficult part of the material for you?

Most puzzling to me in sections 1.1 and 1.2 was the idea of a key and how it is used. I get the real life analogy of keys for locks, however, I found myself wondering a lot how is the key used in terms of computers. For now I just see it as this magical number that does something according to the algorithms.

The proofs in section 3.1 pertaining to the prime numbers were hard to follow. However, I intuitively understood why the corollaries were true so it wasn't a big deal.

Also, 3.2 took a while to understand it took a few reads through to even understand what was going on

Reflections:

A lot of introduction information was given in this first readings. I am most interested in seeing and learning the algorithm, specifically, the public key algorithms that solve the problems that can arise in cryptology. I have had some exposure to cryptographic methods and number theory so a lot of this was a refresher on what cryptology accomplishes.

Also, it seems that prime numbers will be useful in the course which is cool cause I really like number theory surrounding prime numbers. Perhaps my favorite proof, though not mentioned in the book, is the proof that there are infinite prime numbers.