| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 【XA.DAY.3】密码学基本理论 -> 正文阅读 |
|
[网络协议]【XA.DAY.3】密码学基本理论 |
2019年《中华人民共和国密码法》草案已经发布 明文:需要采用密码技术保护的消息。 密文:用密码技术处理过明文的结果。 将明文变换成密文的过程称作加密,将密文恢复出原明文的过程称作解密。 加密过程中使用的一组操作运算规则称作加密算法,反之,解密算法。 密码分析攻击类型分为五种: 1.唯密文攻击(密码分析者只拥有一个或多个用同一个密钥加密的密文,没有其他可利用的信息) 2.已知明文攻击(密码分析者仅知道当前密钥下的一些明文及所对应的密文) 3.选择明文攻击(密码分析者能够得到当前密钥下自己选定的明文所对应的密文) 4.密文验证攻击(密码分析者对于任何选定的密文,能够得到该密文"是否合法"的判断) 5.选择密文攻击(除了挑战密文外,密码分析者能够得到任何选定的密文所对应的明文) 密码体制分为:私钥和公钥,而介于两者之间的称为混合密码体制 私钥密码体制又称为对称密码体制,其特点是加密和解密使用相同的密钥。 私钥密码体制的缺陷: 密钥分配问题,密钥管理问题,无法认证源; 公钥密码体制又称为非对称密码体制,其加密解密过程中使用不同的密钥处理方式,其中,加密密钥可公开,只需把解密密钥安全存放即可。 公钥密码体制优点: 1.密钥分发方便,能以公开方式分配加密密钥。 2.密钥保管量少。 3.支持数字签名。 混合密码体制利用公钥密码体制分配私钥密码体制的密钥,消息的收发双方共用这个密钥,然后按照私钥密码体制方式,进行加密和解密运算。 常见的密码算法 DES:是数据加密标准的简称,由IBM公司研制,DES是一个分组加密算法,能够支持64比特的明文块加密,其密钥长度为56比特。 IDEA:是国际数据加密算法的简称,是一个分组加密算法,其明文和密文分组都是64比特,密钥长度为128比特。 AES:1997年由美国国家标准技术研究所发起征集,其支持128比特分组,密钥长度至少为128、192、256。 RSA:是非对称算法,在RSA加密算法中,公钥和私钥都可以用于加密消息,用于加密消息的密钥与用于解密消息的密钥相反。 国产密码算法: SM1:对称加密,分组长度和密钥长度都为128比特 SM2:非对称加密,用于公钥加密算法、密钥交换协议、数字签名算法 SM3:杂凑算法,杂凑值长度为256比特 SM4:对称加密,分组长度和密钥长度都为128比特 SM9:标识密码算法 Hash函数与数字签名 Hash函数: 杂凑函数简称Hash函数,它能够将任意长度的信息转换为固定长度的哈希值,并且任意不同消息或文件所生成的哈希值是不一样的。 Hash算法: Hash算法是指有关哈希值或杂凑值得计算方法,Hash算法又称为杂凑算法、散列算法、哈希算法或数据摘要算法。常见的Hash算法有:MD5、SHA、SM3。 数字签名: 数字签名是指签名者使用私钥对待签名数据的杂凑值做密码运算得到的结果。 数字签名至少满足三个条件: 1.非否认。签名者事后不能否认自己的签名。 2.真实性。接收者能验证签名,而其他人不能伪造签名。 3.可鉴别性。当双方关于签名的真伪发生争执时,第三方能解决双方之间发生的争执。 密码管理:密钥管理、密码管理政策、密码测评 密钥管理主要围绕密钥的生命周期进行: 密钥生成、密钥存储、密钥分发、密钥使用、密钥更新、密钥撤销、密钥备份、密钥恢复、密钥销毁、密钥审计。 密码管理政策: 《中华人民共和国密码法》规定:密码分为核心密码、普通密码、商用密码、实行分类管理; 核心密码、普通密码用于保护国家秘密信息,数据国家秘密,由密码管理部门依法实行统一管理。 商用密码用于保护不属于国家秘密的信息,公民,法人和其他组织均可依法适用商用密码。 数字证书: 数字证书也称为公钥证书,是由证书认证机构(CA)签名的包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及扩展信息的一种数据结构。 数字证书按类别可分为:个人证书、机构证书、设备证书、 按用途可分为:签名证书、加密证书; 签名证书是用于证明签名公钥的数字证书,加密证书是用于证明加密公钥的数字证书。 安全协议 SSH是基于公钥的安全应用协议,由SSH传输层协议、SSH用户认证协议、SSH连接协议组成。 SSH端口号为22. |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 11:55:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |