We may earn an affiliate commission when you visit our partners.
Take this course
Alexander S. Kulikov and Michael Levin

A prominent expert in the number theory Godfrey Hardy described it in the beginning of 20th century as one of the most obviously useless branches of Pure Mathematics”. Just 30 years after his death, an algorithm for encryption of secret messages was developed using achievements of number theory. It was called RSA after the names of its authors, and its implementation is probably the most frequently used computer program in the world nowadays. Without it, nobody would be able to make secure payments over the internet, or even log in securely to e-mail and other personal services. In this course we will start with the basics of the number theory and get to cryptographic protocols based on it. By the end, you will be able to apply the basics of the number theory to encrypt and decrypt messages, and to break the code if one applies RSA carelessly. You will even pass a cryptographic quest!

Read more

A prominent expert in the number theory Godfrey Hardy described it in the beginning of 20th century as one of the most obviously useless branches of Pure Mathematics”. Just 30 years after his death, an algorithm for encryption of secret messages was developed using achievements of number theory. It was called RSA after the names of its authors, and its implementation is probably the most frequently used computer program in the world nowadays. Without it, nobody would be able to make secure payments over the internet, or even log in securely to e-mail and other personal services. In this course we will start with the basics of the number theory and get to cryptographic protocols based on it. By the end, you will be able to apply the basics of the number theory to encrypt and decrypt messages, and to break the code if one applies RSA carelessly. You will even pass a cryptographic quest!

As prerequisites we assume only basic math (e.g., we expect you to know what is a square or how to add fractions), basic programming in python (functions, loops, recursion), common sense and curiosity. Our intended audience are all people that work or plan to work in IT, starting from motivated high school students.

Enroll now

What's inside

Syllabus

Modular Arithmetic
In this week we will discuss integer numbers and standard operations on them: addition, subtraction, multiplication and division. The latter operation is the most interesting one and creates a complicated structure on integer numbers. We will discuss division with a remainder and introduce an arithmetic on the remainders. This mathematical set-up will allow us to created non-trivial computational and cryptographic constructions in further weeks.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Explores number theory, which is standard in cryptography industry
Taught by Alexander S. Kulikov and Michael Levin, who are recognized for their work in number theory
Develops skills in modular arithmetic, cryptography, and encryption, which are core skills for IT professionals and high school students
Builds a strong foundation for beginners in number theory and cryptography
May require prior knowledge of basic math, such as squares and fractions, as well as basic programming in Python
Focuses on RSA encryption, which is still widely used but may have some limitations

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Introduction to number theory for cryptography

According to learners, this course provides a solid foundation (positive) in the number theory concepts (neutral) essential for understanding cryptography (neutral), particularly the RSA algorithm (neutral). The lectures (neutral) are praised for their clarity (positive) in explaining complex mathematical ideas and algorithms (neutral). Students found the Python assignments (neutral) helpful for applying theory, though some felt the prerequisites (warning) in math and programming were understated, requiring more than just basic knowledge. While it offers a great introduction (positive), many noted it's an entry-level course (neutral) and doesn't provide sufficient depth for advanced applications, requiring further study. The cryptographic quest (positive) was mentioned as an engaging way to apply learned skills. Overall, it's seen as a valuable starting point (positive) for those new to the field.
A good start, not deep dive.
"Great intro, but not deep enough for those looking for advanced cryptography topics."
"Felt like it just scratched the surface of applied cryptography beyond basic RSA."
"It's a good overview to get started, but you'll need more advanced courses afterwards."
"Provides a solid entry point but limited depth in specific areas."
Fun way to apply knowledge.
"The cryptographic quest at the end was a brilliant and fun way to test what I learned."
"Loved cracking the codes in the final part of the course!"
"The quest provided a great hands-on challenge."
"Applying skills in the final quest felt very satisfying."
Good for practice but challenging.
"The Python labs reinforced the concepts and made me apply what I learned hands-on."
"The coding assignments were tough but very rewarding and essential for understanding."
"I found the programming exercises extremely helpful for consolidating my knowledge."
"Applying the algorithms in Python really solidified my understanding."
Complex algorithms made accessible.
"The instructor explained Euclid's algorithm and modular exponentiation in a way that just clicked for me."
"I appreciated the clear breakdown of the core algorithms used in RSA."
"Understanding the steps of these fundamental algorithms was key, and the lectures delivered."
"Complex algorithms like modular exponentiation were made easy to grasp."
Applies theory to real crypto.
"Loved seeing how number theory powers RSA and understanding its mechanics."
"Implementing RSA in Python was a very insightful practical application of the theory."
"The focus on RSA made the abstract number theory concepts feel very relevant."
"It's great how the course links the math directly to the RSA cryptosystem."
Builds a solid understanding of theory.
"This course provides a solid foundation in the number theory concepts necessary for understanding cryptography."
"I finally understand the math behind RSA thanks to the clear explanations of foundational principles."
"Gave me the mathematical background I needed to tackle cryptographic problems."
"Covers the core number theory needed for crypto applications quite well."
Requires solid math/Python.
"Basic math was not quite enough, I felt I needed a stronger background in discrete math."
"If your Python is rusty, prepare for a challenge on the programming assignments."
"The course assumes a certain level of mathematical maturity and coding comfort."
"I struggled a bit with the prerequisites, especially the speed of the math review."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Number Theory and Cryptography with these activities:
Practice Python Programming
Ensures you have a strong foundation in Python, which is necessary for implementing cryptographic algorithms in the course.
Browse courses on Python
Show steps
  • Review Python syntax and data structures.
  • Solve coding exercises on Python platforms.
Review Modular Arithmetic Concepts
Refreshes your knowledge of modular arithmetic, which is essential for understanding more advanced topics in the course.
Browse courses on Modular Arithmetic
Show steps
  • Review notes or textbooks on modular arithmetic.
  • Solve practice problems involving modular arithmetic.
Discuss Cryptographic Concepts with Classmates
Fosters collaboration, deepens understanding through peer-to-peer learning, and expands perspectives on the subject matter.
Browse courses on Cryptography
Show steps
  • Find a study partner or group.
  • Discuss specific cryptographic concepts or problems.
  • Share insights and learn from each other's perspectives.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Read 'The Code Book' by Simon Singh
Provides a comprehensive overview of the history and applications of number theory and cryptography, helping you build a strong foundation for the course.
View Fermat's Enigma on Amazon
Show steps
  • Read and understand the first three chapters of the book.
  • Summarize the key concepts and ideas presented in the book.
Follow tutorials on RSA Encryption and Decryption
Strengthens your understanding of the practical implementation of cryptographic algorithms covered in the course.
Browse courses on RSA
Show steps
  • Find tutorials on RSA encryption and decryption algorithms.
  • Follow the tutorials to implement an RSA encryption and decryption program.
Solve Cryptographic Puzzles
Sharpens your problem-solving skills and enhances your ability to apply number theory concepts to real-world scenarios.
Browse courses on Number Theory
Show steps
  • Find websites or books that offer cryptographic puzzles.
  • Attempt to solve the puzzles using the concepts learned in the course.
Create a Visual Explanation of the RSA Algorithm
Solidifies your understanding of RSA and improves your ability to communicate complex concepts clearly.
Browse courses on RSA
Show steps
  • Choose a visual format (e.g., flowchart, diagram).
  • Map out the steps of the RSA algorithm in the chosen format.
  • Create the visual explanation.
Connect with Cryptography Experts
Provides access to valuable insights, guidance, and support from experienced professionals in the field.
Browse courses on Cryptography
Show steps
  • Attend industry events or online forums.
  • Reach out to experts in your network or through professional organizations.

Career center

