I feel that this week's homework assignment was harder than the previous homework assignments, I hope that this was because this is better preparing us for the test (overshooting the difficulty of the test? I hope). I think that key ideas include the basic algorithm for the different methods of encrypting. I think that many of the questions will not be "crack the code" questions, but "how would you start to crack this code" or "what are the strengths and weaknesses of a system that works in this way" .
I need to get a solid grasp on which types of block ciphering are what, ECB, CBC, CTR all still kind of are just letters to me.
I still have to do probllems six and seven on the homework for tomorrow, but it is too late to do them tonight, so I will finish them in the morning.
I think that the hardest part of the last couple of section is how much it seems like memorization instead of problemsolving. But it is still a really enjoyable class. And it is getting more difficult just after other classes midterms, so that is good, much better than while other things are taking my time.
That could be why the class seems harder, I have lessened my studying in this class to focus on each test as it came up. next week should be better in this class because I have a couple of breather days next week.
Thursday, September 30, 2010
Sunday, September 26, 2010
September 27
I spend, on homework and reading combined, probably 4 hours a week on homework. I think that the lectures and reading adequately prepare me for the homework. When I read the section again after the lecture I get more out of the material. I read the first six or so chapters over break, but I get a lot more out of the reading when I can talk about it with someone or listen to the professor lecture about it after the first reading and then reread afterwards. Is there a study guide for the test? That would be nice to have.
Tuesday, September 14, 2010
Section 3.8 and Sections 2.5-2.8, Due September 15
I am amazed at how quickly the ciphers we have seen so far can be broken. The Vigenere cipher especially. There seems to be no limit to how creative code crackers have been, and will be. The block ciphers seem like they will be much more secure, with the diffusion and confusion that they have built into them. I have heard of diffusion before this class (in the code sense), but have not heard of confusion before. I will have to re-read that to get it solidified in my head.
So I am thinging that I will have to refresh myself on linear algebra, but it wasn't too hard the first time, so it shouldn't be too hard now. Just go through a few practice problems.
I liked the section on Sherlock Holmes, I thought that it was a nice fun little section, and it showed that new symbols don't really make a substitution cipher any more secure.
So I am thinging that I will have to refresh myself on linear algebra, but it wasn't too hard the first time, so it shouldn't be too hard now. Just go through a few practice problems.
I liked the section on Sherlock Holmes, I thought that it was a nice fun little section, and it showed that new symbols don't really make a substitution cipher any more secure.
Sunday, September 12, 2010
Section 2.3 Due Sept 13th
This section was on Vigenere Ciphers, which I wrote a code for last week; to encrypt and decrypt, but not to crack. I am wondering how to write a good code to crack a substitution cipher, and a vigenere cipher, but my programming skills are not all that great. And it seems to me that a cryptological attack would never be able to be done by a computer itself, that a cryptanalyst's skill and judgement can never quite be replaced by a machine.
I think that this is the first cipher that has a real key. I mean, the mapping on a substitution cipher is a key, but you have to change the whole mapping for it to be really different. With a Vigenere cipher you just say "the new key is 'Moscow'" and you are done. As long as the person knows how to spell the new key word, then you can change the key that easily, instead of writting down a list and sending it, which could be intercepted and would have to be consulted for each character that is written. And it would be harder to crack than simple substitution. Any simple substitution cipher is only barely strong enough to keep honest people honest. But a vigenere cipher would take a pretty quick person to figure out, and a little but of comparing and testing. Still not impossible to break, and still pretty easy with a computer I imagine, but very clever in how much more complicated to break for how little extra effort it is to do.
I think that this is the first cipher that has a real key. I mean, the mapping on a substitution cipher is a key, but you have to change the whole mapping for it to be really different. With a Vigenere cipher you just say "the new key is 'Moscow'" and you are done. As long as the person knows how to spell the new key word, then you can change the key that easily, instead of writting down a list and sending it, which could be intercepted and would have to be consulted for each character that is written. And it would be harder to crack than simple substitution. Any simple substitution cipher is only barely strong enough to keep honest people honest. But a vigenere cipher would take a pretty quick person to figure out, and a little but of comparing and testing. Still not impossible to break, and still pretty easy with a computer I imagine, but very clever in how much more complicated to break for how little extra effort it is to do.
Monday, September 6, 2010
2.1-2.2 and 2.4, due on September 10
So, I think that it would be difficult to discover and remember all of the frequency tables that were presented in 2.4. I have been working on a program that will take a string of characters and encrypt or decrypt a substitution cipher, if you give it a mapping from the alphabet to itself; then I read the section on vigenere ciphers and wanted to redo the code for that instead. I still am not very familiar with Maple and am going to do it in Java instead.
I wonder how possible it might be to write all of these heuristics into a code that will do a ciphertext only attack on an affine substitution cipher. I think that it would take more time than I have to spare during this semester, but if I wrote it in chunks I might be able to get it done sometime afterwards and then have a really cool program. My group is considering using a vigenere cipher as the homework assignment for this week, but will probably modify it so it is more original and our own idea. I suppose the problem is that people have been coding messages so long that most of the ideas that cryptography students would have their first week in class would have already been done by someone else.
I guess that the originality thing is harder than the frequency table thing.
I wonder how possible it might be to write all of these heuristics into a code that will do a ciphertext only attack on an affine substitution cipher. I think that it would take more time than I have to spare during this semester, but if I wrote it in chunks I might be able to get it done sometime afterwards and then have a really cool program. My group is considering using a vigenere cipher as the homework assignment for this week, but will probably modify it so it is more original and our own idea. I suppose the problem is that people have been coding messages so long that most of the ideas that cryptography students would have their first week in class would have already been done by someone else.
I guess that the originality thing is harder than the frequency table thing.
Thursday, September 2, 2010
3.2 and 3.3, due on Sept 3
I suppose that the hardest part was solving ax + by = d, though this assignment wasn't too hard. I found a website that talks about this and its relation to the euclidean algorithm, http://home.hccnet.nl/david.dirkse/math/axbyc.html.
I am excited about the modular exponentiation that is coming up, it relates directly to RSA which has fascinated me for a while. Since reading the section on RSA some of the mystery is taken away, but it is even cooler now because I understand how it works. It is so cool that you can have a code where everyone knows the encryption key and it is still secure. Well, tomorrow we start working on a cipher system, hope to make it strong enough to prove a challenge.
I am excited about the modular exponentiation that is coming up, it relates directly to RSA which has fascinated me for a while. Since reading the section on RSA some of the mystery is taken away, but it is even cooler now because I understand how it works. It is so cool that you can have a code where everyone knows the encryption key and it is still secure. Well, tomorrow we start working on a cipher system, hope to make it strong enough to prove a challenge.
Subscribe to:
Posts (Atom)