OpenSSL - 网络安全之数据加密和数字证书
2016-07-07 17:43
495 查看
功能应用:
消息摘要,给文件或数据生成消息摘要,消息摘要只能校验数据的完整性,如SHA、MD5
数据加密和解密:对数据进行加密解密,OpenSSL实现了所有加密算法
数字证书:可以通过命令行或代码生成证书,证书内包含了公钥
数字签名:利用加密算法对数据进行签名,验证数据来源可靠性,如RSA
随机数字:产生可靠的随机数
加密算法:
HASH算法:SHA、MD5等,不可逆加密,用于校验数据的完整性。
对称加密算法:DES、3DES、DESX等,双方使用相同的密钥进行加密解密。
非对称算法:RSA、ECC等,双方使用不同的密钥进行加密解密,公钥和私钥。公钥加密的数据只有私钥能解密,反之亦然。
其中RSA使用最为广泛,可同时用于数据加密和数字签名。
公钥和私钥:
公钥:公开的,提供给他人的加密解密钥匙,可以提供给多人。
私钥:只能自己一个人使用,不公开
性质:公钥和私钥都能进行加密解密,公钥加密的数据只有私钥能解密,私钥加密的数据只有公钥能解密。
应用场景:
公钥数据加密
数字证书内包含了公钥,在进行会话连接时,双方交换各自的公钥,保留自己的私钥。进行数据传输时,利用对方的公钥进行数据加密。加密后的数据只有对方的私钥才能进行解密。
私钥数字签名
私钥进行数据加密,所有人用公钥都能解密数据,但是加密后的数据却唯有私钥能生成。可以用于消息来源验证。将数据用私钥加密并明文告诉用户密文内容,用户进行公钥解密比较确认数据来源可靠。
数字证书:
数字证书的作用:通信双方使用公钥和私钥进行加密解密。依然存在风险,当用户公钥被他人替换,他人就可以冒充进行通信。证书内包含了公钥提供者的信息,如地址,邮箱,域名等,并且由第三方机构提供和加密,保证了公钥的可靠性。
利用证书,用户根据证书信息与消息来源进行比较,确认公钥的可靠性,证书由第三方机构颁布。
相关文章推荐
- Android Http连接和TCP连接的区别
- ios在2g/3g/4g网络下的抓包方法
- 非常简单的OKhttp封装工具类
- fiddler4监听https
- BurpSuite拦截HTTPS请求
- SIP电话(一)之程控交换机-FreeSWITCH的使用总结
- 有线网络(网关等)和无线网络通信(蓝牙跳频通信等)讲解
- 学习笔记之TCP拥塞控制
- 学习笔记之TCP/IP协议结构
- TCP成块数据流
- TCP的交互数据流
- 计算子网扩展后10.168.168.168的网络地址、子网地址、主机地址;
- Tcp连接的建立与终止
- IRTF,网络机器学习
- TCP:传输控制协议
- 【NOIP2013模拟联考2】摘取作物(pick)
- RTSP协议、RTMP协议、HTTP协议的区别
- upupw结合Fiddler使用,Apache的httpd-vhosts配置错误处理
- 用 Swift 编写面向协议的网络请求
- 通过tcpdump对iOS进行流量分析(无需越狱)