Acerca de este Curso
4.6
87 calificaciones
19 revisiones
100% online

100% online

Comienza de inmediato y aprende a tu propio ritmo.
Fechas límite flexibles

Fechas límite flexibles

Restablece las fechas límite en función de tus horarios.
Nivel principiante

Nivel principiante

Hours to complete

Aprox. 15 horas para completar

Sugerido: 4 weeks, 2-5 hours/week...
Available languages

Inglés (English)

Subtítulos: Inglés (English)...

Habilidades que obtendrás

Number TheoryCryptographyModular Exponentiation
100% online

100% online

Comienza de inmediato y aprende a tu propio ritmo.
Fechas límite flexibles

Fechas límite flexibles

Restablece las fechas límite en función de tus horarios.
Nivel principiante

Nivel principiante

Hours to complete

Aprox. 15 horas para completar

Sugerido: 4 weeks, 2-5 hours/week...
Available languages

Inglés (English)

Subtítulos: Inglés (English)...

Programa - Qué aprenderás en este curso

Semana
1
Hours to complete
4 horas para completar

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....
Reading
10 videos (Total: 90 min), 4 readings, 13 quizzes
Video10 videos
Divisibility6m
Remainders9m
Problems6m
Divisibility Tests5m
Division by 212m
Binary System11m
Modular Arithmetic12m
Applications7m
Modular Subtraction and Division11m
Reading4 lecturas
Python Code for Remainders5m
Slides1m
Slides1m
Slides1m
Quiz12 ejercicios de práctica
Divisibility15m
Remainders10m
Division by 45m
Four Numbers10m
Division by 10110m
Properties of Divisibility10m
Divisibility Tests8m
Division by 24m
Binary System8m
Modular Arithmetic8m
Remainders of Large Numbers10m
Modular Division10m
Semana
2
Hours to complete
4 horas para completar

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....
Reading
7 videos (Total: 78 min), 4 readings, 7 quizzes
Video7 videos
Euclid’s Algorithm15m
Extended Euclid’s Algorithm10m
Least Common Multiple8m
Diophantine Equations: Examples5m
Diophantine Equations: Theorem15m
Modular Division12m
Reading4 lecturas
Greatest Common Divisor: Code15m
Extended Euclid's Algorithm: Code10m
Slides1m
Slides10m
Quiz7 ejercicios de práctica
Greatest Common Divisor10m
Tile a Rectangle with Squares20m
Least Common Multiple10m
Least Common Multiple: Code15m
Diophantine Equations15m
Diophantine Equations: Code20m
Modular Division: Code20m
Semana
3
Hours to complete
4 horas para completar

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....
Reading
14 videos (Total: 91 min), 3 readings, 6 quizzes
Video14 videos
Prime Numbers3m
Integers as Products of Primes3m
Existence of Prime Factorization2m
Euclid's Lemma4m
Unique Factorization9m
Implications of Unique Factorization10m
Remainders7m
Chinese Remainder Theorem7m
Many Modules5m
Fast Modular Exponentiation10m
Fermat's Little Theorem7m
Euler's Totient Function6m
Euler's Theorem4m
Reading3 lecturas
Slides10m
Slides10m
Slides10m
Quiz5 ejercicios de práctica
Integer Factorization20m
Remainders8m
Chinese Remainder Theorem15m
Fast Modular Exponentiation15m
Modular Exponentiation8m
Semana
4
Hours to complete
5 horas para completar

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!...
Reading
9 videos (Total: 67 min), 4 readings, 2 quizzes
Video9 videos
One-time Pad4m
Many Messages7m
RSA Cryptosystem14m
Simple Attacks5m
Small Difference5m
Insufficient Randomness7m
Hastad's Broadcast Attack8m
More Attacks and Conclusion5m
Reading4 lecturas
Many Time Pad Attack10m
Slides10m
Randomness Generation10m
Slides and External References10m
Quiz2 ejercicios de práctica
RSA Quizm
RSA Quest - Quiz6m
4.6

Principales revisiones

por LJan 2nd 2018

A good course for people who have no basic background in number theory , explicit clear explanation in RSA algorithm. Overall,a good introduction course.

por ASJul 23rd 2018

Excellent course, this course is more about numerical theory behind cryptography.\n\nIt has excellent assignments using Python.

Instructores

Avatar

Alexander S. Kulikov

Visiting Professor
Department of Computer Science and Engineering
Avatar

Michael Levin

Lecturer
Computer Science
Avatar

Vladimir Podolskii

Associate Professor
Computer Science Department

Acerca de University of California San Diego

UC San Diego is an academic powerhouse and economic engine, recognized as one of the top 10 public universities by U.S. News and World Report. Innovation is central to who we are and what we do. Here, students learn that knowledge isn't just acquired in the classroom—life is their laboratory....

Acerca de National Research University Higher School of Economics

National Research University - Higher School of Economics (HSE) is one of the top research universities in Russia. Established in 1992 to promote new research and teaching in economics and related disciplines, it now offers programs at all levels of university education across an extraordinary range of fields of study including business, sociology, cultural studies, philosophy, political science, international relations, law, Asian studies, media and communications, IT, mathematics, engineering, and more. Learn more on www.hse.ru...

Acerca del programa especializado Introduction to Discrete Mathematics for Computer Science

Discrete Math is needed to see mathematical structures in the object you work with, and understand their properties. This ability is important for software engineers, data scientists, security and financial analysts (it is not a coincidence that math puzzles are often used for interviews). We cover the basic notions and results (combinatorics, graphs, probability, number theory) that are universally needed. To deliver techniques and ideas in discrete mathematics to the learner we extensively use interactive puzzles specially created for this specialization. To bring the learners experience closer to IT-applications we incorporate programming examples, problems and projects in our courses....
Introduction to Discrete Mathematics for Computer Science

Preguntas Frecuentes

  • Una vez que te inscribes para obtener un Certificado, tendrás acceso a todos los videos, cuestionarios y tareas de programación (si corresponde). Las tareas calificadas por compañeros solo pueden enviarse y revisarse una vez que haya comenzado tu sesión. Si eliges explorar el curso sin comprarlo, es posible que no puedas acceder a determinadas tareas.

  • Cuando te inscribes en un curso, obtienes acceso a todos los cursos que forman parte del Programa especializado y te darán un Certificado cuando completes el trabajo. Se añadirá tu Certificado electrónico a la página Logros. Desde allí, puedes imprimir tu Certificado o añadirlo a tu perfil de LinkedIn. Si solo quieres leer y visualizar el contenido del curso, puedes auditar el curso sin costo.

¿Tienes más preguntas? Visita el Centro de Ayuda al Alumno.