内容正文:
3.4 加密与解密
(一)项目目标分析
【项目名称】神秘密码之谜
【项目目标】通过项目活动,学习数据加密和解密的知识,树立保护数据安全的意识。
(二)项目内容分析
本项目包含“任务一 解开网站账号被盗之谜”和“任务二 让数据‘隐身’”两个任务。
任务一包含两个活动:“活动1 防范‘盗窃’行为”,“活动2 设置安全密码”。任务一是让学生通过“活动1”,总结防范密码被盗的各种现实的或潜在的形式,加强信息安全意识。通过“活动2设置安全密码”,守住信息安全的第一道防线。为增强说服力,让学生借助Python程序,体验简单整数密码被破解的过程和耗时。另外,在较大数据规模的运算中,如何提高运算效率,也是活动2的一个“副产品”。活动1主要是从意识层面谈密码安全防范,活动2则从技术层面演示简单整数密码的不安全性。建议任务一安排1课时。
任务二包含两个活动:“活动1 古老的‘隐身术’”,“活动2 揭密‘隐身术’”。任务二通过“活动1”,讲述加密技术的历史,引入加密解密概念。活动2引入恺撒密码,解剖恺撒密码的加密原理,并以流程图、程序实现加密算法。建议任务二安排1课时。
通过两个任务的学习,使学生能认识到密码的安全性在于难以被破解,以及加法密码的基本原理和算法,能够写出相应的加密解密算法和程序,充分认识信息安全的重要性,采取一定的技术措施保障信息安全。
(三)项目教学建议
在2017版普通高中信息技术课程标准中,26次提到“信息安全”。信息安全成为信息技术学科四大核心素养中的“信息意识”和“信息社会责任”中的重点内容:具备信息社会责任的学生,具有一定的信息安全意识与能力,能够遵守信息法律法规,信守信息社会的道德与伦理准则,在现实空间和虚拟空间中遵守公共规范,既能有效维护信息活动中个人的合法权益,又能积极维护他人合法权益和公共信息安全;关注信息技术革命所带来的环境问题与人文问题;对于信息技术创新所产生的新观念和新事物,具有积极学习的态度、理性判断和负责行动的能力。
关于信息安全和数据保护,内容是非常丰富的,教师可根据情况适当拓展,因地制宜,因材施教。本节课程内容,可向课外延伸,与学校德育工作中安全教育结合起来。正面教育、正向引导学生,自觉遵守全国青少年网络文明公约:要善于网上学习,不浏览不良信息。要诚实友好交流,不辱骂欺诈他人。要增强自我保护意识,不随意约会网友。要维护网络安全,不破坏网络秩序。要有益身心健康,不沉溺虚拟时空。要树立良好榜样,不违反行为准则。
项目教学法主张先练后讲,先学后教,强调学生的自主学习,主动参与,从尝试入手,从练习开始,调动学生学习的主动性、创造性、积极性等,学生唱“主角”,而老师转为“配角”,实现教师角色的换位,有利于加强对学生自学能力、创新能力的培养。
对于实践性强的项目或活动,要让每个学生充分参与、全程参与、深度参与,在体验、经验的基础上领悟、归纳、总结;对于理论性较强的项目或活动,要充分铺垫、诱导、启发、示范、练习,课前学生作好预习,带着问题预习,教师充分准备各种情境下的教学预案,以及教学支架性材料,讲解时以例释理,避免直接灌输结论,更不要让学生机械背诵结论。
$$
自定义函数开始
CaesarCipher()
自定义函数结束
输入明文c
密文b置初值为空
计数器i置初值为0
i≥明文长度
c[i]介于'a'与'w'或'A'与'W'
b=b+chr(ord(c[i])+3)
计数器i=i+1
b=b+chr(ord(c[i])-23)
b=b+c[i]
输出密文b
c[i]介于'x'与'z'或'X'与'Z'
是
是
否
否
是
否
$$超级密码
活动:
超级密码
活动描述:
在学生认识到密码安全性问题后,提出同时包含数字、大小写英文字母和键面特殊字符(不含空格共有32个键面特殊字符)在内的密码,每个字符的ASCII码值在33至126之间。把由这样的字符组成的密码姑且称为“超级密码”。试编写程序,破解超级密码。
1.选题理由
数据安全是一个极端重要的话题。只有深入了解密码被破解的难易程度,学生才能深刻认识密码设置的重要性和安全性。
2.操作建议
考虑到8位字符的超级密码需要很长时间破解,将难度降低到4位字符。
在耗时较长的程序中,鼓励学生对多重循环语句的语句体进行优化尝试,如比较字符串方式与列表方式处理数据的快慢,培养学生对算法时间复杂度的意识,发展计算思维。
密码值
破解用时
超级密码(字符串).py
超级密码(列表).py
!876
AbY5
Z$*m
z)0<
~?x=
3.注意问题
本活动是四重循环程序