懒惰等于将一个人活埋.-- 泰勒
本文已经收录至我的 GitHub, 欢迎大家踊跃 star 和 issues.
https://github.com/midou-tech/articles
点关注, 不迷路!!!
上一期我们罗列了密码学的基础框架以后, 不少小伙伴就已经迫不及待的催更了, 那么, 来了来了来了, 从今天《每天懂点密码学》系列就要正式输出了, 今天先给大家讲第一趴, 也就是对一些预备知识及进行一次彻底的扫盲运动, 清除障碍, 轻松上路, 你离老司机还远吗?
这一 pa 要讲的是信息在传递过程中可能面临的一些威胁, 为什么要把这个放在最开始讲呢, 因为正是有了对信息的威胁, 才迫切的需要我们利用密码来保护我们的信息, 不信? 您接着瞧
信息安全所面临的威胁:
信息安全所面临的威胁有很多方面, 而且这种威胁不是一成不变的, 他们在随着时间的变化而变化. 这些威胁可以大概分为人为威胁和自然威胁. 自然威胁就不必多说, 主要讲讲一些人为的威胁, 在信息的传输过程中, 人们利用系统的弱点, 可以通过一些手段对信息进行篡改, 可能对发送方或者接收方造成一定的损失.
人为攻击一般分为被动攻击和主动攻击, 被动攻击一种是指直接获取消息的内容, 还有一种是对消息的某些特征进行分析, 虽然不能得到完整的消息内容但也可以推测出信息的一些特点, 而这些特点有可能是通信双方不想被泄露的. 但是被动攻击一般情况下不会改变消息的内容, 所以我们很难检测到, 只能提前预防. 主动攻击是指对数据的篡改来产生某些假的数据, 防止主动攻击一般都非常困难, 需要提前预防.
信息安全模型:
信息安全模型
用户之间如果想要传递某一个消息, 首先需要在网络中定义从发送方到接收方的一个路由, 然后在该路由上共同执行通信协议, 通信双方只有建立这样的信道, 才能保证信息传递的效率. 一般情况下, 我们如果需要防止所传信息遭遇敌手的威胁, 例如对其保密性, 认证性等的破坏, 则需要考虑通信的安全性.
安全传输技术主要包括两部分, 一是指对消息的安全传输, 包括对消息的加密和认证. 加密的目的是将消息搞乱以使攻击者无法读懂, 认证的目的是检查发送者的身份. 二是通信双方共享的某些秘密信息, 如加密密钥. 为获得消息的安全传输, 可能还需要一个可信的第三方, 其作用可能是负责向通信双方发布秘密信息或者在通信双方有争议时进行仲裁.
保密通信系统:
明文: 发送方所要发送的消息
密文: 明文经过加密以后变成了看似没有关联的随机消息
加密: 利用加密密钥通过加密算法将明文变成密文
解密: 利用解密密钥通过解密算法密文反过来变成明文
传统密码体制所用的加密密钥和解密密钥是相同的, 也就是说, 我们可以非常容易从一个得出另一个, 称其为单钥或对称密码体制. 若加密密钥和解密密钥不相同, 即从一个难于推出另一个, 则称为双钥或非对称密码体制 (下文详解). 密钥的存在对于整个加密系统的存在就像是心脏对于一个人一样重要, 不同的加密算法需要不同的密钥, emem... 以后再说这个.
保密通信系统就像一个大家庭一样, 拥有很多家庭成员: 明文消息 M, 密文消息 C, 密钥 K1 和 K2(在单钥体制下 K1 = K2 = K), 加密变换 Ek1 : M→ C, 由加密器完成; 解密变换 Dk2 : C→ M, 由解密器实现. 称总体 ( M, C, K1 , K2 , EK1 , DK2 ) 为保密通信系统.
对于我们已知的明文消息 m, 密钥 k1, 加密算法的工作就是将明文 m 变换为密文 c, 即 c = f ( m, k1 ) = Ek1 ( m), 而另一端的用户则是通过安全信道送来的密钥 k 或用本地密钥发生器产生的解密密钥 k2(just 为了区别一下) 控制解密操作 D, 对收到的密文进行变换得到恢复的明文消息, 即: m = Dk2 ( c), 而一些专业的密码分析人员就是则用变换函数 h, 对截获的密文 c 进行变换, 得到的明文是明文空间中的某个元素, 如果该元素等于明文 m, 也就是分析成功.
密码体制分类 :
密码体制从原理上可分为两大类, 即单钥体制和双钥体制.
单钥体制的加密密钥和解密密钥相同. 采用单钥体制的系统的保密性主要取决于密钥的保密性, 与算法的保密性无关 , 即由密文和加解密算法不可能得到明文. 换句话说, 算法无需保密, 需保密的仅是密钥. 根据单钥密码体制的这种特性, 单钥加解密算法可通过低费用的芯片来实现. 密钥可由发送方产生然后再经一个安全可靠的途径送至接收方, 或由第三方产生后安全可靠地分配给通信双方. 密钥产生, 分配, 存储, 销毁等问题, 统称为密钥管理. 这是影响系统安全的关键因素, 即使密码算法再好, 若密钥管理问题处理不好, 就很难保证系统的安全保密性. 单钥体制对明文消息的加密有两种方式: 一是明文消息按字符 ( 如二元数字) 逐位地加密, 称之为流密码; 另一种是将明文消息分组 ( 含有多个字符), 逐组地进行加密, 称之为分组密码. 单钥体制不仅可用于数据加密, 也可用于消息的认证.
双钥体制是由 Diffie 和 Hellman 于 1976 年首先引入的. 采用双钥体制的每个用户都有一对选定的密钥, 一个是可以公开的, 可以像电话号码一样进行注册公布; 另一个则是秘密的. 所以又称为公钥体制. 双钥密码体制的主要特点是将加密和解密能力分开, 因而可以实现多个用户加密的消息只能由一个用户解读, 或由一个用户加密的消息而使多个用户可以解读. 前者可用于公共网络中实现保密通信, 而后者可用于实现对用户的认证.
密码攻击:
有密码必然有攻击, 密码攻击简单点来说就是破解密码, 在对密码进行攻破的方面呢, 主要有 4 种攻击类型, 类型的划分由攻击者可获取的信息量决定. 以下四种破解方式快来学学, 说不定你就是下一个
惟密文攻击 (Ciphtext-only attack)
在惟密文攻击中, 密码分析者知道密码算法, 但仅能根据截获的密文进行分析, 以得出明文或密钥. 由于密码分析者所能利用的数据资源仅为密文, 这是对密码分析者最不利的情况.
已知明文攻击 (Plaintext-known attack)
已知明文攻击是指密码分析者除了有截获的密文外, 还有一些已知的明文 - 密文对来破译密码. 密码分析者的任务目标是推出用来加密的密钥或某种算法, 这种算法可以对用该密钥加密的任何新的消息进行解密.
明文攻击 (Chosen-plaintext attack)
选择明文攻击是指密码分析者不仅可得到一些明文 - 密文对, 还可以选择被加密的明文, 并获得相应的密文.
选择密文攻击 (Chosen-ciphenext attack)
选择密文攻击是指密码分析者可以选择一些密文, 并得到相应的明文. 密码分析者的任务目标是推出密钥. 这种 密码分析多用于攻击 公钥密码体制.
看到这里, 你是不是明白了怎么加密解密, 为什么加密, 怎样破解密码, 还远远不够, 我还有好多知识没有讲给你听呢, 比如对称密码体制还有一个爱情故事, 类似于洪世贤, 林品如和艾利的关系的这样一个故事 (说着说着, 这个该死的音乐已经在脑中响起....), 想听吗? 想听就关注我, 龙叔讲给你听.
求点赞 求关注
「转发」是明目张胆的喜欢,「在看」是偷偷摸摸的爱.
如果有人想发文章, 我这里提供有偿征文 (具体细则微信联系), 欢迎投稿或推荐你的项目. 提供以下几种投稿方式:
去我的 GitHub 提交 issue: https://github.com/midou-tech/articles
发送到邮箱: 2507367760@qq.com 或者 longyueshier@163.com 或者 longyueshier@gmail.com
微信发送: 扫描下面二维码, 公众号里面有作者微信号.
精选文章都同步在公众号里面, 公众号看起会更方便, 随时随地想看就看. 微信搜索 龙跃十二或者扫码即可订阅.
来源: https://www.cnblogs.com/zhonglongbo/p/12216081.html