目录

1、密码学概况

1.1 密码学发展简况

1.2 密码学基本概念

1.3 密码安全性分析

2、密码体制分类

2.1 私钥密码体制(密钥不能公开)

2.2 公钥密码体制(密钥可以公开)

2.3 混合密码体制

3、常用密码算法

3.1 DES

3.2 IDEA

3.3 AES

3.4 RSA

3.5 国产密码(每年必考)

4、Hash函数与数字签名

4.1 Hash函数工作原理

4.2 常见的Hash算法

4.3 数字签名的概念与作用

4.4 数字签名的工作原理

4.5 数字签名相关算法

5、密码管理与数字证书

5.1 密码管理

5.2 数字证书(解决公钥的可信任性)

6、安全协议

6.1 SSH

6.2 Diffie-Hellman密钥交换协议

7、密码学网络安全应用

7.1 电子邮件安全应用参考


1、密码学概况

1.1 密码学发展简况

密码学是一门研究信息安全保护的科学,以实现信息的保密性、完整性、可用性及抗抵赖性。

密码学主要由密码编码和密码分析两个部分组成,其中,密码编码学研究信息的变换处理以实现信息的安全保护,而密码分析学则研究通过密文获取对应的明文信息。

1949年,香农发表《保密系统的通信理论》,提出交替使用换位和置换以抵御统计分析,增加了混乱(Confusion)和扩散(Diffusion)的密码技术新方法。

2019年《中华人民共和国密码法》草案发布。实施日期是2020年1月1日。

1.2 密码学基本概念

密码学的主要目的是保持明文的秘密以防止攻击者获知,而密码分析学则是在不知道密钥的情况下识别出明文的科学。

  • 明文:需要加密进行保护的消息
  • 密文:明文加密处理后的结果
  • 加密:明文——>密文
  • 解密:密文——>明文
  • 加密算法:加密过程所使用的一组操作运算规则
  • 解密算法:解密过程所使用的一组操作运算规则

1.3 密码安全性分析

人们通常将密码分析攻击类型分为五种:

  • 唯密文攻击:密码分析者只拥有一个或多个用同一密钥加密的密文,没有其他可利用的信息
  • 已知明文攻击:密码分析者仅知道当前密钥下的一些明文及所对应的密文
  • 选择明文攻击:密码分析者能够得到当前密钥下自己选定的明文所对应的密文
  • 选择密文攻击:除了挑战密文外,密码分析者能够得到任何选定的密文所对应的明文(之前考过)
  • 密文验证攻击:密码分析者对于任何选定的密文,能够得到该密文是否合法的判断(第二版教材新增内容)

2、密码体制分类

2.1 私钥密码体制(密钥不能公开)

又称对称密码体制,加密和解密使用同一个密钥。发送接收双方必须事先通过安全渠道交换了密钥。

假设网络中有n个使用者,使用者之间共享一个密钥,则共用n(n-1)/2个密钥。

私钥密码体制的缺陷:密钥分配问题、密钥管理问题、无法认证源

私钥密码体制的优点:处理速度快,常用于数据加密处理

典型算法:DES、IDEA、AES

2.2 公钥密码体制(密钥可以公开)

又称非对称密码体制,加密和解密使用不同密钥。加密密钥可以公开,只需要把解密密钥安全存放即可。由加密密钥推出解密密钥在计算上是不可行的。

公钥密码体制的缺陷:密钥分发方便(公开方式)、密钥保管量少、支持数字签名

典型算法:RSA、ELGamal、椭圆曲线密码体制

2.3 混合密码体制

私钥和公钥混合使用,利用公钥密码体制来分配私钥密码体制的密钥。A利用公钥密码体制,将私钥密码体制的密钥传送给对方,A和B共用这个密钥,按照私钥密码体制的方式,进行加密和解密。

  1. Alice用私钥加密明文
  2. Alice使用Bob公开密钥将私钥加密,形成数字信封,把密文和数字信封传给Bob
  3. Bob用自己的私钥解密数字信封,获取Alice加密时使用的私钥
  4. Bob用Alice加密时使用的私钥解密密文

(1和4的步骤相当于私钥密码体制,2和3相当于公钥密码体制)

3、常用密码算法

3.1 DES

DES是分组加密算法,能够支持64比特的明文块加密,其密钥长度为56比特。

三重DES(TDEA),也称3DES。使用DES对明文进行“加密-解密-加密”的操作,即对DES加密后的密文进行解密再加密,解密则相反。

设Ek()为加密,Dk()为解密,K代表DES使用的密钥,I为明文输入,O为密文输出

3.2 IDEA

IDEA是国际数据加密算法的简记,是一个分组加密处理算法,其明文和密文分组都是64比特,密钥长度为128比特。

IDEA算法能够接受64比特分组加密处理,同一算法既可用于加密又可用于解密,该算法的设计思想是“混合使用来自不同代数群中的运算”。

3.3 AES

AES是确定非保密的、公开的、全球免费使用的分组密码算法。

分组长度128/192/256比特,密钥长度128/192/256比特

具体特点如下:

  • 密码没有密级,绝不能像商业秘密那样保护它
  • 算法的全部描述必须公开披露
  • 密码必须可以在世界范围内免费使用
  • 密码系统支持至少128比特长的分组
  • 密码支持的密钥长度至少为128、192、256比特

从参与AES的候选算法中,最终选择Rijndael作为AES

3.4 RSA

RSA算法是非对称算法,公钥和私钥都可以用于加密消息,用于加密消息的密钥与用于解密消息的密钥相反。(一般公钥加密,私钥解密。)RSA提供了一种保护网络通信和数据存储的机密性、完整性、真实性和不可否认性的方法。目前,SSH、OpenPGP、S/MIME、SSL/TLS网络协议都依赖于RSA进行加密和数字签名功能。RSA算法在浏览器中使用,能够在不可信任的互联网中建立安全连接。RSA签名验证是网络连接系统中最常见的执行操作之一。

RSA算法基于大整数因子分解的困难性。(需要会计算)

3.5 国产密码(每年必考)

1和4是对称加密,分组长度和密钥长度都为128比特

2和3不对称,椭圆曲线和杂凑值为256,SM2的应用也需要记住

9是一种标识

4、Hash函数与数字签名

4.1 Hash函数工作原理

杂凑函数简称Hash函数,它能够将任意长度的信息转换成固定长度的哈希值(又称数字摘要或消息摘要),并且任意不同消息或文件所生产的哈希值是不一样的。

哈希函数h应满足以下要求:

  • 输入可以是任意长度的消息或文件M
  • 输出的长度是固定的
  • 给定M,计算h(M)是容易的
  • 给定h的描述,找到M1和M2使得h(M1)=h(M2)是不可行的

哈希函数的特点:

  1. 能将任意长度的信息转换成固定长度的Hash值
  2. 相同的明文输入得到相同的Hash值
  3. 不同的明文输入得到不同的Hash值
  4. Hash值越大的Hash函数,安全性越高
  5. Hash计算是不可逆的(Hash是有损计算)

4.2 常见的Hash算法

(1)MD5

MD5以512位数据块为单位来处理输入,产生128位的消息摘要,即产生128比特长度的哈希值。常用于文件完整性检查。

(2)SHA

以512位数据块为单位输入,产生160的哈希值。

(3)SM3国产算法

该算法消息分组长度为512比特,输出杂凑值长度为256比特 。

4.3 数字签名的概念与作用

数字签名是指签名者用私钥对待签名数据的杂凑值做密码运算得到的结果。该结果只能用签名者的公钥进行验证,用于确认待签名数据的完整性、签名者身份的真实性和签名行为的抗抵赖性。

数字签名的目的是确认交易当事人的真实身份,保证交易的安全性、真实性和不可抵赖性。

具有与手写签名一样的特点,是可信的、不可伪造的、不可重用的、不可抵赖的以及不可修改的。

数字签名至少应满足以下三个条件:

  1. 非否认性:签名者事后不可否认自己的签名
  2. 真实性:接收者能验证签名,签名不能被伪造
  3. 可鉴别性:当双方关于签名的真伪发生争执时,第三方能解决争执

4.4 数字签名的工作原理

4.5 数字签名相关算法

一个数字签名方案一般由签名算法和验证算法组成。签名算法密钥是秘密的,只有签名人掌握;验证算法是公开的,以便他人验证。

典型的数字签名方案有:RSA签名体制、Rabin签名体制、ElGamal签名体制、DSS标准

5、密码管理与数字证书

5.1 密码管理

密码系统的安全性依赖于密码管理。密码管理主要分为三方面:密钥管理、密码管理政策、密码测评

  • 密钥管理(案例题考过)

主要围绕密钥的生命周期进行,包括密钥生成、密钥存储、密钥分发、密钥使用、密钥更新、密钥撤销、密钥备份、密钥恢复、密钥销毁、密钥审计

(口诀:生存发誓更小杯,回校审)

  • 密码管理政策

指国家对密码进行管理的有关法律政策文件、标准规范、安全质量测评等

《商用密码管理条例》,内容主要有商用密码的科研生产管理、销售管理、使用管理、安全保密管理

《中华人民共和国密码法》规定,密码分为核心密码、普通密码和商用密码。核心密码、普通密码用于保护国家秘密信息,属于国家秘密,由密码管理部门依法严格统一管理;商用密码用于保护不属于国家秘密的信息。

  • 密码测评

对相关密码产品及系统进行安全性、合规性评估,以确保相关对象的密码安全有效,保障密码系统的安全运行

5.2 数字证书(解决公钥的可信任性)

也称公钥证书,是由证书认证机构(CA)签名和包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及扩展信息的一种数据结构

 分类

按类别分:个人证书、机构证书、设备证书

按用途分:签名证书(证明签名公钥)、加密证书(证明加密公钥)

为更好的管理数字证书,一般是基于PKI技术建立数字证书认证系统(CA)提供数字证书的申请、审核、签发、查询、发布、吊销等生命周期的管理服务。

6、安全协议

6.1 SSH

作用:网络管理方面使用,比如登录路由器进行远程管理

SSH和telnet功能一样都是用来远程访问网络设备,但在PC和设备之间传输信息时,SSH基于TCP的22号端口传输是密文的,telnet基于TCP的23号端口传输是明文的。(类似于http明文传输、https密文传输)

SSH,安全外壳,是基于公钥的安全应用协议,由SSH传输层协议、SSH用户认证协议和SSH连接协议三个子协议组成,实现加密、认证、完整性检查等多种安全服务。SSH1版本因存在漏洞被停用,目前使用的是SSH2版本。

SSH工作机制:

在实际过程中,存储服务器公钥的Hash值这个设备是集成在SSH服务器中的

6.2 Diffie-Hellman密钥交换协议

作用:在不安全的网络环境中实现安全传递密钥

基于求解离散对数问题的困难性(只用于密钥交换)

7、密码学网络安全应用

7.1 电子邮件安全应用参考

PGP是一种加密软件,广泛应用于电子邮件安全,它能够防止非授权者阅读邮件,并对用户的邮件加上数字签名,从而使收信人可以确信发信人的身份。PGP应用了多种密码技术,其中密钥管理算法选用RSA、数据加密算法IDEA、完整性检测和数字签名算法采用MD5、RSA、随机数生成器,PGP将这些密码技术有机结合在一起,利用对称和非对称加密算法的各自优点,实现一个比较完善的密码系统。

【软考中级信安】第三章--密码学基本理论相关推荐

  1. 【软考中级信安】第二章--网络攻击原理与常用方法

    目录 1.网络攻击概述 1.1 网络攻击概述 1.2 网络攻击模型 1.3 网络攻击发展演变 2.网络攻击一般过程 3.网络攻击常见技术方法 3.1 端口扫描 3.2 口令破解 3.3 缓冲区溢出(大 ...

  2. 软考中级-网络工程师第三章笔记(广域通信网)

    软考中级-网络工程师第三章笔记(广域通信网) 文章目录 软考中级-网络工程师第三章笔记(广域通信网) 前言 一.广域网概念和分类 二.公共交换电话网PSTN 三.公共数据网X.25 四.帧中继网FR ...

  3. 软考 程序员教程-第三章 数据库基础知识

    软考 程序员教程-第三章 数据库基础知识 第三章 数据库基础知识 3.1 基本概念 数据库系统(DataBase System,DBS)由数据库(DataBase,DB).硬件.软件和人员4大部分组成 ...

  4. 系统集成项目管理工程师(软考中级)—— 第二十五章 法律法规(补充) 笔记分享

    前言 最近在复习软考高级,比较少更新.. 现在分享一些笔记给大家,希望能够帮助大家并顺利通过软考. 幕布地址:(补充)第二十五章 法律法规 - 幕布 概述 法规法规部分涉及招投标法.招投标法实施条例. ...

  5. 系统集成项目管理工程师(软考中级)—— 第十九章 采购管理 笔记分享

    前言 现在分享一些笔记给大家,希望能够帮助大家并顺利通过软考. 幕布地址:第十九章 采购管理 - 幕布 概述 大数据 ito 4w1h 采购过程 1.编制采购计划 决定采购什么,何时采购,如何采购,还 ...

  6. 系统集成项目管理工程师(软考中级)—— 第十四章 项目成本管理 笔记分享

    前言 现在分享一些笔记给大家,希望能够帮助大家并顺利通过软考. 幕布地址:第十四章 项目成本管理 - 幕布 概述 成本概念 过程 1.制定成本管理计划口一制定了项目成本结构.估算.预算和控制的标准 2 ...

  7. 系统集成项目管理工程师(软考中级)—— 第二十四章 收尾管理、知识产权、法规标准规范 笔记分享

    前言 现在分享一些笔记给大家,希望能够帮助大家并顺利通过软考. 幕布地址:第二十四章 收尾管理.知识产权.法规标准规范 - 幕布 概述 大数据 收尾 收尾管理工作 ①项目验收工作 是项目收尾管理中的首 ...

  8. 【软考-中级 网络工程师】第一章:计算机网络概论(思维导图/知识点)

    目录 第一章:计算机网络概论 第二章:数据通信基础 第三章:广域通信网 第四章: 局域网与城域网 第五章:无线通信网 MD文档 欢迎私信或者加Q讨论:2793371289

  9. 软考中级-软件设计师-第2章 计算机组成与体系结构

    目录 1 数据的表示 1.1 进制转换 1.2 机器编码方式 1.3 浮点数的表示 2 计算机结构 3 Flynn分类法 4 CISC与RISC 5 流水线技术 5.1 流水线的概念 5.2 流水线的 ...

最新文章

  1. Exchange 2013之(三)CAS部署
  2. 大数据启蒙--理论知识
  3. 构建通用类型- 继承 VS 聚合
  4. bp神经网络训练_数据分析模型6——神经网络基础(人工智能的底层模型)
  5. linux下单点故障的软件,KeepAlived防止单点故障
  6. jQuery实现Ajax应用
  7. 什么是UIScrollView
  8. linux下查看表类型注释命令@tcc
  9. 强大的发包工具fine packet builder
  10. element ui 弹窗在IE11中关闭时闪现问题修复
  11. matlab编写k均值算法,K均值聚类算法的MATLAB实现 - 全文
  12. Python Scrapy爬虫框架详解
  13. 优秀的程序员是没有性生活的
  14. C#篇-值类型和引用类型
  15. 中国混合现实产业调研分析及发展战略研究报告2021-2027年版
  16. 【愚公系列】2022年09月 微信小程序-slider滑动选择器详解
  17. 让你能进“大厂”的数据分析项目是长怎样?全套路线(建议收藏)
  18. java根据前序和中序建树_Java实现根据前序遍历构建二叉树(前序遍历、中序遍历、后序遍历)...
  19. gb18030编码格式了解和应用
  20. 计算机开多位数立方根原理,开立方

热门文章

  1. 你眼中的单纯问题,却是别人的棘手问题
  2. 2023-5-8分享免费代理ip
  3. Linux Shell接收键盘输入
  4. 年薪 80W 程序员相亲被鄙视??那,如果程序员都消失了
  5. 哪种耳机音质好又便宜?五款高音质蓝牙耳机
  6. python模型预测足球_采用 Python 机器学习预测足球比赛结果!买谁赢就谁赢!
  7. 母亲节怎么哄妈妈开心?这台智屏电视了解一下
  8. 省级刊物发表方法步骤
  9. 一文带你了解什么是测试网水龙头
  10. 人脸识别测颜值、测脸龄、测相似度微信接口