Math 187B: The mathematics of modern cryptography (Spring 2020)

Main Grades Cocalc


Due to the COVID-19 pandemic, this course will be completely online. The policies below will continue to be updated until UCSD finalizes its setup for delivering content online.

Online instruction is new to us all. I will do my best to give you all the tools to succeed, but I also need your help. I suggest you follow these tips on how to succeed in online instruction from UCSD Educational Psychologist Celeste Pilegard. She is an expert on multimedia learning.

California law prohibits any recording of communication without the express consent of all the attendees. You do not have my consent or any of the TA's consent to record any interactions (including but not limited to lectures, discussions, and office hours). It is therefore illegal to record and you would be liable to prosecution and civil suits.

However some students will not be able to attend the live sessions due to a variety of reasons (e.g. different time zone). In order to accomodate everyone's needs, lectures and discussions will be recorded and reposted for asynchronous view. By attending the live lecture, you give permission to be recorded by the instructional staff only, not by other students. If you do not wish to give permission, you can view the posted recording at your convenience and make use of office hours to get your questions answered.

Students do not have permission to share the recordings or the links to the recordings with anyone at all.

Some additional information, particularly on the use of CoCalc, will be given in the first lecture; CoCalc also provides a tutorial for students.

Lecture: MWF 2-2:50pm via Zoom link (posted on TritonED); nominal physical location: Warren Lecture Hall, room 2204

This class includes a participation component which factors into the course grade (see below). In order to participate fully, students are expected to use a laptop/desktop or large tablet with keyboard, equipped with Internet access and a web browser. If you cannot fulfill this requirement, do not enroll in the course!

In-class participation will typically include interaction with Jupyter notebooks in CoCalc, use of the chat room in CoCalc, and online research. As a courtesy to fellow students, please mute your mic unless you need to speak and do not do anything that causes your device to produce audible output. The best way to ask questions is to use the Zoom chat. You might want to keep other online activity to a minimum during lecture in order to maximize the quality of the video.

Instructor: Alina Bucur
Office: AP&M 7151
Email: alina@math.ucsd.edu
Office hours: M 3-5pm PDT or by appointment

Discussion sections: Due to bandwidth constraints, everyone is expected to attend the section they are registered for. Attending section is not mandatory, but if you do attend, please attend the section you are registered in. Please check blink for your discussion time.

TAs: Randy Martinez Alex Mathers
B02 B01
ram035@ucsd.edu amathers@ucsd.edu
OHTu 9-11am Tu 9-10pm

Chat office hours: In addition to the Zoom office hours posted above, we will be conducting "chat office hours" Wednesdays 4-7pm: during this time, the course staff will be monitoring the course chatroom on CoCalc to answer any questions that may arise.

Prerequisites: MATH 187/187A and one of MATH 18 or 20F or 31AH; or consent of the instructor.

Course description: The object of this course is to study modern public key cryptographic systems and cryptanalysis (e.g. RSA, Diffie-Hellman, Elliptic Curve Cryptography, Lattice-based cryptography, Homomorphic Encryption) and the mathematics behind them. We also explore other applications of these computational techniques (e.g. integer factorization and attacks on RSA).

Although mathematics is still largely taught as a pencil-and-paper (and chalk) subject, this approach ignores the fundamental role played by computing technology in the process of mathematical reasoning and discovery, as well as the very practical constraints imposed by computation on the subject of modern cryptography. This course will be taught in a hybrid fashion; there will be traditional-like lectures delivered via Zoom, but also lectures that will consist of interactive demonstrations, while assignments will combine conceptual questions with guided experimentation and discovery. We will make extensive use of the Python programming language and the SageMath computer algebra system; however, no prior exposure to these tools will be assumed.

This course is based on the cloud computing platform CoCalc. As one component of the course grade is in-class participation, students are required to use a laptop or desktop or large tablet during lectures; however, the only local software installation required is a web browser. More details on how CoCalc is to be used will be given in the first lecture. There will only be mininal use of TritonEd for this course, namely to record the grades. Everything else will be on CoCalc.

Although Math 187B has been taught in some form since 2017, it remains highly experimental in both its use of new technology and the approach to pedagogy. In addition to the final course evaluations, there will be several opportunities to submit feedback during the course; this feedback will help me evaluate some of the experiments and plan modifications for future iterations of the course.

