Contents
密碼學( Cryptography,Crypto )是保護計算機系統中資訊的不可或缺的工具。 在本課程中,你將了解密碼系統的內部工作原理以及如何在實際應用中正確使用它們。 ( From Stanford University )
關於此專業課程
本課程首先詳細討論了當強大的對手竊聽和篡改流量時,擁有共享密鑰的兩方如何安全通信。 我們將檢查許多已部署的協議並分析現有系統中的錯誤。 課程的後半部分討論了讓雙方生成共享密鑰的公鑰技術。 在整個課程中,參與者將接觸到該領域中許多令人興奮的未解決問題,並從事有趣的(可選)程式設計專案。 在第二門課程(密碼學 II)中,我們將介紹更高級的加密任務,例如零( Zero )的知識、隱私機制和其他形式的加密。
到官方網站了解本課程與上課
你將獲得的技能:
密碼學 | 密碼的攻擊 | 公鑰密碼學 |
對稱密鑰演算法 |
字幕
英文
製作方
史丹佛大學 Stanford University
The Leland Stanford Junior University,通常被稱為史丹佛大學,是一所美國私立研究型大學,位於美國加州 Palo Alto 附近,佔地 8,180 英畝(3,310 公頃)的校園內。
第 1 週 課程概述和串流密碼( Stream Ciphers )
本週的主題是對密碼學的概述以及我們的第一個示例密碼。 您將了解偽隨機性以及如何將其用於加密。 我們還將研究安全加密的一些基本定義。
第 2 週 分組密碼( Block Cipher )
我們引入了一種稱為分組密碼的新原語,它將讓我們建構更強大的加密形式。 我們將研究一些經典的分組密碼結構(AES 和 3DES),並了解如何使用它們加密。 分組密碼是密碼學的工作,有很多應用。 下週我們將看到如何使用分組密碼來提供資料完整性。 本週的可選程式設計作業要求學生使用 AES 建構加密/解密系統。
第 3 週 訊息完整性
本週的主題是資料完整性。 我們將討論一些用於確保資料完整性的 MAC 系統的經典結構。 現在我們只討論如何防止修改非機密資料。 下週我們將回到加密並展示如何提供機密性和完整性。 本週的程式設計專案展示如何驗證大型視訊檔案。 即使你不做這個專案,也請閱讀專案描述——它教授了一個重要的概念,叫做哈希鏈( Hash Chain )。
第 4 週 認證加密
本週的主題是經過身份驗證的加密:確保機密性和完整性的加密方法。 我們還將討論一些零碎的東西,例如如何搜索加密數據。 這是我們上週學習對稱加密。 下週我們將從密鑰管理和公鑰密碼學開始。 像往常一樣,還有一個額外的學分程式設計專案。 本週的專案涉及一些網路,以試驗對玩具網站的選定密文攻擊。
第 5 週 基本密鑰交換
本週的主題是基本的密鑰交換:如何在兩方之間設置密鑰。 目前,我們只考慮協議可以防止竊聽。 這個問題引發了公鑰密碼學的主要概念,但在我們建構公鑰系統之前,我們需要繞道而行,並涵蓋計算數論中的一些基本概念。 我們將從可追溯到古代(歐幾里得 Euclid))的演算法開始,一直到費馬( Fermat )、歐拉( Euler )和勒壤得( Legendre )。 我們還將順便提及一些來自 20 世紀數學的有用概念。 下週我們會好好利用這週所學建構幾個公鑰加密系統。
第 6 週 公鑰加密
本週的主題是公鑰加密:如何使用公鑰加密和使用密鑰解密。公鑰加密用於加密文件系統、加密訊息系統和許多其他任務中的密鑰管理。這些視訊涵蓋了兩類公鑰加密系統:一類基於 trapdoor 函數(尤其是 RSA),另一類基於 Diffie-Hellman 協議。我們構建了可以防止篡改的系統,也稱為選擇密文安全性(CCA 安全性)。在過去十年中,對 CCA 安全性進行了大量研究,鑑於分配的時間,我們只能總結過去幾年的主要成果。這些講座包含對那些有興趣了解更多關於 CCA 安全公鑰系統的人的進一步閱讀的建議。本週設置的問題涉及比平時更多的數學,但應該會擴展你對公鑰加密的理解。請不要不好意思在論壇中發布問題。這是 Crypto I 課程的最後一週。我希望每個人都能學到很多東西並喜歡這些材料。加密是一個美麗的話題,有很多未解決的問題和進一步研究的空間。我期待在密碼學( Crypto ) II 中見到你,我們將在其中介紹其他核心主題和一些更高級的主題。
第 7 週 期末考
恭喜! 我們在課程的最後。 該模組僅包含涵蓋整個課程的期末考試。 我希望每個人在這 6 週中都能學到很多東西。 祝你期末考試好運,我期待在未來的課程中見到你!
到官方網站了解本課程與上課

✍ 不受社群推薦演算法影響,建議 Telegram/Discord/e-mail
發表迴響