elijahcaine.me : Independent Crypto Course syllabus


This is a part of a series of blog posts I wrote for an Independent Study on cryptography at Oregon State University. To read all of the posts, check out the 'Independent Crypto' tag.


This syllabus was written by an Oregon State University undergraduate student and not by an Oregon State University staff member. This should explain any irregularities in the structure and substance of the document.

The purpose of this course ("Independent Crypto") is to give students an opportunity to dive deeper into interesting topics of Cryptography.

By the end of this course you should grok the following topics:

Each of these should take about 40 hours of work to complete. An overview of what that means is outlined below.


This course is designed to be a 4 credit hour independent study.

As is standard Oregon State University policy, this corresponds with 160 hours of work over a 10 week period. Plan accordingly.

Each topic ought to take about 40 hours of work to complete over the course of a 10 week term. If you schedule your time well this will be a piece of cake at just 16 hours per week. That's 2.28 hours per day, 3.2 hours per week-day, or 16 hours the day before your check-in is due!

The basic structure is as follows:

  1. Research a topic. Read papers, watch informative videos, ask questions and learn as much as you can about a given topic.
  2. Maintain an annotated bibliography. This should include materials found while studying a given topic, a summary of each of the materials, and a final summary of the topic as a whole.
  3. Meet weekly with the mentoring professor.
  4. Repeat.
  5. ???
  6. Profit.

The end goal, in addition to learning about a breadth of topics in modern security, is to produce an annotated bibliography. This will exercise the student's ability to read and process academic topics, journals, and videos.

Of course if you are particularly passionate about a topic you are encouraged to go further: implementing things of interest, investigating new questions, and generally 'digging deeper' as you gain interest in different topics.

The following topics do not need to be completed in order, however doing so will result in an optimal 'difficulty curve' as the kids say. The kids do still say that right?


Included are a few resources grabbed in a quick internet search. These are meant to be starting places for each topic, generating questions and providing external resources. You will need to find additional resources for each topic.

Elliptic Curve Cryptography

Weeks 0-2 will be dedicated to Elliptic Curve Cryptography.

Kickoff Resources

Kickoff Questions

  • What are elliptic curves?
  • How do elliptic curves relate to cryptography?
  • How are Elliptic Curve Cryptography functions different from similar ones like RSA?

Memory-hard functions

Weeks 3 and 4 of the course should be dedicated to the topic of Memory Hard Functions.

Kickoff Resources

Kickoff Questions

  • What are Memory-hard functions?
  • What purposes are Memory-hard functions used for?
  • What are some examples of Memory-hard functions and how do they work?

Garbled circuits

Weeks 5-7 should be dedicated to garbled circuits.

Kickoff Resources

Independent study

In the last seven or so weeks you've learned a lot. You've read papers, watch informative lectures, and had insightful conversations with peers and mentors. Many of these probably sparked your attention in a particular topic. Use these last few weeks to investigate one of those sparks that you've been itching to learn more about.

If you truly feel uninspired you can use this time to learn about Private Set Intersection.

Kickoff Resources for Private Set Intersection

Generic Kickoff Questions

  • What topic are you investigating?
  • How does this relate to Cryptography?
  • How would you explain this topic to your friends or parents?
  • Why is this topic important?
  • What interests you about this topic?

Additional resources

OSU Professor Mike Rosulek volunteered the following additional resources: