公钥加密,摘要算法MD5,SSH相关概念
1.公钥加密,又叫非对称加密,一般指的是用一组密钥来保证通信的安全。(公钥,私钥)成对存在且惟一,典型的公钥算法有 RSA(计算出的是1024位,128字节),顺便提一下与公钥加密算法相对应的就是传统的 私钥加密(对称加密),典型的有DES算法。
2.数字签名的过程和作用
公钥一般用来加密信息,而私钥更多用来加密摘要,如网站要给个人发送网页信息,为了确保网页信息确实是由该网站发出的并且中途没有被修改,则先对网页信息进行MD5摘要计算(生成32位十六进制的摘要),这个摘要就被称为数字签名。
第一步,个人接收到网站发过来的信息和数字签名,用该网站的公钥解密数字签名,如果可以正确解密,则证明确实是由该网站主动发出的网页,而且数字签名具有不可否认性,因为只有签名的一方具有私钥,能进行加密的动作;第二步,对网页同样进行MD5摘要计算,将得到的摘要与刚刚解密出来的摘要进行比对,如果一样,则证明网页文件中途没有被篡改,这即叫作验证数据的完整性。
3.为了公证密钥对与发行方的一一对应性,需要证书中心(CA),CA用自己的私钥对网站信息及网站的公钥一起进行私钥加密,这样就表明这对密钥合法,值得信任,浏览器今后就用CA的公钥解密出网站的公钥。可以放心的使用对应网站的公钥。与没有数字证书不同的是,现在网站给用户发送信息时,要将信息,数字签名,数字证书一起发送。
4.在SSH中,不存在证书中心。假如我们是A主机,向B主机发出登陆请求,那么B就将它的公钥发给我们,如果我们信任这个公钥,则用这个公钥加密我们的密码,发给B。这里存在一个问题,如果中间人C冒充B,将C自己的公钥发给我们,我们以为是B,依然用收到的公钥加密并回传,那么C通过用私钥解密就可以得到我们的密码。这样C就可以去登陆B了,这就是中间人攻击。
我们用SSH首次登陆一个主机时,它会提示无法确定主机的真实性,并会给出RSA公钥的指纹(将1024位128字节的RSA公钥进行MD5摘要计算,压缩成128位16字节的数据),怎样认证,没有其它办法,远程主机或者网站必须公示它的公钥指纹,我们自己进行核对是否一致,如果信任就直接进行登陆。
公钥加密,摘要算法MD5,SSH相关概念的更多相关文章
- Java 常见摘要算法——md5、sha1、sha256
目录 摘要算法简介 md5 使用jdk内置方法实现md5加密 使用bc方式实现md5加密 使用cc方式实现md5加密 sha1 使用jdk内置方法实现sha1加密 使用bc方式实现sha1加密 使用c ...
- 第三章 消息摘要算法--MD5
注意:本节内容主要参考自<Java加密与解密的艺术(第2版)>第6章“验证数据完整性--消息摘要算法” 3.1.消息摘要算法:防止消息在传递过程中被篡改. 原理:任何消息经过消息摘要算法后 ...
- MD5,SHA1 都是哈希 摘要算法 MD5+SALT BCRYPT
为什么说 MD5 是不可逆的? md5是摘要算法,你学数据结构的时候学过哈希表吧?也有叫散列的.md5就是干那个用的 当然,如果硬要说的话...你可以用md5 hash一段字符串,也算是加密好了,不过 ...
- Python中摘要算法MD5,SHA1讲解
摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示).摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要di ...
- python之模块hashlib(提供了常见的摘要算法,如MD5,SHA1等等)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块hashlib(提供了常见的摘要算法,如MD5,SHA1等等) #http://www.c ...
- SSH验证原理
http://www.tuicool.com/articles/qyiyim 下面会讲解ssh的密码登陆和免密码登陆.无论是密码登陆还是免密码登陆,安全使用的都是RSA非对称加密. SSH之所以能够保 ...
- Java加密与解密笔记(一) Base64和数据摘要算法
对加密解密下面的内容一定要先理解: 甲乙双方要通信,中间的连接可能被人窃听甚至篡改.解决办法就是把传输的内容进行加密,用密文去传输,这样即使被监听也没办法知道信息的具体内容. 加密时,甲乙双方可以约定 ...
- ssh 配置文件讲解大全 ssh调试模式 sftp scp strace进行调试 特权分离
ssh 配置文件讲解大全 ssh调试模式 sftp scp strace进行调试 特权分离 http://blog.chinaunix.net/uid-16728139-id-3265394.h ...
- 再谈初学者关心的ssh应用方方面面
http://blog.robertelder.org/what-is-ssh/ https://www.ssh.com/ssh/key/ 什么是ssh? ssh是一个在计算机之间实现安全通信的网络协 ...
随机推荐
- BZOJ3545 Peaks 离线处理+线段树合并
题意: 在Bytemountains有N座山峰,每座山峰有他的高度h_i.有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问询问从点v开始只经 ...
- 关于统一代码规范ResultBean<T>
之前看了一篇文章,是java团长的一篇代码规范的文章,很有启发.统一返回格式确实给开发带来方便和美感, 有时候Colltroller返回String或者什么Map,list什么的,虽然都转成json返 ...
- mac apache 配置
mac系统自带apache这无疑给广大的开发朋友提供了便利,接下来是针对其中的一些说明 一.自带apache相关命令 1. sudo apachectl start 启动服务,需要权限,就是你计算机的 ...
- delphi GDI+ [1]
摘抄自:万一的博客 安装头文件:http://www.cnblogs.com/del/archive/2008/06/06/1215319.html 目录 基本使用方法(绘制直线) 绘制一组直线 绘制 ...
- Kali Linux 下载、引导、安装
下载卡莉 Linux 官方镜像: https://www.kali.org/downloads/ 官方虚拟机镜像: https://www.offensive-security.com/kali-li ...
- Python 字典(2)
一.遍历字典 一个字典可能会包含多个键-值对,字典可以以多种方式存储信息,因此有多种遍历字典的方式,比如键-值对.键.值. 1.遍历所有的键-值对 user_01 = {'username':'tiz ...
- loadrunner 添加负载机
1.打开Controller 2. 添加负载 3. 配置参数 4.完成
- 程序如何实现设置系统WIFI共享
1.以管理员身份运行命令提示符:快捷键win+R(win+X 以管理员方式运行CMD)→输入cmd→回车2.启用并设定虚拟WiFi网卡:运行命令:netsh wlan set hostednetwor ...
- 又一个ajax实例,结合jQuery
又一个ajax实例,配合jQuery html <!DOCTYPE html> <html lang="zh-cn"> <head> < ...
- [bzoj4519][Cqoi2016]不同的最小割_网络流_最小割_最小割树
不同的最小割 bzoj-4519 Cqoi-2016 题目大意:题目链接. 注释:略. 想法: 我们发现这和最小割那题比较像. 我们依然通过那个题说的办法一样,构建最小割树即可. 接下来就是随便怎么处 ...