(
课件网) 第 3.2.1数据加密与安全 三 章 问 题 与 讨 论 (1)用户数据是如何被泄露的?用户如何规避数据泄露风险? 提示:列举身边的数据安全事件,寻找数据泄露途径,列举规避数据泄露风险的具体措施。 (2)非明文密码对数据安全起到怎样的作用? 从用户的角度来说: 我们可以怎么做? 1.警惕钓鱼网站 2.不点击陌生链接 3.不同账号尽量设置不同密码,以防被撞库攻击 ...... 从系统开发人员的角度来说: 我们可以怎么做? 将用户的输入的“密码”(口令)加密处理,防止泄露。 ...... 那么怎么加密? hu***yuan hky123456789 knb456789012 K***26 l741852963 o074185296 14*****7176 20070630wt 53303963zw li*****woer zxcvbnm cafyeqp 账号 口令 (明文) 密文 加密规则 密码本 (加密算法) (密钥) 明文、密文、密钥 01 【思考】通过上述体验,聪明的你发现了什么? bcde mbca dabc yzxj 10011110 01100001 体验加密工具,探索加密规则 02 算法不同,加密结果不同 密钥不同,加密结果也不同 体验加密工具,探索加密规则 02 bcde mbca dabc yzxj 10011110 01100001 根据密钥key,后移key个位置, 得到新的字符以替代原字符 凯撒加密(属于替代加密) 根据密钥key,后移key个位置,仅改变字符顺序,字符不变 换位加密 先转换为二进制,再按位和密钥key进行异或运算 异或加密 体验加密工具,探索加密规则 02 x y z a b c d e f a b c d e f g h i 以凯撒加密为例 03 jyzx 凯撒加密 mbca 明文 密文 偏移量3 密钥key 明文 ASCII 密文 ASCII 106 109 j m +3 121 98 y b 122 99 z c 120 97 x a +3-26 +3-26 +3-26 加密函数:E(x) = x + 3 但当明文字符是“x”、“y”、“z”时 加密函数:E(x) = x + 3 - 26 我们可以用if语句来解决 但缺陷在哪里? 我们把明文字符的ASCII码值记作x 凯撒加密抽象建模 03 jyzx 凯撒加密 mbca 明文 密文 偏移量3 密钥key 明文 p 密文 E(p) 10 13 j m 24 1 y b 25 2 z c 23 0 x a (10+3)%26 (24+3)%26 (25+3)%26 (23+3)%26 我们将字母a-z,用序号0-25来表示,记作p 此时加密函数为:E(p) = (p + 3) % 26 ans = (ord(ch) - ord(“a”) + 3) % 26 + ord(“a”) anschar = chr(ans) p key 我们把明文字符记作ch,密文字符记作ans 凯撒加密抽象建模 03 凯撒加密算法设计 03 【题目描述】 输入一个仅包含小写字母的字符串,将字符串中每个小写字母都后移3位,得到一个新的字符串。 【输入】 输入一个仅包含小写字母的字符串 【输出】 输出一个新的字符串 【样例输入】 hello 【样例输出】 khoor 凯撒加密程序实现 03 如何解密,请同学们思考? 我们的加密算法安全吗? 如何改进? 如何解密 04 5 拓展提高 对称密码体制:加密密钥和解密密钥相同 非对称密码体制:加密密钥和解密密钥不同 主 要 内 容 1.密码系统的相关概念:明文、密文、秘钥、密码算法 2.三种简单加密算法:置换密码、换位密码、简单异或 3.对称与非对称密码体制 口令(Password) 01 口令用于认证用户身份,并不是真正意义上的加密代码。 秘钥 03 密钥(Key)是指在密码算法中引进的控制参数,对一个算法采用不同的参数值,其解密结果就不同。加密算法中的控制参数称为加密密钥,解密算法中的控制参数称解密密钥。 如果为了数据的安全,仅仅通过人为的事先约定来保守算法的秘密,这种算法称为受限算法,受限算法的保密性已远远不能满足需求。 简单加密算法 04 替代加密法:将明文中每个位置的字符用其它字符代替。 加密:明文中每个字母在字母表中右移三位得到密文,这里密钥为3。 解密:密文中每个字母在字母表中左移三位即可得到明文。 凯撒密码 hello world khoor zruog 加 ... ...