3.4加密与解密-【新教材】教科版(2019)高中信息技术必修一教案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教科版2019信息技术必修1数据与计算
第3单元认识数据3.4加密与解密教学设计
【教材分析】
本项目包含“任务一解开网站账号被盗之谜”和“任务二让数据‘隐身’”两个任务。
任务一包含两个活动:“活动1 防范‘盗窃’行为”,“活动2 设置安全密码”。
任务一是让学生通过“活动1”,总结防范密码被盗的各种现实的或潜在的形式,加强信息安全意识。
通过“活动2设置安全密码”,守住信息安全的第一道防线。
为增强说服力,让学生借助Python程序,体验简单整数密码被破解的过程和耗时。
另外,在较大数据规模的运算中,如何提高运算效率,也是活动2的一个“副产品”。
活动1主要是从意识层面谈密码安全防范,活动2则从技术层面演示简单整数密码的不安全性。
建议任务一安排1课时。
任务二包含两个活动:“活动1 古老的‘隐身术’”,“活动2 揭密‘隐身术’”。
任务二通过“活动1”,讲述加密技术的历史,引入加密解密概念。
活动2引入恺撒密码,解剖恺撒密码的加密原理,并以流程图、程序实现加密算法。
建议任务二安排1课时。
通过两个任务的学习,使学生能认识到密码的安全性在于难以被破解,以及加法密码的基本原理和算法,能够写出相应的加密解密算法和程序,充分认识信息安全的重要性,采取一定的技术措施保障信息安全。
【教学建议】
在2017版普通高中信息技术课程标准中,26次提到“信息安全”。
信息安全成为信息技术学科四大核心素养中的“信息意识”和“信息社会责任”中的重点内容:具备信息社会责任的学生,具有一定的信息安全意识与能力,能够遵守信息法律法规,信守信息社会的道德与伦理准则,在现实空间和虚拟空间中遵守公共规范,既能有效维护信息活动中个人的合法权益,又能积极维护他人合法权益和公共信息安全;关注信息技术革命所带来的环境问题与人文问题;对于信息技术创新所产生的新观念和新事物,具有积极学习的态度、理性判断和负责行动的能力。
关于信息安全和数据保护,内容是非常丰富的,教师可根据情况适当拓展,因地制宜,因材施教。
本节课程内容,可向课外延伸,与学校德育工作中安全教育结合起来。
正面教育、正向引导学生,自觉遵守全国青少年网络文明公约:要善于网上学习,不浏览不良信息。
要诚实友好交流,不辱骂欺诈他人。
要增强自我保护意识,不随意约会网友。
要维护网络安全,不破坏网络秩序。
要有益身心健康,不沉溺虚拟时空。
要树立良好榜样,不违反行为准则。
项目教学法主张先练后讲,先学后教,强调学生的自主学习,主动参与,从尝试入手,从练习开始,调动学生学习的主动性、创造性、积极性等,学生唱“主角”,而老师转为“配角”,实现教师角色的换位,有利于加强对学生自学能力、创新能力的培养。
对于实践性强的项目或活动,要让每个学生充分参与、全程参与、深度参与,在体验、经验的基础上领悟、归纳、总结;对于理论性较强的项目或活动,要充分铺垫、诱导、启发、示范、练习,课前学生作好预习,带着问题预习,教师充分准备各种情境下的教学预案,以及教学支架性材料,讲解时以例释理,避免直接灌输结论,更不要让学生机械背诵结论。
【教学目标】
1、理解数据加密和解密的概念及原理。
2、了解数据加密的历史。
3、会用Python实现简单的加密算法。
4、会分析生活中由密码引起的数据安全问题,理解对数据进行保护的意义。
【教学重点、难点】
数据加密和解密的概念及原理。
会用Python实现简单的加密算法。
会分析生活中由密码引起的数据安全问题,理解对数据进行保护的意义。
【教学过程】
第一课时
一、引入
数据应用既为我们带来便利,同时也存在许多安全隐患,如未经许可数据被复制、篡改、暴露或破坏。
因此,在数据传输、交换、存储、处理的过程中,我们必须采取相应的策略,进行数据保护,如设置密码和验证码、对数据加密、验证数据完整性、安装防火墙及安全软件、对数据进行备份等,确保信息的完整、可用、保密和可靠。
在本节中,我们将了解如何使用密码保护数据。
数据聚集和共享为人们充分应用数据创造便捷的生活提供了条件,但在享受数据带来的便利的同时,也伴随着数据安全问题。
本节我们将围绕“神秘密码之谜”项目展开学习,通过项目活动,学习数据加密和解密的知识,树立保护数据安全的意识。
本项目主要包含“解开网站账号被盗之谜”和“让数据‘隐身’”两个任务。
任务一解开网站账号被盗之谜
活动1防范“盗窃”行为
不少人有密码被盗的经历,这往往会导致个人信息泄露,甚至是财产损失。
你是否有使用账号、密码的经验?请你与同学交流、讨论并上网搜索表3.4.1中列出的密码盗窃方式,思考相应的防盗措施,填入表中。
密码
密码是指用来核对用户ID以验证用户就是本人的- -组字符。
活动2设置安全密码
请你打开教科书配套资源中的“数据安全性测试.py”,运行并测试穷举搜索一个5位、7位和9位的数字密码,分别需要多长时间,然后填写表3.4.2。
根据你实践的结果研究下面的Python代码,想一想,如果密码中还有字母,破解的时
间会变长吗?请与同学讨论创建安全密码的方法。
def jiemi():
d1=datetime.datetime.now() #获取当前系统时间d1
p=int(varin.get()) #获取输人文本框的数字密码
for i in range(0,p+1): #从0循环到正确密码数值
if i==p: #如果密码相同
d2=datet ime.datetime.now() #获取当前系统时间d2
d=d2- d1 #取得时间差
#在输出文本框中显示解密用时
varout.set(str(d.seconds)+"秒"+str(d.microseconds/1000)+
创建安全密码的一般技巧
使用长度不少于8个字符的密码。
密码长度越长越不容易被破解。
在可能的情况下,尽量使用字母、数字和特殊字符(如$、#)相结合的密码。
不要使用电话号码、身份证号码或生日等信息作为密码。
不要使用整个用户ID或用户ID的一部分作为密码。
不要使用字典中能找到的词语作为密码,即使是字母次序颠倒过来的常用词语也不可以。
任务二让数据“隐身”
活动1古老的“隐身术”
在古代,人们是怎样秘密传送数据的呢?请你利用网络搜索相关信息,了解数据加密的发展历史,并完成表3.4.3。
加密
自古以来,在管理国家、指挥战斗或是经济来往中,都需要高效、安全的数据通信系统。
古人就已会用很多办法将数据伪装起来,使得只有联络好的数据接收者才能读懂。
比如,将数据刻在木板上,然后再覆上- -层蜡,使其成为一一个看上去很普通的刻写板;使用一套尺
寸不等、形状各异的“阴符”,每支符都表示特定的含义等。
这些都是数据的加密。
加密就是将原始信息(数据)隐匿起来,使之在缺少特殊信息(数据)时不可读。
原始信息(数据)称为明文,加密后的信息(数据)称为密文。
将密文还原成明文的过程称为解密(或解码)。
第二课时
活动2揭秘“隐身术”
恺撒在征服高卢、袭击日耳曼和不列颠的多次战斗中频繁使用加密技术。
苏托尼厄斯在公元2世纪写的《恺撒传》中对恺撒用过的一种加密技术进行了详细的介绍。
恺撒只是简单地将明文中的每一个字母用字母表中该字母后的第3个字母替换。
例如,将明文中的a用d 替换,b用e替换,.....z用c替换,这就是恺撒密码。
实践
请将流程图中的空白部分补充完整。
打开教科书配套资源中的“恺撒密码.py”,根据流程图,将程序补充完整并运行。
加法密码
加法密码又被称为移位密码。
在加法密码算法中,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成
密文。
例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成被称为密钥。
比E,以此类推,X将变成A,Y变成B,Z变成C。
恺撒密码作为一-种最为古老的对称加密体制,在古罗马的时候已经很流行,它是加法密码的典型代表。
用Python语言实现加密算法时,明文和密文都被抽象为字符串类型称加密体制。
的数据,Python中的字符串由一串字符组成,用引号引起来表示,比如“abCEd”。
类似于列表的操作,我们可以指向或操作字符串中的某一个字符,比如c[0]表示字符串中的第-一个字符。
我们还可以用Python系统函数对数据进行特定的操作,len函数可以获取字符串中字符的个数,ord函数可以将字符类型的参数转换为对应的整数值,chr函数可以将整数类型的参数转换为对应的字符。
了解密码安全与加密、解密的技术能够帮助我们保护个人隐私。
同时,我们也要从自己做起,遵守相关法律和必要的道德规范,共同维护健康、良好的数据环境。
小结
(防字典破解)设置安全密码,不用生日、姓名及拼音缩写、手机号、简单数字组合、单词、身份证号、用户Id等等。
(防暴力破解)设置安全密码,要同时包含大小写字母、数字、特殊符号,不少于8个
字符
为提高运算速度,尽可能采用计数循环for语句代替条件循环while语句,复合赋值语句(如i+=1)代替简单赋值语句(i=i+1)
加密和解密也是属于字符编码范畴。
密码学是研究编制密码和破译密码的技术科学。
研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学。
二者总称密码学。
【拓展训练】
超级密码
活动:
超级密码
活动描述:
在学生认识到密码安全性问题后,提出同时包含数字、大小写英文字母和键面特殊字符(不含空格共有32个键面特殊字符)在内的密码,每个字符的ASCII码值在33至126之间。
把由这样的字符组成的密码姑且称为“超级密码”。
试编写程序,破解超级密码。
1.选题理由
数据安全是一个极端重要的话题。
只有深入了解密码被破解的难易程度,学生才能深刻认识密码设置的重要性和安全性。
2.操作建议
考虑到8位字符的超级密码需要很长时间破解,将难度降低到4位字符。
在耗时较长的程序中,鼓励学生对多重循环语句的语句体进行优化尝试,如比较字符串方式与列表方式处理数据的快慢,培养学生对算法时间复杂度的意识,发展计算思维。
3.注意问题
本活动是四重循环程序并不难,关键是要优化提高算法速度。
深刻体会字符串与列表的差异性,数据的处理方式不同,会带来时间效率的显著不同。
(详见配套资源“3-4综合项目超级密码(字符串).py”和“3-4综合项目超级密码(列表).py”,比较两种算法的快慢)
【教学反思】。