This class is not open for concurrent enrollment.

Required text: none. In lieu of purchasing a textbook, students will need to create a free account on CoCalc using their UCSD email address in order to complete and submit assignments. (It is not necessary to pay for an upgraded account; equivalent functionality will be provided to enrolled students.)
For those who want to read more, a good reference is An introduction to mathematical cryptography by Hoffstein, Pipher and Silverman. (The link provides electronic access through UCSD library. You would need to VPN into the UCSD network in order to gain access.)

CoCalc: CoCalc is a web service running the Sage open-source computer algebra system, but it can be accessed using any web browser and so requires no special software installation. Sage in turn is based on the Python programming language, but no prior knowledge of the Python language will be assumed.
All students are required to create an account on CoCalc using their @ucsd.edu email address in order to complete and submit assignments. There is no cost for a basic account, so you can try out the software for free.
Note that the web interface is not currently optimized for small screens like smartphones; you might be able to manage with a large tablet and keyboard, but I can't guarantee that this will work. I also recommend bringing a suitable device to lecture/discussion so that you can try things out as we demonstrate them!
Misuse of CoCalc, including abusive or intolerant behavior, will be subject to campus disciplinary measures.

Computers: Students will need to use a computer that can access the CoCalc website and Zoom.

Quizzes: There will be 3 short quizzes (20min each) administered through Gradescope on weeks 3, 6 and 9. These will be focusing on concepts rather than computation. The tests may require some arithmetic computations, but these are designed to be done by hand. You will have a 24 hour interval to check out a given quiz. Accessing the file on Gradescope will start the timer and you will have 20min from that moment to submit your solutions.

Homework: There will be 7 assignments, due Wednesdays at 8pm. All assignments will be assigned, completed, submitted, evaluated, and returned using CoCalc; the process for this will be explained in the first lecture. Check TritonED for your scores. Late homework will not be accepted and there will be no exception to this rule. If you fail to submit your homework before the deadline, then you will automatically receive a zero for that assignment. Please do not contact the teaching staff to ask for leniency!


Final project: due Monday, June 8, at 10pm. Please note that by signing up for this course, you submit the final project by this date and time. This grade cannot be dropped. Rules TBD.

Grading: All grades are recorded on TritonED.
Only grades that appear in TritonED will be included in calculating the total score for the course.
It is your responsibility to make sure your grades are recorded in TritonED.

Since these parameters have been chosen to be somewhat forgiving, no additional excuses will be granted (not even for students joining the course late). No exceptions.
If you miss one hw/quiz, your score will be 0 on it and that will automatically become your lowest score and be dropped. The final exam grade will not be dropped under any circumstances.
No make-up exams or quizzes will be given and no extensions will be granted.

For the conversion of raw scores into letter grades, the following minima are guaranteed:

Percentage 97 93 90 87 83 80 77 73 70
Minimum grade A+ A A- B+ B B- C+ C C-

Additionally, any score in at least the 85th percentile or higher is guaranteed an A grade, while any score in the 65th percentile or higher is guaranteed a B grade.

Academic Integrity:

Grade Recording Errors:  Keep all of your returned quizzes and homeworks. If there is any mistake in the recording of your scores, you will need the original assignment/quiz in order for us to make a change. The error has to be reported within 1 week since it occurred. No error reports will be accepted after week #9 of the term.

Regrade Policy:  If you believe there might be an error in the grading and wish to have your quiz/homework regraded, you must observe the following rules.

  1. Regrade requests will not be considered later than a week after the material was graded.
  2. If you disagree with the TA's answer to your regrade request, you may ask for the instructor to review it. In order to do this, you must:
    • make your request within 24 hours of receiving the TA's answer
    • and
    • ask that they forward it to the instructor.
  3. Instructor review requests will not be considered later than 8 days after the material was graded.
  4. No regrade requests will be considered after week 9.

Letters of recommendation:  In general, you should try to get a letter of recommendation from a professor with whom you had some one-to-one contact. I will consider recommendation requests only from people who have placed in the top 25% of the class and who have had some nontrivial interaction with me outside lecture (which this quarter amounts to interacting with me during zoom office hours).

Electronic devices: No visual or audio recording is allowed in class/section without prior permission of the instructor (whether by camera, cell phone, computer or other means).

Announcements