課程信息
4.6
93 個評分
21 個審閱
100% 在線

100% 在線

立即開始,按照自己的計劃學習。
可靈活調整截止日期

可靈活調整截止日期

根據您的日程表重置截止日期。
初級

初級

完成時間(小時)

完成時間大約為15 小時

建議:4 weeks, 2-5 hours/week...
可選語言

英語(English)

字幕:英語(English)

您將獲得的技能

Number TheoryCryptographyModular Exponentiation
100% 在線

100% 在線

立即開始,按照自己的計劃學習。
可靈活調整截止日期

可靈活調整截止日期

根據您的日程表重置截止日期。
初級

初級

完成時間(小時)

完成時間大約為15 小時

建議:4 weeks, 2-5 hours/week...
可選語言

英語(English)

字幕:英語(English)

教學大綱 - 您將從這門課程中學到什麼

1
完成時間(小時)
完成時間為 4 小時

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 個視頻 (總計 90 分鐘), 4 個閱讀材料, 13 個測驗
Video10 個視頻
Numbers6分鐘
Divisibility6分鐘
Remainders9分鐘
Problems6分鐘
Divisibility Tests5分鐘
Division by 212分鐘
Binary System11分鐘
Modular Arithmetic12分鐘
Applications7分鐘
Modular Subtraction and Division11分鐘
Reading4 個閱讀材料
Python Code for Remainders5分鐘
Slides1分鐘
Slides1分鐘
Slides1分鐘
Quiz12 個練習
Divisibility15分鐘
Remainders10分鐘
Division by 45分鐘
Four Numbers10分鐘
Division by 10110分鐘
Properties of Divisibility10分鐘
Divisibility Tests8分鐘
Division by 24分鐘
Binary System8分鐘
Modular Arithmetic8分鐘
Remainders of Large Numbers10分鐘
Modular Division10分鐘
2
完成時間(小時)
完成時間為 4 小時

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 個視頻 (總計 78 分鐘), 4 個閱讀材料, 7 個測驗
Video7 個視頻
Euclid’s Algorithm15分鐘
Extended Euclid’s Algorithm10分鐘
Least Common Multiple8分鐘
Diophantine Equations: Examples5分鐘
Diophantine Equations: Theorem15分鐘
Modular Division12分鐘
Reading4 個閱讀材料
Greatest Common Divisor: Code15分鐘
Extended Euclid's Algorithm: Code10分鐘
Slides1分鐘
Slides10分鐘
Quiz7 個練習
Greatest Common Divisor10分鐘
Tile a Rectangle with Squares20分鐘
Least Common Multiple10分鐘
Least Common Multiple: Code15分鐘
Diophantine Equations15分鐘
Diophantine Equations: Code20分鐘
Modular Division: Code20分鐘
3
完成時間(小時)
完成時間為 4 小時

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 個視頻 (總計 91 分鐘), 3 個閱讀材料, 6 個測驗
Video14 個視頻
Prime Numbers3分鐘
Integers as Products of Primes3分鐘
Existence of Prime Factorization2分鐘
Euclid's Lemma4分鐘
Unique Factorization9分鐘
Implications of Unique Factorization10分鐘
Remainders7分鐘
Chinese Remainder Theorem7分鐘
Many Modules5分鐘
Fast Modular Exponentiation10分鐘
Fermat's Little Theorem7分鐘
Euler's Totient Function6分鐘
Euler's Theorem4分鐘
Reading3 個閱讀材料
Slides10分鐘
Slides10分鐘
Slides10分鐘
Quiz5 個練習
Integer Factorization20分鐘
Remainders8分鐘
Chinese Remainder Theorem15分鐘
Fast Modular Exponentiation15分鐘
Modular Exponentiation8分鐘
4
完成時間(小時)
完成時間為 5 小時

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 個視頻 (總計 67 分鐘), 4 個閱讀材料, 2 個測驗
Video9 個視頻
One-time Pad4分鐘
Many Messages7分鐘
RSA Cryptosystem14分鐘
Simple Attacks5分鐘
Small Difference5分鐘
Insufficient Randomness7分鐘
Hastad's Broadcast Attack8分鐘
More Attacks and Conclusion5分鐘
Reading4 個閱讀材料
Many Time Pad Attack10分鐘
Slides10分鐘
Randomness Generation10分鐘
Slides and External References10分鐘
Quiz2 個練習
RSA Quiz分鐘
RSA Quest - Quiz6分鐘
4.6
21 個審閱Chevron Right

熱門審閱

創建者 PWNov 22nd 2018

I was really impressed especially with the RSA portion of the course. It was really well explained, and the programming exercise was cleverly designed and implemented. Well done.

創建者 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.

講師

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

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

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

關於 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

常見問題

  • 注册以便获得证书后,您将有权访问所有视频、测验和编程作业(如果适用)。只有在您的班次开课之后,才可以提交和审阅同学互评作业。如果您选择在不购买的情况下浏览课程,可能无法访问某些作业。

  • 您注册课程后,将有权访问专项课程中的所有课程,并且会在完成课程后获得证书。您的电子课程证书将添加到您的成就页中,您可以通过该页打印您的课程证书或将其添加到您的领英档案中。如果您只想阅读和查看课程内容,可以免费旁听课程。

還有其他問題嗎?請訪問 學生幫助中心