内容正文:
3.4 加密与解密
学习目标:
理解数据加密与解密和概念及原理。
会分析生活中由密码引起的数据安全问题,理解对数据进行保护的意义。
了解数据加密的历史
会用Python实现简单的加密算法
恺撒密码的加密与解密算法。
【教学重点】
会分析生活中由密码引起的数据安全问题,理解对数据进行保护的意义。
恺撒密码的加密与解密算法。
【教学难点】
用穷举法破解密码;恺撒密码的加密与解密算法。
【教学过程】
一、引入
1.学生预习,阅读第77页“任务一 解开网站账号被盗之谜”之“活动1 防范‘盗窃’行为”,填写下表。[来源:学§科§网]
密码盗窃与防盗分析表
盗窃方式
防盗窃措施
肩窥方式
我们可以在输入密码时遮挡自己的操作过程,防止别人偷看密码信息;或者确定环境安全后再进行操作
字典破解
密码不要用生日、姓名及拼音缩写、手机号、简单数字组合、单词、身份证号、用户Id
暴力破解
同时包含大小写字母、数字、特殊符号,不少于8个字符
二、密码
1、密码的定义:
密码是指用来核对用户ID以验证用户就是本人的一组字符。
2、活动:设置安全密码
运行“数据安全性测试.py”并测试穷举搜索一个5位、7位和9位的数字密码,分别需要多长时间,填写下表。(文件己下发到学生机桌面)
密码长度
密码值
破解时间
5位
12567
1.0毫秒
98302
15.6毫秒
7位
9位
表3.4.2 穷举搜索密码需要的时间
运行程序:(学生运行,调试结果)
【比一比】当然,我们也可以编写无可视化界面的程序,程序更简单。
程序运行结果:
3、创建安全密码的一般技巧:
1)使用长度不少于8个字符的密码。密码越长越不容易被破解。
2)在可能的情况下,尽量使用字母、数字和特殊符号相结合的密码。
3)不要使用电话号码、身份证号或生日作为密码。
4)不要使用整个用户ID或用户ID的一部分作为密码。
5)不要使用字典中能找到的词语作为密码,即使是字母顺序颠倒过来的常用词语也不可以。
练习
试编写程序,破解超级密码——可能包含数字、大小写英文字母和键面特殊字符(不含空格共有32个键面特殊字符)在内的4位字符组成的密码,每个字符的ASCII码值在33至126之间。将运行用时记入下表:
密码值
破解用时
超级密码(字符串).py
超