2021-2022学年高中信息技术教科版(2019)必修1 3.4 加密与解密 课件-(27+29张PPT)

文档属性

名称 2021-2022学年高中信息技术教科版(2019)必修1 3.4 加密与解密 课件-(27+29张PPT)
格式 zip
文件大小 6.1MB
资源类型 教案
版本资源 教科版(2019)
科目 信息技术(信息科技)
更新时间 2021-11-01 10:21:54

文档简介

(共29张PPT)
3.4 加密与解密
|解开密码被盗之谜|
第一课时
情境导入
任务一
解开网站账号被盗之谜
任务二
让数据“隐身”
项目:
神秘密码之谜
1
活动1 设置安全密码
2
活动2 防范”盗窃“行为
1
活动1 古老的“隐身术”
2
活动2 揭秘“隐身术”
第一课时
第二课时
密码破解:
1、学生需破解—“神秘密码之谜”小程序方可开启今天的学习;
2、密码是由三个纯数字组成的;
3、同学们分组合作破解密码。
情境导入
分成10个小组,每组尝试的密码范围为:
第一小组:000~099 第六小组:500~599
第二小组:100~199 第七小组:600~699
第三小组:200~299 第八小组:700~799
第四小组:300~399 第九小组:800~899
第五小组:400~499 第十小组:900~999
请同学们小组合作完成本组密码尝试
(密码范围:000~999 )
(分小组合作破解密码)
活动1 设置安全密码
密码是指用来核对用户ID以验证用户就是本人的一组字符。
密码
提出问题:
1、同学们平时设置的密码是什么样的?
2、同学们设置的密码安全吗?
活动1 设置安全密码
体验活动1 “暴力破解”----纯数字
密码长度 密码值 破解时间
5位 12639 1.0毫秒
97025
7位 2674562
7830659
9位 432178906
512345678
测试破解一个5位、7位和9位的纯数字密码,分别需要多长时间,并填写到导学案中。
请同学们完成导学案中的课堂练习一
结论1:密码越长,破解时间越长
0秒15.149毫秒
0秒296.373毫秒
0秒884.234毫秒
50秒698.193毫秒
62秒890.004毫秒
活动1 设置安全密码
分析“暴力破解”----纯数字
因为每一位上都可以从0~9这10个数字中选一个值,
因此就是10*10*10*10*10=105=100000个密码组合。
5位随机纯数字的密码
00000
00001
00002
……
99999逐个尝试下去,
直到找到与密码相同的数时则停止
活动1 设置安全密码
自定义函数
activity1(self):
输入密码p
记录当前时间d1
序列中
是否有项
记录当前时间d2
Y
N
Y
列举出所有可能的密码组合
并 一一验证是否与密码相同
输出破解时间
取下一项赋值给i
i与p
是否相等
N
计算破解时间d
计算密码长度n
计算穷举最大范围b
自定义函数结束
流程图:
循环验证过程:
活动1 设置安全密码
流程图
#i从列表中依次取出所有可能密码组合
#如果密码相同
#获取当前系统时间d2
#取得时间差
算法核心代码
活动1 设置安全密码
总结“暴力破解”----基本思想
暴力破解的基本思想就是穷举,说白了就是“猜”,在一定的范围之内有序的分析、验证所有可能的密码组合,直到找到正确的密码为止。
“暴力破解”基本思想
活动1 设置安全密码
防御“暴力破解”
增加密码的长度,可以扩大列举的数目,延长程序的破解时间。
可是,对于每位用0到9的组合密码,每增加一位数据,列举数仅扩大到原来的10倍。
可行方案:
还有其他方法延长破解时间吗?
增加密码的长度
活动1 设置安全密码
体验活动2 “暴力破解”----数字+大写字母
测试对比:
四位纯数字破解时间
四位数字+大写字母破解时间
4位数字+大写字母 4位纯数字
密码 58FW 1278
破解时间
密码 9F94 9856
破解时间
请同学们完成导学案中的课堂练习二
0秒76.533毫秒 0.0毫秒
0秒95.912毫秒 1.041毫秒
活动1 设置安全密码
总结“暴力破解”----数字+大写字母
因此就是36*36*36*36=364 =1679616个密码组合
因为每一位上都可以从0~9和A~Z总共36种变化中选一个值
因为每一位上都可以从0~9这10个数字中选一个值,
因此就是10*10*10*10=104=10000个密码组合
4位数字+大写字母
4位纯数字
结论2:密码每位可选择的字符数越多,破解的时间越长
活动1 设置安全密码
分析“暴力破解”----数字+大写字母
4位数字与大写字母的组合密码
数字0~9
大写字母A~Z
d1=datetime.now()
r=list(range(48,58))+list(range(65,91))
for a in r:
for b in r:
for c in r:
for d in r:
s=chr(a)+chr(b)+chr(c)+chr(d)
if s==p:
d2=datetime.now()
对应的ASCII码: 48~57
对应的ASCII码: 65~90
活动1 设置安全密码
思考:延长破解时间?
数字+字母(大小写)+特殊字符共94个字符
活动1 设置安全密码
思考:延长破解时间?
数字+字母(大小写)+特殊字符对应的ASCII码:33~126
活动1 设置安全密码
实现“暴力破解”----超级密码
4位超级密码
d1=datetime.now()
r=
for a in r:
for b in r:
for c in r:
for d in r:
s=chr(a)+chr(b)+chr(c)+chr(d)
if s==p:
d2=datetime.now()
list(range(48,58))+list(range(65,91))
list(range(33,127))
活动1 设置安全密码
体验活动3“暴力破解”----超级密码
测试四位超级密码的破解时间
数字+字母+特殊字符
J@4q
数字+字母+特殊字符
3R8@!cn
数字+字母+特殊字符
HxA7Lj@9!
19*943
19*945
因为每一位上都可以从94种变化中选一个值
4位超级密码因此就是94*94*94*94=944个密码组合
密码每增加一位,破解的时间增加为原来的94倍
4位超级密码
19秒143毫秒
0.5年
4421年



