教学设计
课程基本信息
学科 信息技术 年级 高二 学期 春季
课题 数据加密与安全
教学目标
1. 通过“注册账号”的实践活动,初步了解在进行信息系统应用过程中,存在个人信息泄露的安全问题。信息系统中存放数据面临着一系列安全问题,让学生能知道采用加密措施能保护数据的保密性。 2. 通过“加密算法1”和“加密算法2”的探究活动,使学生理解换位密码和替代密码的基本思想,通过实践与体验中的练习,理解3种简单加密算法,能用python代码,初步学会密码的设计。 3. 通过对数据的安全防范技术的学习,提升信息安全意识,能主动保护自身数据的安全和尊重他人的数据安全。
教学内容
教学重点: 1.了解数据加密的重要性和必要性。
2. 理解3种简单加密算法。
教学难点: 1. 掌握密码和密钥的概念,密码系统的组成。
2. 设计密码。
教学过程
情境导入【实践活动——注册账号】 请同学们跟老师一起来体验“注册账号”的实践活动!第一步,打开“注册账号”文件夹中的“主程序.py”文件,按“F5”运行该程序。第二步,代码运行成功后,通过浏览器访问这个网址,网页显示如右图所示,我们可以在文本框中输入用户名,如“小林”,密码“Xinxi12”,然后点击“注册”按钮。
账号注册成功,可以看到网页上显示以下的内容:小林,您好,注册成功!账号信息存储在以下2张数据表中,分别为users和users*。接下来,请同学们先注册一个自己的账号。 提出问题:当存储账号信息的文件被他人非法获取时,数据存储在哪个数据表中更安全,users还是users*? 学生先完成注册账号的任务,通过观察两张数据表中存储的账号信息,发现users*中的密码不再是原始密码,更安全。 教师进行讲解:存储在users*数据表更安全。在users数据表中,存储的就是原始密码Xinxi12,一旦有人非法得到这样的账号信息就可以直接登录账号窃取系统中的个人信息,导致个人信息泄露。而在users*数据表中,存储的密码已经不再是原始密码。那么,此时无法通过密文直接登录账号来窃取个人信息,所以经过加密处理的密文更安全! 教师重点引出“明文”与“密文”两个概念。明文——未进行加密处理的文本;密文——加密处理后的文本。 设计意图:通过引入“注册账号”,让学生上机实践注册账号,体会注册完成后账号信息会被存储在数据库文件中。以明文和密文这两种不同方式的存储账号信息,明文的方式更容易造成信息泄露。让学生体会到明文数据会造成信息泄露问题,加密后的密文可以提高数据的安全性。让学生提高警惕心理,提高安全防范意识,意识到数据加密的重要性和必要性。 新课教授 一、密码的概念 信息系统中的数据会面临一系列的安全问题。通过加密措施保护数据的保密性。确保数据的保密性、完整性和不可否认性,这是密码学要实现的主要目标。 提出问题:什么是密码? 由生活中常见的QQ密码、 WiFi密码和取款密码,发现密码无处不在,它是保证数据安全的一道重要屏障。但从严格意义上讲,这里所谓的密码应该被称之为口令,是用于认证用户身份的。 请同学们朗读教材105页中密码的概念,并划出重点词句:按特定的编码规则、从明文到密文变换的技术方法、独特的信息编码算法。密码最早起源于古希腊,通常是密码算法的简称,它由加密算法和解密算法组成。 二、换位密码的概念及python实现 教师带领学生一起完成加密算法1的“探究活动”。 教师提出问题:加密算法1是如何实现加密的呢?明文到密文发生了什么变化呢? 学生回答问题:明文倒序排列后就是密文。 教师进行讲解:逆序法——将明文中的字符倒过来输出。引出简单加密算法中的换位密码。换位密码——将明文中的字符位置通过一定的规则重新排列。其中,最简单的换位就是逆序法。使用python中字符串的切片方法可实现逆序法。换位密码还有很多种,如可以将明文中的数字字符排列在大写字母和小写字母中间,这也是一种换位密码,但不是逆序法。 三、替代密码的概念 教师带领学生一起完成加密算法2的“探究活动”。 教师提出问题:加密算法2是如何实现加密的呢?明文到密文的变换规则是什么? 学生光看这一组明文与密文,很难发现其变换规则。 教师提出可以多注册即个账号,如注册时使用“小明”和ABCDEF可以得到“DEFGHI”的密文,然后将结果记录在表格中。然后请同学们注册多个账号,并记录在表格中,并写出明文与密文的变换规则。 同学们完成探究任务后,教师讲解可以总结出以下变换规则:①只对字母进行加密,数字保持不变②不改变字母的大小写③明文字母被其他字母替代了,明文字母右移3位即为替代字母。用图的方式来描绘明文到密文的变换规则。 也可概括为一句话:明文中的所有字母被在字母表中右移3位后的字母替代。请同学们注意“替代”这个词。引出简单加密算法中的替代密码。 替代加密法——将明文中每个位置的字符用其它字符替代。教师引导学生标注重点的词句:用其它字符替代。 四、替代密码的python实现 教师提出问题:Python如何实现? 教师讲解:以大写字母Y加密后为大写字母B为例。第一步,给字母表中每一个字母按顺序依次编号,字母A~Z的编号依次为0~25。用n1表示明文编号为24,用n2表示密文编号n2为1。n1和n2满足等式:n2=(n1+3)%26,由ASCII值可得到大写字母的编号。第二步,由明文编号n1,根据等式算出密文编号n2为1。n2加上65就是对应密文的ASCII码值,再调用chr()函数即得到对应密文为B。 教师进一步将上述两个步骤合成为一个,即chr((ord(p)-ord("A")+3)%26+ord("A"))。通过该python语句,可实现对大写字母右移3位的替代加密。 教师提出问题:小写字母右移3位的替代加密怎么写代码? 实践与体验1:打开jiami.py文件,在相应位置补充代码并输入明文进行调试。 教师解答:将原来的大写字母A改为小写字母a,因为对小写字母进行编号也需从0开始,那么要减去就是小写字母a的ASCII码值。 课堂任务:使用替代加密算法实现对数字字符的加密,数字字符前移2位,从ABCD四个选项中选出正确的选项(多选)。 教师解答: ABC很相似,不一样的地方教师用红色进行了标注。ABC中只有C是正确的,选项A能实现大写字母前移2位,那么要实现数字字符前移2位,需要将26修改为10,因为只有10个数字字符,依次编号为0~9,即还需减去“0”字符的ASCII码值,所以选项B错误,选项C是正确的。而选项D使用了更简单的方式设置编号,因为数字字符通过int()函数转换成数字后,就可直接作为编号。所以选项D也是正确的。 五、密钥的概念与密码系统 教师给出两个图,分别为密钥为3的凯撒密码和密钥为11的凯撒密码,引出密钥。 教师讲解密钥的概念、加密密钥和解密密钥以及密码系统的组成。 实践与体验2:请同学们根据加密过程的描述和加密代码,完成解密过程的描述和解密代码的填写。 教师解答:解密过程可以描述为左移3位,使用的解密密钥K2为3,解密代码只需将加密代码中+3改为-3。 加密密钥与解密密钥相等——对称加密算法;加密密钥与解密密钥——非对称加密算法。 六、简单异或 异或运算,是一种逻辑运算。运算时,需要将明文转为二进制数再按位进行异或运算。标注重点语句:二进制数、按位、异或运算。异或运算规则为:如果两个值不相同,那么异或结果为1。如果两个值相同,那么异或结果为0。以大写字母X的二进制编码和二进制密钥进行异或运算为例,演示怎么得到二进制密文。 实践与体验3:请同学们将密文与密钥进行异或运算。写出答案后,有什么发现呢? 教师解答:答案跟明文一模一样。密文和密钥异或运算后就是明文,即能实现解密。简单异或加密,就是将明文与密钥进行异或运算;解密,则是对密文用同一密钥进行异或运算。 课堂任务:用一种或多种简单加密算法,设计一个自己的加密算法。 学生设计完成加密算法后上交,教师向同学们展示学生的成果。结合学生设计的算法,提出问题:他使用了几种加密算法呢? 学生回答:替代密码和换位密码2种 然后教师向同学们展示python代码,找出设计的亮点。 课堂小结