资源简介 (共29张PPT)引入:玩过密室逃脱游戏吗?密码3.4加密与解密第三单元 认识数据——神秘密码之谜学习目标理解数据加密和解密的概念及原理。了解数据加密的历史。会分析生活中由密码引起的数据安全问题, 理解对数据进行保护的意义。会用Python实现简单的加密算法。解开网站账号被盗之谜PART 01 解 密数据应用既为我们带来了便利,同时也存在许多安全隐患,如未经许可数据被复制、篡改或破坏。不少人有密码被盗的经历, 这往往会导致个人信息泄露, 甚至是财产损失。你是否有使用账号、密码的经验?活动一:防范 “盗窃” 行为肩窥方式暴力破解密码盗窃方式字典破解1.肩窥方式肩窥方式:使用直接的观察技术,越过某人的肩膀来偷看密码。防盗窃措施:我们可以在输入密码时遮挡自己的操作过程,防止别人偷看密码信息,或者确定环境安全后再进行操作。2.字典破解字典破解:是利用人们习惯用人名、地名或者常见的词语设置成密码的习惯进行破译。防盗窃措施:密码不要用生日,姓名及拼音缩写,手机号、简单数字组合,单词、身份证号,用户ID等。1.个人信息:人们在设置密码的时候,往往为了便于记忆,密码的内容和组合会与个人信息有关,比如常见的密码组合“名字+生日”。2.弱密码:比如常见的“123456”,“000000”等等3.社会信息:比如常见的QQ号、车牌号、门牌号等等黑客的密码本2.字典破解ちつえおこあなにきのうさいくぬ举例:破解电报あ(日) い(拉) う(前) え(将) お(于)か(加) き(飞) く(包) け(计) こ(明)さ(往) し(之) す(寸) せ(世) そ(曾)た(太) ち(山) つ(本) て(天) と(止)な(乘) に(坐) ぬ(尔) ね(你) の(机)………………密码本2.字典破解あ(日) い(拉) う(前) え(将) お(于)か(加) き(飞) く(包) け(计) こ(明)さ(往) し(之) す(寸) せ(世) そ(曾)た(太) ち(山) つ(本) て(天) と(止)な(乘) に(坐) ぬ(尔) ね(你) の(机)………………密码本ち つ え お こあ な に き のう さ い く ぬ山 本 将 于 明日 乘 坐 飞 机前 往 拉 包 尔ちつえおこあなにきのうさいくぬ3.暴力破解暴力破解:暴力破解的基本思想就是穷举,说白了就是“猜”,在一定的范围之内有序的分析、验证所有可能的密码组合,直到找到正确的密码为止。防盗窃措施:1.密码不少于8位。2.密码同时包含大小写字母、数字、特殊符号等。2.加密与解密原始信息(数据)称为明文,加密后的信息(数据)称为密文。将密文还原成明文的过程称为解密(或解码)。1.密码:是指用来核对用户ID以验证用户就是本人的一组字符。控制加密和解密的过程进行的是密钥。活动二:设置安全密码加密就是将原始信息(数据)隐匿起来,使之在缺少特殊信息(数据)时不可读。加密算法ON SUNDAY明文数据密钥RQ VXQGDB密文数据密钥ON SUNDAY明文数据加密解密解密算法加密解密过程数据安全性测试密码长度 密码值 破解时间5位 12567983027位 123456797843029位 123456789321809456运行程序“数据安全性测试.py”,运行并测试穷举搜索一个5位、 7位和9位的数字密码,分别需要多长时间, 然后填写下表。1.0毫秒15.6毫秒79.922毫秒425.524毫秒8秒939.25毫秒12秒544.216毫秒超级密码什么是超级密码?同时包含数字、大小写英文字母和键盘特殊字符(不含空格共有32个键盘特殊字符)在内的密码,每个字符的ASCII码值在33至126之间。把由这些字符组成的密码姑且称为“超级密码”。数据安全是一个极其重要的话题。只有深入了解密码破解的难易程度,学生才能深刻认识密码设置的重要性和安全性。密码值 破解用时 超级密码(字符串).py 超级密码(列表).py!876 151.009毫秒 0秒98.006毫秒AbY5 13秒860.793毫秒 7秒9.401毫秒Z$*m 24秒170.383毫秒 12秒231.7毫秒z)0< 39秒539.261毫秒 19秒39.089毫秒~ x= 39秒539.26毫秒 19秒946.14毫秒注:表中测试数据是笔者使用的电脑测试所得,电脑配置不同,测试数据会有不同。创建安全密码的一般技巧使用长度不少于8位字符的密码。密码长度越长越不容易被破解。密码长度在可能的情况下,尽量使用字母、数字、特殊字符(例@、¥、#、%)相结合的密码。多种符号组合1.不要使用电话号码、身份证号码或生日等信息作为密码;2.不要使用整个用户ID或用户ID的一部分作为密码;3.不要使用字典中能找到的词语作为密码,即使是字母次序颠倒过来的常用词语也不可以。不要用防止密码被盗其他手段防止密码被盗1. 限制登录尝试次数2. 使用验证码4.对数据采取二次加密3. 使用用户具有排他性的自然特征(如指纹、人脸等)作为身份验证依据让数据“隐身”PART 02 加 密古老的“隐身术”自古以来,在管理国家、战争或经济往来中,都需要高效安全的通信方式。我们比较熟知的是近代发明的摩斯密码。但是,在古代我们是如何给数据穿上隐身符的呢?周朝兵书《六韬.龙韬》中记载,姜太公用兵做战多用阴符来表达不同的消息和指令,阴符是以八等长度的符来表达不同的消息和指令,但只能表述最关键的八种含义。阴书作为阴符的补充,运用了文字拆分法直接把一份文字拆成三份,由三种渠道发送到目标方手中。敌人只有同时截获三份内容才可能破解阴书上写的内容。古老的“隐身术”古老的“隐身术”——阴符在古代,人们是怎样秘密传送数据的呢?公元683年:拆字法。将明文中的文字进行组合生成新的字,即为密文。比如十二月合起来为“青”。北宋:代码法。北宋进士曾公亮曾搜集了40个常用军事短语,然后对其进行顺序编码:一、请弓; 二、请箭; 三、请刀; 四、请甲; 五、请枪旗; 六、请锅幕; 七、请马; 八、请衣赐;九、请粮料…… 四十、战小胜。军队出征前,指挥机关将用上述短语编码的密码本发给将领,并约定用一首不含重复文字的40字五言律诗与密码相对应。周朝:替换法。周朝兵书《六韬.龙韬》中记载,姜太公用兵做战多用阴符来表达不同的消息和指令,阴符是以八等长度的符来表达不同的消息和指令,但只能表述最关键的八种含义。阴书作为阴符的补充,运用了文字拆分法直接把一份文字拆成三份,由三种渠道发送到目标方手中。敌人只有同时截获三份内容才可能破解阴书上写的内容。古老的“隐身术”公元前五世纪:移位法。希罗多德(Herodotus)的《历史》中记载了公元前五世纪,希腊城邦和波斯帝国发生多次冲突和战争。这些战争中希腊城邦中广泛使用了移位法进行加密处理战争通讯信息,使波斯帝国难以获得希腊城邦的军事情报,也就无法提前做军事部署。希腊城邦用来传输军事信息、命令的每段文字都有固定的字数,解密者手中会有一份文字移位说明。解密者拿到密文后,根据文字移位说明进行解密,从而破解其中的军事命令或消息。古罗马时期: 恺撒密码 。《高卢战记》有描述恺撒曾经使用密码来传递信息,即所谓的“恺撒密码”,通过将字母按顺序推后起3位起到加密作用,如将字母A换作字母D,将字母B换作字母E。因据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。第二次世界大战:密码机。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。古老的“隐身术”体验“恺撒密码”输入明文: ON SUNDAY观察分析:“恺撒密码”的加密原理对应密文:?明文:ON SUNDAY明文 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密文DGQRVXBELFHIJKMNOPSTUWYZACNORQSVUXDGADY??加密原理:将明文中的每一个字母用字母表中该字母后的第3个字母替换。1)若明文字母在“A”和“W”之间,则直接后移三位得到相应密文字母;2)否则,如果明文字母在“X”和“Z”之间,则返回字母表的开头按顺序后移。小写字母加密原理相同 ,同时恺撒密码只加密英文字母。密文:RQ VXQGDBB体验“恺撒密码”加法密码加法密码又被称为移位密码。在加法密码算法中,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如:当偏移量为3的时候,所有的字母A将被替换成D,B变成E,依此类推。加密算法操作中的一组数字被称之为密钥。比如,恺撒密码的密钥为3,像这种加密和解密使用同一个密钥,被称为对称加密体制。恺撒密码安全性能如何?可以说,保密性能极差,很容易被解密。就算将明文字符前移或后移一个固定的长度d(称为密钥)发生变化,也最多只需25次尝试d的值,就能破解。一种可行的改进方式是,建立一个明文字符与密文字符之间的一一映射表,即“密表”。如:加密时,A→Q,B→W … … 解密时Q→A,W→B… …其小写字母对应法则也相同,即a→q,b→w … …这样保密性能大大提升,破解难度大大增加。另外,这个“密表”也可以按需要改变。明文 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密文 Q W E R T Y U I O P A S D F G H J K L Z X C V B N M体验“恺撒密码”利用恺撒密码的改进算法,对94个字符的组合密码,进行二次加密,这样就能更大限度的保障我们帐户和密码的安全了。DES加密算法,RC4加密算法,IDEA加密算法等。常见加密算法:密码二次加密密码二次加密任务一解开网站账号被盗之谜任务二让数据“隐身”项目:神秘密码之谜1活动1:防范”盗窃“行为2活动2设置安全密码1活动1 古老的“隐身术”2活动2 揭秘“隐身术”加密与解密密码加密与解密密码是指用来核对用户ID以验证用户就是本人的一组字符。加密:加密就是将原始信息(数据)隐匿起来解密:将密文还原成明文的过程称为解密。创建安全密码的一般技巧“2”要“3”不要课堂小结谢 谢! 展开更多...... 收起↑ 资源预览