Learners who complete Number Theory and Cryptography will develop knowledge and skills that may be useful to these careers:
Cryptographer
Cryptographers use their knowledge of mathematics and computer science to design and implement cryptographic systems. This course may be useful for Cryptographers because it provides a foundation in number theory and cryptography, which are essential concepts for understanding and developing cryptographic algorithms. The course also covers topics such as modular arithmetic, Euclid's algorithm, and RSA encryption, which are all relevant to cryptography.
Information Security Analyst
Information Security Analysts use their knowledge of computer security and information technology to protect organizations from cyber attacks. This course may be useful for Information Security Analysts because it provides a foundation in number theory and cryptography, which are essential concepts for understanding and mitigating cyber threats. The course also covers topics such as modular arithmetic, Euclid's algorithm, and RSA encryption, which are all relevant to network security and data protection.
Network Security Engineer
Network Security Engineers use their knowledge of computer security and networking to protect organizations from cyber attacks. This course may be useful for Network Security Engineers because it provides a foundation in number theory and cryptography, which are essential concepts for understanding and mitigating cyber threats. The course also covers topics such as modular arithmetic, Euclid's algorithm, and RSA encryption, which are all relevant to network security.
Cybersecurity Engineer
Cybersecurity Engineers use their knowledge of computer security and information technology to protect organizations from cyber attacks. This course may be useful for Cybersecurity Engineers because it provides a foundation in number theory and cryptography, which are essential concepts for understanding and mitigating cyber threats. The course also covers topics such as modular arithmetic, Euclid's algorithm, and RSA encryption, which are all relevant to cybersecurity.
Security Analyst
Security Analysts use their knowledge of computer security and information technology to protect organizations from cyber attacks. This course may be useful for Security Analysts because it provides a foundation in number theory and cryptography, which are essential concepts for understanding and mitigating cyber threats. The course also covers topics such as modular arithmetic, Euclid's algorithm, and RSA encryption, which are all relevant to network security and data protection.
Software Engineer
Software Engineers use their knowledge of computer science and programming to design, develop, and maintain software systems. This course may be useful for Software Engineers because it provides a foundation in number theory and cryptography, which are essential concepts for secure software development. The course also covers topics such as modular arithmetic, Euclid's algorithm, and RSA encryption, which are all relevant to software security.
Compliance Officer
Compliance Officers use their knowledge of laws and regulations to ensure that organizations comply with all applicable requirements. This course may be useful for Compliance Officers because it provides a foundation in number theory and cryptography, which are essential concepts for understanding and implementing compliance measures. The course also covers topics such as modular arithmetic, Euclid's algorithm, and RSA encryption, which are all relevant to compliance.
Risk Manager
Risk Managers use their knowledge of risk management principles and practices to identify, assess, and mitigate risks for organizations. This course may be useful for Risk Managers because it provides a foundation in number theory and cryptography, which are essential concepts for understanding and managing risks. The course also covers topics such as modular arithmetic, Euclid's algorithm, and RSA encryption, which are all relevant to risk management.
Auditor
Auditors use their knowledge of accounting and auditing principles and practices to examine and evaluate the financial records of organizations. This course may be useful for Auditors because it provides a foundation in number theory and cryptography, which are essential concepts for understanding and auditing financial records. The course also covers topics such as modular arithmetic, Euclid's algorithm, and RSA encryption, which are all relevant to auditing.
Forensic Accountant
Forensic Accountants use their knowledge of accounting and auditing principles and practices to investigate financial crimes. This course may be useful for Forensic Accountants because it provides a foundation in number theory and cryptography, which are essential concepts for understanding and investigating financial crimes. The course also covers topics such as modular arithmetic, Euclid's algorithm, and RSA encryption, which are all relevant to forensic accounting.
Data Scientist
Data Scientists use their knowledge of mathematics, statistics, and computer science to extract insights from data. This course may be useful for Data Scientists because it provides a foundation in number theory, which is essential for understanding the statistical models and algorithms used in data science. The course also covers topics such as modular arithmetic and RSA encryption, which are relevant to data security and privacy.
Computer Scientist
Computer Scientists use their knowledge of computer science and mathematics to design, develop, and implement computer systems. This course may be useful for Computer Scientists because it provides a foundation in number theory and cryptography, which are essential concepts for understanding and developing computer systems. The course also covers topics such as modular arithmetic, Euclid's algorithm, and RSA encryption, which are all relevant to computer science.
Information Technology Manager
Information Technology Managers use their knowledge of information technology to manage and maintain the IT systems of organizations. This course may be useful for Information Technology Managers because it provides a foundation in number theory and cryptography, which are essential concepts for understanding and managing IT systems. The course also covers topics such as modular arithmetic, Euclid's algorithm, and RSA encryption, which are all relevant to IT security.
Data Protection Officer
Data Protection Officers use their knowledge of data protection laws and regulations to ensure that organizations comply with data protection requirements. This course may be useful for Data Protection Officers because it provides a foundation in number theory and cryptography, which are essential concepts for understanding and implementing data protection measures. The course also covers topics such as modular arithmetic, Euclid's algorithm, and RSA encryption, which are all relevant to data protection.
Privacy Analyst
Privacy Analysts use their knowledge of privacy laws and regulations to ensure that organizations comply with privacy requirements. This course may be useful for Privacy Analysts because it provides a foundation in number theory and cryptography, which are essential concepts for understanding and implementing privacy measures. The course also covers topics such as modular arithmetic, Euclid's algorithm, and RSA encryption, which are all relevant to privacy.

