3.4 加密与解密 课件(共19张PPT)

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

3.4 加密与解密 课件(共19张PPT)

资源简介

(共19张PPT)
3.4加密与解密
导入
数据应用既为我们带来便利,同时也存在许多安全隐患,如未经许可数据被复制、篡改、暴露或破坏。因此,在数据传输、交换、存储、处理的过程中,我们必须采取相应的策略,进行数据保护。
如设置密码和验证码、对数据加密、验证数据完整性、安装防火墙及安全软件、对数据进行备份等,确保信息的完整、可用、保密和可靠。在本节中,我们将了解如何使用密码保护数据。
学习目标
★理解数据加密和解密的概念及原理。
★了解数据加密的历史。
★会用Python实现简单的加密算法。
★会分析生活中由密码引起的数据安全问题,理解对数据进行保护的意义。
任务一?解开网站账号被盗之谜
数据聚集和共享为人们充分应用数据创造便捷的生活提供了条件,但在享受数据带来的便利的同时,也伴随着数据安全问题。本节我们将围绕“神秘密码之谜”项目展开学习,通过项目活动,学习数据加密和解密的知识,树立保护数据安全的意识。
本项目主要包含“解开网站账号被盗之谜”和“让数据‘隐身’”两个任务。
※活动1防范“盗窃”行为
不少人有密码被盗的经历,这往往会导致个人信息泄露,甚至是财产损失。你是否有使用账号、密码的经验?请你与同学交流。
密码
密码是指用来核对用户ID以验证用户就是本人的一组字符。
具体实验结果会根据计算机性能不同而有所不同。
想一想,如果密码还有字母,破解的时间会变长吗?
def
jiemi():
d1=datetime.datetime.now()
#获取当前系统时间d1
p=int(varin.get())
#获取输入文本框的数字密码
for
i
in
range(p+1):
#从0循环到正确密码数值
if
i==p:
#如果密码相同
d2=datetime.datetime.now()
#获取当前系统时间d2
d=d2-d1
#取得时间差
#在输出文本框中显示解密用时
varout.set(str(d.seconds)+"秒"+str(d.microseconds/1000)+"毫秒")
varin和varout是程序中的两个文本框对象,分别用来接收输入的密码和显示解密所需时间。
get和set是文本框的两个方法,分别用于接收文本框中的数据和在文本框中显示输出数据。
创建安全密码的一般技巧
使用长度不少于8个字符的密码。密码长度越长越不容易被破解。在可能的情况下,尽量使用字母、数字和特殊字符(
如$、#)相结合的密码。
不要使用电话号码、身份证号码或生日等信息作为密码。不要使用整个用户ID或用户ID的一部分作为密码。
不要使用字典中能找到的词语作为密码,即使是字母次序颠倒过来的常用词语也不可以。
加密
自古以来,在管理国家、指挥战斗或是经济来往中,都需要高效、安全的数据通信系统。古人就已会用很多办法将数据伪装起来,使得只有联络好的数据接收者才能读懂。比如,将数据刻在木板上,然后再覆上一层蜡,使其成为一个看上去很普通的刻写板;使用一套尺寸不等、形状各异的“阴符”,每支符都表示特定的含义等。这些都是数据的加密。
加密就是将原始信息(数据)隐匿起来,使之在缺少特殊信息(数据)时不可读。原始信息(数据)称为明文,加密后的信息(数据)称为密文。将密文还原成明文的过程称为解密(
或解码)。
※活动2揭秘“隐身术”
恺撒在征服高卢、袭击日耳曼和不列颠的多次战斗中频繁使用加密技术。苏托尼厄斯在公元2世纪写的《恺撒传》中对恺撒用过的一种加密技术进行了详细的介绍。恺撒只是简单地将明文中的每一个字母用字母表中该字母后的第3个字母替换。例如,将明文中的a用d替换,b用e替换,....
z用c替换,这就是恺撒密码。
def
CaesarCipher():
#“加密”按钮激发函数
c=mingwen.get("0.0",
"end")[:-1]
#获取mingwen对象的内容(明文)
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是两个文本框对象,用于接收待加密的文本和显示加密后的密文。
get方法用于接收文本框中的数据,delete方法用于删除文本框中的内容,
insert方法用于将数据插入文本框内。
加密算法操作中的一组数字被称为密钥。
比如,恺撒密码的密钥为3,加密和解密使用同一个密钥,被称为对称加密体制。
加法密码
加法密码又被称为移位密码。在加法密码算法中,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,
B变成E,以此类推,X将变成A,Y变成B,
Z变成C。
恺撒密码作为一种最为古老的对称加密体制,在古罗马的时候已经很流行,它是加法密码的典型代表。
用Python语言实现加密算法时,明文和密文都被抽象为字符串类型的数据Python中的字符串由一串字符组成,用引号引起来表示,比如“abCEd”。类似于列表的操作,我们可以指向或操作字符串中的某一个字符,比如c[0]表示字符串中的第一个字符。
我们还可以用Python系统函数对数据进行特定的操作,
len函数可以获取字符串中字符的个数
ord函数可以将字符类型的参数转换为对应的整数值,
chr函数可以将整数类型的参数转换为对应的字符。
了解密码安全与加密、解密的技术能够帮助我们保护个人隐私。同时,我们也要从自己做起,遵守相关法律和必要的道德规范,共同维护健康、良好的数据环境。
拓展知识
当今数字时代,数据已经广泛应用于国家安全、公共治理、企业发展、民生改善等诸多领域,大大提高了人们工作、生活的便利程度,但各种数据也存在安全风险。为此,国家出台多部法律,大力实施数据保护,维护国家安全和网络秩序,保障社会、公民利益,促进经济社会信息化健康发展。
如2017年6月1日起施行的《中华人民共和国网络安全法》,明确要求网络运营者应当按照网络安全等级保护制度的要求,履行安全保护义务,保障网络免受干扰、破坏或者未经授权的访问,防止网络数据泄露或者被窃取、篡改。
《中华人民共和国刑法》第二百八十五条至第二百八十七条,对非法侵入计算机信息系统,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,利用计算机实施金融诈骗、盗窃、贪污、挪用公款、窃取国家秘密等行为进行了量刑定罪。
单元学习评价
10110100
(2)
=
(
)(10)
3D(16)
=
(
)(10)
255(10)
=
(
)(16)
100(10)
=
(
)(2)
E2(16)
=
(
)(2)
11100101(2)
=
(
)(16)
180
61
FF
1100100
11100010
E5
总结
任意R进制数(
R为大于等于2且不等于10的正整数,下同)转换为十进制数时,都可采用
方法。十进制数转换为R进制数时,都可采用
方法。
一段时长为1分钟,采样频率为44.1kHz,量化位数为16位,双声道立体声的无压缩音频(如基于PCM编码的wav格式),占用的存储空间是
MB
(精确到0.1
)。
基数权重展开法
除R取余法
10.1
解析:采样频率44.1kHz,量化位数16位,意味着每秒采集数据44.1k个,每个数据占2字节,(量化位数是16位,按照计算机术语来看,1位指的是一个二进制位,就是1bit,8bit是一字节,那么16位就是2字节)这是一个声道的数据,双声道再乘以2,最后结果再乘以60秒,就是44.1×1000×2×2×60=10584000字节,
1MB=1024×1024=1048576字节,所以一分钟的存储容量为10584000/1048576=10.09MB,约为10.1MB。
3.
人、狼、羊、菜过河问题:有一个人带着一只狼、一只羊和一捆白菜,来到一条河边,河边只有一条小船,人每次过河最多只能带一样,
如果人不在现场,狼就要吃羊,羊就要吃菜。他应该怎样安排过河呢?请完成下面的“树”结构分析图,帮他找到可行的过河方案。
提示:可约定对象在左岸用0表示,在右岸用1表示。

展开更多......

收起↑

资源预览