MATH 116
Mathematical Cryptology
Description: Lecture, three hours; discussion, one hour. Requisite: course 115A. Not open for credit to students with credit for Program in Computing 130. Introduction to mathematical cryptology using methods of number theory, algebra, probability. Topics include symmetric and public-key cryptosystems, one-way functions, signatures, key exchange, groups, primes, pseudoprimes, primality tests, quadratic reciprocity, factoring, rho method, RSA, discrete logs. P/NP or letter grading.
Units: 4.0
Units: 4.0
Most Helpful Review
Winter 2016 - Will teaches very clearly and he gave us programming assignments from which we can actually experience the beauty of cryptography. Tests: 1 Midterm, 1 Final. The tests can be a little bit long, but they are easy if you understand the material. Homework: Homework can be a headache for someone who knows nothing about Math 110A, like me, but if you are willing to spend more time, you are totally fine. Project: Will asked us to dive into a cryptographic field that is not covered in class, and this project basically gave us a taste of researches. However, this course should have Math 110A as a prerequisite since we spent so much time on number theory and finite fields. We could totally spend such time on actual cryptographic applications, like elliptic curves, pseudorandom generators, etc.. I hope the department can change the prereq and make this course better.
Winter 2016 - Will teaches very clearly and he gave us programming assignments from which we can actually experience the beauty of cryptography. Tests: 1 Midterm, 1 Final. The tests can be a little bit long, but they are easy if you understand the material. Homework: Homework can be a headache for someone who knows nothing about Math 110A, like me, but if you are willing to spend more time, you are totally fine. Project: Will asked us to dive into a cryptographic field that is not covered in class, and this project basically gave us a taste of researches. However, this course should have Math 110A as a prerequisite since we spent so much time on number theory and finite fields. We could totally spend such time on actual cryptographic applications, like elliptic curves, pseudorandom generators, etc.. I hope the department can change the prereq and make this course better.
AD
Most Helpful Review
Spring 2021 - I like professor Hsu. She's really nice and caring, and I like her positive energy. I wish I had the chance to take her in person. Her class and lectures are very organized. The pacing of the class was good because we were able to cover everything she wanted to from the syllabus, though we did deviate from the syllabus a little since she wanted to talk about Bitcoin $$$. She's alright during lecture, but sometimes I'll get lost since I have no idea what she's talking about. And she's extremely confusing when she's doing a proof. One time she did a proof from the homework during office hours and I copied her proof onto my homework and when my homework got graded, I lost points since there were flaws in the proof. :( Perhaps I would avoid taking a proofs class with her if you can. It helps to read the textbook because it's sometimes better than her notes. Hsu takes into consideration feedback from the students. We filled out two surveys during the quarter. At first, the workload was a little heavy, but someone complained about the workload on Piazza so the homework assignments gradually got cut down to about 3-5 problems. Most of the problems will come from the textbook. There will be some problems with tedious calculations like calculate 23^3 * 19^5 * 11^4 (mod 97). We're required to do some problems by hand, and some problems using Sage. She'll provide the Sage instructions on the homework but it's usually straightforward. You don't need coding experience to do well in this class. We had 9 homework assignments this quarter (1 homework / week... we had a homework due during finals week :( ). I appreciate that she published the homework solutions to every assignment. Her exams are straightforward, given the online setting. This is probably my only online math class where I thought all the exams were possible to complete in the suggested time of 1 hour for the midterm and 3 hours for the final. Both of the midterms consisted of about 3 multiple choice questions and 2-3 fill in the blank which are the conceptual questions that I usually would get incorrect. The rest of the exam is mostly 4 computational questions, and 1 proof question. The proof question is alright, and it's easier than the proofs from the homeworks. The averages on the midterms were in the 90s, which is to be expected since the questions were mostly computational. I would imagine the exams to be harder in person since there's a lot of algorithms to memorize and I don't know if she'll let you use your notes. The algorithms aren't hard to perform, but it might be hard to memorize all the steps. I scored well on the exams but I think I would get a much lower score if I had to take the exams in person because I would not remember all the algorithms and cryptosystems. If you are good at memorization, then you will do well when taking the in-person exams. I don't think it's absolutely necessary to have taken 115a before this class. We did a section on lattices which did involve linear algebra, but if you have taken 33a, you should be fine. However, I think you should have some exposure to proofs. Some homeworks will have 1-3 proofs in it, and you should expect a proof on the exams. Also maybe it could help to have exposure to algebra (110a) but it's not necessary since this class doesn't assume any algebra knowledge. I haven't taken 110a and I still did well. You should expect to do lots of modular arithmetic in this class. At times, this class felt more like a number theory/algebra class than a cryptography class. This class makes me bored sometimes but I would recommend this class if you have some interest in cryptography.
Spring 2021 - I like professor Hsu. She's really nice and caring, and I like her positive energy. I wish I had the chance to take her in person. Her class and lectures are very organized. The pacing of the class was good because we were able to cover everything she wanted to from the syllabus, though we did deviate from the syllabus a little since she wanted to talk about Bitcoin $$$. She's alright during lecture, but sometimes I'll get lost since I have no idea what she's talking about. And she's extremely confusing when she's doing a proof. One time she did a proof from the homework during office hours and I copied her proof onto my homework and when my homework got graded, I lost points since there were flaws in the proof. :( Perhaps I would avoid taking a proofs class with her if you can. It helps to read the textbook because it's sometimes better than her notes. Hsu takes into consideration feedback from the students. We filled out two surveys during the quarter. At first, the workload was a little heavy, but someone complained about the workload on Piazza so the homework assignments gradually got cut down to about 3-5 problems. Most of the problems will come from the textbook. There will be some problems with tedious calculations like calculate 23^3 * 19^5 * 11^4 (mod 97). We're required to do some problems by hand, and some problems using Sage. She'll provide the Sage instructions on the homework but it's usually straightforward. You don't need coding experience to do well in this class. We had 9 homework assignments this quarter (1 homework / week... we had a homework due during finals week :( ). I appreciate that she published the homework solutions to every assignment. Her exams are straightforward, given the online setting. This is probably my only online math class where I thought all the exams were possible to complete in the suggested time of 1 hour for the midterm and 3 hours for the final. Both of the midterms consisted of about 3 multiple choice questions and 2-3 fill in the blank which are the conceptual questions that I usually would get incorrect. The rest of the exam is mostly 4 computational questions, and 1 proof question. The proof question is alright, and it's easier than the proofs from the homeworks. The averages on the midterms were in the 90s, which is to be expected since the questions were mostly computational. I would imagine the exams to be harder in person since there's a lot of algorithms to memorize and I don't know if she'll let you use your notes. The algorithms aren't hard to perform, but it might be hard to memorize all the steps. I scored well on the exams but I think I would get a much lower score if I had to take the exams in person because I would not remember all the algorithms and cryptosystems. If you are good at memorization, then you will do well when taking the in-person exams. I don't think it's absolutely necessary to have taken 115a before this class. We did a section on lattices which did involve linear algebra, but if you have taken 33a, you should be fine. However, I think you should have some exposure to proofs. Some homeworks will have 1-3 proofs in it, and you should expect a proof on the exams. Also maybe it could help to have exposure to algebra (110a) but it's not necessary since this class doesn't assume any algebra knowledge. I haven't taken 110a and I still did well. You should expect to do lots of modular arithmetic in this class. At times, this class felt more like a number theory/algebra class than a cryptography class. This class makes me bored sometimes but I would recommend this class if you have some interest in cryptography.