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.

# Cryptography I

제공자:

## Cryptography I

## About this Course

### 학습자 경력 결과

## 39%

## 29%

## 14%

### 귀하가 습득할 기술

### 학습자 경력 결과

## 39%

## 29%

## 14%

#### 공유 가능한 수료증

#### 100% 온라인

#### 유동적 마감일

#### 완료하는 데 약 29시간 필요

#### 영어

## 강의 계획 - 이 강좌에서 배울 내용

**완료하는 데 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

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

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.

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.

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.

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.

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.

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.

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

### 스탠퍼드 대학교 정보

## 자주 묻는 질문

강의 및 과제를 언제 이용할 수 있게 되나요?

강좌에 등록하면 바로 모든 비디오, 테스트 및 프로그래밍 과제(해당하는 경우)에 접근할 수 있습니다. 상호 첨삭 과제는 이 세션이 시작된 경우에만 제출하고 검토할 수 있습니다. 강좌를 구매하지 않고 살펴보기만 하면 특정 과제에 접근하지 못할 수 있습니다.

이 수료증을 구매하면 무엇을 이용할 수 있나요?

수료증을 구매하면 성적 평가 과제를 포함한 모든 강좌 자료에 접근할 수 있습니다. 강좌를 완료하면 전자 수료증이 성취도 페이지에 추가되며, 해당 페이지에서 수료증을 인쇄하거나 LinkedIn 프로필에 수료증을 추가할 수 있습니다. 강좌 콘텐츠만 읽고 살펴보려면 해당 강좌를 무료로 청강할 수 있습니다.

환불 규정은 어떻게 되나요?

재정 지원을 받을 수 있나요?

궁금한 점이 더 있으신가요? 학습자 도움말 센터를 방문해 보세요.