《应用密码学》课程教学大纲
一、课程代码与名称
课程代码:EI439001 中文名称:应用密码学
英文名称:Applied Cryptography 二、课程概述及与相关课程关系
随着通信网络及安全技术的发展,网络与信息的安全性等受到了人们的广泛关注。密码技术作为信息安全的核心技术,为信息的保密性、完整性、可用性和可靠性等提供了实现的一种手段,在电子商务/电子政务、网络通信等方面的受到了高度重视。
密码学是计算机、通信、应用数学、软件工程等专业的交叉学科,本课程主要学习古典密码体制、对称密码体制、非对称密码体制、序列密码体制、消息摘要算法等基础密码理论及典型算法,以及它们在密钥管理、密码协议、数字签名、身份认证、电子商务、数字通信和工业网络控制等方面的应用。
图1 应用密码学与其它课程关系图
《应用密码学》课程与其他课程的关系如图1所示。其中,《工程导论》、《面向对象程序设计》、《数据结构》和《信息安全数学基础》是《应用密码学》课程的前期课程,而具备《微积分Ⅰ》、《微积分Ⅱ》、《线性代数与空间解析几何》、《离散数
学》、《概率论与数理统计》的知识,对于密码学算法的编程实现和理解是有帮助的。
通过本课程的学习,为进一步学习后续专业课程(如《信息安全理论与技术》、《信息对抗理论与技术》、《网络攻击与防御》、《灾难备份技术》、《信息隐藏与数字水印》、《系统加密与解密》和《安全系统整体解决方案设计》等课程)及在从事网络信息安全应用系统的设计与开发等实际工作奠定理论基础。 三、课程教学对象与教学目的
适用专业:信息安全、信息对抗技术 教学目的:
(1)通过本课程的学习,学生能够掌握密码学的基本概念、古典密码体制、序列密码体制、对称密码体制和非对称密钥体制、消息摘要算法等基础密码理论及典型算法,以及它们在密钥管理、密码协议、数字签名、身份认证、电子商务、数字通信和工业网络控制等方面的应用;
(2)通过本课程实验,进一步加深对密码算法及相关知识的理解与掌握; (3)本课程后期的《应用密码学》课程设计,在老师的指导下,以工程应用为背景,学生通过主动查找资料等,运用前期学过程序设计语言编程实现密码算法,进而完成加密/解密(可以实现对任意字符串和文件加密等功能)、消息摘要算法、数字签名、安全传输、安全存储、密钥共享等实用程序,进一步提高学生在实际项目中分析问题、解决问题和工程应用能力;
(4)通过本课程的学习,主要完成如表1所示的指标。
表1 应用密码学主要完成的指标 一级指标 1.技术知识 2.工作能力、专业能力 3.人际交往能力 二级指标 1.1 密码理论基础知识 1.2 密码算法的应用 2.2 实验和发现知识 2.4 个人能力及态度 3.2 交流 教学要求 I、T T、U U U U *注:该表所列指标可对照培养方案中所列指标来解释。I:介绍,指从教、学活动中、从生活经验和社会经验等多种信息渠道获得知识,侧重知识的获取,没有实训要求。T:讲授,指教、学活动中由教师引导开展的基础测试或练习,匹配有课程讨论、课后研讨等环节。U:运用,指以学生为主导,通过实练而形成的对完成某种任务所必须的活动方式,匹配有课程的三级项目或其它实践环节(本课程有课程实验和课程设计)。
四、课程内容、学时分配及主要的教学方法
1.《应用密码学》课程内容和学时分配
本课程总学时:64学时(理论授课42学时,实验6学时,课程设计16学时) 表2是《应用密码学》课程理论授课部分的重点、难点的概要以及各部分章节的学时安排,共42个学时。
表2 《应用密码学》课程理论授课部分的内容安排
章标题 章节主要内容(知识点) 重点、难点内容提要 学时 第一章 信息安全概述及密码学的基础知识 ? 信息安全的基本概念和问题根源 (1)信息安全模型; ? 信息安全模型 ? 密码学的基本概念、密码体制的构成与分类和密码体制的安全性 ? 古典密码中的基本运算 (2)密码学的基本概念,密码体制的构成与分类,密码体制的安全性。 2 第二章 古典密码体制 ? 古典密码算法:移位密码、仿射密码、维吉尼亚密码和希尔密码等及安全性分析 古典密码的安全性分析。 2 (1)分组密码的原理; 第三章 分组密码体制 ? 分组密码的定义、原理 ? 分组密码的工作模式 (2)DES算法、AES算法8 (3)分组密码的运行模式。 第四章 序列密码体制 ? 序列密码的概念及模型 ? 线性反馈移位寄存器 ? 常用的序列密码算法 ? 非对称密码的数学基础回顾 ? 非对称密码体制的原理、设计准则第五章 非对称密码体制 和分类等 ? 典型的非对称密码体制,如RSA、ElGamal、ECC算法等 ? 非对称密码算法的比较 ? 散列算法的概念、结构与发展现状 第六章 认证理论与技术-Hash函数 ? 典型的散列算法,如MD5、SHA-1等 ? 散列函数的攻击现状 ? 消息认证 第七章 认证理论与? 数字签名的原理 (1)序列密码的概念及模型; (2)常用的序列密码算法。 (1)非对称密码体制的原理、设计准则和分类; (2)典型的非对称密码体制RSA、ElGamal、ECC算法等。 (1)散列算法的概念、结构与发展现状; (2)典型的散列算法,如MD5、SHA-1等。 (1)数字签名的原理; 4 5 8 3 ? 典型分组密码体制DES、AES、SMS4 的加解密过程及原理; 技术-数字签名 ? 典型的数字签名方案(如基于RSA、(2)典型的数字签名方ElGamal和DSA的签名方案) ? 盲签名 ? 认证模型及认证协议 案,如RSA、ElGamal、DSA等; (3)盲签名。 (1)认证模型及认证协议; (2)身份认证技术的介绍。 (1)密钥的结构与分类; (2)密钥协商与分配。 量子密码、混沌密码算法。 密码算法在电子商务、数字通信和工业控制中的应用。 2 4 第八章 认证理论与? 身份认证技术 ? Kerberos及X.509身份认证技术 ? 密钥的结构与分类 技术-身份认证技术 ? 基于零知识证明的身份认证技术 第九章 密钥管理技术 第十章 密码学的新方向 第十一章 密码学的应用 ? 密钥管理的周期 ? 密钥托管 ? 密钥协商与分配 ? 介绍量子密码、混沌密码等的发展现状 ? 密码学在电子商务中的应用 ? 密码学在数字通信中的应用 ? 密码学在工业控制中的应用 2 2 2.《应用密码学》课程主要教学方法
在应用密码学的教学过程中,采用课堂提问、课后作业练习等方式来考察学生对知识的掌握情况,通过课堂上密码算法的动画演示、密码算法的实现程序等来加深学生对密码算法的理解,提高课堂教学效果。
根据以往的经验,在《应用密码学》课程的教学中,密码学的基本概念、古典密码体制易于掌握;对称密码体制的加密解密流程,掌握的难度不大;掌握的难点集中在非对称密码体制的理解和掌握。另外,对于破解典型的密码体制在计算上的难度,大部分学生的理解深度不够,在因此在教学过程中,采取以下方法提高教学效果:
(1)课堂提问讨论、练习及讲解
对于概念类知识、算法的初步掌握等,通过课堂提问、讨论的方式,激发学生主动去思考、主动去讨论和理解掌握密码算法知识,这样可以加深学生对密码算法知识的理解。比如,原根的概念、RSA算法中提到的素数的个数、SHA-1算法中的对消息最后分组的填充等可以采用提问讨论、练习的方法进行教学。
(2)课堂演示
对于比较复杂的知识点和比较难理解的知识点,可以采用实例演示和动画演示