《图解密码技术》总结

一:首先在此介绍一些密码的常识:
1>不要使用保密的密码算法

2>使用低强度的密码比不进行任何加密更加危险

3>任何密码总有一天都会被破译

4>密码只是信息安全的一部分

二:逐章总结:

第一章:环游密码世界

        1.密码保证了消息的机密性:在传递消息时,我们将邮件进行加密,收件人进行解密,以防止窃听者读取邮件内容,保证了邮件即消息的机密性。

        2.对称密码和公钥密码

                对称密码:在加密和解密时使用同一密钥的方式。

                公钥密码:在加密和解密时使用不同密钥的方式,又称非对称密码。

3.密码学家的工具箱(会在后面章节详细总结)

对称密码

公钥密码

单向散列函数

消息认证码

数字签名

伪随机数生成器

        

第二章:历史上的密码

1.部分古典密码即两种破译方法

        历史上的著名密码:

                凯撒密码

                简单替换密码

                Enigma

        两种破译方法:

                暴力攻击

                词频分析

在本章中我们知道:密码算法和密钥要分开。

                即:每个人都可以拥有相同品牌的锁,但每个人都有不同品牌的钥匙。锁的设计是公开的——锁匠都带有详细图的书,而且绝大多数好的设计方案都在公开专利中进行了描述——但是钥匙是秘密的。

                        ——布鲁斯.施奈尔《网络信息安全的真相》

第三章:对称密码

        1.比特运算:XOR(异或),运算规则如下:

                        0  XOR  0=0 

                        0  XOR  1=1

                        1  XOR  1=0

                        1  XOR  1=0

        2.一次性密码本:绝对不会被破译的密码

                原理:将明文与一串随机的比特序列进行XOR运算。

                难以破解原因:

                                密钥空间大

                                 即使暴力破解,遍历所有密钥,也无法判断是否是正确明文

        3.DES:1977年所采用的一种对称密码,随着计算机的进步现在已经能够暴力破解。

                DES的结构(Feistel网络):在Feistel网络中,加密的各个步骤称为轮,整个加密过程就是进行若干次的循环。

        4.三重DES:加密——解密——加密过程

        5.AES:一种对称密码算法。

        6.Rijndael:一种分组密码算法,使用SPN结构。

第四章:分组密码的模式

        分组密码的5种主要模式:

                ECB模式:电子密码本模式

                CBC模式:密码分组链接模式

                CFB模式:密文反馈模式

                OFB模式:输出反馈模式

                CTR模式:计数器模式

第五章:公钥密码

       1. 公钥密码解决对称密码的密钥配送问题。

       公钥密码存在的问题:

                处理速度远低于对称密码

                难以抵御中间人攻击

         2.RSA加密

第六章:混合密码系统——用对称密码提高速度,用公钥密码保护会话密钥。

                

        利用伪随机数生成器产生会话密钥。

第七章:单向散列函数——获取消息的指纹。

        1.单向散列函数有一个输入和一个输出,其中输入称为消息,输出称为散列值。单向散列函数可以根据消息的内容计算出散列值,而散列值就可以被用来检查消息的完整性。

        单向散列函数都需要具有强碰撞性。

        单向散列函数确保了消息的完整性。

第八章:消息认证码——消息被正确传送了吗。

        1.消息认证码是一种确认完整性并进行认证的技术,简称MAC。

        消息认证码是一种与密钥相关的单向散列函数。

        2.对消息认证码的攻击

                重放攻击:可用序号,时间戳,nonce等方法解决

                密钥推测攻击

        3.消息认证码无法解决的问题:

                第三方证明

                防止否认

第九章:数字签名——消息到底是谁写的

       1. 私钥生成签名,公钥验证签名。

      2. 对数字签名的攻击:

                中间人攻击

                对单向散列函数的攻击

                利用数字签名攻击公钥密码

第十章:证书——为公钥加上数字签名

        1.什么是证书

                公钥证书类似驾照,里面由本人的照片,姓名,等个人信息,以及有效期,以及属于此人的公钥,并由认证机构施加数字签名。只要看到公钥证书,我们就可以知道认证机构认定该公钥的确属于此人。公钥证书简称证书。

       2.使用场景:

        3.PKI:公钥基础设施

        为了能够更有效的运用公钥而制定的一系列规范和规格的总称。

        4.对证书的攻击:

                在公钥注册之前进行攻击

                注册相似人名进行攻击

                窃取认证机构的私钥进行攻击

                攻击者伪装成认证机构进行攻击

                钻CRL的空子进行攻击:利用CRL发布的时间差进行攻击

                

第十一章:密钥——密码的精华

        密钥就是一个巨大的数字。

        密钥和明文是等价的。

第十二章:随机数——不可预测性的源泉

        1.随机数的性质:

                随机性——弱随机数

                不可预测性——强随机数

                不可重现性——真随机数

第十三章:PGP——密码技术的完美组合

