内容正文:
教学设计
课程基本信息
课题
加密与解密
课型
新授课
学科
信息技术
年级
高一年级
学段
高中
版本章节
教科版第3单元第4节第2课时
教学目标
基于以上对教材、学情分析结合新课标的要求,特制定本节课的教学目标:
学科知识:了解数据加密的历史,数据类型(字符串、字符),字符与ASCII码,函数ord()与chr(),分支语句,条件(逻辑)表达式。
信息意识:理解数据加密和解密的概念及原理。
学科思维:会用Python实现简单的加密算法。
社会责任:会分析生活中由密码引起的数据安全问题,理解对数据进行保护的意义。
教学重难点
教学重点:恺撒密码的加密与解密算法。会分析生活中由密码引起的数据安全问题,理解对数据进行保护的意义。
教学难点:用穷举法破解密码;恺撒密码的加密与解密算法。
学情分析
本课的教学对象为高一年级学生,这一学段的学生思维活跃,具有一定的逻辑思维能力和概括能力,参与实践活动意识强,喜欢探求新知识。经过前一阶段的学习,已具备了字符编码的基础知识,了解了计算机解决问题的一般过程。但程序算法相对枯燥无味,为激发学生学习兴趣,结合具体事例,给学生搭建学习支架,以便学生能够很好地把问题转化为程序代码。同时要加强对学生数据安全方面的教育,形成与社会发展相适应的价值观和责任感。
教学准备
硬件资源:网络机房 软件资源: ppt教学课件 python
教学过程
教学任务
教学内容
设计意图
创新设计
(含AI应用)
创设情境,
提出项目问题
激趣导入:
1.视频导入。
师:“伏尼契手稿”被称为“世界最神秘的书”,全书240页篇幅记载多种复杂文字、未知语言与奇怪的插图。几百年来许多密码学家、语言学家都试图破解它的秘密,但多年来都无法解释手稿上的意涵。
但随着人工智能的产生及不断发展,为解密600年前的伏尼契手稿重新点燃了希望。
那么你想了解更多关于加密与解密方面的知识吗?我们一起走进今天的课程。
2.课件出示课题及教学目标。
3.提问你知道加密的方法有哪些呢?
生:观看视频。
生:思考并回答问题。
引出项目背景,提出项目任务。
利用即梦生成视频,让伏尼契手稿上面的植物图像动起来。
探究一:人工加密凯撒密码
密码有着悠久的历史,尤其是在战争中,用它来传递情报、指挥战争,比如姜太公与周武王之间使用的阴符,还有凯撒密码。凯撒密码作为一种最古老的对称加密机制,在古罗马的时候已经很流行,它是加法密码的典型代表。请你根据凯撒密码表,将HI PYTHON这条短语加密。
引导学生总结分析恺撒密码加密原理:
1.字母“A—W”是直接后移3位
2.字母“X-Z”是偏移量大于26了,则返回字母表的开头然后按顺序继续后移。
3.只对英文字母有效
4.大小写字母的加密相同。
积极探索,将短语加密。
通过问题指引,激发学生思考总结,提高归纳总结能力。
让学生体验加密程序。
探究二:加密与解密的过程
加密与解密
将原始信息(数据)隐匿起来,使之在缺少特殊信息(数据)时不可读就是加密。
原始信息(数据)称为明文。
加密后的信息(数据)称为密文。
将密文还原成明文的过程称为解密。
控制加密和解密的过程进行的是密钥。
图解加密解密过程:
通过归纳总结,发送者将未加密的数据也就是明文数据,通过加密算法转换成密文,这一过程称为加密,将密文通过解密算法转换成明文,这一过程称为解密。
凯撒密码的原理:
字符A-W:密文=明文+3
字符X-Z:密文=明文-23
自主探究、小组讨论,用自然语言描述下加密与解密的过程完成表格填写。
通过引导学生思考,提高归纳总结能力。
通过问题指引,激发学生思考总结,提升自主学习能力。
探究三:在计算中对凯撒密码进行加密
计算机是如何对凯撒密码进行加密的呢?我们知道凯撒密码的加密原理,字母A后移3位得到D,在计算机中A+3=D能实现吗?字符加3不能进行数据运算。
ASCII美国信息交换码,仅对10个数字、26个大小写英文字母和一些符号编码。A-Z:65-90;a-z:97-122。
ord():字符转换成对应编码值的函数
chr():编码值转换对应字符的函数
两个函数可以配对使用。
(基础题)完成项目项目学习单上内容。
(挑战题)设计恺撒密码解密算法:解密是加密的逆运算,请大家参照流程图完善并运行凯撒密码解密程序。
通过任务情境,进一步对算法和程序进行理解,让学生在实践中找到处理问题的方法。
成果:数据安全保护
数据加密与解密技术是为了保证数据的安全的。随着物联网、量子技术、区块链技术的不断发展,保护数据信息安全变得更加重要。我国密码技术的不断成熟和完善,我国密码学专家王小云教授成功破解世界顶级密码MD5和哈希算法,2020年1月1日起施行《中华人民共和国密码法》,保障了我国网络与信息安全。
增强数据保密意识,养成良好的数据加密习惯
作业设计
项目学习单
一、数据加密的方式。
时间
加密方式
683年
拆字法。将明文中的文字进行组合生成新的字,即为密文,比如“十二月”合起来为“青”。
北宋
代码法。北宋进士曾公亮曾搜集了40个常用军事短语,然后对其进行顺序编码:一、请弓;二、请箭;三、请刀;四、请甲;五、请枪旗……四十、战小胜。军队出征前,指挥机关将用上述短语编码的密码本发给将领,并约定用一首不含重复文字的40字五言律诗与密码相对应。
公元前五世纪
移位法。公元前五世纪,希腊城邦和波斯帝国战争中,希腊城邦广泛使用了移位法进行加密处理战争通讯信息,用来传输军事信息、命令的每段文字都有固定的字数,解密者手中会有一份文字移位说明。解密者拿到密文后,根据文字移位说明进行解密,从而破解其中的军事命令或消息
古罗马时期
《高卢战记》有描述恺撒曾经使用密码来传递信息,即所谓的“恺撒密码”,它是一种替代密码,通过将字母按顺序推后起3位起到加密作用,如将字母A换作字母D,将字母B换作字母E。因据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。
第二次世界大战
密码机。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。
2、 人工破解凯撒密码
任务一:你的答案:
规律总结:
三、知识链接
数据加密的术语有:明文,即原始的或未加密的数据。通过加密算法对其进行加密,加密算法的输入信息为明文和密钥;密文,明文加密后的格式,是加密算法的输出信息。加密,把明文转换为密文的过程;加密算法,加密所采用的变换方法;解密,对密文实施与加密相逆的变换,从而获得明文的过程;任何一个加密系统都是由明文、密文、算法和密钥组成。
任务二:请用自然语言描述加密与解密的过程
发送者
加密过程
解密过程
接受者
4、 Python 常见内置函数
1、ord() 函数是以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值。
2、chr() 返回一个对应的字符,返回值是当前整数对应的 ASCII 字符。
3、 len() 方法返回对象(字符、列表、元组等)长度或项目个数。返回对象长度。
4、int() 函数用于将一个字符串或数字转换为整型。返回整型数据。
5、str() 函数将对象转化为适于人阅读的形式。返回一个对象的string格式。
任务三:(基础题)在python中输入
ord(“A”) ord(“A”)+3
chr(68) chr(ord(“A”)+3)
五、(提高题)参照流程图完善加密算法
def CaesarCipher(): #“加密”按钮激发函数
c = mingwen.get("0.0", "end") #获取mingwen对象的内容(明文)
b = "" #密文b置初值为空
miwen.delete("0.0", "end") #清空miwen对象的内容
for i in range( ① ): #获取明文内容的每一个字符,并加密
if 'a' <= c[i] <= 'w' or 'A' <= c[i] <= 'W' : #判断a~w或A~W间的字母
② #生成密文
elif 'x' <= c[i] <= 'z' or 'X' <= c[i] <= 'Z': #判断x~z或X~Z间字母
③ #生成密文
else:
④ #字母以外的明文不变
miwen.insert(" 0.0 ",b) #在miwen对象中显示结果
六、(挑战题)参照流程图完善解密算法
def CaesarCipher(): #“解密”按钮激发函数
c = mingwen.get("0.0", "end") #获取miwen对象的内容(密文)
b = "" #密文b置初值为空
miwen.delete("0.0", "end") #清空mingwen对象的内容
for i in range( ① ): #获取密文内容的每一个字符,并解密
if 'a' <= c[i] <= 'w' or 'A' <= c[i] <= 'W' : #判断a~w或A~W间的字母
② #生成明文
elif 'x' <= c[i] <= 'z' or 'X' <= c[i] <= 'Z' : #判断x~z或X~Z间字母
③ #生成明文
else:
④ #字母以外的密文不变
miwen.insert(" 0.0 ",b) #在mingwen对象中显示结果
七、编写你的专属密码
1、请你根据所学编写以你自己命名的密码程序。
2.上网搜索如何提高凯撒密码的安全性能?
板书设计/课堂小结
加 密 与 解 密
1.数据加密的历史
2.人工加密凯撒密码
3.加密与解密的过程
4.计算机加密、解密凯撒密码
5.保护信息安全
教学反思
教师积极引导学生人工加密凯撒密码,极大地激发了学生探究加密解密程序的热情,在案例的基础上让学生初步了解数据加密的历史和数据加密和解密的概念及原理,会用python实现简单的加密算法。这种方式进行教学有利于学生理,小组间交流协作贯穿整个课堂,让学生置身在情境中,层层递进,在完成任务的同时达到对知识的构建,体验python及其编制环境。不足之处在于,学生实践的时间稍微有些紧。
学科网(北京)股份有限公司
$