(新教材)教科版高中信息技术必修一 3.4 加密与解密 课件(共15张PPT)

资源下载
  1. 二一教育资源

(新教材)教科版高中信息技术必修一 3.4 加密与解密 课件(共15张PPT)

资源简介

3.4 加密与解密
第3单元 认识数据
学 习 目 标
3.会分析生活中由密码引起的数据安全问题,理解对数据保护的意义。
2.会用Python实现简单的加密算法。
1.理解数据加密和解密的概念及原理。
上网搜索肩窥方式、字典破解、暴力破解三种密码盗窃方式,并阅读P77“任务一 解开网站账号被盗之谜”的“活动1 防范‘盗窃’行为”,完成P78的表3.4.1。
{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}盗窃方式
防盗窃措施
肩窥方式
输入密码时遮挡自己的操作过程,防止别人偷看密码信息;确定环境安全后再进行操作
字典破解
密码不要用生日、姓名及拼音缩写、手机号、简单数字组合、单词、身份证号、用户Id
暴力破解
同时包含大小写字母、数字、特殊符号,不少于8个字符
肩窥攻击:通过窥看用户的键盘输入,鼠标移动等方式来获取用户口令。
字典破解:利用人们平时常用的词、句破译。利用人们习惯用人名、地名或者常见的词语设置成密码的习惯进行破译。
暴力破解:一个一个的尝试。
字典破译速度比暴力破译更快,但是有时候密码设置中包含了没有字典库中的词句就无法破解出来了,因此有好的字典是关键。
密码盗窃方式
密 码
密码是指用来核对用户ID以验证用户就是本人的一组字符。
活动二:设置安全密码
1.运行“数据安全性测试.py”并测试穷举搜索一个5位、7位和9位的数字密码,分别需要多长时间,填写表3.4.2。(P78)
{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}密码长度
密码值
破解时间
5位
12567
1.0毫秒
7位
?
?
?
?
9位
?
?
?
?
def jiemi():
d1=datetime.datetime.now() #获取当前系统时间d1
p=int(varin.get()) #获取输入文本框的数字密码
for i in range(0,p+1): #从0循环到正确密码数值
if i==p: #如果密码相同
d2=datetime.datetime.now() #获取当前系统时间d2
d=d2-d1 #取得时间差
#在输出文本框中显示解密用时
varout.set(str(d.seconds)+"秒"+str(d.microseconds/1000)+"毫秒")
活动二:设置安全密码
2.想一想,含字母的密码,破解时间会变长吗?研究下面的Python代码,与上一活动比较,讨论创建安全密码的方法。
注:varin和varout是程序中的两个文本框对象,分别用来接收输入的密码和显示解密所需时间。
get和set是文本框的两个方法,分别用于接收文本框中的数据和在文本框中显示输出数据
创建安全密码的一般技巧:
1.使用长度不少于8个字符的密码。密码越长越不容易被破解。
2.在可能的情况下,尽量使用字母、数字和特殊符号相结合的密码。
3.不要使用电话号码、身份证号或生日等信息作为密码。
4.不要使用整个用户ID或用户ID的一部分作为密码。
5.不要使用字典中能找到的词语作为密码,即使是字母次序颠倒过来的常用词语也不可以。
请同学们上网搜索资料,完成P79任务二中的活动一
——古老的“隐身术”。
{7DF18680-E054-41AD-8BC1-D1AEF772440D}时间
加密方式
683年
北宋
公元前5世纪
古罗马时期
第二次世界
大战
加 密
加密就是将原始信息(数据)隐匿起来,使之在缺少特殊信息(数据)时不可读。
原始信息(数据)称为明文,加密后的信息(数据)称为密文。将密文还原成明文的过程称为解密(或解码)。
加 密
恺撒在征服高卢、袭击日耳曼和不列颠的多次战斗中频繁使用加密技术。苏托尼厄斯在公元2世纪写的《恺撒传》中对恺撒用过的一种加密技术进行了详细的介绍。恺撒只是简单地将明文中的每一个字母用字母表中该字母后的第3个字母替换。例如,将明文中的a 用d替换,b用e替换,……,z用c替换,这就是恺撒密码。
P80任务二中活动二——揭秘“隐身术”
加 密
相关代码如下:
def CaesarCipher(): #Button按钮激发函数
c=mingwen.get("0.0", "end") #获取Text组件mingwen的明文内容
b=""
miwen.delete("0.0", "end") #清空Text组件miwen的内容
for i in range(len(c)): #获取明文内容的每一个字母,并加密
#判断a~w或A~W间的字母
if 'a'<=c[i]<='w' or 'A'<=c[i]<='W':
b=b+chr(ord(c[i])+3) #生成密文
#判断x~z或X~Z间的字母
elif 'x'<=c[i]<='z' or 'X'<=c[i]<='Z':
b=b+chr(ord(c[i])-23) #生成密文
else: #字母以外的明文内容不变
b=b+c[i]
miwen.insert("0.0",b) #在Text组件miwen中显示结果
打开教科书配套资源中的“凯撒密码.py”,根据流程图,
将程序补充完整并运行,体验数据加密的过程。
注:mingwen和miwen是两个文本框对象,用于接收待加密的文本和显示加密后的密文。
get方法用于接收文本框中的数据,delete方法用于删除文本框中的内容,
insert方法用于将数据插入文本框内。
如:凯撒密码只是简单地将明文中的每一个字母用字母表中该字母后的第3个字母替换。例如,将明文中的a用d替换,b用e替换,……,z用c替换。像凯撒密码这样,明文中的所有字母都在字母表向后(或向前)按照一个固定数目进行偏移后被替换成密文。
加法密码
加法密码又被称为移位密码。在加法密码算法中,
明文中的所有字母都在字母表上向后或向前按照一个
固定数目进行偏移生被替换成密文。
加密算法操作中的一组数字被称为密钥。比如,恺撒密码的密钥为3,加密和解密使用同一个密钥,被称为对称加密体制。
加法密码
用Python语言实现加密算法时,明文和密文都被抽象为字符串类型的数据,Python中的字符串由一串字符组成,用引号引起来表示,比如“abCEd”。类似于列表的操作,我们可以指向或操作字符串中的某一个字符,比如c[0]表示字符串中的第一个字符。
我们还可以用Python系统函数对数据进行特定的操作,len函数可以获取字符串中字符的个数,ord函数可以将字符类型的参数转换为对应的整数值,chr函数可以将整数类型的参数转换为对应的字符。
加法密码
由于各种数据存在安全风险,国家已经出台多部法律,大力实施数据保护,维护国家安全和网络秩序。2017年6月1日起施行的《中华人民共和国网络安全法》,明确要求网络运营者应当按照网络安全等级保护制度的要求,履行安全保护义务,保障网络免受干扰、破坏或者未经授权的访问,防止网络数据泄露或者被篡改,窃取。
《中华人民共和国刑法》第二百八十五条至第二百八十七条,对非法侵入计算机系统,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,利用计算机实施金融诈骗、盗窃、贪污、挪用公款、窃取国家秘密等行为进行了量刑定罪。
拓展知识

展开更多......

收起↑

资源预览