We may earn an affiliate commission when you visit our partners.
Course image
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
Euclid's Algorithm
This week we'll study Euclid's algorithm and its applications. This fundamental algorithm is the main stepping-stone for understanding much of modern cryptography! Not only does this algorithm find the greatest common divisor of two numbers (which is an incredibly important problem by itself), but its extended version also gives an efficient way to solve Diophantine equations and compute modular inverses.
Building Blocks for Cryptography
Cryptography studies ways to share secrets securely, so that even eavesdroppers can't extract any information from what they hear or network traffic they intercept. One of the most popular cryptographic algorithms called RSA is based on unique integer factorization, Chinese Remainder Theorem and fast modular exponentiation. In this module, we are going to study these properties and algorithms which are the building blocks for RSA. In the next module we will use these building blocks to implement RSA and also to implement some clever attacks against RSA and decypher some secret codes.
Cryptography
Modern cryptography has developed the most during the World War I and World War II, because everybody was spying on everybody. You will hear this story and see why simple cyphers didn't work anymore. You will learn that shared secret key must be changed for every communication if one wants it to be secure. This is problematic when the demand for secure communication is skyrocketing, and the communicating parties can be on different continents. You will then study the RSA cryptosystem which allows parties to exchange secret keys such that no eavesdropper is able to decipher these secret keys in any reasonable time. After that, you will study and later implement a few attacks against incorrectly implemented RSA, and thus decipher a few secret codes and even pass a small cryptographic quest!

Good to know

Know what's good
, what to watch for
, 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

Save Number Theory and Cryptography to your list so you can find it easily later:
Save

Reviews summary

Number theory and cryptography

Learners say this is a foundational course for students new to number theory and cryptography. It's well received, building on previous courses in the specialization. Key features include interactive lectures, video content, practice problems, code exercises, and a final RSA puzzler that ties together key concepts. However some students mention that the course is difficult and that the proofs could be explained more clearly.
Overall, this course is largely positive
"This course was fantastic."
"Great course! Instructional material is well put together with a nice balance of reading, videos, practice problems, quizzes, and coding exercises"
"Bravo! Oh man, the "RSA Quest" was the most amazing thing ever!"
Learners especially enjoyed the RSA final project.
"RSA puzzler as a "final exam" is worth a special mention -- the instructors manage to tie together the presented number theory and RSA cryptosystem concepts and practice in a very hands-on way, scavenger hunt style. Fun!"
"The best course I've taken on Courses – and I've completed 20+ MOOCs!"
Some learners found the last chapters difficult
"In all honesty, this was my least favorite course in this specialization so far."
"This module was the worst module in the whole specialization course."
"The last chapter was way too challenging compared to the previous ones."

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.
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.
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.
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.
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.
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.
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.
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.
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.
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.

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

Here are nine courses similar to Number Theory and Cryptography.
Building Secure Applications with Cryptography in .NET
Cyber Attack Countermeasures
Physical and Advanced Side-Channel Attacks
409: Cryptograp
Basic Cryptography and Programming with Crypto API
Asymmetric Cryptography and Key Management
Unlocking Information Security II: An Internet Perspective
Cryptography Principles for IT Professionals and...
An Introduction to Cryptography
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 - 2024 OpenCourser