活动1 设置安全密码
防御“暴力破解”
可行方案:
提高密码的复杂度
增加密码的长度
活动1 设置安全密码
创建安全密码的一般技巧1
防 “暴力破解”
1、密码长度最好8位以上,且长度越长越难被破解
2、尽量使用三种以上符号,如“字母+数字+特殊符号”
请同学们为自己的QQ账号设置一个安全密码
防范“盗窃”行为
同学们小组讨论、分析生活中遇到、听到的密码盗窃方式。
通过收集互联网已泄露的用户名和密码信息,生成对应字典,尝试批量登录其他网站,获取用户信息
利用人们习惯用人名、地名、生日、电话号码或常见的词语设置成密码的习惯进行破译
字典破解
撞库
不用生日、姓名及拼音缩写、手机号、身份证号、简单数字组合、单词等作为密码。
防盗措施
防盗措施
避免多个平台的账号设置同样或者相似的用户名和密码
活动1 设置安全密码
创建安全密码的一般技巧2
防 “字典破解”和“撞库”
1、避免使用电话号码、身份证号或生日等信息作为密码
2、避免使用整个用户ID或用户ID的部分作为密码
3、避免使用字典中能找到的词语或逆序的常用词语作为密码
4、避免多个平台的账号设置同样或者相似的用户名和密码
防范“盗窃”行为
同学们小组讨论、分析生活中遇到、听到的密码盗窃方式。
仿冒真实网站,欺骗消费者或者窃取访问者提交的账号和密码信息。
通过窥看用户的键盘输入,鼠标移动等方式来获取用户口令。
钓鱼网站
肩窥方式
防盗措施
防盗措施
不点击不明链接和不登录不安全的网站;不在不明网站上输入个人信息。
可以在输入密码时遮挡自己的操作过程,防止别人偷看密码信息;或者确定环境安全后再进行操作.
密码防盗其他手段
防止密码被盗----其他手段
防止密码被盗
1. 限制登录次数
2. 使用验证码
3. 对数据采取二次加密
4. 使用用户具有排他性的自然特征(如指纹、人脸等)
创建安全密码技巧1
暴力破解思想
课程小结
解开网站账号被盗之谜
让数据“隐身”
项目:
神秘密码之谜
认识密码
密码破解方式
解析密码
体验探究
“暴力破解”
类比推理
“超级密码”
暴力破解
字典破解
撞库
密码盗窃方式
钓鱼网站
肩窥方式
创建安全密码技巧2
课堂练习
王同学在申请微信账号时设置的密码哪个更安全( )
练习1
C.设置了一个8位的纯数字密码
B.用字母、数字和特殊字符组成的8位以上的密码
A.用生日作为密码方便好记
D.将密码与用户名设置成相同的
B
课堂练习
在信息社会中,密码成为保障我们财产安全的第一道枷锁,因此我们需要提高自身的防盗意识,以下说法正确的是:( )
练习2
C.在安全级别较高的区域内,处理个人敏感信息
B.绑定手机号码对账号进行认证
A.不点击、不回复、不打开不知情链接
D.以上说法都对
D
课堂练习
王同学喜欢在不同的社交网站进行登陆和注册,但他习惯于在不同的网站使用相同的用户名和密码,某天,他突然发现自己在哔哩哔哩和其他网站的账号都不能登陆了,这些网站使用了同样的用户名和密码,请问,王同学的密码最有可能遭遇了哪种盗窃方式( )
练习3
C.木马攻击
B.暴力破解
A.字典破解
D.撞库
D
寄语:
作为信息时代的学生,我们既要有一定的信息安全意识和能力,还要能够遵守信息法律法规、维护公共信息安全等。
谢谢您的观看!(共27张PPT)
加密与解密
(第2课时)
为保障数据安全,运营商还会采取如下措施:
1)限制登录次数
2)使用验证码
3)使用用户具有排他性的自然特征(如指纹、人脸等)
4)对数据采取二次加密
什么是加密?如何对数据进行加密呢?
01
导入新课
明文:ON SUNDAY
密文:RQ VXQGDB
任务二:让数据“隐身”
02
数据加密技术的发展
活动1 古老的“隐身术”
时间 加密方式
周朝 替换法。周朝兵书《六韬.龙韬》中记载,姜太公用兵做战多用阴符来表达不同的消息和指令,阴符是以八等长度的符来表达不同的消息和指令,但只能表述最关键的八种含义。阴书作为阴符的补充,运用了文字拆分法直接把一份文字拆成三份,由三种渠道发送到目标方手中。敌人只有同时截获三份内容才可能破解阴书上写的内容。
03
数据加密技术的发展
活动1 古老的“隐身术”
时间 加密方式
公元前 五世纪 移位法。在希罗多德(Herodotus)的《历史》中记载了公元前五世纪,希腊城邦和波斯帝国发生多次冲突和战争。这些战争中希腊城邦广泛使用了移位法进行加密处理战争通讯信息,使波斯帝国难以获得希腊城邦的军事情报,也就无法提前做军事部署。希腊城邦用来传输军事信息、命令的每段文字都有固定的字数,接密者手中会有一份文字移位说明。解密者拿到密文后,根据文字移位说明进行解密,从而破解其中的军事命令或消息。
03
数据加密技术的发展
活动1 古老的“隐身术”
时间 加密方式
古罗马 时期 《高卢战记》有描述恺撒曾经使用密码来传递信息,即所谓的“恺撒密码”,它是一种替代密码,通过将字母按顺序推后(或前移)起到加密作用。因据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。
第二次 世界大战 密码机。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。
03
加密与解密
活动1 古老的“隐身术” —— 加密与解密
将原始信息(数据)隐匿起来,使之在缺少特殊信息(数据)时不可读就是加密。
将密文还原成明文的过程称为解密(或解码)。
原始信息(数据)称为明文。
加密后的信息(数据)称为密文。
控制加密和解密的过程进行的是密钥。
04
活动1 古老的“隐身术” —— 加密与解密过程
04
加密解密过程
加密算法
ON SUNDAY
明文数据
密钥
RQ VXQGDB
密文数据
密钥
ON SUNDAY
明文数据
加密
解密
解密算法
Bob
Anna
活动2 揭秘“隐身术” —— 试一试
输入明文: ON SUNDAY
观察分析:“恺撒密码”的加密原理
体验“恺撒密码”
对应密文:

05
活动2 揭秘“隐身术” —— 分析恺撒密码加密原理
明文:ON SUNDAY 密文:RQ VXQGDB
明文字母 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z




D
G
Q
R
V
X
B
E
L
F
H
I
J
K
M
N
O
P
S
T
U
W
Y
Z
A
C
分析恺撒密码加密原理:
N
O
R
Q
S
V
U
X
D
G
A
D
Y


06
活动2 揭秘“隐身术” —— 分析恺撒密码加密原理
加密原理:
将明文中的每一个字母用字母表中该字母后的第3个字母替换。
1)若明文字母在“A”和“W”之间,则直接后移三位得到相应密文字母;
2)否则,如果明文字母在“X”和“Z”之间,则返回字母表的开头按顺序后移。
分析恺撒密码加密原理:
06
小写字母加密原理 非英文字母加密原理?
活动2 揭秘“隐身术” —— 分析恺撒密码加密原理
加密原理:
将明文中的每一个字母用字母表中该字母后的第3个字母替换。
1)若明文字母在“A”和“W”之间,则直接后移三位得到相应密文字母;
2)否则,如果明文字母在“X”和“Z”之间,则返回字母表的开头按顺序后移。
分析恺撒密码加密原理:
小写字母加密原理相同 ,同时恺撒密码只加密英文字母。
06
活动2 揭秘“隐身术” —— 补全算法流程图
自定义函数开始
CaesarCipher()
输入明文c
密文b置初值为空
循环实现对明文c中的每一位字符进行加密,并按顺序存放于密文b中
输出密文b
自定义函数结束
计数器i置初值为0
i≥明文长度
c[i]介于
' a '与' w '或
' A '与' W '之间
c[i]在字母表中后移三位,并连接到密文b后
c[i]后移三位,超出字母表,返回表头按顺序查找,并连接到密文b后
c[i]介于
' x '与' z '或
' X '与' Z '之间
计数器i=i+1
密文与明文相同






