| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 对称加密和非对称加密 -> 正文阅读 |
|
[系统运维]对称加密和非对称加密 |
通俗易懂的记录下自己对俩个加密原理的理解和实际项目中主要采用的加密方式 网络安全主要包括四点:
一.对称密钥密码体系发送方和接收方共享密钥
1.块密码块密码将报文按块划分,比如一个块3比特,一个块64比特 简单示例: 三比特块密码映射表示例:
这是一对一的映射,明文000对应密文110,想换个密文对应就要换一张表,能换多少种呢?可不是8种,其他明文对应密文变了那就又是一张新表了.所以要排列组合,8!=40320
一般都是64块,所以想穷举破解不太可能. 但是64位的表多大啊?怎么维护,所以现在
2.密码块连接
? 二.非对称密钥体系/公开密钥加密体系经典算法:RSA
生成公私钥的步骤
证明:不写了.我们是程序员,不是数学家 三.报文完整性和数字签名1.散列函数常用算法:MD5(MD4为其前身),SHA-1(Security Hash Algorithm) 使用方法:
使用方法:
目前最流行的标准HMAC 2.数字签名用私钥加密即为加签. 同样三步:
?项目中对接其中一个公司的加密 其中另一个公司的加密,其实不是很规范,直接发送签名串,利用了能用公钥解开就是正确的加密特性,与传统验签比少了对比明文的过程.
? 验证:明文m的散列=公钥解密签名 这种需要用私钥加签的,公钥一定要有认证,在我的项目中,与其他公司对接公钥证书就是从认证中心(Certification Authority, CA)申请的.CA对公钥签名,我们用CA来验证这个公钥可信.? 我对接的俩家公司采用的加密过程,标准的先摘要再加签,最后明文签名一起发送 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/16 2:54:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |