网络安全:密码学基本理论.

news2024/10/7 12:20:12

网络安全:密码学基本理论.

密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学.


目录

网络安全:密码学基本理论.

密码学基本概念:

密码安全性分析:

密码体系分析:

(1)私钥密码体系:

(2)公钥密码体系:

(3)混合密码体系:

常见密码算法:

(1)DES:

(2)IDES:

(3)AES:

(4)RSA:

(5)国产密钥算法:

Hash函数与数字签名:

(1)Hash函数:

(2)Hash算法:

(3)数字签名:

密码管理与数字证书:

(1)密码管理:

(2)数字证书:

安全协议:

(1)Diffie-Hellman 密码交换协议:

(2)SSH:


密码学基本概念:

(1)密码学的主要目:保持明文的秘密以防止攻击者获知.

(2)密码分析学则是:在不知道密钥的情况下,识别出明文的科学.

(3)明文:指需要采用密码技术进行保护的消息.

(4)密文:指用密码技术处理过明文的结果,通常称为加密消息.

(5)将明文变换成密文的过程称作加密,其逆过程,即由密文恢复出原明文的过程称作解密.

(6)加密过程所使用的一组操作运算规则称作加密算法,而解密过程所使用的一组操作运算规则称作解密算法.

(7)加密和解密算法的操作通常都是在密钥控制下进行的,分别称为加密密钥和解密密钥.


密码安全性分析:

(1)唯密文攻击:密码分析者只拥有一个或多个用同一个密钥加密的  密文,没有任何可利用的信息.

(2)已知明文攻击:密码分析者仅知道当前密钥下的一些明文及所对应的密文.

(3)选择明文攻击:密码分析者能够得到当前密钥下自己选定的明文所对应的密文.

(4)密文验证攻击:密码分析者对于任何选定的密文,能够得到该密文"是否合法" 的判断.

(5)选择密文攻击:除了挑战密文外,密码分析者能够得到任何选定的密文所对应的明文.


密码体系分析:

(1)私钥密码体系:

私有密钥体制:又叫对称密钥体制。密钥加密算法采用同一把密钥进行 加密 和 解密。

私钥密码体制的缺陷可归结为三点:密钥分配问题、密钥管理问题以及无法认证源。

私有密钥体制的优点:加密和解密速度非常快,但密钥的分发和管理比较困难。

私钥密码典型算法: DES IDEA AES


(2)公钥密码体系:

公钥密码体制:又称为非对称密码体制。其基本原理是在加密和解密的过程中使用不同的密钥处理方式.

公钥密码体制安全性方面,密码算法即使公开,由加密密钥推知解密密钥也是计算不可行的.

公钥密码体制加密技术:采用一对匹配的密钥进行加密、解密,具有两个密钥,一个是公钥一个是私钥,
公钥密码体制性质:每把密钥执行一种对数据的单向处理,每把的功能恰恰与另一把相反,一把用于加密时,则另一把就用于解密.
用公钥加密的文件只能用私钥解密,而私钥加密的文件只能用公钥解密。 公共密钥是由其主人加以公开的,而私人密钥必须保密存放。为发送一份保密报文,发送者必须使用接收者的公共密钥对数据进行加密,一旦加密,只有接收方用其私人密钥才能加以解密。 相反地,用户也能用自己私人密钥对数据加以处理.

与私钥密码体制相比较,公钥密码体制有 以下优点:
(1)密钥分发方便,能以公开方式分配加密密钥。例如,因特网中个人安全通信常将自己的公钥
公布在网页中,方便其他人用它进行安全加密。

(2) 密钥保管量少。网络中的消息发送方可以共用 个公开加密密钥,从而减少密钥数量。只要接
收方的解密密钥保密,就能实现消息的安全性

(3) 支持数字签名。

公钥密码体制类型: RSA 体制、 ELGamal 体制,椭圆曲线密码体制.


(3)混合密码体系:

混合密码系统:是用对称密码和公钥密码的优势相结合的方法。一般情况下,将两种不同的方式相结合的做法就称为混合.
混合密码系统中会先用快速的对称密码来对消息进行加密,这样消息就被转换为了密文,从而也就保证了消息的机密性。然后我们只要保证对称密码的密钥的机密性就可以了。这里就要轮到公钥密码出场了,我们可以用公钥密码对加密消息时使用的对称密码的密钥进行加密.


常见密码算法:

(1)DES:是分组加密算法,能够支待 64 比特的明文块加密,其密钥长度为 56 比特.

三重的 DES 叫 TDEA,其 TDEA 算法的工作机制是使用 DES 对明文进行“加密一解密一加密”操作,
即对 DES 加密后的密文进行解密再加密,而解密则相反。设EK() DK ()代表 DES 算法的加密和解
密过程, 代表 DES 算法使用的密钥, 代表明文输入, 代表密文输出,则 TDEA 的加密操作过程如下:


(2)IDES:是国际数据加密算法的简记,是一个分组加密处理绑法,其明文和密文分组都是 64 比特,密钥长度为 128 比特.

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

(3)AES:是确定一个非保密的、公开的、全球免费使用的分组密码算法.

NIST 规定候选算法必须满足下面的要求:

• 密码必须是没有密级的,绝不能像商业秘密那样来保护它;

• 算法的全部描述必须公开披露;

• 密码必须可以在世界范围内免费使用;

• 密码系统支持至少 128 比特长的分组;

• 密码支持的密钥长度至少为 128 192 256 比特.

(4)RSA:是非对称算法,加密算法中,公钥和私钥都可以用千加密消息,用于加密消息的密钥与用千解密消息的密钥相反.

RSA 算法提供了一种保护网络通信和数据存储的机密性、完整性、真实性和不可否认性的方法。
目前, SSH , OpenPGP , S/MIME 和 SSL/TLS 都依赖千 RSA 进行加密和数字签名功能。


(5)国产密钥算法:国产密码算法是指由国 家密码研究相关机构自主研发,具有相关知识产权的商用密码算法.

1999 年国务院发布实施的《商用密码管理条例》第一章第二条规定: “本条例所称商用密码,是指对
不涉及国家秘密内容的信息进行加密保护或者安全认证所使用的密码技术和密码产品。


Hash函数与数字签名:

(1)Hash函数:

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

令 h 表示 Hash 函数,则 满足下列条件:
(l) h 的输入可以是任意长度的消息或文件 M;

(2) h 的输出的长度是固定的;

(3) 给定 h 和 M, 计算 h(M) 是容易的;

(4) 给定 h 的描述,找两个不同的消息 Ml M2, 使得 h(M1)=h(M2) 是计算上不可行的;

(2)Hash算法:

(1)MD5 算法:
MD5 以 512 位数据块为单位来处理输入,产生 128 位的消息摘要,即MD5 能产生 128 比特长度的
哈希值,MD5 使用广泛,常用在文件完整性检查.

(2)SHA 算法:
以 512 位数据块为单位来处理输入,产生 160的哈希值,具有比 MD5 更强的安全性 SHA 算法的安全
性不断改进,已发布的版本有 SHA-2,SHA-3。SHA 算法 生的哈希值长度有 SHA-224 SHA-256 
SHA-384 SHA-512 等.

(3)SM3 国产算法:
SM3 是国家密码管理局千 2010 年公布的商用密码杂凑算法标准 该算法消息分组长度为512 比特,
输出杂凑值长度为 256 比特,采用 Merkle-Damgard 结构.

(3)数字签名:

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

(2)数字签名的目的:是通过网络信息安全技术手段实现传统的纸面签字或者盖章的功能,以确认交易当事人的真实身份,保证交易的安全性、真实性和不可抵赖性。

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

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

(1) 非否认。签名者事后不能否认自己的签名。

(2) 真实性。接收者能验证签名,而任何其他人都不能伪造签名。

(3) 可鉴别性。当双方关于签名的真伪发生争执时,第三方能解决双方之间发生的争执。

(4)一个数字签名方案一般由签名算法和验证算法组成。典型的数字签名方案有 RSA 签名体制、 Rabin 签名体制、 ElGamal 签名体制和 DSS (Data Signature Standard) 标准。

(5)签名与加密的不同之处在于,加密的目的是保护信息不被非授权用户访问,而签名是使消息接收者确信信息的发送者是谁,信息是否被他人篡改。

出数字签名工作的基本流程,假设 Alice 需要签名发送一份电子合同文件给 BobAlice 的签名步骤如下:
第一步, Alice 使用 Hash 函数将电子合同文件生成一个消息摘要;

第二步, Alice 使用自己的私钥,把消息摘要加密处理,形成一个数字签名;

第三步, Alice 把电子合同文件和数字签名一同发送给 Bob Alice 的签名过程;

Bob 收到 Alice 发送的电子合同文件及数字签名后,为确信电子合同文件是 Alice 所认可的,
验证步骤如下:
第一步, Bob 使用与 Alice 相同的 Hash 算法,计算所收到的电子合同文件的消息摘要;

第二步, Bob 使用 Alice 的公钥,解密来自 Alice 的加密消息摘要,恢复 Alice 原来的消息摘要;

第三步, Bob 比较自己产生的消息摘要和恢复出来的消息摘要之间的异同。若两个消息摘要相同,
则表明电子合同文件来自 Alice 。如果两个消息摘要的比较结果不一致,则表明电子合同文件已被篡改。


密码管理与数字证书:

密码系统的安全性依赖于密码管理。密码管理主要可以分成三个方面的内容,即密钥管理、密码管理政策、密码测评.


(1)密码管理:

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

(2)密码管理政策:
密码管理政策是指国家对密码进行管理的有关法律政策文件、标准规范、安全质晕测评等。
《中华人民共和国密码法》明确规定,密码分为核心密码、普通密码和商用密码,实行分类管理。
核心密码、普通密码用千保护国家秘密信息,属于国家秘密,由密码管理部门依法实行严格统一管理 
商用密码用千保护不属千国家秘密的信息,公民、法人和其他组织均可依法使用商用密码保护网络与
信息安全.

(3)密码测评:
密码测评是指对相关密码产品及系统进行安全性、合规性评估,以确保相关对象的密码安全有效,
保障密码系统的安全运行。

(2)数字证书:

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

(1)数字证书按类别可分为:个人证书、机构证书和设备证书.

(2)按用途可分为:签名证书和加密证书。

其中,签名证书是用于证明签名公钥的数字证书。加密证书是用于证明加密公钥的数字证书。

(3)为更好地管理数字证书, 般是基千 PK.I 技术建立数字证书认证系统(简称为 CA),
CA 提供数字证书的申请、审核、签发、查询、发布以及证书吊销等全生命周期的管理服务。


安全协议:

(1)Diffie-Hellman 密码交换协议:

简称 Dillie-Hellman 密钥交换协议。 Dillie-Hellman 密钥交换协议基于求解离散对数问题的困难性;


(2)SSH:

SSH Secure Shell 的缩写,即“安全外壳”,它是基于公钥的安全应用协议,由 SSH 输层协议、 SSH 用户认证协议和 SSH 连接协议三个子协议组成,各协议分工合作,实现加密、认证、完整性检查等多种安全服务。

SSH 传输层协议:提供算法协商和密钥交换,并实现服务器的认证,最终形成一个加密的安全连接,
该安全连接提供完整性、保密性和压缩选项服务。

SSH 用户认证协议:则利用传输层的服务来建立连接,使用传统的口令认证、公钥认证、主机认证等
多种机制认证用户。

