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

文档属性

名称 3.4加密与解密课件-2021-2022学年高一信息技术教科版(2019)必修1(17张PPT)
格式 pptx
文件大小 2.8MB
资源类型 教案
版本资源 教科版(2019)
科目 信息技术(信息科技)
更新时间 2022-04-14 12:45:48

图片预览

文档简介

(共17张PPT)
3.4 加密与解密
EDUCATION
导 入
01任务一
解开网站账号被盗之谜
活动一、防范“盗窃行为”
不少人有密码被盗的经历,这往往会导致个人信息泄露,甚至是财产损失。你是否有使用账号、密码的经验 请你与同学交流、讨论并上网搜索填写表格。
盗窃方式 防盗措施
肩窥方式 我们可以在输入密码时遮挡自己的操作过程,防止别人偷看密码信息;或者确定环境安全后再进行操作
字典破解 密码不要用生日,姓名及拼音缩写,手机号、简单数字组合,单词、身份证号,用户ID等。
暴力破解 密码同时包含大小写字母、数字、特殊符号,不少于8位
肩窥攻击是指通过窥看用户的键盘输入,鼠标移动等方式来获取用户口令。
字典破译是利用人们习惯用人名、地名或者常见的词语设置成密码的习惯进行破译,有好的字典是关键。
暴力破解是一个一个的尝试。
活动二、设置安全密码
请你打开“数据安全性测试. py”,运行并测试以下数字密码,分别需要多长时间,然后填写下表。
密码长度 密码值 破解时间
5位 12567 1.0ms
98302 1.0ms
7位 1234567 62.507ms
9784302 406.607ms
9位 123456789 5s404.835ms
321809456 14s441.882ms
具体结果会因计算机性能不同而有所不同
活动二、设置安全密码
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)+"毫秒")
Varin.get()
Varout.set()(
varin和varout是程序中的两个文本框对象,分别用来接收输入的密码和显示解析密码所需时间。
get和set是文本框的两个方法,分别用于接收文本框中的数据和在文本框中显示输出数据。
使用长度不少于8位字符的密码。密码长度越长越不容易被破解。
密码长度
多种符号组合
在可能的情况下,尽量使用字母、数字、特殊字符(例@、¥、#、%)相结合的密码。
不要用
包含个人信息(电话号码、身份证号、等);
包含用户ID;
包含字典中的词语,字母次序颠倒的常用词语。
创建安全密码的一般技巧
1
2
3
4
限制登录次数
使用验证码
使用用户具有排他性的自然特征(如指纹、人脸等)
限对数据进行二次加密
防止密码被盗的其他手段
什么是加密?如何对数据进行加密呢?
02 任务二
让数据“隐身”
1
2
3
数据加密发展历史
683年——拆字法
将明文中的文字进行组合生成新的字,即为密文,比如“十二月”合起来为“青”。
北宋——代码法
北宋进士曾公亮曾搜集了40个常用军事短语,然后对其进行顺序编码:一、请弓;二、请箭;三、请刀;四、请甲;五、请枪旗;六、请锅幕;七、请马;八、请衣赐;九、请粮料……四十、战小胜。军队出征前,指挥机关将用上述短语编码的密码本发给将领,并约定用一首不含重复文字的40字五言律诗与密码相对应。
公元前五世纪——移位法
希罗多德的《历史》中记载了公元前五世纪,希腊城邦和波斯帝国发生多次冲突和战争。这些战争中希腊城邦中广泛使用了移位法进行加密处理战争通讯信息,使波斯帝国难以获得希腊城邦的军事情报,也就无法提前做军事部署。希腊城邦用来传输军事信息、命令的每段文字都有固定的字数,解密者手中会有一份文字移位说明.解密者拿到密文后,根据文字移位说明进行解密,从而破解其中的军事命令或消息
古罗马时期——“恺撒密码”
所谓的“恺撒密码”,它是一种替代密码,通过将字母按顺序推后起3位起到加密作用,如将字母A换作字母D,将字母B换作字母E。
第二次世界大战——“密码机”
密码机。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用
活动一、古老的“隐身术“
4
5
1
2
密匙
密文
加密后的信息(数据)
明文
原始信息(数据)
活动一、古老的“隐身术“
密匙
加 密
解 密
将原始信息(数据)隐匿起来,使之在缺少特殊信息时不可读
将密文还原成明文的过程
控制加密与解密过程的进行,加密算法操作中的一组数字
01
明文中所有字母在字母表上向后(或向前)按照固定数目进行偏移后被替换成密文。例如:偏移量为3,A被替换成D,B变成E,X变成A,Y变成B
04
Len函数:获取字符串字符的个数。
02
用python实现加密算法,明文密文被抽象成字符串类型数据。
05
Ord函数:将字符转换成数值(ASCII码) 。
03
字符串用引号引起来,例如“125”;c[0]表示第一个字符
06
Chr函数:将数值(ASCII码)转换成字符
加法密码(移位密码)
02
活动二、揭秘“隐身术“
“恺撒密码”:将明文中的每一个字母用字母表的该字母后的第三个字母替换,例:a->d,b->e,…z->c
在python中常用ASCII码来对字符进行编码存储。
a~w
d~z
A~W
x~z
D~Z
a~c
X~Z
A~C
规律: ASCII码+3 ASCII码+3 ASCII码-23 ASCII码-23
公式 : a<=字母<=w OR A<=字母<=W x<=字母<=z OR X<=字母<=Z
公式 : chr(ord(c[i])+3) chr(ord(c[i])-23)
02
活动二、揭秘“隐身术“
自定义函数开始CaesarCipher()
输入明文c
密文b置初值为空
计数器i置初值为0
i≥明文长度
c[i]介于’a’与’w’或’A’与’W’之间
‘x’≤c[i] ≤ ‘z’或‘X’≤c[i] ≤ ‘Z’
b=b+chr(ord(c[i])+3)
b=b+chr(ord(c[i])-23)
密文与明文相同
计算器i=i+1
输出密文b
自定义函数结束






活动二、揭秘“隐身术“
感 谢 观 看
EDUCATION