资源简介 (共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毫秒970257位 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位随机纯数字的密码000000000100002……99999逐个尝试下去,直到找到与密码相同的数时则停止活动1 设置安全密码自定义函数activity1(self):输入密码p记录当前时间d1序列中是否有项记录当前时间d2YNY列举出所有可能的密码组合并 一一验证是否与密码相同输出破解时间取下一项赋值给ii与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~Zd1=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*94319*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课堂练习王同学在申请微信账号时设置的密码哪个更安全( )练习1C.设置了一个8位的纯数字密码B.用字母、数字和特殊字符组成的8位以上的密码A.用生日作为密码方便好记D.将密码与用户名设置成相同的B课堂练习在信息社会中,密码成为保障我们财产安全的第一道枷锁,因此我们需要提高自身的防盗意识,以下说法正确的是:( )练习2C.在安全级别较高的区域内,处理个人敏感信息B.绑定手机号码对账号进行认证A.不点击、不回复、不打开不知情链接D.以上说法都对D课堂练习王同学喜欢在不同的社交网站进行登陆和注册,但他习惯于在不同的网站使用相同的用户名和密码,某天,他突然发现自己在哔哩哔哩和其他网站的账号都不能登陆了,这些网站使用了同样的用户名和密码,请问,王同学的密码最有可能遭遇了哪种盗窃方式( )练习3C.木马攻击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明文数据加密解密解密算法BobAnna活动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密文字母DGQRVXBELFHIJKMNOPSTUWYZAC分析恺撒密码加密原理:NORQSVUXDGADY??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置初值为0i≥明文长度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置初值为0i≥明文长度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对象中显示结果mingwenmiwen分析“恺撒密码”(有界面)程序部分核心算法代码: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码+3ASCII码+3ASCII码-23ASCII码-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码-3ASCII码-3ASCII码+23ASCII码+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明文密文信息CDA09课堂练习为保证信息安全,信息需要加密传输,其原理如下所示。现将10个数字按图示排成一圈,并设置一种信息加密规则——加密钥匙为“n&3”, “n&3” 表示把明文n换成图中从它开始顺时针跳过3个数字后的那个数字,例如明文是5时,它对应的密文是9.若收到的密文是6452,那么通过解密,它对应的明文是( )A2017B201832193216CDB2018密文:6 4 5 2明文: 展开更多...... 收起↑ 资源列表 3.4_加密与解密--第一课时.pptx 3.4加密与解密_(第2课时).pptx