《數據加密與PKI應用(微課版)》-教案全套 王秀英- 第1-7章 數據加密技術概述- 密鑰管理_第1頁
《數據加密與PKI應用(微課版)》-教案全套 王秀英- 第1-7章 數據加密技術概述- 密鑰管理_第2頁
《數據加密與PKI應用(微課版)》-教案全套 王秀英- 第1-7章 數據加密技術概述- 密鑰管理_第3頁
《數據加密與PKI應用(微課版)》-教案全套 王秀英- 第1-7章 數據加密技術概述- 密鑰管理_第4頁
《數據加密與PKI應用(微課版)》-教案全套 王秀英- 第1-7章 數據加密技術概述- 密鑰管理_第5頁
已閱讀5頁,還剩79頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《數據加密與PKI應用》課程教案課程基本信息課程代碼課程名稱數據加密與PKI應用開課部門授課班級/人數課程學分3學分考核方式及比例考試,總成績=過程考核×40%﹢結課考核×60%開設情況□新開課程?已有課程課程類型□理論課程□實訓課程□理實一體化課程?理論+實驗課程課程類別本科專業課課程總學時48學時理論學時32學時實踐教學場地實踐學時16學時授課教師職稱學歷/學位/是否新教師□是□否來源□本校□外聘所在部門教輔人員職稱學歷/學位是否新教師□是□否來源□本校□外聘所在部門學生年齡特征和學習特點教材類型□統編教材?非統編教材□自編教材或講義□其他:實踐教學指導書使用教材名稱作者出版社出版時間數據加密與PKI應用王秀英西安電子科技大學出版社2023年8月教學參考用書實踐教學指導書王秀英天津中德應用技術大學2022年6月應用密碼學李發根西安電子科技大學出版社2020年11月信息安全數學基礎--算法、應用與實踐(第2版)任偉清華大學出版社2018年12月

第1次課程教學方案備課時間備課教師教學時間教學地點周次1課時數2累計課時2教學內容(章、節)模塊/單元第1章數據加密技術概述1.1密碼學的發展歷史1.2密碼體制(對稱密碼體制、公鑰密碼體制)1.3數據加密工作機制(數字信封、數字簽名、消息鑒別機制)1.4密碼分析教學目標和要求知識能力素質1.了解密碼學的發展歷史2.掌握對稱密碼體制、公鑰密鑰體制和散列算法的特點3.掌握數字信封、消息鑒別、數字簽名安全機制的工作過程和特點4.了解常見的密碼分析和攻擊方法培養學生具有初步的應用加密技術和安全機制保護數據安全的能力以及密碼分析能力。培養學生初步的創新意識以及遵紀守法的品質。教學重點1.對稱密碼體制、公鑰密碼體制以及散列算法的特點2.數字信封、消息鑒別、數字簽名的工作過程教學難點1.公鑰加密算法的特點2.各類安全機制的工作原理教學方法1.講授法2.問題反饋法使用媒體資源?紙質材料?多媒體課件?網絡資源□其他資源:使用教具、設備、設施等1.PPT2.板書3.在線學習平臺作業練習布置作業1完成作業1中,關于加密體制和信息安全工作機制的相關作業課后記(空白不夠可添加附頁)

教學內容(板書)教學步驟、方法及學生活動時間安排課前準備:1.安全教育(1)由于實驗過程中需要安裝使用部分特殊工具軟件,為避免入侵者通過這類軟件中暗藏的漏洞對計算機進行破獲或非法獲取個人數據等,學生需要使用虛擬機運行該類軟件,通過虛擬機實現該類軟件與物理機的隔離,保護計算機(包含個人數據)的安全。(2)學生在實驗室集中實踐過程中,要注意用電安全。特別實在下雨、高溫等特殊環境下,要關注漏電、短路等問題的發生。要保證實驗室前后門的正常使用,一旦發生危險,要保證學生能夠安全撤離實驗室。2.大綱解讀見“課程介紹.pptx”以及課程教學大綱。重點介紹課程基本信息、課程考核方式,向學生提供參考書,建議學生借閱。教師講解使用“課程介紹.pptx”和課程教學大綱文件。學生可以提問5’第1章數據加密技術概述1.1密碼學的發展歷史1.古代加密方法(手工階段)舉例:天書、波利比烏斯表2.古典密碼(機械階段)以兩次世界大戰作為時間線,分割機械階段與電子階段為什么要提高加密效率3.近代密碼(計算機階段)大規模集成電路作為基礎。兩個大事件:(1)1976年的公鑰秘密體制出現(2)1977年的加密標準DES出現4.密碼學的未來發展重點介紹量子力學對密碼學的影響通過舉例,說明“換位”技術“替代”技術使學生理解加密與戰爭的關系。此處可以介紹圖靈的故事。介紹馮諾依曼的理論,將密碼學從一門藝術轉變為一門科學。解釋“標準”的重要意義。通過介紹我國在量子領域的重要突破,激發學生自豪感。15'1.2密碼體制(對稱密碼體制、公鑰密碼體制)一個現代密碼系統包括:明文、密文、加/解密算法、加/解密密鑰。(1)明文/消息(Plaintext/Message):作為加密輸入的原始消息,即消息的原始形式,一般用M表示。(2)密文(Cyphertext):明文變換后的一種隱蔽形式,一般用C表示。(3)加/解密算法(Encryption/DecryptionAlgorithm):將明文變換為密文的一組規則稱為加密算法;將密文變換為明文的一組規則稱為解密算法。加密算法可以用函數E()表示;解密算法可以用函數D()表示。(4)加/解密密鑰(Key):控制加密或解密過程的數據稱為加/解密密鑰,用K表示(加密密鑰表示為Ke,解密密鑰表示為Kd)。使用相同的加密算法,通過變換不同的密鑰可以得到不同的密文。加密:C=EKe(M)解密:M=DKd(C)1.2.1對稱密碼體制對稱密碼體制中所包含的加密算法被稱為對稱加密算法(有時又被稱為單密鑰加密算法或傳統加密算法),是指加密時使用的密鑰與解密時使用的密鑰相同(或者可以相互推算出來)的加密算法,即Ke=Kd。具體算法:DES、IDEA、AES、SM1/SM4/SM71.2.2公鑰密碼體制公鑰密碼體制所包含的加密算法被稱為公鑰加密算法(或者非對稱加密算法)。使用公鑰加密算法,加密和解密使不同的密鑰,即Ke≠Kd。具體算法:RSA、ElGamal、ECC、SM2/SM91.2.3散列算法散列算法(也被稱為散列函數)提供了這樣一種服務:它對不同長度的輸入消息,產生固定長度的輸出。特性:壓縮型、單向性、康碰撞行具體算法:MD、SHA、SM3通過比較密碼系統的三種描述方式:文字描述、圖示描述、數學公式描述,讓學生理解“數學”的重要性。兩種密碼體制對比著來講,可以從加解密鑰相同性、加解密鑰保密性、系統密鑰數量、算法機制(運算效率)、應用場景、具體算法幾個方面進行對比。重點是散列算法的應用場景。通過國標算法,使學生理解發展我國算法研究的重要性。45’1.3數據加密工作機制1.3.1數字信封1.3.2數字簽名與驗證1.3.3消息鑒別重點介紹每一種工作機制的具體工作過程。加密體制與工作機制之間的關系70'1.4密碼分析1.密碼分析方法(1)窮舉攻擊(ExhaustiveAttack)(2)統計分析法(StatisticalAnalysisAttack)(3)數學分析攻擊(MathematicalAnalysisAttack)2.攻擊方式(1)唯密文攻擊(Cyphertext-onlyAttack)(2)已知明文攻擊(Known-plaintextAttack)(3)選擇明文攻擊(Chosen-plaintextAttack)(4)選擇密文攻擊(Chosen-cyphertextAttack)3.破譯等級(1)全盤破譯(TotalBreak)(2)全盤推導(GlobalDeduction)(3)實例或局部推導(InstanceorLocalDeduction)(4)信息推導(InformationDeduction)通過舉例子的方法,讓學生理解相關概念。80'課程小結及課后安排:1.課程小結課程的重點內容包括對稱密碼體制、公鑰密碼體制、散列算法。另外,信息安全工作機制,包括數字信封、數字簽名、消息鑒別也是本次課程的重點內容。2.作業布置布置作業1,提示學生完成作業1中,關于加密體制和信息安全工作機制的相關作業。3.預習提示提示學生在“學習通平臺”完成下次課預習。90'

