Monday, December 7, 2009

16.5 Elliptic Curve Cryptosystems

  • I thought it was very cool to see how we can use elliptic curves and apply the things we've already learned to get cryptosystems.
  • All in all, the individual cryptosystems made sense to me but I don't get how they could calculate a point multiplied by an integer so fast on the elliptic curve. I guess it wouldn't take too long if you put the integer in terms of powers of 2 (this way you could do the thing similar to successive squaring but in adding points).

Saturday, December 5, 2009

16.4 Elliptic Curves in Characteristic 2

  • I found it interesting that they use finite fields over GF(2^n).
  • However, it was semi hard to visualize what this exactly means. I got confused on the fact that the derivatives are vertical lines because the second derivatives are all zero. I'm not sure why that was pertinent either.

Wednesday, December 2, 2009

16.3 Factoring with Elliptic Curves

  • I found it interesting to find that elliptic curve factorization method is more dependable than the p-1 factorization method since it only requires that there be enough smooth numbers around p opposed to p having to be smooth (like in the p-1 method).
  • I was a little confused on the relationship between addition in the elliptic curve and the multiplication of corresponding numbers. There was an example in the book but I didn't fully understand it.

Tuesday, December 1, 2009

16.2 Elliptic Curves Mod p

  • It was interesting to see how we can use elliptic curves to encode a message.
  • I was confused on how the decryption of the cipher text would work. Unless K was known by the decoder, how would the point (x,y) be useful? Does this mean that this is a private key cryptosystem?

Sunday, November 29, 2009

16.1 Elliptic Curves: The Addition Law

  • I have never heard of elliptic curves until this class so it was interesting to read about them. I am still kind of confused on what defines an elliptic curves.
  • A few things I didn't understand about the reading is first of all, what is an abelian group? second, I was confused on the graph of y^2=x(x+1)(x-1). I'm not sure why there wasn't any values for x between 0 and 1.

Monday, November 23, 2009

2.12 Enigma

  • I enjoyed reading about a cryptosystem that was used in WWII. It is always neat to get the history behind the cryptosystems and see how they were used. I also thought it was interesting that they used rotors that spun. It seems like the messages would be very long Vigenere ciphers but the key would be too enormous to do any frequency analysis or anything. So it seems kind of like a one time pad that was used for all the messages that day.
  • It was hard to understand how the knowledge of the permutations helped break the system.

Sunday, November 22, 2009

19.3 Shor's Algorithm

  • I found it very interesting to learn more about what a quantum computer is. Although I feel like I still don't understand it, it was cool to learn more about it.
  • I understand that Shor's Algorithm says that if we find the period, we can use that to factor n. But I was pretty confused on how that works and how the use of a quantum computer would help in finding the period.

Thursday, November 19, 2009

19.1 & 19.2 Quantum Techniques in Cryptography

  • The most interesting part of this section was reading about quantum mechanics. I don't really know anything about it but I found it interesting to learn a little. I also thought that it was cool to see why in the experiment using two filters blocked all light but using three filters let 1/8 of the light in.
  • The hardest part to understand was why Bob has 25% chance of measuring the incorrect value. It seems to me that it should be more like 25% chance of measuring the correct value.

Wednesday, November 18, 2009

14.1 & 14.2 Zero-Knowledge Techniques

  • The whole idea of convincing someone that you know something or can do something without giving away information is pretty interesting. It reminds me of those puzzles where you try getting the ring off. Whenever you finish, your friend wants to see if you can do it but you don't want to show him how to do it. It reminds me of that.
  • The Feige-Fiat-Shamir Identification Scheme was pretty confusing. I didn't understand how they set up a single identification scheme or what that exactly meant.

Monday, November 16, 2009

12.1-12.2 Secret Sharing Schemes

  • I thought that this section was interesting because it provides an interesting question, how to hind information so that people have to collaborate in order to solve the problem.
  • The hardest part to understand was the Shamir threshold scheme. It wasn't hard to understand, it was just harder to understand than the method. The hardest part to understand was how to hind a meaningful message but it made sense after doing the reading.

Thursday, November 12, 2009

Test Review

  • I think the most important thing we have studied is the RSA because we've spent the most time on it by far. Digital signatures also seem important but not nearly as much as RSA.
  • I expect there to be questions asking to prove why m^(e*d) is congruent to m. I also expect to see questions asking how to decrypt messages that have been encrypted wrongly.
  • I feel like I need to remember the special tricks to factoring n, like the p-1 method and the Quadratic Sieve and the primality Test. I also feel like I need to understand the Discrete Logs and the Hash functions better.
  • So far, I've really enjoyed learning about RSA and digital signatures. I don't know what else there is to learn in those subjects but they've been the most interesting to me thus far.

Tuesday, November 10, 2009

8.3 & 9.5 The Secure Hash Algorithm & The Digital Signature Algorithm

  • The digital signature algorithm was much more interesting than the secure hash algorithm because it was easier to understand. It was very similar to the ElGamal signature.
  • The secure hash algorithm was very hard to understand. I got confused on the specific steps of the algorithm; other than that, I think I understood.

Sunday, November 8, 2009

9.1-9.4 Digital Signatures

  • I thought the RSA signature part was really interesting. It was cool to think about proving that you discovered something without actually telling anyone what you did. I also found it interesting to see how to use the birthday attack to get a fraudulent signature.
  • I'm still a little confused on how the hash functions work and how they're secure. I think I need to see an example of one to understand it better. The ElGamal Signature Scheme was also a little confusing but I think I understood it after a while.

Friday, November 6, 2009

8.4-8.5,8.7 Birthday Attacks, Multicollisions, Using Hash Functions to Encrypt

  • I thought it was fascinating learning about the statistics of finding a pair of birthdays in a group of thirty or the odds of finding two license plates with the last 3 digits. I thought this was very cool. I also enjoyed learning about how to use hash functions although I didn't understand it all completely.
  • The most difficult part to understand was the Multicollisions section. I was very confused on how the we could find multiple messages that have the same hash function. I didn't really understand it.

Monday, November 2, 2009

8.1-8.2 Hash Functions, A Simple Hash Example

  • I was pretty confused on why we would want to implement a hash function. Obviously there would be speed advantages to sending less information but I didn't understand why we would cut out information from our message to do this.
  • I guess the most interesting part, although I didn't understand why we did it, is that we could send a shorter message and save time. We can also use this for digital signatures, which I'm interested in learning about.

Sunday, November 1, 2009

7.3-7.5 Bit Commitment, Diffie-Hellman Key Exchange, and The ElGamal Public Key Cryptosystem

  • I thought the part about predicting football game outcomes was very interesting. It put an interesting perspective on the topic of sending a message that can't be changed but needs to be deciphered by the sender.
  • I didn't really understand the difference between the Computational and Decision Diffie-Hellman Problems.

Thursday, October 29, 2009

7.2 Computing Discrete Logs

  • The hardest part to understand was how the Pohlig-Hellman Algorithm works. It didn't make to much sense to me how we broke up x(p-1/q) into two parts.
  • I thought it was interesting to see how we can compute some logarithms using the different algorithms.

Tuesday, October 27, 2009

6.5-6.7 & 7.1 The RSA Challenge, An Application to Treaty Verification, The Public Key Concept, and Discrete Logarithms

  • These sections were pretty interesting. I enjoyed hearing about the challenge to break the RSA code even though the winnings weren't that large. I also thought it was interesting learning about digital signatures, although the book briefly touched on it.
  • The hardest thing to learn was about how the digital signature works. Other than that the discrete logarithms weren't too hard to understand but I can see that it'll get much more complicated later.

Sunday, October 25, 2009

6.4.1 The Quadratic Sieve

  • It's pretty neat that we can find the factors by combining rows in a system of equations mod 2. It was cool to see the small amount of linear algebra because I really enjoy linear algebra.
  • The hard part to understand was how to pick the equations in the system of equations. It wasn't completely clear to me to know which equations would be useful (really how to pick them).

Thursday, October 22, 2009

6.4 Factoring

  • It was interesting to see different ways to factor n. It was interesting that if p-1 or q-1 is a product of all small primes then n is realitively easy to factor.
  • I didn't understand very well how the p-1 factoring algorithm works. I was confused on what B! is.

Tuesday, October 20, 2009

