Linux-shell篇之加密算法

此生再无相见时 提交于 2020-01-26 03:24:04

TCP/IP:安全

A --> B
机密性:明文传输(ftp,http,smtp,telnet)
完整性:10(100)
身份验证:

机密性:plaintext --> 转换规则 --> ciphertext
ciphertext --> 转换规则 --> plaintext

转换算法:密钥

对称加密:算法

数据完整性:A --> B

单向加密算法:提取数据特征码
输入一样:输出必然相同
雪崩效应:输入的微小改变,将会引起结果的巨大改变
定长输出:无论原始数据是多大,结果大小都是相同的
不可逆:无法根据特征码还原原来的数据

协商生成密码:密钥交换(Internet Key Exchange,IKE)

Diffie-Hellman协议(密钥交换算法):

A --> B
p,g(大素数,生成数)

A:x
B:y

A:g^x%p --> B
B:g^y%p --> A

g,p,g^x%p,g^y%p

A:g^x%p --> B
B:g^y%p --> A

A:(g^y%p)^x=g^yx%p
B:(g^x%p)^y=g^xy%p

公钥加密算法:非对称加密算法
密钥对:
公钥:p
私钥:s

发送方用自己的私钥加密数据,可以实现身份验证
发送方用对方的公钥加密数据,可以保证数据机密性

公钥加密算法很少用来加密数据:速度太慢

PKI:Public Key Infrastructure
CA:Certificate Authority

x509,pkcs12

x509:
公钥及其有效期限
证书的合法拥有者
证书该如何被使用
CA的信息
CA签名的校验码

PKI:TLS/SSL:x509

PKI:OpenGPG

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!