第2次課程教學方案備課時間1月22日—2月23日備課教師教學時間教學地點周次2課時數2累計課時4教學內容(章、節)模塊/單元第2章古典加密方法2.1單碼加密法2.2多碼加密法教學目標和要求知識能力素質1.了解替代技術和換位技術的區別2.理解單碼加密法、多碼加密法、多圖加密法的特點3.掌握典型的單碼加密法的原理4.掌握典型的多碼加密法的原理培養學生基本的密碼分析能力。通過引入中國古典加密方法,使學生建立文化自信,培養學生具有愛國情懷。教學重點1.單碼加密算法2.多碼加密算法教學難點各類加密算法的分析方法教學方法1.講授法2.問題反饋法3.直觀演示法使用媒體資源?紙質材料?多媒體課件?網絡資源□其他資源:使用教具、設備、設施等1.PPT2.板書3.在線學習平臺作業練習完成作業1中,關于古典加密方法的作業課后記(空白不夠可添加附頁)

教學內容(板書)教學步驟、方法及學生活動時間安排復習回顧(課前準備):1.用對比的方法,說明對稱密碼體制和公鑰密碼體制的區別。2.說明散列算法的特點和功能。3.分別說明數字信封、數字簽名、消息鑒別的實現過程。以提問的方式和學生一起復習回顧上次課的內容。5’第2章古典加密方法2.1單碼加密法2.1.1凱撒類加密法凱撒加密法是把字母表中的每個字母用該字母后面第3個字母代替。如果為每個字母分配一個數值(a=1,b=2,...),則該加密法可以表示為:加密算法:C=(m+3)mod26解密算法:m=(C-3)mod26采用凱撒加密法的替代思想,可以用字母表中每個字母后面第n個字母替代當前字母,該算法的密鑰空間為25。2.1.2關鍵詞加密法1.關鍵詞加密法的構造關鍵詞加密法選擇一個詞組作為密鑰,這樣可以加大密鑰空間,使得蠻力攻擊無效。2.關鍵詞加密法分析字母頻率信息:英文字母的出現頻率是不同的,在攻擊者獲得的密文足夠長的情況下,通過字母頻率分析的方法找出對應的明文以及關鍵詞(密鑰),是可行的。首選關聯集:當密文的長度有限時,密文的頻率樣本可能會產生偏差,造成通過字母頻率信息破解明文失敗。在密文破解過程中,可以使用雙聯字母(雙字母組合)或三聯字母(三字母組合)對密文進行分析。2.1.3仿射加密法1.仿射加密法的構造在仿射加密法中,字母表的字母被賦予一個數字,例如a=0,b=1,...,z=25。仿射加密法的密鑰為0~25之間的數字對兒(a,b)。其中GCD(a,26)=1,b是0~25之間的一個整數。C=(a·m+b)mod262.仿射加密法分析唯密文攻擊:攻擊者得到通過仿射加密法加密的密文后,首先進行頻率分析,至少確定兩個字母的替換,例如明文e由C替代,明文t由F替代。選擇明文攻擊:將已經確定的明文與密文替代的字母轉換成數字,建立仿射加密方程式,求解這兩個等式,攻擊者就破解了密鑰。舉一個加密與解密的例子。如果“攻擊者”依次嘗試所有的密鑰(蠻力攻擊),就可以輕松地獲得明文。舉一個加密與解密的例子。分析方法為“字母頻率”分析。舉一個加密與解密的例子。舉一個選擇明文攻擊的例子。15'30’45’2.2多碼加密法2.2.1維吉尼亞加密法1.維吉尼亞加密法的構造維吉尼亞加密法基于關鍵詞加密系統,將關鍵詞寫在明文的上面,并不斷重復書寫,這樣每個明文字母都與關鍵詞的一個字母相關聯。每個明文字母與關鍵詞的一個字母配對兒,但是同一個明文字母可能與不同的關鍵詞字母配對兒。利用維吉尼亞表,這些字母對兒就可以用來確定明文字母的加密結果。2.維吉尼亞加密法的分析維吉尼亞加密法可以被看作是多個單碼加密法的疊加。只要密文足夠長,可以生成合理的統計樣本,單碼加密法就可以很容易解決,維吉尼亞加密法也就統一解決了。2.2.2圓柱面加密法1.Bazeries圓柱面加密法的構造是利用密鑰重新排列明文中的字母位置的一種加密方法。Bazeries圓柱面加密法由20個輪組成,每個輪上的字母表順序不同。這些輪按預先選定的順序排列,轉動這些輪,使明文出現在同一條直線上,然后可以選取任意的其他直線上的字母作為密文。2.Bazeries圓柱面加密法的分析2.2.3回轉輪加密法回轉輪加密法是使用機械和簡單電路實現多碼替代的加密方法。回轉輪內部是一個圓盤,它的兩面都有電子接點,每個接點代表字母表中的一個字母。如果將多個回轉輪串聯起來,并以不同的速率轉動,就可以構建成一個功能強大的多碼替代加密系統。舉一個加密與解密的例子。舉例說明。舉一個加密與解密的例子。60’70’80’課程小結及課后安排:1.課程小結2.作業布置提示學生完成作業1中,關于古典加密方法的作業。3.預習提示提示學生在“學習通平臺”完成下次課預習。幫助學生進一步區分單碼加密和多碼加密的區別,從而建立密碼設計和分析的基本思路。90'

第3次課程教學方案備課時間1月22日—2月23日備課教師教學時間教學地點周次3課時數2累計課時6教學內容(章、節)模塊/單元第2章古典加密方法2.3多圖加密法2.4換位加密法教學目標和要求知識能力素質1.掌握典型的多圖加密法的原理2.掌握典型的換位加密法的原理培養學生基本的密碼分析能力。通過引入中國古典加密方法,使學生建立文化自信,培養學生具有愛國情懷。教學重點多圖加密算法教學難點各類加密算法的分析方法教學方法1.講授法2.問題反饋法3.直觀演示法使用媒體資源?紙質材料?多媒體課件?網絡資源□其他資源:使用教具、設備、設施等1.PPT2.板書3.在線學習平臺作業練習完成作業1中,關于古典加密方法的作業課后記(空白不夠可添加附頁)

教學內容(板書)教學步驟、方法及學生活動時間安排復習回顧(課前準備):凱撒類加密法、關鍵詞加密法、仿射加密法、維吉尼亞加密法、圓柱面加密法、回轉輪加密法的構造方法以及主要問題。以提問的方式和學生一起復習回顧上次課的內容。5’第2章古典加密方法2.3多圖加密法2.3.1Playfair加密法1.Playfair加密法的構造Playfair加密法基于一個5×5字母矩陣,該矩陣使用一個密鑰詞組構造。Playfair根據下列規則一次對明文的兩個字母進行加密:(1)屬于相同對兒中的重復的明文字母將用一個填充字母如x進行分隔,因此,詞balloon將被填充為balxloon。(2)屬于該矩陣相同行的明文字母將由其右邊的字母代替。而行的最后一個字母由行的第一個字母代替。例如ar被加密為RM。(3)屬于相同列的明文字母將由它下面的字母代替,而列的最后一個字母由列的第一個字母代替。例如,mu被加密為CM。(4)否則,明文的其他字母將由與其同行,且與下一個字母同列的字母所代替。因此,hs被加密為BP,ea被加密為IM(或JM,這可根據加密者的意愿而定)。2.Playfair加密法的分析2.3.2Hill加密法1.Hill加密法的構造Hill加密法取m個連續的明文字母,并用m個密文字母代替。若m=3,則該加密法如公式:例如,考慮明文“paymoremoney”(15024,121417,41214,13424),使用的加密密鑰為:則密文為:LNSHDLEWMTRW對于解密,需要使用加密密鑰的逆矩陣:M=K-1·C。Hill加密法要求密鑰矩陣K是可逆的,即:2.Hill加密法的分析舉例:明文:OJWPISWAZUXAUUISEABAUCRSIPLBHAAMMLPJJOTENH密鑰使用2×2矩陣,并且知道明文字符taco對應密文字符UCRS。首先,設置字母數值為:a=1,b=2,,y=25,z=0。所以,密文列矩陣表示為:,明文列矩陣表示為:,假設m表示明文,C表示密文,K表示密鑰矩陣(K-1表示密鑰矩陣的逆矩陣,即解密密鑰),則:。所以:由此可以計算密文向量:明文向量:破解明文為:ClintonisgoingtovisitacountryinMiddleEast.舉一個加密與解密的例子。使用教材中的例子,講解破解過程。學生回顧線性代數課程中,可逆矩陣的概念。20'45’55’2.4換位加密法2.4.1置換加密法1.置換加密法的構造在置換加密法中,將明文分成了固定長度的塊兒,如長度為d,置換函數f()用于從1~d中選取一個整數,每個塊兒中的字母根據f()重新排列。這種加密法的密鑰就是(d,f())。例如d=4,f()為(2,4,1,3),即第一個字符移動到位置2;第二個字符移動到位置4;第三個字符移動到位置1;第四個字符移動到位置3。2.置換加密法的分析舉例:利用這種置換加密法將文明codesandciphersarefun加密。首先將明文分塊兒:codesandciphersarefunxxx。接下來,根據給定的函數f()=(2,4,1,3),對每個塊兒重新排列,得到密文:DCEONSDAPCHISEARFRUEXNXX。2.4.2列置換加密法1.列置換加密法的構造在列置換加密法中,明文按行填寫在一個矩陣中,而密文則是以預定的順序按列讀取生成的。例如,如果矩陣是4列5行,那么短語encryptionalgorithms可以寫入該矩陣:如果按照2-4-3-1的順序,按“列”讀出矩陣中的字母,則得到密文:NPNOHRILISCTARMEYOGT。2.列置換加密法的分析1234元音字母數差值nrce10.6pity10.6nlao20.4oirg20.4hsmt01.6總計:3.6介紹中國古典加密法方法的故事。舉例說明70’80’課程小結及課后安排:1.課程小結2.作業布置提示學生完成作業1中,關于古典加密方法的作業。3.預習提示提示學生在“學習通平臺”完成下次課預習。幫助學生建立“替代”技術和“換位”技術的基本思想以及多圖技術的特殊作用,為進一步學習分組密碼打下基礎。90'

第4次課程教學方案備課時間1月22日—2月23日備課教師教學時間教學地點周次4課時數2累計課時8教學內容(章、節)模塊/單元第3章流加密算法3.1有限域上的多項式運算3.2流加密算法的基本原理教學目標和要求知識能力素質1.了解群、環、域和有限域的基本概念2.掌握多項式歐幾里得除法運算3.理解流加密算法的基本原理培養學生基本的數學分析能力。培養學生嚴謹的科學態度,積極投身科技創新的精神。教學重點1.多項式歐幾里得除法運算2.流加密算法基本原理教學難點多項式歐幾里得除法運算教學方法1.講授法2.問題反饋法3.練習法使用媒體資源?紙質材料?多媒體課件?網絡資源□其他資源:使用教具、設備、設施等1.PPT2.板書3.在線學習平臺作業練習完成作業1中,關于流加密算法的作業課后記(空白不夠可添加附頁)

教學內容(板書)教學步驟、方法及學生活動時間安排復習回顧(課前準備):多圖加密與單圖加密的最主要區別是什么?以提問的方式和學生一起復習回顧上次課的內容。5’第3章流加密算法3.1有限域上的多項式運算3.1.1有限域1.群G是定義了一個二元運算“+”的集合,如果這個運算滿足下列性質,那么G就被稱為一個群(Group),記為(G,+)。(1)封閉性:如果a和b都屬于G,那么a+b也屬于G;(2)結合律:對于G中的任意元素a、b和c,都有(a+b)+c=a+(b+c)成立;(3)單位元:G中存在單位元e,對于G中任意元素a,都有a+e=e+a=a成立;(4)逆元:對于G中的任意元素a,G中都存在元素a',使得a+a'=a'+a=e成立。幾個概念:交換群、群的階、循環群與生成元、群中元素的階2.環R是定義了兩個二元運算“+”和“×”(簡稱加法和乘法)的集合,如果這兩個運算滿足下列性質,那么R就被稱為一個環(Ring),記為(R,+,×)。(1)(R,+)是一個交換群;(2)“×”運算具有封閉性:如果a和b都屬于R,那么a×b也屬于R;(3)“×”運算滿足結合律:對于R中的任意元素a、b和c,都有(a×b)×c=a×(b×c)成立;(4)兩個運算滿足分配律:對于R中的任意元素a、b和c都有(a+b)×c=a×c+b×c和c×(a+b)=c×a+c×b成立。幾個概念:交換環、整環3.域如果F是定義了兩個二元運算“+”和“×”的集合,如果這兩個運算滿足下列性質,那么F就被稱為一個域(Field),記為(F,+,×)。(1)(R,+)是一個交換群;(2)非0元的“×”運算構成交換群;(3)滿足分配律。4.有限域和本原元如果一個域中的元素是有限的,則稱這個域是有限域。有限域也被稱為伽羅瓦域(GaloisField),在密碼學中主要使用有限域。GF(2)={0,1}是一個包含兩個元素“0”和“1”的有限域,該有限域中定義的兩個運算分別是“模2加法”和“模2乘法”。有限域F中非零元組成的集合F*關于乘法組成的群稱為有限域的乘法群。假設Fq是一個含有q個元素的有限域,其乘法群Fq*=Fq\{0}是一個循環群,此時Fq*的生成元稱為Fq的本原元,并且Fq中共有個本原元。3.1.2多項式運算1.多項式整數環f(x)+g(x)=(an+bn)xn+(an-1+bn-1)xn-1+...+(a1+b1)x+(a0+b0)f(x)·g(x)=(an·bn)xn+n+(an·bn-1)xn+(n-1)+..+(an-1·bn)x(n-1)+n+...+(a0·b0)2.多項式整除與不可約多項式設f(x)和g(x)是整數環R上的任意兩個多項式,其中g(x)≠0。如果存在一個多項式q(x),使得公式3-4成立,則稱g(x)整除f(x),或者f(x)被g(x)整除,記作g(x)|f(x),g(x)被稱為f(x)的因式。f(x)=q(x)·g(x)3.多項式歐幾里得除法設f(x)=anxn+an-1xn-1+...+a1x+a0和g(x)=bmxm+bm-1xm-1+...+b1x+b0是整數環R上的兩個多項式,則一定存在多項式q(x)和r(x),使得公式3-5存在。f(x)=q(x)·g(x)+r(x),degr<degg3.1.3利用不可約多項式構造有限域1.有限域的構造設p是任意給定的素數,n是任意一個正整數。如果f(x)是域Zp上的一個n次不可約多項式,則Zp[x]/f(x)是一個域,如公式3-7所示。域Zp[x]/f(x)包含pn個元素。Zp[x]/f(x)={a0+a1x+...+an-1xn-1}將GF(pn)[x]標記為Zp[x]/f(x),則GF(pn)[x]={a0+a1x+...+an-1xn-1},其系數的加法和乘法相當于模p的加法和乘法,多項式的加法和乘法相當于模f(x)的加法和乘法。2.有限域的表示將GF(pn)[x]=Zp[x]/f(x)簡記為GF(pn)。如果p為素數,q=pn,GF(q)*是GF(q)中非零元的集合,則(GF(q)*,×)是q-1階循環群。設β是GF(q)的本原元,即β是GF(q)*的生成元,則GF(q)*={β,β2,...,βq-2,βq-1=1},GF(q)={0,1,β,β2,...,βq-2}。設p是任意給定的一個素數,n是任意一個正整數,如果f(x)是域Zp上的一個n次不可約多項式,則GF(pn)=Zp[x]/f(x)的多項式表示方法如公式3-8所示,本原元表示方法如公式3-9所示。GF(pn)={a0+a1x+...+an-1xn-1}GF(pn)={0,1,β,β2,...,βq-2},其中q=pn,β是GF(q)的一個本原元舉例:試分析整數集合Z4={0,1,2,3}對于“模4加法”運算,是否構成一個群。舉例:試分析整數集合Z4={0,1,2,3}對于“模4加法”運算和“模4乘法”運算,是否構成一個群。舉例:試分析整數集合Z4={0,1,2,3}對于“模4加法”運算和“模4乘法”運算,是否構成一個域。試分析整數集合Z5={0,1,2,3,4}對于“模5加法”運算和“模5乘法”運算,是否構成一個域。舉例:設f(x)=x7+x+1,g(x)=x6+x4+x2+x+1,并且f(x)∈F2(x),g(x)∈F2(x),計算f(x)+g(x)和f(x)·g(x)的結果。其中F2(x)表示系數在有限域GF(2)上的多項式域。舉例:多項式x2+1在整數域、復數域和F2(x)中是否可約。舉例:設f(x)=x4+x+1和g(x)=x2+1是F2(x)中的多項式,求q(x)和r(x)。設F2(x)中的多項式f(x)=x7+x5+x2+1,g(x)=x4+x2+x,計算gcd(f(x),g(x)),并求s(x)和t(x)。舉例:計算有限域Z2[x]/(x2+x+1)中元素的加法和乘法運算的結果。舉例:設f(x)=x3+x+1是一個3次不可約多項式,x是GF(23)的一個本原元,請給出GF(23)的多項式表示形式以及基于本原元x的本原元表示形式。15’25'35'40'45'55'70'3.2流加密算法的基本原理1.流加密技術的歷史流加密技術使用了一種特殊的二進制位運算,“異或”運算,異或運算相當于運算數進行模2加運算。2.流加密的基本算法流加密算法的基本原理非常簡單,就是將明文與一個隨機密鑰序列進行異或運算來產生密文。基于異或運算的特性,將密文與同一個密鑰序列進行異或運算就可以恢復明文。ci=mi⊕ki,i=1,2,...mi=ci⊕ki,i=1,2,...密算法的加密和解密都非常簡單,易于實現,非常適合于計算資源有限的系統,例如移動電話、小型嵌入式系統等。3.密鑰流生成器由異或運算的特性可知,如果使用一個“真隨機數生成器”得到一個密鑰序列并且只使用1次,則可以實現“一次一密”加密,達到無條件安全性。采用一個密鑰流生成器,利用一個短的種子密鑰來生成一個與明文長度相同的密鑰序列作為加密密鑰。這樣,只要在發送者和接收者之間使用相同的密鑰流生成器和種子密鑰,就可以在他們之間產生相同的密鑰序列。當然,這樣產生的密鑰序列不是真正的隨機序列,而是一種偽隨機序列,只要這個偽隨機序列滿足真正隨機序列的特性,那么就可以用來安全加密通信80’課程小結及課后安排:1.課程小結重點和難點是歐幾里得除法。2.作業布置提示學生完成作業1中,關于流加密算法的作業。3.預習提示提示學生在“學習通平臺”完成下次課預習。可以通過簡單例題幫助學生復習總結。90'

第5次課程教學方案備課時間1月22日—2月23日備課教師教學時間教學地點周次5課時數2累計課時10教學內容(章、節)模塊/單元第3章流加密算法3.3反饋移位寄存器3.4典型流加密算法教學目標和要求知識能力素質1.掌握線性反饋移位寄存器的工作原理2.理解非線性反饋移位寄存器的工作方式3.掌握A5、RC4算法工作原理培養學生基本的密碼分析能力。培養學生嚴謹的科學態度,積極投身科技創新的精神。教學重點1.線性反饋移位寄存器的工作原理2.典型流加密算法的工作原理教學難點1.線性反饋移位寄存器的工作原理2.非線性反饋移位寄存器的工作方式教學方法1.講授法2.問題反饋法3.直觀演示法使用媒體資源?紙質材料?多媒體課件?網絡資源□其他資源:使用教具、設備、設施等1.PPT2.板書3.在線學習平臺作業練習完成作業1中,關于流加密算法的作業課后記(空白不夠可添加附頁)

教學內容(板書)教學步驟、方法及學生活動時間安排復習回顧(課前準備):群、環、域的區別是什么?歐幾里得除法的計算過程?流加密算法的基本運算方法是什么?怎么理解一次一密?以提問的方式和學生一起復習回顧上次課的內容。5’第3章流加密算法3.3反饋移位寄存器3.3.1線性反饋移位寄存器生成密鑰流的的基本部件是反饋移位寄存器(FSR,FeedbackShiftRegister)。反饋移位寄存器的組成:n個寄存器一個反饋函數f(a1,a2,...,an)ai表示第i級寄存器(1≤i≤n),ai的取值為0或1。在任一時刻,這些寄存器的內容構成了反饋移位寄存器的一個狀態。每一個狀態實際上對應著一個n維向量(a1,a2,...,an),總共有2n個狀態向量。如果反饋函數f(a1,a2,...,an)是a1,a2,...,an的線性函數,則稱這樣的移位寄存器為線性反饋移位寄存器(LFSR,LinearFeedbackShiftRegister),反饋函數如公式3-12所示。f(a1,a2,...,an)=b1·a1⊕b2·a2⊕...⊕bn·an,由于系數bi的值是二進制數值,所以系數可以被看作是“開關”。如果反饋函數的系數恒為零(b1,b2,...,bn都為0),則無論初始狀態如何,在n個時鐘脈沖后,每個寄存器的內容都必然為0,以后的輸出也將全部為0,因此,通常假設系數b1,b2,...,bn不全為0。2.輸出周期輸出序列的周期取決于寄存器的初始狀態和反饋函數。在GF(2)上,對于n級線性反饋移位移位寄存器,最多有2n個不同的狀態,去除全0的狀態,輸出序列的周期最多為2n-1,周期達到最大值的序列稱為m序列。每個線性反饋移位寄存器都有一個關聯的特征多項式,該特征多項式與線性反饋移位寄存器的數學結構有關。p(x)=bnxn+bn-1xn-1+...+b1x+1,如果線性反饋移位寄存器的特征多項式是本原多項式,那么線性反饋移位寄存器的輸出序列達到最大周期,其輸出序列為m序列。3.線性反饋函數的安全問題由于線性反饋移位寄存器的線性特性,基于它的流加密算法在已知明文攻擊下是比較容易破解的。3.3.2非線性反饋移位寄存器為了獲得更好的安全性,可以將多個線性反饋移位寄存器組合起來使用,從而獲得非線性特性。每個線性反饋移位寄存器都產生一個不同的序列:x1(i),x2(i),...,xn(i),密鑰序列k=(k1,k2,...,kt,...)可以利用一個非線性組合函數f(x1(i),x2(i),...,xn(i)),根據每個線性反饋移位寄存器的輸出來產生,即kt=f(x1(t),x2(t),...,x3(t)),t≥1。舉例:一個3級線性反饋移位寄存器的初始狀態(a1,a2,a3)=(1,0,1),反饋函數為f(a1,a2,a3)=a1⊕a3,計算這個3級線性反饋移位寄存器的狀態和輸出結果。舉例:a是一個3級線性反饋移位寄存器,其特征多項式為pa(x)=x3+x+1;b是一個4級線性反饋移位寄存器,其特征多項式為pb(x)=x4+x3+x2+x+1。試分析a和b是否輸出m序列,給出a和b的線性反饋函數。如果a和b的初始狀態都是全“1”,請給出輸出序列循環。舉例:設一個流密碼算法使用了一個GF(2)上的3級線性反饋移位寄存器作為密鑰流生成器,已知明文為0100010001B的密文為1010110110B,試破譯該加密算法。舉例:由3個線性反饋移位寄存器組合成一個非線性反饋移位寄存器,其非線性組合函數f(x1(i),x2(i),x3(i))=x1(i)·x3(i)⊕x2(i)⊕x2(i)·x3(i),試計算該非線性反饋移位寄存器的輸出序列。20'35'45'3.4典型流加密算法3.4.1A5/1加密算法A5算法是歐洲GSM(全球移動通信系統)標準中規定的加密算法,用于GSM中移動電話與基站之間的語音加密。A5/1算法為強加密算法,適用于歐洲地區;A5/2算法為弱加密算法,適用于歐洲以外的地區。3.4.2RC4加密算法RC4算法是RonRivest在1987年設計出的密鑰長度可變的流加密算法。RC4算法的優點是很容易用軟件實現,加解密速度快,被廣泛應用于多種應用軟件以及安全協議中(例如安全套接層協議SSL)。該算法還被應用于無線系統,從而保護無線連接的安全。RC4算法是一種基于非線性數據表變換的流加密算法。它以一個足夠大的數據表(S盒)為基礎,對表進行非線性變換,產生非線性的密鑰流序列。RC4算法的S盒的大小根據參數n的值的不同而不同,通常n=8,這樣RC4算法可以生成總共包含256(28)個元素的數據表S:S[0],S[1],…,S[255],每次輸出一個元素。1.密鑰調度算法j:=0fori:=0to255dobeginj:=i+S(i)+K(i)(mod256)swap(S(i),S(j))end2.偽隨機生成算法i:=i+1(mod256)j:=j+S(i)(mod256)swap(S(i),S(j))t:=S(i)+S(j)(mod256)k:=S(t)說明:如何體現“非線性”。65'80'課程小結及課后安排:1.課程小結線性反饋移位寄存器的組成;理解輸出周期,以及如何達到最大輸出周期;理解如何實現非線性反饋,以及非線性反饋的意義。2.作業布置提示學生完成作業1中,關于流加密算法的作業。3.預習提示提示學生在“學習通平臺”完成下次課預習。90'

