资源简介 (共16张PPT)3.4加密与解密《数据与计算》必修一第二课时汇报人:这是一组四角密码对照规则进行翻译后发现“代码”意思为:“信任与爱就是我对你永远的态度”。一、数据加密的历史PART 1时间 加密方式683年 拆字法。将明文中的文字进行组合生成新的字,即为密文,比如“十二月”合起来为“青”北宋 代码法。北宋进士曾公亮曾搜集了40个常用军事短语,然后对其进行顺序编码:一、请弓;二、请箭;三、请刀;四、请甲;五、请枪旗;六、请锅幕;七、请马;八、请衣赐;九、请粮料……四十、战小胜。军队出征前,指挥机关将用上述短语编码的密码本发给将领,并约定用一首不含重复文字的40字五言律诗与密码相对应公元前五世纪 移位法。希罗多德(Herodotus)的《历史》中记载了公元前五世纪,希腊城邦和波斯帝国发生多次冲突和战争。这些战争中希腊城邦中广泛使用了移位法进行加密处理战争通讯信息,使波斯帝国难以获得希腊城邦的军事情报,也就无法提前做军事部署。希腊城邦用来传输军事信息、命令的每段文字都有固定的字数,解密者手中会有一份文字移位说明。解密者拿到密文后,根据文字移位说明进行解密,从而破解其中的军事命令或消息古罗马时期 《高卢战记》有描述恺撒曾经使用密码来传递信息,即所谓的“恺撒密码”,它是一种替代密码,通过将字母按顺序推后起3位起到加密作用,如将字母A换作字母D,将字母B换作字母E。因据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码第二次世界大战 密码机。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用表3.4.3 数据加密技术的发展二、加密与解密PART 2明文:原始信息(数据)密文:加密后的信息(数据)二、加密与解密PART 2加密就是将原始信息(数据)隐匿起来,使之在缺少特殊信息(数据)时不可读。解密就是将密文还原成明文的过程称为解密(或解码)。想一想:明文:I LOVE YOU 加密后L ORYH BRX(密文),秘钥是?【活动2】 揭秘“隐身术”——凯撒密码的加密明文字母表 Z 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密文字母表 C D E F G H I J K L M N O P Q R S T U V W X Y Z A B明文字母表 Z 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密文字母表 C D E F G H I J K L M N O P Q R S T U V W X Y Z A B恺撒密码加密算法,尝试补全流程图(凯撒密码加密过程.fld)学生实践一:加密过程明文c a~w A~W x~z X~Z 其他密文b d~z D~Z a~c A~C 不变规律 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])-26+3) c[i]加密过程公式 '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])-26+3) c[i]ord():字符转换成对应存储编码的函数。例如:ord(‘A’) 编码值为65。chr():编码值转换对应字符的函数。例如:chr(65)对应字符‘A’。学生实践二:解密过程 ,打开学案,找出解密规律并“补全公式”密文b d~z D~Z a~c A~C 其他明文c a~w A~W x~z X~Z 不变规律 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]【试一试】请写出恺撒密码的解密算法。(详见配套资源“恺撒密码(加密无界面).py”)c=input("请输入密文:")b=""for i in range(0,len(c)): #获取密文内容的每一个字母,并破解if 'a'<=c[i]<='w' or 'A'<=c[i]<='W': #判断d-z或D-Z间的字母b=b+chr(ord(c[i])+3) #破解密文elif 'x'<=c[i]<='z' or 'X'<=c[i]<='Z': #判断a-c或A-C间的字母b=b+chr(ord(c[i])-26+3) #破解密文else:b=b+c[i] #字母以外的密文不变print("你的明文为:"+b)【试一试】请写出恺撒密码的解密算法。(详见配套资源“恺撒密码(解密无界面).py”)c=input("请输入密文:")b=""for i in range(0,len(c)): #获取密文内容的每一个字母,并破解if 'd'<=c[i]<='z' or 'D'<=c[i]<='Z': #判断d-z或D-Z间的字母b=b+chr(ord(c[i])-3) #破解密文elif 'a'<=c[i]<='c' or 'A'<=c[i]<='C': #判断a-c或A-C间的字母b=b+chr(ord(c[i])+23) #破解密文else:b=b+c[i] #字母以外的密文不变print("你的明文为:"+b)【想一想】恺撒密码的安全性能如何?可以说,保密性能极差。将明文字符前移或后移一个固定的长度d(称为密钥),即使改变d的值,也最多只需25次尝试d的值,就能破解。小结1.数据类型(字符串、字符),字符与ASCII码,函数ord()与chr(),循环语句,分支语句,条件(逻辑)表达式2.加密与解密的过程,核心是秘钥。3.相关法律国家已经出台多部法律,大力实施数据保护,维护国家安全和网络秩序。2017年6月1日起施行的《中华人民共和国网络安全法》,明确要求网络运营者应当按照网络安全等级保护制度的要求,履行安全保护义务,保障网络免受干扰、破坏或者未经授权的访问,防止网络数据泄露或者被篡改,窃取。《中华人民共和国刑法》第二百八十五条至第二百八十七条,对非法侵入计算机系统,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,利用计算机实施金融诈骗、盗窃、贪污、挪用公款、窃取国家秘密等行为进行了量刑定罪。【作业】恺撒密码的安全性如何?你能提出一种改进方案吗?THANKSPersonal business report 展开更多...... 收起↑ 资源预览