6.3 Primality Testing

  • It was interesting to see how to test if a number is composite. I found it interesting that with the Miller-Rabin and the Solovay-Strassen Primality Tests, we can only say that a number is either composite or most likely prime. We can at most say that a number is probably prime.
  • The hardest part to understand was why b_k fluctuates between being congruent to 1 mod the factors of n. In the example b1 was congruent to 1 mod 3 and mod 11 by not congruent to 1 mod 17 until it hit b3.

Sunday, October 18, 2009

3.10 Legendre and Jacobi Symbols

  • This section was kind of confusing when it talked about the different rules for the Legendre symbol. I was confused on how if (a/n)=+1 a could be a square mod n. It took me a second to realize that if n is composite then a doesn't have to be a square of the primes and therefore (a/n)=+1 doesn't necessarily mean that a is a square mod n. Only if n is a prime.
  • I thought it was interesting however to find easier ways to find if a is a square mod n.

Thursday, October 15, 2009

3.9 Square Rotts Mod n

  • In this reading I was confused on how they obtained x is congruent to plus of minus 29 in the Example. But after a while I figured out that -29 is congruent to -4 mod 11. I was trying to figure out how 29 was congruent to +4. This confused me. I also don't see how this would be useful if finding the four roots mod n is computationally equivalent to factoring n.
  • It was interesting finding the congruencies of squares.

Tuesday, October 13, 2009

3.12 Continued Fractions 6.2 Attacks on RSA

  • Continued Fractions was interesting in the fact that we could approximate pi very well in a few amounts of iterations. It was also interesting to see that we could use continued fractions to factor n.
  • The hard part of the reading was understanding the fine details of the attacks on RSA, especially the timing attacks.

Thursday, October 8, 2009

6.1 The RSA Algorithm

  • The hardest part of the reading was understanding how knowing n and phi of n gives us p and q (the prime factors of n).
  • The most interesting part of the reading was seeing how abstract algebra is used to send a pretty secure message. It's neat to see how prime numbers are so useful.

Tuesday, October 6, 2009

3.6-3.7 Fermant and Euler & Primitive Roots

  • I found the three-pass protocol interesting. I thought it's cool how you can send the key because it's tricky and reminded me of a game.
  • I found the proofs for Fermant's and Euler's Theorems hard to understand. I understand the principles but how to prove them is difficult.

Sunday, October 4, 2009

3.4-3.5 The Chinese Remainder Theorem & Modular Exponentiation

  • I thought that the most interesting part was the technique to simplify the expression x^(a) (mod n). I had seen something similar but this is method is more practical when n is a large number.
  • I thought the hardest part to understand was the Chinese Remainder Theorem. I was confused on how to find x when you have multiple congruencies.

Friday, October 2, 2009

Exam 1

  • I think the most important topic that we've learned is probably DES since it's the only crypto system that is still used today.
  • On the exam I expect to see some substitution ciphers, some shift ciphers, and some problems with the DES like we had on the homework. Hopefully, the equations will be on the test.
  • I need to work on understanding finite fields and memorize the techniques for the specific crypto systems.

Tuesday, September 29, 2009

5.1-5.4 The Advanced Encryption Standard: Rijndael

  • The hardest part to understand was how the inverse of the were found for decryption, especially how the ordering of ARK and MC changed places with the IMC and IARK.
  • The interesting part of these sections was just better understanding how AES works and how the certain transformations change the text.

Sunday, September 27, 2009

  • Typically I have spent an hour and a half on the homework assignments. The last one I took about 3 hours to do. The lectures and the reading did prepare me for the homeworks.
  • I really liked the guest speaker and seeing when codes where used in LDS history. I also like seeing examples. I think this helps me learn the best and understand each type of code best.
  • I think just continuing giving examples makes the class the best.

Thursday, September 24, 2009

3.11 Finite Fields

  • The LFSR sequences was pretty hard to understand.
  • It was pretty cool to see that you can get an inverse of a polynomial. I didn't think that was possible. It was a little confusing but interesting.

Tuesday, September 22, 2009

4.5-4.8

  • The most interesting part of the reading was learning how Rocke Verser broke the DES encryption. It was interesting to find out that he used multiple people's computers to distribute the computer computations.
  • The password security was also interesting to learn about. It seems very clever to use a one-way function.
  • The hardest things to understand were the new modes of operation especially the cipher feedback. I understood the difference between the cipher feedback and the output feedback but they were both difficult to understand.

Monday, September 21, 2009

4.1,4.2,4.4

  • The most interesting part of the reading was learning that DES is used in banking. That's pretty cool to see a very standard application of Cryptography.
  • The whole concept of DES was hard to understand. It was tricky to understand how the ciphering works in DES and also the deciphering.

Wednesday, September 16, 2009

Sections 2.9-2.11 One-Time Pads, Pseudo-random Bit Generation, and Linear Feedback Shift Register Sequences

  • The most interesting part was learning how we can use recursive relationships as keys in ciphering. From what I understood, you take a message, write it in binary code, then add the key, which happens to have a recursive relationship, then to decipher the message you re-add the key which yields the original code. It's cool that to decipher you just add the key again.
  • It was hard to understand the One-Time Pads idea. I'm not sure how you'd get a random key in the way it described. I was a little confused on that, how do you know that the other party got the same key that you got?

Tuesday, September 15, 2009

Sections 3.8 & 2.5-2.8

  • The most interesting part of this reading was story of Sherlock Holmes. It's cool to see how cryptography was used in stories. I also liked learning about block ciphers because I really like linear algebra, it's my favorite subject of mathematics.
  • The hardest thing to understand was how to decipher the Playfair and ADFGX ciphers. I didn't really understand how it'd be easy to decipher these like the book said.

Sunday, September 13, 2009

2.3 Vigenere Cipher

  • Two parts of the reading that I thought were really interesting were that there are books without the letter e. That's pretty amazing. Another interesting part of the reading was how we can use the dot product of vectors in order to determine the length of the shift.
  • The hardest part to understand was how we find the length of the key. Not necessarily, how we find the length of the key but rather how that method works. Although it makes sense, I didn't fully (theoretically) understand why there should be more coincidences when you displace the two strips the key length apart.

Wednesday, September 9, 2009

2.1-2.2 & 2.4

  • I found that the digrams were the hardest to understand for me. It was hard to see how the book deciphered the code in section 2.4. I think the hardest part was figuring out what they were looking for (the frequencies of each letter in the document).
  • I thought the affine ciphers were the most interesting. It was interesting to see how dividing by alpha when gcd(alpha,26) not equal to 1, messed up the cipher completely.
Codes and Ciphers in LDS History
  • By far, the most interesting thing about the guest speaker was the fact that the Church used coded messages. I never knew this and thought it was amazingly cool. I also thought the Masonic code/pigpen code was pretty interesting and cool looking. I also thought the Larrabee's cipher was a pretty clever idea.
  • The guest speaker said that the Church members used telegram codes to warn when there was a US marshal on board a train. I wasn't sure exactly how they used code in this instance. This was probably the hardest thing for me to understand. I think I missed something when she explained it.

Thursday, September 3, 2009

3.2-3.3
  • The most difficult material for me to understand was understanding fractions in modulos. This was very difficult and still a little fuzzy for me.
  • The most interesting part was how you can divide both sides of a congruence by an integer p if gcd(p,n)=1 (where n is the mod of the congruence).
1.1-1.2 & 3.1
  • The most difficult part of the reading was trying to understand how the Euclidean Algorithm works. The proof was pretty hard to understand.
  • The most interesting part was learning how public keys work. From what I understood, Alice sends the information of encryption to everyone but she is the only one who knows how to decrypt it, then Bob encrypts a message and sends it back. The only part I don't understand is why Eve couldn't send a message to Alice masquerading as Bob.
  • This is my 3rd year in school. I am a math major.
  • I have taken Math 214 and 343 and 334 and 513 R. I am also taking 290 right now.
  • I am taking 485, the cryptography class because it sounds very interesting to me to see math in such a specific application.
  • I have experience with Matlab.
  • I have used Matlab for two different classes and am semi comfortable using it on homework.
  • My most influential math teacher was so successful because he had very hard problems but always helped us get through them and completely understand them. He also didn't have busy work. The assignments were short and hard.
  • I can do a standing backflip.
  • I am available during your office hours.