Hacker Courses The online courses programmers keep recommending, ranked from 20 years of public forum comments.
i
Cryptography I
Image: coursera.org
#8 overallClassic

Cryptography I

Coursera

41 recommenders · 47 threads · recommended in 14 years, 2012–2025 · score 66.8

Go to course ↗

An introductory Coursera course by Dan Boneh (Stanford) covering the fundamentals and math of cryptography, including practical exercises such as breaking flawed constructions. It is the first of a two-part sequence, with Cryptography II as the follow-up.

Commenters repeatedly call it one of the best courses they have taken, praising its clear, thorough explanations of crypto fundamentals and its hands-on attack exercises.

Security & Cryptographyintermediatefreevideo lectures#cryptography#block ciphers#attacks#math#boneh

Recommendations by year

20062026

What commenters said (50)

  1. Strongly recommendscriddell2025in “Coursera to combine with Udemy”

    What are the best online courses you’ve taken?

    On Coursera, I did Andrew Ng’s machine learning course and Dan Boneh’s cryptography course and both were excellent. Time well spent IMHO.

    The next thing I want to take is a WinDbg course. Udemy has one that looks pretty good. I should probably also find a modern assembly language course…

  2. Strongly recommendssacnoradhq2023in “How to store a permutation compactly (2022)”

    Dan Boneh's intro cryptography course is excellent.[0] The closest to a Khan Academy "cryptography edition" one can find.

    0. https://www.coursera.org/learn/crypto

    PS: I must be old because I can't get past the neologism of "crypto" abused to mean "cryptocurrency" rather than "cryptography."

  3. Strongly recommendskrantic2023in “Ask HN: What's the best lecture series you've seen?”

    Dan Boneh's "Cryptography I". https://www.coursera.org/learn/crypto Was one of the best basic lecture I have seen on the crypto topic. I have enjoyed several lectures in my studies but some things I just understood after the good and interesting explanations in this course. Really amazing. Still waiting for the the Crypto 2 course.

    If you understand german I recommend you math lessons by Christian Spannagel https://www.youtube.com/@pharithmetik. Makes some less interesting topics enjoyable.

  4. Strongly recommendsNursie2021in “A Graduate Course in Applied Cryptography”

    I loved Dan Boneh's "Crypto 1" course on coursera about 10 years ago, and signed up for "Crypto 2" immediately. After a few years of postponement I unsubscribed from the emails, I guess it never happened :(

    But I will take a look through this as it looks like it covers some of the same ground and then continues from there...

  5. Strongly recommendsveganjay2020in “Ask HN: Top Coursera Courses?”

    I can think of many - I have taken several starting since 2013. The tricky thing is that Coursera classes seem to get merged, re-mashed or otherwise re-branded. And as such only one currently is listed in my "Completed" courses section of my profile.

    Having said that and with the caveat that these probably changed since I taken them, I recommend the following:

    - Cryptography - https://www.coursera.org/learn/crypto - great introduction to the fundamentals and math behind cryptography. A lot of theory but also some practical exercises. This is my top recommended.

    - Machine Learning - https://www.coursera.org/learn/machine-learning - a good introduction to the basic of machine learning; focuses on octave/matlab and does not dive into frameworks like scikitlearn or tensorflow

    - Introduction to Interactive Programming with Python - https://www.coursera.org/learn/interactive-python-1 - I took a course from Rice University on Python programming through making games that was fun. As far as I can tell, this is the modern incarnation in two parts.

    - Software Security - https://www.coursera.org/learn/software-security - goes into stack / overflow exploits, tools for testing, and web-based attacks

    - Functional Programming Principles in Scala - https://www.coursera.org/specializations/scala - this was a good introduction to scala and functional programming - it got me thinking in a different way

    - C++ for C Programmers - https://www.coursera.org/learn/c-plus-plus-a - I think this was the first coursera class I took. This course dove into the C++ STL and a lot of modern features introduced in C++11.

  6. Strongly recommendscjauvin2018in “Ask HN: What are the best MOOCs you've taken?”

    Three Coursera MOOCs I particularly enjoyed:

    * Discrete Optimization: almost entirely problem-driven, very challenging and entertaining prof; https://www.coursera.org/learn/discrete-optimization

    * Crypto I: very deep, thorough and crystal clear explanations; https://www.coursera.org/learn/crypto

    * Computer Networks: excellent overall course covering a wide variety of topics; https://www.coursera.org/instructor/~517478, https://www.youtube.com/playlist?list=PLfgkuLYEOvGMWvHRgFAcj...

  7. Strongly recommendsjjperezaguinaga2017in “Ask HN: Current Crypto Best Practices”

    If you come from a computer science/math background, and want an intro to cryptography in general, I can strongly recommend the Coursera course from Stanford University by professor Dan Boneh - https://www.coursera.org/learn/crypto. To really understand the implementations of security libraries and tools, one should be at least familiar with the fundamentals and terminology of crypto. Otherwise you are blindly encrypting things without being aware of whether you are actually securing things.

    The course is free and takes 6 weeks long, and is very interesting if you had never dwelled too deep into security or crypto. There's also a new cryptography class that will be available in September of 2017 - https://www.coursera.org/learn/crypto2.

  8. Strongly recommendszimmerfrei2016in “Crypto 101 – Introductory course on cryptography”

    Maybe I am being too harsh, but it is clear the author does not have a formal education in the subject [0] nor any track in breaking non-toy crypto implementations [1]. This alone makes me a bit wary of any recommendation one may read in the material.

    There seems to be more attention to listing all the beasts in the cryptographic zoo than to the few fundamental tools required to really understand the mechanics (e.g. birthday paradox, PRFs, some prime number theory).

    Sure, I can't spot anything fundamentally wrong and it all reads pretty smoothly, but calling this a "course" is highly misleading. If the intention is to guide people in selecting good crypto primitives, then maybe "guide" is a more honest word?

    For those interested, I would strongly recommend to bite the bullet and dedicate time to Boneh's course on Coursera.

    [0] I don't have any either [1] Ditto

  9. Strongly recommendspault2014in “Bill to Restrict N.S.A. Data Collection Blocked in Vote by Senate Republicans”

    I just wanted to chime in and say that I had always avoided infosec as "too hard" (I'm primarily a UI guy), but the Snowden leaks have made me a lot more conscious of my digital footprint and security in general. I even spent several months on khan academy learning the requisite maths to understand the stanford crypto 101 class on coursera (awesome course by the way!). Of course I'm far from journeyman status but I believe there are many more like me whose awareness of the issue was significantly raised by the leaks. Even if no political changes come about as a result, that's a huge aggregate effect that will only increase over the next years/decades.

  10. Strongly recommendsNursie2013in “Saltstack: Changing RSA public exponent from 1 to 65537”

    I recommend Coursera's Crypto 1 course - it walks you through the internals of a lot of the crypto stuff, hammers "Don't do it yourself!" into you and there are programming challenges that involve breaking crypto constructions, finding hash collisions etc etc.

    I'm really hoping crypto 2 actually starts in about 10 days as it seems to have been put back a lot.

    --edit-- Just to sell it further, it also goes into padding oracles, timing attacks and a variety of clever stuff to show you just how easy it is to screw up :)

  11. Strongly recommendsepsylon2013in “You are dangerously bad at cryptography”

    Try Dan Boneh's crypto course on coursera [1]. It covers quite a lot of ground, both practical and theoretical, and includes programming exercises similar to the matasano puzzles. Without a doubt it's one of the best courses of the dozen MOOCs I've taken. There's also a followup course [2] (I haven't taken it yet personally, but I believe the currently scheduled run will be the first).

    Interestingly enough, there's also an upcoming security course (with no date planned yet) which will cover the application programming part of security and will be co-taught by him. [3]

    [1] https://www.coursera.org/course/crypto [2] https://www.coursera.org/course/crypto2 [3] https://www.coursera.org/course/security

  12. Strongly recommendsStavrosK2013in “An open-source fully homomorphic encryption library”

    This is not terribly on-topic, but, if you're interested in cryptography, Dan Boneh (Craig Gentry's advisor) is currently giving a Coursera course on it:

    https://class.coursera.org/crypto-006/class

    I'd highly recommend it, it's amazingly interesting, and Boneh is very good at explaining things. I used to think that cryptography was hopelessly impenetrable, but it turns out most algorithms (well, mostly symmetric cryptography) are simple to understand. We're currently at asymmetric crypto and the math's starting.

  13. Strongly recommendswebreac2013in “Analyzing MOOCs - A SWOT Analysis”

    The quality of the courses I have followed was excellent:

    Coursera:Cryptography I - Dan Boneh

    Coursera:Functional Programming Principles in Scala - Martin Odersky

    Coursera:Compilers Alex Aiken

    class2go.stanford.edu Introduction to Databases Jennifer Widom

  14. Strongly recommendsshanelja2013in “Ask HN: Do I need a CS degree or should I stay with my job?”

    As I stated on another comment, one of the main barriers to entry for me is the money to pay tuition while I am studying, with no guaranteed return, the question then is where to go from here, I don't want to let myself stagnate academically, so I want to at least do something to self improve and I feel that learning yet another language can only teach me so much, I've been toying with the though of an ICS course or something similar but none of the courses they offer are really any good.

    (Disclaimer: I have already tried the Coursera courses and thought they were great but didn't really enjoy the format, I would however recommend the Dan Boneh Cryptography class, it taught me more than any other!)

  15. Recommendspaladin3141592024in “Online Cryptography Course (2017)”

    Dan Boneh is amazing. I took his Cryptography course at Stanford and loved it so much that I ended up having him advise me on my senior thesis. Would highly recommend stuff that he puts out.

  16. Recommendskryptonomist2024in “Online Cryptography Course (2017)”

    Yes, the Coursera title was "Cryptography I", so I was expecting another part, but ten years after, I still do not see any. A great course anyway.

  17. Recommendsshp0ngle2024in “Accenture to Acquire Udacity”

    I learned a lot about cryptography in Stanford Cryptography I and II courses, and about machine learning in Andrew Ng course (but it was years ago so it's kind of useless now)

    I then tried to learn compilers on something Standford has called LaGunita or whatever and it was closed while I was studying it (and it never worked properly). But I wouldn't finish that course anyway, compilers are hard.

  18. Recommendsnmadden2023in “Handbook of Applied Cryptography”

    Personally, I feel that HAC has aged surprisingly well compared to other books of that era. It’s focus on theory and fundamentals helps there. I still think it has some of the best introductions to cryptography topics. But, yes, read it in combination with a newer resource like Coursera’s Crypto I course, or Serious Cryptography by Aumasson. (I wouldn’t recommend the Boneh/Shoup book for newcomers. It is still very much a draft).

  19. Recommendsbuescher2022in “Ask HN: Best book on modern cryptography?”

    I took Boneh's graduate class a few years ago through SCPD. Recommended if you can justify it. He has a Coursera course that I assume is of similar high quality with less depth and rigor.

    We used the above two books in addition to Handbook of Applied Cryptography by Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone. I notice Boneh no longer uses the latter for CS255; perhaps it is too out of date now? At any rate, it is also available free on the web: https://cacr.uwaterloo.ca/hac/

  20. Recommendsrg1112022in “Andrew Ng updates his Machine Learning course”

    All videos of all courses in Coursera are free. You can watch them fully without providing your credit card info.

    There are two types of courses in Coursera- free and paid.

    In case of the paid courses, you can go to the course and navigate to the "Buy Subscription" page and click on "audit the course". You can watch all the videos for free, but you don't get access to quizzes and programming assignments (you never know what a web search will turn up ;)) ⊕. You do not get a certificate by completing a course or completing all courses of a "Specialization".

    In the case of a free course, you get access to all the videos, quizzes, and assignments. You don't get any kind of certificate. Instead of going to subscription page, you can just click "Enroll" and choose the no certification option.

    There are some great courses in the free tier (videos + assignments, no certs) as well. Dan Boneh's Cryptography and Grossman's Programming Languages A, B, C come to mind. Also Model Thinking by Scott Page.

    There were some great discussions on HN in the past. [0][1][2]

    ⊕ There are courses where duplicates of paid assignments and quizzes are provided under "Practice Assignment" as opposed to "Graded Assignment". Like Martin Odersky's Functional Programming Principles in Scala MOOC.

    [0]: https://news.ycombinator.com/item?id=25245125

    [1]: https://news.ycombinator.com/item?id=16745042

    [2]: https://news.ycombinator.com/item?id=22826722

  21. Recommendsloup-vaillant2022in “Psychic Signatures in Java”
    And unless you are adding some kind of virtualizing layer, you don’t have .4% of blocks to play with. You have 0% of blocks.

    That is a shitty problem to have, there is no perfect solution. If you at all can, change the problem. If that means you need a virtualization layer, use it if possible.

    ---

    I tried to read your pointer, but the link goes no where explaining it. Mind giving a more useful link? It Could be because I’m on mobile.

    The first sentence of the link I gave you reads as follows: "Some applications may need to store the authentication tag and the encrypted message at different locations."

    Then it shows you the following function that achieves that separation (with zero performance overhead I might add):

    int crypto_aead_aes256gcm_encrypt_detached( unsigned char *ciphertext, unsigned char *mac, unsigned long long *mac_size_p, const unsigned char *message, unsigned long long message_size, const unsigned char *additional_data, unsigned long long additional_data_size, const unsigned char *always_NULL, const unsigned char *nonce, const unsigned char *key);

    If that does not help you, you need more basic training. I recommend Dan Boneh's standford cryptographic course or crypto1O1. And if you need to understand the severity of various attacks at a gut level, you might want to take a look at the cryptopals challenges as well:

    http://openclassroom.stanford.edu/MainFolder/CoursePage.php?...

    https://www.crypto101.io/

    https://www.cryptopals.com/

  22. Recommendsloup-vaillant2020in “Basic Intro to Elliptic Curve Cryptography (2019)”

    I have no idea. I'm self taught, and I tend to limit myself to implementation techniques. My tutorials on the subjects are mostly implementation focused:

    http://loup-vaillant.fr/tutorials/fast-scalarmult

    http://loup-vaillant.fr/tutorials/cofactor

    http://loup-vaillant.fr/tutorials/128-bits-of-security (This one is more about choosing your primitive than implementing it.)

    If you want to get started in cryptography in general, I can recommend 2 sources: Dan Boneh's course, and crypto101 by lvh:

    https://www.coursera.org/learn/crypto

    https://www.crypto101.io/

  23. Recommendsraegis2020in “Ask HN: Recommend me a course on Coursera”

    I agree--I very strongly recommend this course. I binged Dan Boneh's lectures on a late Friday night like I was watching Netflix. I'm serious.

  24. RecommendsDatenstrom2019in “Online courses vs. colleges for software engineering”

    I think that what most of them are missing are testing hard questions and projects without hand-holding. Many of the courses I have taken have been good, but they will just graze the surface of anything approaching harder mathematical questions on tests and projects are too "fill in the blank (function)" rather than requiring critical thinking. I took one Udacity class and I certainly felt like I had been cheated, more cutesy animations and polished videos than real content.

    I would use them for an introduction, but would definitely pick up a well recommended textbook after, or do a medium sized personal project after. Although the Coursera Cryptography class I took was just as good as my University one so I guess it really depends.

  25. Recommendscriddell2018in “Udacity lays off 125 people in global strategy shift”

    What's the difference between Udacity and Udemy? Are they the same company?

    Also, I'd love to hear about your favorite online courses. I took Andrew Ng's Machine Learning and Dan Boneh's Cryptography (both on Coursera) and they were excellent.

  26. Recommendsjimpudar2018

    Dan Boneh's (Stanford) Cryptography I on Coursera.

    Excellent course; he is a fantastic teacher.

  27. RecommendsKurtz792016in “Rolling Your Own Crypto”

    If you are interested in more than an article, this course is very good.

    https://www.coursera.org/learn/crypto

    Sorry to spoil it, but the conclusion will basically be the same as the article, as in "just don't".

  28. Recommendscriddell2016in “Udacity the new ITT Tech?”

    The other course from Coursera that I thought was outstanding was the Cryptography course by Dan Boneh. It covers a lot of material in a very practical, hand-on way.

  29. Recommendsuser2994cb2016in “Handbook of Applied Cryptography (2001)”

    And Dan Boneh's Coursera course is excellent too (maybe one day he will get around to doing the endlessly postponed part 2).

  30. RecommendsBostonEnginerd2016in “Ask HN: Is it worth paying for a Coursera course?”

    I've paid for a few courses to simply pay for the content that I'm watching. The Coursera crypto course was excellent. Lately, the better courses that I've seen have been on the edX platform.

  31. Recommendsjdiez172015in “Learn to Code, It's Harder Than You Think”
    What I learned in Automata, Discrete Math, Algorithms, and the other more theoretical classes has been worth it's weight in gold.

    That was my intention when I signed up for University too. However, I've only had two maths modules, and they haven't been particularly challenging.

    One of the things I was looking forward to learn at University was hardcore cryptography, since I believe that's one of the few things for which getting formal, structured education is the best way to go. Sure, you can learn the fundamentals on your own fairly easily (even more so today - Stanford's online course in cryptography is very good), but you need to learn about attacks or you'll write code vulnerable to known problems like hash length extension attacks, ciphertext modification...

    However, the only time cryptography was mentioned - at all - in my entire BSc was in first year, where we had a few lectures explaining the rudiments of RSA. Interesting, for sure, but pretty much useless without the remaining 80% of knowledge required to have a full picture of what's going on.

  32. Recommendsgeomark2015in “List of the Most Popular MOOCs”

    I've completed a bunch of Coursera courses. Quality really varies. Even within the 9 course Data Science specialization [1] track some courses were rather poor while the rest were very good. I'm currently taking the #5 rated course [2]. It is excellent. But I'm only taking it because the Statisical Inference course in the Data Science specialization was so weak.

    I would also recommend the Cryptography 1 course by Dan Boneh on Coursera [3]. Excellent if you are at all interested in the subject.

    I always download the lecture videos, slides, quizzes, labs and exams because, as mentioned, many of the courses don't allow access once the class is completed.

    You definitely have to have plenty of self discipline to complete MOOCs. And I don't have any delusions about a Coursera certificate being useful in landing a job; that's not what I'm after. I'm building the skills I want to apply to my own projects.

    [1] https://www.coursera.org/specializations/jhudatascience [2] https://www.coursera.org/course/statistics [3] https://www.coursera.org/course/crypto

  33. Recommendsmateus12015in “The Manual One-Time Pad”

    Lovely, I'm currently taking Stanford's Criptography course on Coursera and it's both entertaining and enlightening. I highly recommend it. https://class.coursera.org/crypto-015/

  34. Recommendsemmelaich2014in “Making sure crypto remains insecure [pdf]”

    Try this "Crypto I" course

    https://www.coursera.org/course/crypto

  35. Recommendsmattstreet2014in “The Matasano Crypto Challenges”

    So I don't know what textbook to suggest but are you aware of: https://www.coursera.org/course/crypto I've heard it's pretty good.

  36. RecommendsNursie2014in “Tptacek's Review of "Practical Cryptography With Go"”

    I recommend Dan Boneh's coursera course, Crypto I, to get a good (basic) grounding in how some of this stuff works. He shows just how easy it is to break bad crypto systems in unexpected ways, and he does it by leading you through 5he attacks and getting you to implement some.

    Was rather impressed...

  37. RecommendsTrainedMonkey2014in “Crypto 101”

    Both coursera and udacity have amazing courses on crypto.

    Udacity: https://www.udacity.com/course/cs387

    Coursera crypto I: https://www.coursera.org/course/crypto

    Coursera crypto II: https://www.coursera.org/course/crypto2

    I took coursera crypto I myself. It was a lot of work, but I learned a ton.

  38. Recommendsjsaxton862013in “A Crypto Challenge For The Telegram Developers”

    There's a great Crypto I course on Coursera that I would highly recommend.

  39. Recommendsepsylon2013in “Functional programming books review”

    I second that, it's been the best course I've taken up on coursera so far (with Dan Boneh's crypto). The lectures are great, but the best for me was the high quality provided course notes. I read those in my morning and evening commutes and I didn't even have to watch the videos!

    The exercises were well crafted, guiding you part by part to build your program, and challenging enough that you learned something valuable. It definitely made me interested in exploring more the three languages presented - ML, Racket and Ruby.

    I'm currently taking the second Scala course and I have to say it's a bit of a disappointment so far. Martin Odersky's part was good, but I didn't really like Erik Meijer's teaching style (I understood Futures and Promises better after reading a few articles about these). I haven't caught up with Roland Kuhn's part yet.

    However I've been incredibly frustrated with the exercises. They are tedious, but for the wrong reasons: you have to make a lot of guesses on what are exactly the semantics of what you're supposed to implement, sifting through the forum and the FAQ for relevant information. After you've submitted, you now have to wait for a long time (between 20 and 100 minutes) for the automatic grader to tell you whether your guess about what exactly you had to implement was right or wrong.

    It's still an interesting course, and it's worth just for the sake of getting your hands into some Scala code, but there's that caveat.

  40. Recommendsmct2013in “Ask HN: best ways to learn about cryptography”

    Dan Boneh's Cryptography I class on Coursera is about to start again in just a few days. I highly recommend it: https://www.coursera.org/course/crypto

  41. Recommendsballard2013in “Don't use bcrypt (2012)”

    Dan did such a great job on the Stanford Crypto course, it's worth learning the basics to learn the important bits.

    https://www.coursera.org/course/crypto

  42. RecommendsjensC2013in “Applied Cryptography Engineering”

    Yes, I've heard about the Matasano's Crypto Challenge, but want to recommend Coursera's Crypto courses too: https://www.coursera.org/course/crypto

  43. Recommendsenoch_r2013in “The Strange Story of Dual_EC_DRBG – suspected NSA backdoor (2007)”

    I'd recommend the Coursera crypto course: https://www.coursera.org/course/crypto

  44. Recommendspyvek2013in “Breaker 101: An intensive online web security course”

    Dan Boneh's crypto course is starting in 5 days on Coursera. Syllabus is not same as the OP's course but is very good and useful nonetheless.

    https://www.coursera.org/course/crypto

  45. Recommendsdavyjones2013in “Hacking Github with Webkit”

    You can sign up for Cryptography courses at Coursera.org. You learn about basic tenets of crypto like attacker games, cryptogaphic advantage, cracking some exploits (AES-CBC). If you do the problem sets and programming assignments and pass the course without help, you are off to a very good start I would say.

  46. Recommendswebreac2012in “Is my developer's home-brew password security right or wrong, and why?”

    https://www.coursera.org/course/crypto is excellent

  47. Recommendsrjones2012in “Confusing Crypto Blobs”

    If you find this kind of stuff interesting, take Dan Boneh's Cryptography class on Coursera. It covers issues like this very well...

    https://www.coursera.org/course/crypto

  48. Recommendsghshephard2012in “SHA-3 to Be Announced”

    Zenst - it sounds like you have a lot of interest in cryptography, and your lack of familiarity with PBKDF2 and friends suggests that you have just entered this space.

    I highly recommend https://www.coursera.org/course/crypto as a great introduction into some of the more interesting elements you are working through.

  49. Mentionsxtajv2020in “How Not to Learn Cryptography (2014)”

    tl;dr:

    To learn about some cryptography fundamentals:

    * Read Katz & Lindell's Introduction to Modern Cryptography

    * If you're missing math background, read Timothy Gowers' blog

    * Supplement: Take Jonathan Katz' and Dan Boneh's MOOCS (links in post)

    To get to the point where you can "design/analyze crypto protocols" (and maybe know what you're doing):

    * Read Oded Goldreich's Foundations of Cryptography (Volumes 1&2)

    * Try to have quasi-intelligent conversations with real cryptographers (advice for this in blog post)

    * Get a PhD somewhere with a good crypto program

    edit: formatting

  50. Mentionstzs2012in “Curious how bitcoin works? Bitfloor founder spells it out on video ( 28:08)”

    There was not a lot of low level stuff on block ciphers. In an early unit, he said that while it is interesting to go into how block ciphers work at the low level, he was going to omit that to get on to application of cryptography (I believe the official title of the course is "Applied Cryptograph"). He emphasized that very very few people should be designing their own block ciphers or doing their own implementation of existing designs--almost everyone should be using a library implementation that has been well tested by experts.

    I haven't taken the Stanford course (I'd like to--but my schedule has just not worked out to allow it yet), but I did go look at the slides from a few of the lectures there and it appeared that they go into more detail at the lower level on ciphers and hashes. I got the impression that the Stanford course and the Udacity course would compliment each other quite a bit.

    As far as breaking someone's encryptor goes, there would be some mention of how things could be exploited if the thing you were attacking had certain flaws, usually as motivation to explain why things were done a certain way. E.g., if you don't have a random nonce here, someone will be able to do this and that will reveal something about your plaintext...that kind of thing.

    For the specific example of trying to break someone's system that is using a block cipher in CTR mode to make a stream encryptor, I think a student finished the Udacity course and did well would know enough to:

    (1) recognize that CTR mode is essentially using the block cipher to generate the key for a OTP, so flipping bits in the ciphertext flips the corresponding bits in the decrypted plaintext. Hence, if the attacker can find out through some means enough information about the structure of the messages so as to predict what is in the plaintext (account number to receive the deposit, for instance) he can make meaningful changes (assuming the system does not include some kind of check on the message integrity).

    (2) recognize that if the key and counter sequence are ever reused the consequences are essentially the same as reusing a OTP key, and so focus on how the keys and counters are being initialized.

Related courses

Keyboard

In the course grid
←↑→↓
Move between courses
Home End
Start / end of row (with Ctrl: first / last)
PgUp PgDn
Jump several rows
Enter
Open course
S
Save / unsave course
1–5
Best, Trending, Hidden gems, Evergreen, Saved
[ ]
Previous / next topic
On a course page
← →
Previous / next course in your list
S
Save / unsave
O
Open the course website
Esc
Back to the grid
Everywhere
/
Search
T
Light / dark theme
?
This help