SSH 连接协议:在前面两个协议的基础上,利用已建立的认证连接,并将其分解为多种不同的并发逻辑通道,
支持注册会话隧道和 TCP 转发 (TCP-forwarding) ,而且能为这些通道提供流控服务以及通道参数协商机制。

SSH 的工作机制共分七个步骤:


在实际的应用中, SSH 在端口转发技术的基础上,能够支持远程登录(Telnet) rsh rlogin 、文件传输 (scp) 等多种安全服务。 Linux 系统一般提供 SSH 服务, SSH的服务进程端口通常为 22.

    

    

学习书籍:信息安全工程师教程 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【itext7】itext7操作PDF文档之添加表单控件(单行文本框、多行文本框、单选框、复选框、下拉框、按钮)

这篇文章,主要介绍itext7操作PDF文档之添加表单控件(单行文本框、多行文本框、单选框、复选框、下拉框、按钮)。 目录 一、itext操作PDF表单 1.1、添加单行文本框 1.2、添加多行文本框 1.3、添加单选框 1.4、添加复选框 1.5、添加下拉框…

目标检测——SSD模型介绍

目录 SSD网络结构backboneextra部分loc和clsPriorBox层先验框的生成方法loc的预测结果 模型训练正负样本标记损失函数困难样本挖掘 模型预测 SSD网络结构 backbone extra部分 loc和cls PriorBox层先验框的生成方法 loc的预测结果 模型训练 正负样本标记 损失函数 困难样本挖掘…

rabbitmq访问异常

看到这个问题,第一时间想到rabbitmq的问题,应该权限导致的 先创建virtual hosts 接着创建用户并赋予权限,将eayc的virtual hosts权限赋予acc用户即可 15:34:24.250 WARN com.rabbitmq.client.impl.ForgivingExceptionHandler - An unexpected connec…

自动驾驶技术架构

自动驾驶技术架构 自动驾驶技术架构 自动驾驶关键技术 自动驾驶汽车技术架构较为复杂,涉及了多领域的交叉互容,例如汽车、交通、通信等,基于自动驾驶相关的软硬件、辅助开发工具、行业标准等各方面关键问题,自动驾驶汽车关键技术…

RedisTemplate存数据乱码

目录 方法一:为RedisTemplate写一个配置类 方法二:用StringRedisTemplate 我猜测,你可能想往redis里直接存对象,但是存完后,打开redis,才发现自己存进去的key和value均是乱码。 原因可能是因为你用redis…

24考研数据结构-——绪论2

目录 1.4 算法的时间复杂度1.4.1 渐近时间复杂度1.4.2 常对幂指阶1.4.3 时间复杂度的计算1.4.4 最好与最坏时间复杂度 1.5 算法的空间复杂度1.5.1 空间复杂度1.5.2 函数递归调用(未总结)1.5.3 存储地址1.5.3.1 内存高低地址与高低位1.5.3.2 用户程序虚拟…

【目标跟踪】1、基础知识

文章目录 一、卡尔曼滤波二、匈牙利匹配 一、卡尔曼滤波 什么是卡尔曼滤波?——状态估计器 卡尔曼滤波用于在包含不确定信息的系统中做出预测,对系统下一步要做什么进行推测,且会结合推测值和观测值来得到修正后的最优值卡尔曼滤波就是利用…

Hadoop——Hive运行环境搭建

Windows:10 JDK:1.8 Apache Hadoop:2.7.0 Apache Hive:2.1.1 Apache Hive src:1.2.2 MySQL:5.7 1、下载 Hadoop搭建 Apache Hive 2.1.1:https://archive.a…

基础 | 日志 | 体系介绍

INDEX 总览图上图的说明 总览图 上图的说明 日志体系的结构大约可以概括为 日志门面日志绑定层日志实现日志桥接层 slf4j 是 日志门面,所谓日志门面可以理解为日志总接口 slf4j-log4j、log4j-slf4j-impl 是 日志绑定层,日志绑定层的作用是将 日志门面…

嵌入式Linux开发常用命令以及工具总结

现在的Linux发行版诸如 Ubuntu、 CentOS、Fedora都具有图形界面环境,Linux 中的桌面环境(GNOME、Unity等)也是一个程序,它们是命令行的抽象,例如,当您通过单击“X”关闭窗口时,该操作会导致运行…

<C语言> 数据在内存中的存储

1.数据类型介绍 C语言中的基本内置类型如下: char //字符数据类型 short //短整型 int //整型 long //长整型 long long //更长的整型 float //单精度浮点数 double //双精度浮点数类型的意义: 1.使用这个类…

vue2如何将页面生成 pdf 导出 html2Canvas + jspdf

1.引入两个依赖 npm i html2canvas npm i jspdf 2.在utils文件夹下新建html2pdf.js文件 import html2canvas from html2canvas; import jsPDF from jspdf export const htmlToPDF async (htmlId, title "报表", bgColor "#fff") > { let pdfDom do…

Java使用 java.util.regex.Pattern 正则表达式校验参数值是否规范

场景: java中我们可以利用 Pattern 注解对某个入参进行规则校验,但有些特殊参数在接口入口处不方便校验,需要在代码中校验 一、使用 Pattern 注解校验 Pattern(regexp "^[a-zA-Z0-9]$", message "xxx号限输入字母、…

个人博客系统(SSM版 前端+后端)

前言 在学习Servlet的时候,也写了一个博客系统,主要的就是使用servelet加Tomcat进行实现的,而这个项目 仅仅适合去学习Web项目开发的思想,并不满足当下企业使用框架的思想,进行学习过Spring,Spring Boot,Spring MVC以及MyBatis之后,我们就可以对之前的项目使用SSM框架的形式进行…

Elasticsearch API(二)

文章目录 前言一、Elasticsearch指标ES支持的搜索类型ES的能力ES的写入实时性ES不支持事务 二、Elasticsearch名词节点(Node)角色(Roles)索引(index)文档(document) 三、Elasticsear…

126.【Redis 二刷】

Redis 二刷 (一)、认识NoSQL 与 SQL1.NoSQL与SQL的区别 (二)、认识Redis1.Redis 特征2.Redis安装及启动的三种方式 (基于Window)(1).命令行配置文件 3.Redis 客户端(1).命令行客户端(2).Redis可视化客户端 4.Redis 数据结构(1).Redis 通用命令(2).String 类型(3).Redis 的Key层…

【C++】list 模拟笔记

文章目录 list定义结点类(list_node)为什么封装迭代器为类 ?库里面模板多参数的由来 ?为什么普通迭代器不能隐式类型转换成const迭代器?迭代器位置指向及其返回值和整体代码 list list 和前面学习的 string 和 vector …

SAP HANA数据库学习

Systems介绍: Catalog下面存HANA的 Schema。 Content下面建package来 放view 。 Provisioning可以建虚拟表 数据源啥的。 Security下面 是用户角色和权限。 一个calculation view里面的scenario场景下都有啥呢? 首先是semantics下面的节点&#xff0…

跨网段耦合器的作用

你是否曾经遇到过需要跨网段访问设备的问题?比如在工业自动化领域,PLC和数控设备的连接。这时候,远创智控YC8000-NAT就能帮你轻松解决。 1, 远创智控YC8000-NAT是一款功能强大的设备,它可以将LAN1口所连接PLC的IP地址和端口号&a…

MySQL多版本并发控制原理(MVCC)

在数据库系统中,事务是指由一系列数据库操作组成的一个完整的逻辑过程,事务的基本特性是ACID: A : Atomicity (原子性) C: Consistency (一致性) I: Isolation (隔离性) D: 持久性(Durability) 由于大部分数据库都是高…