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

news/2024/4/28 7:47:02/文章来源:https://blog.csdn.net/m0_51683653/article/details/127444502

目录

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将这些密码技术有机结合在一起,利用对称和非对称加密算法的各自优点,实现一个比较完善的密码系统。

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

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

相关文章

【JAVA程序设计】(C00084)基于SSM+uniapp的社区疫情防控小程序及管理系统-有文档

基于SSMuniapp的社区疫情防控小程序及管理系统项目简介项目获取开发环境项目技术运行截图项目简介 基于后台ssm框架前台vue以及elementui框架小程序使用uniapp的社区疫情管控小程序及管理系统:系统管理员、用户 管理员角色包含以下功能: 首页、个人中心…

jmeter压力测试工具,雪崩效应,容错组件Sentinel

一。jmeter测试工具: 概念: 项目要上线,肯定是需要进行压力测试的 可以测试服务器够不够 场景: 一个问题,如果有服务接口被阻,那另一个接口是否会有影响 进而引出了jmeter,用来模拟线程压力下载…

YOLO性能指标

术语 全称 解释 True 表示推理正确 False 表示推理错误, 跟ground truth(位置,类别)比对之后得到的结论 positive 推理为正例,iou > 阈值,类别概率>阈值 negative 推理为反例,不符…

HarmonyOS系统中内核实现烟雾检测的方法

大家好,今天我们主要来聊一聊,如何使用鸿蒙系统来操作烟雾浓度传感器。 目录 第一:烟雾浓度传感器原理 第二: 鸿蒙相关API函数分析 Init_E53_SF1() MQ2_PPM_Calibration() Get_MQ2_PPM() 第三:硬件设计 第四&…

【单片机毕业设计】【mcuclub-hj-006-7】基于单片机的空气质量(天然气、CO、甲醛、甲苯、TVOC、CO2)检测的设计

最近设计了一个项目基于单片机的空气质量(天然气、CO、甲醛、甲苯、TVOC、CO2)检测系统,与大家分享一下: 一、基本介绍 项目名:空气质量(天然气、CO、甲醛、甲苯、TVOC、CO2) 项目编号&#x…

04 CSS01

目标: 1、基础认知 2、基础选择器 3、字体和文本相关样式 4、Chrome调试工具 5、综合案例 一、基础认知 1.1 css介绍 中文名:层叠样式表 作用:给页面中的html标签设置样式 1.2 css语法规则 css写在style标签中,style标签一般…

【DETR 论文解读】End-to-End Object Detection with Transformer

目录前言一、整体架构二、基于集合预测的损失函数2.1、二分图匹配确定有效预测框2.2、损失函数三、前向推理四、掉包版代码五、一些问题Reference前言 贡献/特点: 端到端:去除NMS和anchor,没有那么多的超参,计算量也大大减少&am…

二叉树的OJ练习题

1.单值二叉树 描述:如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回 true;否则返回 false。 链接:965. 单值二叉树 - 力扣(LeetCode) 思路…

世界陶瓷卫浴100强榜单发布!

​  经过一年的严格数据审查,科学统计分析,备受全行业期待的 【世界陶瓷卫浴100强统计排行榜 】于2022年10月19日在中国佛山正式发布,除了陶瓷卫浴企业100强总榜以外,还发布了全球瓷砖企业30强、全球卫浴企业20强,全…

Python中的对象池是什么

在程序设计中,创建物体模块主要是通过生成对象来实现。当对象使用结束后,则会成为不再需要的模块进行销毁。 而在系统进行对象的生成与销毁过程中会大量的增加内存的消耗,同时对象的销毁往往会留下残留的信息,这样将会伴随内存泄露…

javaWeb SSM车辆调度系统myeclipse定制开发mysql数据库网页模式java编程SpringMVC

一、源码特点 JSP SSM车辆调度系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码 系统采用SSM框架,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&a…

swagger动态开关实践

swagger动态开关实践1. 背景2. 配置文件监听2.1 基于注解2.2 基于jdk3. swagger改造3.1 bean刷新3.2 方法重写4. 总结5. 参考资料1. 背景 系统漏洞扫描,扫出了swagger的问题。这个问题其实比较基础,那就是生产环境不应该开启swagger! 但是&…

FreeRTOS 软件定时器的使用

FreeRTOS中加入了软件定时器这个功能组件,是一个可选的、不属于freeRTOS内核的功能,由定时器服务任务(其实就是一个定时器任务)来提供。 软件定时器是当设定一个定时时间,当达到设定的时间之后就会执行指定的功能函数&…

el-switch接口实现

后台返回的数据: active-textswitch 打开时的文字描述string——inactive-textswitch 关闭时的文字描述string——active-valueswitch 打开时的值boolean / string / number—trueinactive-valueswitch 关闭时的值boolean / string / number—falseactive-colorswi…

Enzo丨艾美捷Enzo Ciglitazone解决方案

艾美捷Enzo Ciglitazone是一种噻唑烷二酮类降血糖药。它在遗传性肥胖的C57 Bl/6 ob/ob小鼠中显示抗高血糖活性,并且是选择性PPARγ激动剂(EC50=3M)。抑制人间充质干细胞中HUVEC分化和血管生成,并刺激脂肪生成和减少成骨…

区块链 — Overview

文章目录区块链的概念区块链数据结构区块链的基础技术哈希运算数字签名共识算法智能合约P2P网络区块链分类公有链联盟链私有链区块链的概念 狭义上,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不…

深度神经网络图像识别,深度神经网络图像配准

如何用Python和深度神经网络寻找相似图像 代码首先,读入TuriCreate软件包import turicreate as tc我们指定图像所在的文件夹image,让TuriCreate读取所有的图像文件,并且存储到data数据框data tc.image_analysis.load_images(./image/)我们来…

《python 可视化之 matplotlib》第一章 折线图 plot

《python 可视化之 matplotlib》第一章 折线图 本章节内容包括以下几方面内容: 绘制曲线 yx2yx^2yx2;让曲线更加光滑;常见的相关属性设置;多条折线图的绘制;折线图之间的颜色填充;时间序列可视化;常见问题…

iNFTnews|在元宇宙中探索NFT的无限可能

元宇宙正在使我们当下的生活发生显著变化。 我们都玩过很多电子游戏,看过很多相关的科幻电影,也有过很多关于元宇宙进入我们日常生活后,我们周围的事物将会受到怎样的巨大影响的讨论。 我们很快就会看到,如此先进的技术突破将逐…

人工神经网络概念及组成,人工神经网络基本概念

1、什么是BP神经网络? BP算法的基本思想是:学习过程由信号正向传播与误差的反向回传两个部分组成;正向传播时,输入样本从输入层传入,经各隐层依次逐层处理,传向输出层,若输出层输出与期望不符&…