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