Reading list

We've selected 16 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Number Theory and Cryptography.
This textbook provides a comprehensive introduction to cryptography, covering both the theoretical and practical aspects of the subject. It valuable resource for students who want to gain a deep understanding of cryptography.
This textbook provides a comprehensive introduction to abstract algebra, including number theory, group theory, and ring theory. It would be a valuable resource for students who want to learn more about the mathematical foundations of cryptography.
This textbook provides a comprehensive introduction to number theory, covering topics such as modular arithmetic, Euclid's algorithm, and Chinese Remainder Theorem. It valuable resource for students who want to gain a strong foundation in number theory and its applications in cryptography.
This classic textbook provides a comprehensive introduction to number theory, covering a wide range of topics that are relevant to this course.
Provides a comprehensive introduction to number theory, with an emphasis on the applications of number theory to computing. It would be a valuable resource for students who want to learn more about the mathematical foundations of cryptography.
This classic textbook provides a comprehensive treatment of applied cryptography, covering a wide range of topics that are relevant to this course.
This textbook provides a comprehensive introduction to the mathematical foundations of computer science, including number theory, graph theory, and probability. It would be a valuable resource for students who want to learn more about the mathematical underpinnings of cryptography.
This textbook provides a comprehensive introduction to cryptography and network security. It would be a valuable resource for students who want to learn more about the practical applications of cryptography.
This undergraduate-level textbook provides a clear and concise introduction to the basics of number theory, including many of the topics covered in this course.
This textbook provides a comprehensive introduction to cryptography, covering both the theoretical foundations and the practical applications of cryptographic techniques.
This textbook provides a clear and concise introduction to cryptography, with an emphasis on the mathematical foundations of the subject. It would be a valuable resource for students who want to learn more about the theoretical underpinnings of cryptography.
Provides a historical perspective on cryptography, covering classical ciphers such as the Caesar cipher and the Enigma machine. It also introduces modern cryptographic techniques such as public-key cryptography and digital signatures.
Provides a gentle introduction to cryptography, with an emphasis on the mathematical foundations of the subject. It would be a good choice for students who want to learn more about cryptography without getting bogged down in the technical details.
Provides a more advanced treatment of number theory, with an emphasis on computational methods and algorithms. It would be a valuable resource for students who want to learn more about the practical applications of number theory.
Provides a fascinating overview of the history of cryptography, from ancient ciphers to modern quantum cryptography. It great resource for students who want to learn about the evolution of cryptography and its impact on society.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser