版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《数据加密与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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度专业石材翻新及保洁服务合同
- 成都银杏酒店管理学院《报关报检实务》2023-2024学年第一学期期末试卷
- 2024年软件许可合同软件名称与许可权限
- 2024年设备采购协议核心内容一览版B版
- 2024游乐园与运营商租赁合同
- 2024年道德行为自律协议版B版
- 2025版文化产业劳动保障监察与文化产品安全合同3篇
- 2025版救灾帐篷政府采购合同范本-专用单帐篷采购指南6篇
- 冰雪经济的产业链结构分析
- 2024年续约意向确认:个人合同续签合同版B版
- 地方蚕丝被质量整改方案
- 脑出血病人的护理
- 智慧农业行业政策分析
- 氧化还原反应方程式配平练习题及答案三篇
- GB/T 10739-2023纸、纸板和纸浆试样处理和试验的标准大气条件
- 《家居颜色搭配技巧》课件
- 铁三角管理办法(试行)
- 高考小说阅读分类导练:诗化小说(知识导读+强化训练+答案解析)
- 《公司法培训》课件
- 全国教育科学规划课题申报书:83.《供需适配性理论视域下我国老年教育资源供需匹配度研究》
- 民用航空器-世界主要机型介绍
评论
0/150
提交评论