Cryptography is an indispensable tool for protecting information in computer systems. In this course you will learn the inner workings of cryptographic systems and how to correctly use them in real-world applications. The course begins with a detailed discussion of how two parties who have a shared secret key can communicate securely when a powerful adversary eavesdrops and tampers with traffic. We will examine many deployed protocols and analyze mistakes in existing systems. The second half of the course discusses public-key techniques that let two parties generate a shared secret key. Throughout the course participants will be exposed to many exciting open problems in the field and work on fun (optional) programming projects. In a second course (Crypto II) we will cover more advanced cryptographic tasks such as zero-knowledge, privacy mechanisms, and other forms of encryption.

提供方

## 密码学 I

## 課程信息

### 學生職業成果

## 39%

## 29%

## 14%

### 您將獲得的技能

### 學生職業成果

## 39%

## 29%

## 14%

#### 100% 在線

#### 可靈活調整截止日期

#### 完成時間大約為40 小時

#### 英語（English）

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

**完成時間為 4 小時**

## Course overview and stream ciphers

Week 1. This week's topic is an overview of what cryptography is about as well as our first example ciphers. You will learn about pseudo-randomness and how to use it for encryption. We will also look at a few basic definitions of secure encryption.

**完成時間為 4 小時**

**12 個視頻**

**2 個閱讀材料**

**2 個練習**

**完成時間為 3 小時**

## Block Ciphers

Week 2. We introduce a new primitive called a block cipher that will let us build more powerful forms of encryption. We will look at a few classic block-cipher constructions (AES and 3DES) and see how to use them for encryption. Block ciphers are the work horse of cryptography and have many applications. Next week we will see how to use block ciphers to provide data integrity. The optional programming assignment this week asks students to build an encryption/decryption system using AES.

**完成時間為 3 小時**

**11 個視頻**

**2 個練習**

**完成時間為 3 小時**

## Message Integrity

Week 3. This week's topic is data integrity. We will discuss a number of classic constructions for MAC systems that are used to ensure data integrity. For now we only discuss how to prevent modification of non-secret data. Next week we will come back to encryption and show how to provide both confidentiality and integrity. This week's programming project shows how to authenticate large video files. Even if you don't do the project, please read the project description --- it teaches an important concept called a hash chain.

**完成時間為 3 小時**

**11 個視頻**

**2 個練習**

**完成時間為 3 小時**

## Authenticated Encryption

Week 4. This week's topic is authenticated encryption: encryption methods that ensure both confidentiality and integrity. We will also discuss a few odds and ends such as how to search on encrypted data. This is our last week studying symmetric encryption. Next week we start with key management and public-key cryptography. As usual there is also an extra credit programming project. This week's project involves a bit of networking to experiment with a chosen ciphertext attack on a toy web site.

**完成時間為 3 小時**

**12 個視頻**

**2 個練習**

### 審閱

#### 4.8

##### 來自密码学 I的熱門評論

Provides a comprehensive introduction to cryptographic history, current technology, best practices and known attacker techniques. A great deal of material is covered in a relatively compact program.

Cutting edge cryptography topics. Good explanations and slides, but pause button is highly recommended. Can be a bit too mathematical for the general public, and not very formal for mathematicians.

This course gives is perfect to start learning cryptography, explanations are detailed, topics carefully selected combining theory with real world examples and making emphasis in important details.

A really interesting and in-depth course. It is pretty challenging and requires good math/proof skills, but still quite fun. The course could use more study materials, for example lecture notes.

I am very happy and satisfied pursuing this course. I love it. Cryptography is one of the very important concepts in Computer Science and just loved to have the course from Stanford University.

Great intro to a complex topic.\n\nIt could be improved by having the programming assignments be:\n\n+ Mandatory\n\n+ More related to actual cryptographic algorithms/libraries (only some are)

Very comprehensive overview of Cryptography. Though a bit too mathematical for me, the gist of it is very helpful to understand cryptocurrency protocol design of Bitcoin, Ethereum, Monero...

Excellent course. I've worked with cryptographic methods and practice for many years, but this course provided me with a stronger understanding of the underlying theory than I'd had before.

Really interesting and comprehensive course. Sometimes really important concepts were glossed over quickly which made it occasionally tricky to follow but then it is tricky subject matter!

Great grounding of the cryptography basics, but does require a decent understanding of basic computing (bits, XORs) and some reading on finite field maths beforehand would definitely help.

Great Instructor, really enjoyed his style of expanding the math "sentences" into lay English EVERY SINGLE TIME! That really helped this learner "go with the flow" as my background is CS.

It is really interesting and clarifying. It does require much attention to details and taking a lot of notes, however. It focuses on the theory, with practical examples. I sure liked it.

The course gives fundamentals of Cryptography. But I would say that it dig very deep with fundamentals so I would highly recommend this course if you need/want to understand Cryptoraphy

Great into to the disciple for those of use who are interested in it but don't have access to a formal crypto class for what ever reason. This class made me fall in love with Coursera.

Very well explained. I am also reading some research papers, it has become very easy to understand what they are talking about. One must read the additional material for good results.

Great introduction to the concepts. I really enjoyed learning everything in this course. My only regret is that I was too busy to take time to do the optional programming assignments.

The lectures are very good. Easy to understand and keep on track. But the lecturer could enunciate better. But that is also not a huge issue since pausing and replaying is an option.

Excellent material. As usual with computer science courses, some of the material could be presented a bit more clearly. But I am really happy to finally understand this material now.

Excellent explanation on the concepts of cryptography. The course gradually builds the concept from the basics. The graded assignments are beautifully designed to test the concepts.

Very good lecture. I learned a lot about cryptography and basic ideas about security. I just hope Dan speaks slowly from next lectures. Definitely will take Crpytography II as well.

### 提供方

#### 斯坦福大学

The Leland Stanford Junior University, commonly referred to as Stanford University or Stanford, is an American private research university located in Stanford, California on an 8,180-acre (3,310 ha) campus near Palo Alto, California, United States.

## 常見問題

我什么时候能够访问课程视频和作业？

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

我购买证书后会得到什么？

您购买证书后，将有权访问所有课程材料，包括评分作业。完成课程后，您的电子课程证书将添加到您的成就页中，您可以通过该页打印您的课程证书或将其添加到您的领英档案中。如果您只想阅读和查看课程内容，可以免费旁听课程。

退款政策是如何规定的？

有助学金吗？

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