第6次課程教學方案備課時間1月22日—2月23日備課教師教學時間教學地點周次6課時數2累計課時12教學內容(章、節)模塊/單元第4章分組加密算法4.1分組加密算法概述4.2數據加密標準DES教學目標和要求知識能力素質1.了解分組密碼體制中,擴散性和模糊性的作用2.了解Feistel網絡和SP網絡的結構3.熟練掌握DES算法的結構培養學生加密技術應用能力以及基本的密碼分析能力,培養學生初步的算法設計能力。培養學生的創新意識和創新精神。教學重點DES算法結構教學難點DES算法結構教學方法1.講授法2.問題反饋法3.直觀演示法使用媒體資源?紙質材料?多媒體課件?網絡資源□其他資源:使用教具、設備、設施等1.PPT2.板書3.微課4.簡化模型作業練習提交作業1布置作業2完成作業2中,關于DES算法的作業課后記(空白不夠可添加附頁)

教學內容(板書)教學步驟、方法及學生活動時間安排復習回顧(課前準備):線性反饋移位寄存器的結構?如何能夠輸入最大周期?RC4和A5/1算法,是如何實現非線性反饋的?以提問的方式和學生一起復習回顧上次課的內容。5’第4章分組加密算法4.1分組加密算法概述1.明文數據分組的處理分組填充2.分組加密算法的基本結構香濃(Shannon)提出,好的加密算法應該具備:擴散性(Diffusion)--讓明文中的每一比特影響密文中的許多比特模糊性(Confusion)--將密文與\t"/qq_43699632/article/details/_blank"密鑰之間的統計關系變得盡可能復雜1)Feistel網絡LLi-1Ri-1LiRif()ki2)SP網絡xxi-1kiS替代P換位xi為什么要分組,多大的分組合適?填充的原則是什么?怎樣實現擴散和模糊?乘積加密的由來?兩種結構的典型算法是?15'4.2數據加密標準DES4.2.1DES算法的整體結構4.2.2DES算法子密鑰生成4.2.3DES算法加密過程1.初始換位與逆初始換位重點是初始換位與逆初始換位之間的關系(互逆關系)。2.迭代運算4848483266666666S1S8S2S3S4S5S6S744444444Ri-1擴展換位EPki483232P盒換位Li=Ri-1Ri=Li-1⊕f(Ri-1,ki)1)擴展換位2)子密鑰異或3)S盒替代4)P盒換位4.2.4DES算法解密過程【例4-1】DES算法的解密運算。4.2.5DES算法安全性分析1.算法特殊性質:互補性、弱密鑰、半弱密鑰。2.窮舉攻擊3.密碼分析法4.3DES算法C=DESk1(DESk2-1(DESk1(M)))M=DESk1-1(DESk2(DESk1-1(C)))按照初始換位、迭代、逆初始換位的順序,介紹整體結構。詳細介紹子密鑰生成過程,以PPT為依據,使用實際數據舉例說明。詳細介紹子密鑰生成過程,以PPT為依據,使用實際數據舉例說明。舉例講解S盒替代運算。舉例推演。分析兩重DES算法為什么不可行?“中途相遇攻擊”25'45'60'70'75'80'課程小結及課后安排:1.課程小結分析DES算法中如何體現擴散性、模糊性,為什么被稱為“乘積”密碼?為什么說S盒替代是非線性運算,為什么對算法來說非線性運算非常重要;解決密鑰短的途徑,有哪些?2.作業布置完成作業2中,關于DES算法的作業3.預習提示提示學生在“學習通平臺”完成下次課預習。90'

第7次課程教學方案備課時間1月22日—2月23日備課教師教學時間教學地點周次7課時數2累計課時14教學內容(章、節)模塊/單元第4章分組加密算法4.3高級加密標準AES4.2分組加密工作模式教學目標和要求知識能力素質1.掌握AES算法的結構2.掌握常用分組加密工作模式的結構及特點培養學生加密技術應用能力以及基本的密碼分析能力,培養學生初步的算法設計能力。培養學生的創新意識和創新精神。教學重點1.AES算法結構2.分組密碼工作模式教學難點1.AES算法結構2.分組密碼工作模式教學方法1.講授法2.問題反饋法3.直觀演示法使用媒體資源?紙質材料?多媒體課件?網絡資源□其他資源:使用教具、設備、設施等1.PPT2.板書3.微課4.簡化模型作業練習完成作業2中,關于AES算法和分組加密工作模式的作業課后記(空白不夠可添加附頁)

