window的加密原理
说SSH加密原理前,先说说windows的加密。在windows当中,一个文件是可以被加密的,右键—>属性—>常规—>高级这。只要勾选了“加密内容以便保护数据”,确定后,由于是使用管理员账户加密,而登录的时候使用的还是管理员账户,导致当使用非管理员账户时或者其他计算机尝试打开时,是不允许使用的。
这种加密非常的隐蔽,不像word加密那样,每次打开都需要你输密码,过一段时间都不记得这个文件加密过。当电脑出现故障需要重新安装系统时,虽然这个文件备份过,但是没有导出加密的**,导致这个文件再也打不开,因为**丢失。
一、对称加密算法
采用单钥密码系统的加密方法,同一个**可以同时用作信息的加密与解密,这种加密方法称为对称加密,也称为单**加密,属于较早的加密算法之一。这么说可能不好理解,比如说:我加密一个文件用的密码是“159”,我把这个文件交给其他人,我告诉其他人加密的密码为”159“,他们才能打开使用。也就是说,加密和解密使用的密码是一样的。
数据加密过程:在对称加密算法中,数据发送方将原始数据和加***一起经过特殊加密处理,生成复杂的加密密文进行发送。
数据解密过程:数据接收方收到密文后,若想读取原始数据,需要使用加密用过的**及相同算法的逆算法对密文进行解密。
这种算法有问题吗?
有。我们知道,人们在互联网上做任何事情都离不开账号,普通人的常用密码可能就三个或者更少或者是现同密码。比如说有一天我的某个账号被人盗了,那么这名黑客如果进一步的挖掘个人信息,什么银行卡密码、wechat密码、游戏账号密码之类的都可能被猜出来,密码泄露导致的连锁反应后果是不堪设想的。这是非常不合理且不安全的。
数据库撞库:收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。很多用户在不同网站使用的是相同的帐号密码,因此黑客可以通过获取用户在A网站的账户从而尝试登录B网址,这就可以理解为撞库攻击 。
二、非对称加密算法
又名”公开**加密算法“,它需要两个**:公开**(publickey)和私有**(privatekey)。有以下特点:
※ 公钥和私钥成对出
※ 公开的**叫公钥,只有自己知道的叫私钥
※ 用公钥加密的数据只有对应的私钥可以解
※ 用私钥加密的数据只有对应的公钥可以解
※ 如果可以用公钥解密,则必然是对应的私钥加密的
※ 如果可以用私钥解密,则必然是对应的公钥加密的
具体过程是这样的:
①、首先 接收方 生成一对**,即私钥和公钥
②、然后,接收方 将公钥发送给 发送方
③、发送方用收到的公钥对数据加密,再发送给接收方
④、接收方收到数据后,使用自己的私钥解密。
由于在非对称算法中,公钥加密的数据必须用对应的私钥才能解密,而私钥又只有接收方自己知道,这样就保证了数据传输的安全性。
使用非对称加密算法的软件很多,比如windows平台下的gpg,Linux平台下的pgp。
三、SSH加密原理
SSH加密原理就是利用非对称加密算法演变而来的,当客户端第一次通过SSH连接服务器时,会弹出一个东西,问是否要下载这个数据,这个就是公钥。如下图:
客户端发送的任何数据都是拿这个公钥进行加密,然后传给服务器,服务器有自己的私钥,能解开看到原始数据。如果数据在网络传输过程中被人截获了,由于没有对应的私钥,看到的东西都是乱码。
注意!这里的安全指的是加密数据在网络传输中的安全。
部分内容参考:神翼的博客—《理解公钥和私钥》