|
所在平台: Coursera |
课程主页: https://www.coursera.org/learn/number-theory-cryptography
课程评论:没有评论
课程名称:数论与密码学 课程概述:在20世纪初,著名的数论专家戈弗雷·哈代曾将数论描述为“纯数学中最明显无用的分支之一”。然而,在他去世30年后,基于数论的成就,开发了一种加密秘密信息的算法,称为RSA,得名于其作者的名字。如今,RSA的实现可能是世界上使用最频繁的计算机程序之一。没有它,安全支付将无法实现。 课程大纲: 1. 模数算术 - 本周我们将讨论整数及其标准操作:加法、减法、乘法和除法。特别是除法操作最为有趣,它在整数上创建了复杂的结构。我们将讨论带余数的除法,并引入余数算术。这一数学设定将在后续周中使我们能够构建非平凡的计算和密码学构造。 2. 欧几里得算法 - 本周我们将学习欧几里得算法及其应用。这个基础算法是理解现代密码学的关键。它不仅可以找到两个数字的最大公约数(这一问题本身非常重要),其扩展版本还提供了一种有效的方法来解决丢番图方程和计算模逆。 3. 密码学的构建模块 - 密码学研究安全共享秘密的方法,确保即使是窃听者也无法从他们所听到的或拦截的网络流量中提取任何信息。本模块将探讨一种名为RSA的流行密码算法,该算法基于唯一整数分解、中国剩余定理和快速模幂运算。我们将学习这些属性和算法,它们是RSA的构建基块。在下一个模块中,我们将利用这些基础构建块来实现RSA,并对RSA进行一些巧妙的攻击,解码一些秘密代码。 4. 现代密码学 - 现代密码学在一战和二战期间得到了最大发展,因为各国间普遍存在间谍活动。您将了解到这个故事,并知道为何简单的密码系统已经无法满足需求。您将学习到共享密钥在每次通信中必须更换,以确保安全。在需求急剧增加且通信方可能位于不同大洲的情况下,这就显得尤为棘手。接下来,您将研究RSA密码系统,它允许各方交换秘密密钥,确保窃听者无法在合理的时间内解码这些密钥。然后,您将学习并实施一些针对错误实现的RSA的攻击,从而解码一些秘密代码,并完成一个小型的密码学任务!
Name:Modular Arithmetic
Description: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.
Name:Euclid's Algorithm
Description: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.
Name:Building Blocks for Cryptography
Description: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.
Name:Cryptography
Description: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!
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 payme