Monday, November 25, 2013

16.5 , due December 11 and Student Ratings

Difficult:
     I would like to go through some examples of using the elliptic curve cryptosystem. It seems that we can use elliptic curve to improve most cryptosystems that use discrete logs and some that don't. I'm not really sure how it improves each cryptosystem except that it makes the discrete logarithm harder to find. 

Reflective:
     I think it's interesting that the elliptic curve cryptosystem essentially builds off the other cyrptosystems. I was wondering if there is any stand alone elliptic curve method or if it always requires some base system to improve. Also I was curious how we can use the elliptic curve to improve non discrete log cryptosystems.

I also completed the student ratings for this course.

16.4, due December 9

Difficult:
     I think I understand the reasons of why we need to modify the elliptic curves mod 2. I'm not really sure what we are doing when we modify them and what makes the modified curve more secure than the original cure mod 2. I think I would like to see a geometric representation of what is happening and why that is better.

Reflective:
     I think it is interesting that the NIST recommended elliptic curves for cryptographic use. It always makes me wonder what they have in mind as the give suggestions. I know in some cases such as DES they made it more secure. But with elliptic curves I wonder if they knew that people would need to modify the elliptic curves in order to make them secure for use. 

16.3, due December 6

Difficult:
     I think I understand the basic idea behind factoring with elliptic curves. Essentially the two primes p and q that compose n behave differently and thus we can find pa and q. I had a difficult time following the examples so I think an in class example would be very helpful. 

Reflective:
     I was wondering how the elliptic curve method of factoring compares with other methods of factoring. It seems like it can be much quicker in some cases. However, it also seems that as long as we choose good large primes we can still be fairly sure that n won't be factored. I was wondering how much better the method is and also if it is more versatile. 

16.2, due December 4

Difficult:
     I don't understand representing plaintext with the curve. I get the idea of needing to match the message to a point on the curve and then using elliptic curve operations on that point to obtain a ciphertext. What I don't understand is both what elliptic curve operations are done and also I didn't understand how the message is mapped to a point on the curve originally. 

Reflective:
     The elliptic curve method reminds me a lot of shamir secret sharing since both involve a linear equation and finding points on that line. It does seem especially important that it is extremely important to choose primes because if not we can easily factor the number. 

Monday, November 18, 2013

16.1, due December 2

Difficult:
     So I think I understand the basics of elliptic curves and the addition rule seems fairly straight forward. It is interesting that from any two points you can generate a third just base on those points. I'm not sure how this is actually used in a crytpo system but we'll probably get to that in the next section.

Reflective:
     It is impressive that we can drastically reduce our key size when using the elliptic curve method. I was wondering if elliptic curves can be used in both public key cryptography and symmetric key. I'm not sure if we really need to use it for both but I also haven't seen the actual encryption method.

18.1 and 18.2, due November 26

Difficult:
     I had a difficult time understanding the error correcting codes. I think I basically understood all the examples that were in the introduction about how we can check for errors, but I got lost in section 18.2. I understood the Hamming distance but I'm not sure how we really get the codewords or how we use the codewords once we have them.

Reflective:
     It seems that error checking often involves either resending information or just sending multiple repetitions of the same message. It seems that this could get expensive very quickly, especially for large messages. I'm not sure if there is a better way but it does seem that there could be a pretty large cost with error checking.

2.13, due November 25

Difficult:
     It seems like the enigma machine itself would be somewhat secure. I do question needing a codebook to set the rotors everyday because it seems that if the codebook was captured it would be very easy to decrypt messages and also send false messages. I don't think I fully understood the basics of how they were able to crack the enigma machine. That might just be because my permutation knowledge is a bit rusty. 

Reflective:
      I think that creating a machine to encrypt and decrypt messages is a very smart idea especially in war. This way the knowledge of even how the cipher worked would be more hidden because the operators may not even know how the machine works and thus if they are captured they can break the machine and no one knows how to decrypt the messages. 

Nonmathematical Explanation of Shor's algorithm and 19.3, due November 22

Difficult:
    I didn't really understand what a superposition was. I know it had something to do with having multiple values all at the same time but I'm not really sure beyond that. I think I understood the basics of QFT but couldn't really make the connection to Shor's algorithm. I also think that I understood the basic of how we can factor and do things quickly with a quantum computer but I'm still a bit confused as to what Shor's algorithm is for. 

Reflective:
      I wonder when if ever quantum computing will become a reality. It would make many parts of our lives easier with quicker computing. However as seem int eh chapter it would also allow us to break many cryptosystems which would mean a massive and expensive overhaul of almost all security software. 

19.1-19.2, due November 20

Difficult:
     I think I understood the basic example that was explained in 19.1 but had a difficult time understanding the concept that was discussed in 19.2. So Alice and Bob are trying to create a shared symmetric key but I'm not sure how that is done. So I think the idea is that after the quantum bit is looked at, it changes value. I don't know how this can ever protect against someone looking at the bits and thus messing up the symmetric key between Alice and Bob. 

Reflective:
      I think the idea of quantum computing is very interesting because it would allow our computer to do so much more. I'm admittedly a bit fuzzy as why our computers could do so much more but I know it could allow much faster computation, which is always a good thing. 

Thursday, November 14, 2013

14.1 and 14.2, due November 18

Difficult:
     I don't really get how the Feige-Fiat-Shamir-Identification Scheme. I'm not really sure how the steps lead up to be able to figure anything out. It seems that there isn't a lot of complex math involved but it's mainly number theory that lets us figure anything out.

Reflective:
      I'm not really sure what exactly the use cases for this are. There was the example of the fake ATM machines in the mall. I'm wondering what other uses there are for something like this are. I can't really think of many other applications because it seems like a pretty abstract idea.

Exam Responses, due Nov 15

  • Which topics and ideas do you think are the most important out of those we have studied?
    • I think that public key cryptography is the most important thing that we have studied. It seems like it is the most widely used and thus most applicable.
  • What kinds of questions do you expect to see on the exam?
    • I think there will be questions on public key cryptography as well as primality testing. It seems this test will be more theoretical than calculations because so much of the homework and the concepts we talked about can only be done quickly on a computer. 
  • What do you need to work on understanding better before the exam?
    • I need to better understand the factorization methods as well as the strengths and weaknesses of particular algorithms. I also don't think I can find discrete logs very well using the Pohlig-Hellman or the quadratic sieve.  

Wednesday, November 6, 2013

12.1 and 12.2, due November 13

Difficult:
       I understand the idea of secret splitting but the threshold schemes don't really make sense. I can't really follow the examples very well.  I know what they are trying to do but I had a really hard time figuring out exactly how either the Shamir or Lagrange interpolation polynomial actually work. 

Reflective:
     I think that the idea of secret splitting is very ingenious and it is amazing how much it is used. It seems like it is one of the most used application of cryptography that we see in movies. I do wonder how much it is actually used in real life and not just in fiction. 

Monday, November 4, 2013

9.1-9.4, due November 11

Difficult:
      I would like some clarification on the RSA blind signature method. I'm not exactly sure why the random number k is important in the process. I'm also not sure why talked about birthday attacks on signatures when it still seems fairly difficult and easily defeated. 

Reflective:
     I think it's interesting how signatures could be created from pretty much any encryption method that uses public key cryptography. Essentially it seems that it's just the signing with the private key and then verifying the signature with the public key. Since only one person has the private key we can verify it came from them. 

8.4-8.5 and 8.7, due November 8

Difficult:
      I think I need an example of how a hash function can be used as an encryption process. It seems like we are XORing different values to obtain our ciphertext. Also the text states that "the idea of using a hash function to create a an encryption procedure can be modified to create an encryption procedure." I'm curious of how this would work and what we would have to do to make it like that. 

Reflective:
     I think that it's interesting how different approaches to the same problem can still yield a similar result such as the birthday attack and Baby Step Giant Step attack. Both are finding the discrete logarithm and even though they came from different background they still have almost the same methodology. 

8.1-8.2, due November 6

Difficult:
      I understand what a hash is and why it is useful but I had a somewhat difficult time following the example of a hash algorithm. It also seems like we can't really know if we did the hash correctly since we can't reverse the process with the hash and get the message. It seems pretty complicated that we can take in a message of any length and always produce a digest of the same length. 

Reflective:
     I think it's interesting how we can't reverse the process of a hash. It seems that if we know the algorithm of the hash we would be able to reverse the process since there aren't any private keys or anything like that. I suppose we just lose too much data in the creation of a hash to be able to reverse the process any way at all.