教學內容(板書)教學步驟、方法及學生活動時間安排復習回顧(課前準備):DES算法的基本數據信息:分組大小、密鑰(有效密鑰)大小、子密鑰大小以及個數、迭代次數等。DES算法不能抵御窮舉攻擊,所以不能再被使用,這種說法對嗎?為什么?以提問的方式和學生一起復習回顧上次課的內容。5'第4章分組加密算法4.3高級加密標準AES4.3.1AES算法整體結構4.3.2AES算法步驟1.輪密鑰加給定狀態矩陣和擴展密鑰矩陣,計算輪密鑰加變換的結果。2.字節代替與逆字節代替舉例,通過查表方式對字節進行加密和解密。3.行移位與逆行移位舉例說明4.列混合與逆列混合舉例:狀態中的1列為E6H、1BH、50H、18H,計算列混和運算后結果。4.3.3AES算法的密鑰擴展tt4w0k15k0k1k2k3k4k5k6k7k8k9k10k11k12k13k14w1w2w3w4w5w6w7t8w8w9w10w11t40w40w41w42w43t4Nw4N-1字節旋轉字節代替RCN/11)獲取第1個擴展密鑰給定一個初始密鑰k(以128比特密鑰為例),將其放入狀態矩陣,可以直接得到第1個擴展密鑰中的4個子密鑰w0、w1、w2、w3。2)獲取第2~11個擴展密鑰中的第1個子密鑰其中,(1)RotBytes(w4N-1)為字節旋轉,將w4N-1的四個字節循環左移一個字節。(2)SubBytes()為字節代替,與AES加密算法中的字節代替相同。(3)RCN/1為輪常數,如表4-16所示。3)獲取第2~11個擴展密鑰中的第2~4個子密鑰4.3.4AES的安全分析避免了DES算法中出現的輪密鑰對稱性、產生相同輪密鑰、弱密鑰和半弱密鑰的問題。10輪以下的AES算法已經可以通過分析方法攻破。需要關注“旁路攻擊”等問題。重點:加解密操作單位是字節(而不是二進制位),稱作狀態矩陣。4個基本變換(解密使用基本變換的逆變換)。密鑰長度可變(密鑰長度不用,加密輪數不同,產生的擴展密鑰個數不同)。舉例講解提示學生,通過教材學習變換原理。說明密鑰產生過程。舉例說明。算法的實現原理決定了算法的安全性(或缺陷)。20'30'45'4.2分組加密工作模式4.4.1電碼本模式加密與解密運算:ci=Ek(mi),1≤i≤tmi=Dk(ci),1≤i≤t實際加解密動作:加密和解密算法錯誤傳遞:加密和解密都不會出現錯誤傳遞并行情況:加密和解密可并行計算問題:加密不能隱藏明文模式適用場景:短消息加密4.4.2密碼分組鏈接模式加密與解密運算:ci=Ek(mi⊕ci-1),1≤i≤t 其中c0=IVmi=Dk(ci)⊕ci-1,1≤i≤t 其中c0=IV可以隱藏明文模式,更加安全;引入IV,密鑰不變,通過變換IV產生不同的密文。實際加解密動作:加密和解密算法錯誤傳遞:加密錯誤會傳遞;解密錯誤只影響當前分組和下一個分組并行情況:加密不能并行計算,解密可以并行計算問題:--適用場景:長消息加密,適用協議包括SSL、IPSec4.4.3密碼反饋模式加密與解密運算:c1=m1⊕MSBs(Ek(V1))ci=mi⊕MSBs(Ek(LSBn-s(Vi-1)||ci-1)),2≤i≤t其中,MSBs()表示取參數高位s字節;LSBs()表示取參數低位s字節。m1=c1⊕MSBs(Ek(V1))mi=ci⊕MSBs(Ek(LSBn-s(Vi-1)||ci-1)),2≤i≤t可以隱藏明文模式,更加安全;引入IV,密鑰不變,通過變換IV產生不同的密文。實際加解密動作:流密碼,密鑰預處理功能,提供加密和解密效率錯誤傳遞:加密和解密錯誤是否會傳遞取決于向兩穿肚和分組長度的關系并行情況:加密不能并行計算,解密可以并行計算問題:--適用場景:適用于不同的消息格式4.4.4輸出反饋模式加密與解密運算:c1=m1⊕MSBs(Ek(V1))ci=mi⊕MSBs(Ek(LSBn-s(Vi-1)||OUT(Vi-1)),2≤i≤t其中,OUT(Vi-1)=MSBs(Ek(Vi-1))m1=c1⊕MSBs(Ek(V1))mi=ci⊕MSBs(Ek(LSBn-s(Vi-1)||OUT(Vi-1)),2≤i≤t其中,OUT(Vi-1)=MSBs(Ek(Vi-1))可以隱藏明文模式,更加安全;引入IV,密鑰不變,通過變換IV產生不同的密文。實際加解密動作:流密碼,密鑰預處理功能,提供加密和解密效率錯誤傳遞:加密和解密錯誤不會傳遞并行情況:加密和解密都不能并行計算問題:--適用場景:適用于不同的消息格式4.4.5計數器模式加密與解密運算:ci=mi⊕Ek(CTRi),1≤i≤tmi=ci⊕Ek(CTRi),1≤i≤t實際加解密動作:流密碼,密鑰預處理功能,提供加密和解密效率錯誤傳遞:加密和解密錯誤不會傳遞并行情況:加密和解密都可以并行計算問題:--適用場景:適用于不同的消息格式圖示,見PPT多種模式對比講解。50'60'70'75'80'課程小結及課后安排:1.課程小結AES算法與DES算法有哪些不同?有哪些相同之處?分組加密工作模式各自的優缺點有哪些?2.作業布置完成作業2中,關于AES算法和分組加密工作模式的作業3.預習提示提示學生在“學習通平臺”完成下次課預習。90'

第8次課程教學方案備課時間1月22日—2月23日備課教師教學時間教學地點周次8課時數2累計課時16教學內容(章、節)模塊/單元第5章散列算法5.1散列函數的結構5.2MD5散列算法教學目標和要求知識能力素質1.了解散列函數的基本結構2.掌握散列算法的分組填充方式3.掌握MD5算法的結構培養學生散列算法應用能力以及基本的算法分析能力,培養學生初步的算法設計能力。培養學生的創新意識和創新精神。教學重點MD5算法的結構教學難點散列算法的分析方法教學方法1.講授法2.問題反饋法3.直觀演示法使用媒體資源?紙質材料?多媒體課件?網絡資源□其他資源:使用教具、設備、設施等1.PPT2.板書3.微課4.簡化模型作業練習完成作業2中,關于MD5算法的作業課后記(空白不夠可添加附頁)

教學內容(板書)教學步驟、方法及學生活動時間安排復習回顧(課前準備):AES算法的基本數據信息:分組大小、密鑰(有效密鑰)大小、子密鑰大小以及個數、迭代次數等。如何選擇分組加密工作模式?以提問的方式和學生一起復習回顧上次課的內容。5'第5章散列算法5.1散列函數的結構MD,即加強式迭代模式(Merkle-Damgard),1979年RalphMerkle基于數據壓縮函數f()建立的散列函數的通用模式。CV0=IVCVq=f(CVq-1,mq-1),1≤q≤LHash(M)=CVL散列算法的各種名稱:散列函數、雜湊函數、哈希函數、Hash()。其生成的結果:散列值、消息摘要、數字指紋。散列算法均基于該結構。核心問題是f()的迭代,另外要將清楚輸入和輸出。15'5.2MD5散列算法5.2.1MD5算法初始化1.消息分組填充填充之后的消息比特長度Lm與448同模512(即),也就是說,填充后的消息比特長度比512的整數倍少64比特。2.初始化MD緩沖區MD5的中間結果和最終結果保存在128比特的緩沖區中,緩沖區使用4個32比特的寄存器(A、B、C、D)表示,這些寄存器的初始值為:A=67452301HB=efcdab89HC=98badcfeHD=10325476H5.2.2MD5算法的壓縮函數MD5散列算法壓縮函數處理512比特數據分組,每個數據分組被分為16個子分組,每個子分組4字節。MD5壓縮函數由4輪運算組成,每輪16步,每步處理1個子分組。每輪的輸入為當前要處理的消息分組mq-1和緩沖區的當前值A、B、C、D,輸出仍放在緩沖區中以產生新的A、B、C、D。CV0=IVCVq=SUM32(CVq-1,I(mq-1,H(mq-1,G(mq-1,F(mq-1,CVq-1))))),1≤q≤LMD5(M)=CVL1.基本邏輯函數2.常量3.數據子分組的使用順序當前要處理的512比特分組被分為16個子分組,保存于X[i]中,不同輪中使用順序不同。其中,i=0,1,2,...,155.2.3MD5算法的迭代運算temp←B+CLSs(A+f(B,C,D)+X[ρ(i)]+T[k])A←DD←CC←BB←temp符號“←”表示賦值運算;“+”為模232加法。舉例說明具體填充方式以及該填充的可逆性。結合MD結構,講解A、B、C、D的位置、作用。該壓縮函數也代表了MD5算法的整體結構,重點講解數學表示方法。舉例講解基本邏輯函數的運算方法。重點說明常量在算法中的位置以及MD5算法如何獲取常量。舉例說明數據子分組使用順序的確認方式和過程。舉例說明壓縮函數的執行過程30’45'50'60'80'課程小結及課后安排:1.課程小結以MD5算法為例,重新帶領同學復習MD結構。總結MD5算法的核心功能。2.作業布置完成作業2中,關于MD5算法的作業。3.預習提示提示學生在“學習通平臺”完成下次課預習。90'

第9次課程教學方案備課時間1月22日—2月23日備課教師教學時間教學地點周次9課時數2累計課時18教學內容(章、節)模塊/單元第5章散列算法5.3SHA-1散列算法5.4散列算法分析5.5散列算法的應用教學目標和要求知識能力素質1.掌握SHA-1算法的結構2.了解散列算法的主要應用領域培養學生散列算法應用能力以及基本的算法分析能力,培養學生初步的算法設計能力。培養學生的創新意識和創新精神。教學重點SHA-1算法的結構教學難點散列算法的分析方法教學方法1.講授法2.問題反饋法3.直觀演示法使用媒體資源?紙質材料?多媒體課件?網絡資源□其他資源:使用教具、設備、設施等1.PPT2.板書3.微課4.簡化模型作業練習完成作業2中,關于SHA-1算法的作業課后記(空白不夠可添加附頁)

教學內容(板書)教學步驟、方法及學生活動時間安排復習回顧(課前準備):(1)MD結構描述以及函數表達方式;(2)MD5算法的基本信息,MD5算法的壓縮函數以及迭代運算過程。以提問的方式和學生一起復習回顧上次課的內容。5'第5章散列算法5.3SHA-1散列算法5.3.1SHA-1算法描述SHA-1算法對消息以512比特長度的分組為單位進行處理,輸出160比特的散列值。SHA-1算法的分組填充方式與MD5算法相同,但是散列值和鏈接變量的長度是160比特。5個32bit的連接變量為:A=67452301HB=efcdab89HC=98badcfeHD=10325476HE=c3d2e1f0HSHA-1算法的壓縮函數由4輪運算組成,每輪包含20步:CV0=IVCVq=SUM32(CVq-1,f4(mq-1,f3(mq-1,f2(mq-1,f1(mq-1,CVq-1))))),1≤q≤LSHA-1(M)=CVL(1)邏輯函數(2)常量(3)消息分組擴充Wt=Mt,0≤t≤15Wt=CLS1(Mt-3⊕Mt-8⊕Mt-14⊕Mt-16),16≤t≤795.3.2SHA-1算法的壓縮函數temp←E+ft(B,C,D)+CLS5(A)+Wt+KtE←DD←CC←CLS30(B)B←AA←tempSHA-1算法與MD5算法進行對比。采用圖示表示法結合函數表示法,幫助學生理解SHA-1算法的整體結構。這里需要幫助學生回顧邏輯運算符的運算規則。注意80步運算只使用4個不同的常量,即常量重復使用。舉例:如果M0=11221122H,M2=11AA11AA,M8=EE00EE00H,M13=FF66FF66H,M15=66996699H,請計算W15和W16的值。這里重點講解CLSs()運算,其他運算在前面已經介紹過,這里串講即可。10'25'30'35'45'55'5.4散列算法分析1.生日攻擊已知散列函數h()有n個可能的輸出,如果隨機取k個輸入,則至少有兩個不同的輸入x、y,使得h(x)=h(y)的概率為0.5,k有多大。(1)因為h()有n個可能的輸出,所以任意取兩個不同的輸入x、y,使得h(x)≠h(y)的概率為;(2)任意取三個不同的輸入,使得輸出不產生碰撞的概率為;(3)任意取k個不同的輸入,使得輸出不產生碰撞的概率為;(4)依據Taylor級數,在n>>1的情況下進行約算,可以得到結論。2.差分分析差分分析的基本思想是通過分析特定明文差對密文差的影響來獲得可能性最大的密鑰。2004年,我國山東大學的王小云教授做的破譯MD5、HAVAL-128、MD4、和RIPEMD算法的報告震驚了整個密碼學屆。2005年又宣布了破譯SHA-1的消息,再一次震撼了世界密碼學屆。王小云教授的攻擊方法采用模差分思想,根據每次循環中模減差分或異或差分,得到差分特征,通過兩種差分的結合,提出了新的一系列散列函數攻擊的有效方法。生日攻擊是散列算法安全性的一個必要條件,而不是充分條件。如果取n=365,則k≈23,即只需要23人,就能以大于0.5的概率找到兩個生日相同的人。65’70'5.5散列算法的應用數字指紋:散列算法可以用來生成文件的“數字指紋”,通過比對數字指紋來辨別文件是否被修改過。安全口令存儲:在實際應用中,系統會用散列函數計算用戶提供的登錄口令,并將口令散列值存儲到應用服務器中(不會直接存儲用戶的口令明文)。當用戶登錄系統時,系統再次計算用戶提供的口令的散列值,并與服務器中存儲的散列值進行比對,如果相同則允許用戶登錄,否則拒絕用戶登錄。散列算法還有其他應用,包括數字簽名與驗證、消息鑒別等,將在其他章節介紹。80'課程小結及課后安排:1.課程小結幫助學生回顧SHA-1算法的整體結構,提示學生與MD5算法進行對比。幫助學生理解算法安全性需要考慮的因素。2.作業布置完成作業2中,關于SHA-1算法的作業3.預習提示提示學生在“學習通平臺”完成下次課預習。90'

第10次課程教學方案備課時間1月22日—2月23日備課教師教學時間教學地點周次10課時數2累計課時20教學內容(章、節)模塊/單元第6章公鑰加密算法6.2RSA公鑰密碼體制6.3ElGamal公鑰密碼體制教學目標和要求知識能力素質1.熟練掌握RSA算法工作原理2.掌握ElGamal算法工作原理培養學生公鑰加密技術應用能力以及基本的算法分析能力。通過引入“中國剩余定理”等,使學生建立文化自信,培養學生具有愛國情懷。教學重點1.RSA算法的密鑰生成以及加密、解密過程2.ElGamal算法的密鑰生成以及加密、解密方法教學難點公鑰加密算法的分析方法教學方法1.講授法2.問題反饋法3.練習法使用媒體資源?紙質材料?多媒體課件?網絡資源□其他資源:使用教具、設備、設施等1.PPT2.板書3.在線學習平臺作業練習提交作業2布置作業3完成作業3中,關于公鑰加密算法的作業課后記(空白不夠可添加附頁)

教學內容(板書)教學步驟、方法及學生活動時間安排復習回顧(課前準備):同學生一起回顧SHA-1算法的整體結構以及具體實現細節,特別是與MD5算法進行對比。以提問的方式和學生一起復習回顧上次課的內容。5'第6章公鑰加密算法6.2RSA公鑰密碼體制6.2.1算法描述1.密鑰生成(1)選取兩個保密的大素數p和q。(2)計算n=p·q,(n)=(p-1)·(q-1)。其中(n)是n的歐拉函數值。(3)隨機選取整數e,1<e<(n),滿足gcd(e,(n))=1。(4)計算d,滿足。(5)公鑰為(e,n),私鑰為(d,n)。2.加密3.解密6.2.2RSA的安全性分析1.數學攻擊嘗試分解n為兩個素因子,這樣就可以計算(n)=(p-1)·(q-1),從而計算出私鑰(因為)。除了選擇足夠大的大整數外,為了避免選取容易分解的整數n,建議p和q還應滿足下列限制條件。(1)p和q的長度應該相差僅幾位。(2)p-1和q-1都應有一個大的素因子。(3)gcd(p-1,q-1)應該比較小。(4)若e<n且d<n1/4,則d很容易被確定。2.選擇密文攻擊假設攻擊者得到了密文c,想要得到對應的明文m。(1)攻擊者隨機選擇一個明文x,他利用公鑰做如下計算,得到x對應的密文c'。。(2)攻擊者利用他擁有的選擇密文攻擊的權力,并做如下計算,得到c'的明文m'。。(3)攻擊者通過如下計算,得到密文c對應的明文m。。舉例,如果選擇p=3,q=7,請給出一對密鑰,并對消息m=5進行加密和解密。RSA算法的乘法同態性:(m0·m1)emodn=(m0emodn)·(m1emodn)modn30'45'6.3ElGamal公鑰密碼體制6.3.1算法描述1.密鑰生成(1)選取大素數p,且要求p-1有大素數因子。是一個生成元。(2)隨機選取整數x,1≤x≤p-2,計算。(3)公鑰為y,私鑰為x。2.加密,則密文c=(c1,c2)。3.解密4.解密的正確性明文其中因為所以證明6.3.2ElGamal的安全性ElGamal公鑰密碼體制的安全性基于有限域上離散對數問題困難性。為了抵抗已知的攻擊,p應該選取至少1024位以上的大素數,并且p-1至少應該有一個長度不小于160比特的大的素因子。例題:設p=11,g=2,x=3,計算公鑰和私鑰,并對明文m=7進行加密和解密。70'80'課程小結及課后安排:1.課程小結基于大數分解難題的RSA算法以及基于離散對數難題的ElGamal算法,其運算均包括密鑰對生成、加密、解密,另外還要考慮編碼和解碼問題。問了加深理解,需要課后再次推到解密的正確性。2.作業布置完成作業3中,關于公鑰加密算法的作業3.預習提示提示學生在“學習通平臺”完成下次課預習。90'

第11次課程教學方案備課時間1月22日—2月23日備課教師教學時間教學地點周次11課時數2累計課時22教學內容(章、節)模塊/單元第6章公鑰加密算法6.4數字簽名與驗證教學目標和要求知識能力素質1.掌握RSA數字簽名算法的工作原理2.掌握DSS數字簽名標準的工作原理3.了解簽密算法的工作原理培養學生應用加密算法構建安全工作機制的能力。培養學生科技創新的意識和精神。教學重點1.RSA簽名算法2.DSA簽名算法教學難點簽名算法的安全問題分析教學方法1.講授法2.問題反饋法3.練習法使用媒體資源?紙質材料?多媒體課件?網絡資源□其他資源:使用教具、設備、設施等1.PPT2.板書3.在線學習平臺作業練習完成作業3中,關于數字簽名算法的作業課后記(空白不夠可添加附頁)

教學內容(板書)教學步驟、方法及學生活動時間安排復習回顧(課前準備):RSA算法密鑰生成、加密、解密過程;ElGamal算法密鑰生成、加密、解密過程。以提問的方式和學生一起復習回顧上次課的內容。5'第6章公鑰加密算法6.4數字簽名與驗證6.4.1RSA數字簽名1.數字簽名與驗證算法1)RSA簽名算法RSA算法公鑰為(e,n),私鑰為(d,n)。對于消息m(),簽名為:2)RSA驗證算法對于消息簽名對兒(m,s),如果有:則s是m的有效簽名。2.RSA數字簽名安全分析1)消息破譯2)騙取仲裁簽名3)騙取用戶簽名6.4.2數字簽名標準DSS1.參數與密鑰生成(1)選取大素數p,滿足,其中512≤L≤1024且L是64的倍數。(2)選取大素數q,q是p-1的一個素因子且,即q是160位的素數且是p-1的素因子。(3)選取一個生成元,其中h是一個整數,滿足1<h<p-1并且。(4)隨機選取整數x,0<x<q,計算。(5)p、q和g是公開參數,y為公鑰,x為私鑰。2.簽名mmh()f2qgpkf1srqxs=f1(h(m),k,x,r,q),r=f2(k,p,q,g),3.驗證mmhf4qgywf3比較vqsrw=f3(s,q),v=f4(y,q,g,h(m),w,r),安全等級(分組密碼的密鑰長度)Hash函數(Hash值長度)qp簽名長度801601601024320112224224204844812825625630725126.4.4簽密1.參數與密鑰生成(1)選取大素數p和q,q為(p-1)的素因子。(2)g為乘法群中的一個q階元素。(3)H()是一個Hash函數。(4)E()和D()是對稱密碼體制中的一種加密和解密算法。(5)xs是簽密方的私鑰,1<xs<q;ys是簽密方的公鑰,。xv是驗證方的私鑰,1<xv<q;yv是驗證方的公鑰。2.簽密對于消息m,簽密方執行如下操作。(1)選擇隨機數x,1<x<q。(2)計算,并將k分為適當長度的k1和k2。(3)計算r=H(k2,m)。(4)計算。(5)計算c=Ek1(m)。對消息m的簽密密文為(c,r,s)。3.解密與驗證驗證方收到簽密密文(c,r,s)后,執行如下操作。(1)計算,并將k分為適當長度的k1和k2。(2)計算m=Dk1(c)。(3)如果r=H(k2,m),那么可以驗證消息來自簽密方。舉例:假設用戶A想對m=5進行簽名并發送給用戶B。用戶B收到簽名后進行驗證。如果既要簽名,同時需要加密消息,應該怎么做呢?舉例說明。舉例:找出一對密鑰。結合圖示法和數學表達方法來介紹簽名過程。結合圖示法和數學表示方法來介紹驗證過程。了解DSS的安全等級及相關參數。理解為什么簽密的工作效率更高。25'35'45'55'60'65'75'80'課程小結及課后安排:1.課程小結利用RSA算法完成簽名和驗證。數字簽名標準DSS包含一系列標準,實現安全的簽名。通過簽密可以同時實現數字簽名和加密的作用,并提高效率。2.作業布置完成作業3中,關于數字簽名算法的作業3.預習提示提示學生在“學習通平臺”完成下次課預習。90'

第12次課程教學方案備課時間1月22日—2月23日備課教師教學時間教學地點周次12課時數2累計課時24教學內容(章、節)模塊/單元第6章公鑰加密算法6.5身份識別教學目標和要求知識能力素質1.了解安全身份識別協議的條件2.掌握常見的身份識別協議培養學生應用加密算法構建安全工作機制的能力。培養學生科技創新的意識和精神。教學重點身份識別協議工作原理。教學難點身份識別協議工作原理。教學方法1.講授法2.問題反饋法3.直觀演示法使用媒體資源?紙質材料?多媒體課件?網絡資源□其他資源:使用教具、設備、設施等1.PPT2.板書3.在線學習平臺作業練習完成作業3中,關于身份識別協議的作業課后記(空白不夠可添加附頁)

教學內容(板書)教學步驟、方法及學生活動時間安排復習回顧(課前準備):通過復習基于RSA算法的數字簽名與驗證過程,理解基本原理;作為標準的DSS數字簽名算法包含了若干標準,來保證數字簽名與驗證的安全。以提問的方式和學生一起復習回顧上次課的內容。5'第6章公鑰加密算法6.5身份識別6.4.1身份識別概述弱身份識別:(1)生物特征:利用生物所具有的獨一無二的特征,例如指紋、虹膜、DNA等來進行身份識別。(2)口令:用戶提供賬戶信息的同時,提供只有他本人才用戶的口令,來向驗證方證明自己的身份。(3)智能卡:智能卡中存放著用戶的身份數據,智能卡由合法用戶隨身攜帶,通過專用的讀卡器讀出卡中的數據,從而識別用戶的身份。(4)USBKey:USBKey存儲著用戶的密鑰或數字證書,可以實現對用戶身份的識別。強身份識別:(1)P能向V證明他的確是P。(2)P向V證明身份后,V不能獲得冒用P的身份的信息。(3)除了P以外的第三者能夠以P的身份執行協議,能夠讓V相信他是P的概率可以忽略不計。6.4.2Guillou-Quisquater身份識別協議1.參數選擇(1)TA選擇兩個大素數p和q,計算n=p·q,p和q保密,n公開。(2)TA選擇一個大素數b,b滿足gcd(b,(n))=1,且b的長度為40bit。TA計算作為私鑰。b作為TA公鑰公開。(3)TA確定自己的簽名算法SignTA和哈希函數h,h公開。2.TA向P頒發身份證書(1)TA為P建立身份信息IDP。(2)P選擇一個整數u,0≤u≤n-1,且gcd(u,n)=1。計算,u作為P的私鑰,v作為P的公鑰,并將v發送給TA。(3)TA計算簽名s=SignTA(IDP,v),將證書CertP=(IDP,v,s)發送給P。3.P向V證明其身份(1)P隨機選取整數k,0≤k≤n-1,計算,并將證書CertP和R發送給V。(2)V驗證s是否是TA對(IDP,v)的簽名,如果是,V隨機選取整數r,0≤r≤b-1,并將r發送給P。(3)P計算,并將y發送給V。(4)V驗證是否有:成立,如果成立,V就接受P的身份證明;否則,V拒絕P的身份證明。6.4.3Schnorr身份識別協議1.參數選擇(1)TA選擇兩個大素數p和q,其中q|(p-1)。(2)TA選擇,其中的階為q。(3)TA確定自己的簽名算法SignTA和哈希函數h。2.TA向P頒發身份證書(1)TA為P建立身份信息IDP。(2)P選定加密私鑰u,,同時計算相應的私鑰。(3)TA對P的身份信息IDP和公鑰v計算簽名s=SignTA(IDP,v),將證書CertP=(IDP,v,s)發送給P。3.身份識別過程(1)P隨機選取整數,計算。P將證書CertP=(IDP,v,s)和R發送給V。(2)V驗證s是否是TA對(IDP,v)的簽名,如果是,V隨機選取整數r,1≤r≤2t,其中t為哈希函數h的消息摘要的長度。V將r發送給P。(3)P計算,并將y發送給V。(4)V驗證是否有:成立,如果成立,V就接受P的身份證明;否則,V拒絕P的身份證明。協議分析:在GQ協議中,由于P掌握了秘密信息u,對于任何挑戰r,P都可以計算y。如果一個攻擊者能夠猜出

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論