第十四章:SSL/TLS——为了更安全的通信

        1.一般用SSL或TLS作为对通信协议加密的协议,然后在此之上承载HTTP,从而防止窃听。通过SSL/TLS通信时,URL不是以http://开头,而是以https://开头。

        2.对SSL/TLS的攻击:

                对各个密码技术的攻击

                对伪随机数生成器的攻击

                利用证书的时间差进行攻击

        3.SSL/TLS用户的注意事项:

                不要误解证书的含义

                密码通信之前和之后的数据不受保护

第十五章:密码技术与现实社会——我们生活在不完美的安全中

                

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/486976.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

黄海北部泥质沉积体地层界面如何划分?

黄海沉积物中存在北黄海泥M1、海阳东泥M2、老黄河口泥M3、南黄海中部泥M4和南黄海东部泥M5等泥质沉积,见下图。其中北黄海泥M1、海阳东泥M2和南黄海中部泥M4在空间上是连在一起的沉积体,从庙岛群岛起沿山东半岛北部向东绕过山东半岛东端向南延伸&#xf…

基于JAVA的公司货物订单管理系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 客户管理模块2.2 商品维护模块2.3 供应商管理模块2.4 订单管理模块 三、系统展示四、核心代码4.1 查询供应商信息4.2 新增商品信息4.3 查询客户信息4.4 新增订单信息4.5 添加跟进子订单 五、免责说明 一、摘要 1.1 项目…

华为OD机试真题-CPU算力分配-2023年OD统一考试(C卷)--Python--开源

题目: ** ** 考察内容: 排序(sort)求和(sum) 数学转化 循环(从小开始)break 代码: """ 题目分析: a和b初始总算力不同 从A组中选出的算力尽可能小 交换以后,a和b的…

【C++精简版回顾】5.字符串

1.字符串的四种初始化方式 string str "ilove"; string str1("ilove"); string str2(str1); string str3 str1; 2.针对字符串的一些函数 &#xff08;1&#xff09;字符串长度 cout<<str.length()<<endl;&#xff08;2&#xff09;查找字…

SpringCloud-Gateway解决跨域问题

Spring Cloud Gateway是一个基于Spring Framework的微服务网关&#xff0c;用于构建可扩展的分布式系统。在处理跨域问题时&#xff0c;可以通过配置网关来实现跨域资源共享&#xff08;CORS&#xff09;。要解决跨域问题&#xff0c;首先需要在网关的配置文件中添加相关的跨域…

CondaValueError: Malformed version string ‘~‘: invalid character(s)

使用conda 安装一些库时出现以下报错&#xff1a; CondaValueError: Malformed version string ~: invalid character(s)尝试进行更新conda conda upgrade -n base conda或者如果是环境方面的问题&#xff0c; conda upgrade -n base -c defaults --override-channels conda如…

CUDA自学笔记001 CUDA编程模型、CUDA线程模型及其管理、CUDA内存模型及其管理

CUDA编程模型 我们使用CUDA_C语言进行CUDA编程&#xff0c; 1&#xff0c;CUDA编程模型提供了线程抽象接口用于控制GPU中的线程 2&#xff0c;CUDA编程模型提供了内存访问控制&#xff0c;我们可以实现主机和GPU设备内存的控制&#xff0c;我们可以实现CPU和GPU之间内存的数据传…

jquery 简介与解析

jQuery是一个快速、小巧且功能丰富的JavaScript库。它简化了诸如HTML文档遍历和操作、事件处理、动画以及Ajax操作等任务。jQuery的设计理念是“写得更少&#xff0c;做得更多”&#xff0c;这意味着通过jQuery&#xff0c;可以用更少的代码完成更多的工作。 主要特点&#xff…

测试用例设计方法:招式组合,因果判定出世

1 引言 上篇讲了等价类划分和边界值分析法&#xff0c;而这两种方法只考虑了单个的输入条件&#xff0c;并未考虑输入条件的各种组合、输入条件之间的相互制约关系的场景。基于此短板&#xff0c;因果图法和判定表法应运而生。 2 因果图法 2.1 概念及原理 2.1.1 定义 一种…

如何快速卸载windows电脑的一些软件?

本系列是一些电脑常规操作的普及&#xff0c;有需要借鉴即可 注&#xff1a;每个电脑都会有差异&#xff0c;参考即可。 其实大部分软件你删除桌面上的图标不等于删除&#xff0c;因为桌面上的那个图标就是一个简单的快捷方式而已。 在这里插入图片描述 那如何正确的卸载软件呢…

MaxScale实现mysql8读写分离

MaxScale 实验环境 中间件192.168.150.24MaxScale 22.08.4主服务器192.168.150.21mysql 8.0.30从服务器192.168.150.22mysql 8.0.30从服务器192.168.150.23mysql 8.0.30 读写分离基于主从同步 1.先实现数据库主从同步 基于gtid的主从同步配置 主库配置 # tail -3 /etc/my.…

靡语IT:Vue精讲(一)

Vue简介 发端于2013年的个人项目&#xff0c;已然成为全世界三大前端框架之一&#xff0c;在中国大陆更是前端首选。 它的设计思想、编码技巧也被众多的框架借鉴、模仿。 纪略 2013年&#xff0c;在Google工作的尤雨溪&#xff0c;受到Angular的启发&#xff0c;从中提取自…