设计恺撒密码加密算法:
循环加密过程
06
活动2 揭秘“隐身术” —— 设计恺撒密码加密算法
c[i]在字母表中后移三位
字母不能直接加3,进行算术运算,因此,要先将字母转换成数字。
计算机中每一个字母根据ASCII码都可以转换成一个数字。
ord() 和 chr() 转换函数
例如:
A可以转换成数字65,后移3位,即加3得到数字68,数字68再转换成字母D。
chr(ord( )+3)
连接到密文b后
b+chr(ord(c[i])+3)
b =
c[i]后移三位,超出字母表,返回表头按顺序查找
先用ord(c[i])+3,实现后移三位,再减26,还原到26位字母的开头,按顺序找到相应字母的ASCII。
ord(c[i])+3-26 即 ord(c[i])-23
最后用chr()将数字转换成相应的加密字母:
ord(c[i])-23
连接到密文b后
b=b+chr(ord(c[i])-23)
c[i]在字母表中后移三位,并连接到密文b后
c[i]后移三位,超出字母表,返回表头按顺序查找,并连接到密文b后
c[i]
' A '
chr( )
06
活动2 揭秘“隐身术” —— 补全算法流程图
自定义函数开始
CaesarCipher()
输入明文c
密文b置初值为空
循环实现对明文c中的每一位字符进行加密,并按顺序存放于密文b中
输出密文b
自定义函数结束
计数器i置初值为0
i≥明文长度
c[i]介于
' a '与' w '或
' A '与' W '之间
c[i]介于
' x '与' z '或
' X '与' Z '之间
计数器i=i+1
密文与明文相同






设计恺撒密码加密算法:
循环加密过程
c[i]在字母表中后移三位,并连接到密文b后
b=b+chr(ord(c[i])+3)
c[i]后移三位,超出字母表,返回表头按顺序查找,并连接到密文b后
b=b+chr(ord(c[i])-23)
06
活动2 揭秘“隐身术”—— 部分核心算法代码
def CaesarCipher(): #“加密”按钮激发函数
c = mingwen.get("0.0", "end") #获取mingwen对象的内容(明文)
b = "" #密文b置初值为空
miwen.delete("0.0", "end") #清空miwen对象的内容
for i in range(len(c)): #获取明文内容的每一个字符,并加密
if 'a' <= c[i] <= 'w' or 'A' <= c[i] <= 'W' : #判断a~w或A~W间的字母
b = b+chr(ord(c[i])+3) #生成密文
elif 'x' <= c[i] <= 'z' or 'X' <= c[i] <= 'Z' : #判断x~z或X~Z间的字母
b = b+chr(ord(c[i])-23) #生成密文
else:
b = b+c[i] #字母以外的明文不变
miwen.insert(" 0.0 ",b) #在miwen对象中显示结果
mingwen
miwen
分析“恺撒密码”(有界面)程序部分核心算法代码:
06
活动2 揭秘“隐身术” —— 分析恺撒密码加密算法
加法密码
在加法密码算法中,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。
加密算法操作中的一组数字被称之为密钥。比如,恺撒密码的密钥为3,像这种加密和解密使用同一个密钥,被称为对称加密体制。
又被称为移位密码。
06
恺撒密码解密
明文c a~w A~W x~z X~Z 其他
密文b d~z D~Z a~c A~C 不变
规律
公式
明文c a~w A~W x~z X~Z 不变
密文b d~z D~Z a~c A~C 其他
规律
公式
加密
解密是加密的逆运算
活动2 揭秘“隐身术”—— 恺撒密码解密
解密
ASCII码+3
ASCII码+3
ASCII码-23
ASCII码-23
不变
'a'<=c[i]<='w' or 'A'<=c[i]<='W'
'x'<=c[i]<='z' or 'X'<=c[i]<='Z'
chr(ord(c[i])+3)
chr(ord(c[i])-23)
c[i]
ASCII码-3
ASCII码-3
ASCII码+23
ASCII码+23
不变
'd'<=b[i]<='z' or 'D'<=b[i]<='Z'
'a'<=b[i]<='c' or 'A'<=b[i]<='C'
chr(ord(b[i])-3)
chr(ord(b[i])+23)
b[i]
06
活动2 揭秘“隐身术” —— 完善恺撒密码解密算法代码
06
恺撒密码安全性能如何?
可以说,保密性能极差,很容易被解密。就算将明文字符前移或后移一个固定的长度d(称为密钥)发生变化,也最多只需25次尝试d的值,就能破解。
活动2 揭秘“隐身术”—— 想一想
想一想
06
一种可行的改进方式是,建立一个明文字符与密文字符之间的一一映射表,即“密表”。如:
活动2 揭秘“隐身术”—— 恺撒密码改进
明文:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文:QWERTYUIOPASDFGHJKLZXCVBNM
加密时,A→Q,B→W,…;解密时Q→A,W→B,…。其小写字母对应法则也相同,即a→q,b→w,…。这样保密性能大大提升,破解难度大大增加。另外,这个“密表”也可以按需要改变。
06
活动2 揭秘“隐身术”——密码二次加密
06
利用恺撒密码的改进算法,对94个字符的组合密码,进行二次加密,这样就能更大限度的保障我们帐户和密码的安全了。
DES加密算法,
RC4加密算法,
IDEA加密算法等。
感兴趣的同学们,可以通过网络自行搜索了解。
密码二次加密
常见加密算法:
信息安全责任
要善于网上学习,不浏览不良信息。
要诚实友好交流,不辱骂欺诈他人。
要增强自我保护意识,不随意约会网友。
要维护网络安全,不破坏网络秩序。
要有益身心健康,不沉溺虚拟时空。
要树立良好榜样,不违反行为准则。
自觉遵守“全国青少年网络文明公约”:
07
课堂小结
08
谢谢
课堂练习
加密和解密本质上是对数据进行的某种交换,控制加密和解密过程进行的是( )
A
密钥
B
明文
密文
信息
C
D
A
09
课堂练习
为保证信息安全,信息需要加密传输,其原理如下所示。
现将10个数字按图示排成一圈,并设置一种信息加密规则——加密钥匙为“n&3”, “n&3” 表示把明文n换成图中从它开始顺时针跳过3个数字后的那个数字,例如明文是5时,它对应的密文是9.若收到的密文是6452,那么通过解密,它对应的明文是( )
A
2017
B
2018
3219
3216
C
D
B
2
0
1
8
密文:6 4 5 2
明文: