非对称加密算法

1.常用算法: RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)

2.对称加密算法
使用过程: 
 乙方生成两把密钥(公钥和私钥)
 甲方获取乙方的公钥,然后用它对信息加密。
乙方得到加密后的信息,用私钥解密,乙方也可用私钥加密字符串
甲方获取乙方私钥加密数据,用公钥解密优点: 更安全,密钥越长,它就越难破解
缺点: 加密速度慢

3.算法剖析

(数字证书ca&https)

非对称加密DH为了更好的区分明文和密文,用【AA】代表AA被加密,AA 代表正常未加密

client 发出请求

server 收到请求,并自己生成一对密钥,即 公钥S 和 私钥S

server 把生成的 公钥S 传递给 client (除了 公钥S ,还有很多额外信息)

client 收到 公钥S 后进行判断,若无效,弹出警告,否则生成一串随机数,我们称之为 私钥C ,然后 client 用 server 传过来的 公钥S 对该随机数加密,形成【私钥C】

client 把【私钥C】传递给 server

server 收到【私钥C】,用 私钥S 把【私钥C】解密成 私钥C,然后把需要传递的数据用 私钥C 进行加密

server 把【数据】传递给 client

client 收到【数据】,用 私钥C 解密,完成一波收割

对称加密是指加密和解密用一致的密钥,特点是快

非对称加密是指密钥区分公钥和私钥,公钥加密,私钥解密(私钥好比唯逐个把钥匙,公钥好比锁,钥匙只有一把,但锁可以有很多,被锁头锁上的数据全天下只有一把私钥才能 单开),特点是安全,但是慢

这回理解了吧,上述方式缺点是 慢,所以 https 的流程综合了对称加密和非对称加密的优点,利用非对称加密的安全性来加密那一串随机数--私钥C,利用对称加密的快捷性来加 

密报文,总体来说就是把真正加密解密的密钥(私钥C)用公钥S和私钥S来加密,很灵性啊。

利弊

aes/des加密速度快,适合大量数据,des容易破解,一般用3重des,后来又出现了更快更安全的aes

rsa是公钥加密,速度慢,只能处理少量数据,优点是公钥即使在不安全的网络上公开,也能保证安全

常见情况是双方用rsa协商出一个密钥后通过aes/3des给数据加密

推荐阅读更多精彩内容

  • 1.什么是RSA算法: RSA是目前使用比较多的公钥算法,使用非常广泛,也是目前号称最安全的加密算法。对称密码:加...
    ericsonyc阅读 851评论 0 2
  • 数据传输加密 在开发应用过程中,客户端与服务端经常需要进行数据传输,涉及到重要隐私信息时,开发者自然会想到对其进行...
    chaychan阅读 6,311评论 7 89
  • 一、对称加密与非对称加密 对称加密:加密和解密使用的是同一个密钥,加解密双方必须使用同一个密钥才能进行正常的沟通。...
    会跳舞的机器人阅读 6,648评论 0 8
  • 昨天晚上回家了 家人到机场接我 以前上学的时候 基本上在学校过十一 反倒工资了在家过 可是。。。 下雨了 也没人玩
    洛维阅读 77评论 0 0
  • 一场盛宴 一场闹剧 一堆群演 一堆平凡人 都生而为芸芸众生 都生而处于大千世界下平淡一介孩儿 几多喜悦,几多悲欢,...
    Emmazh阅读 64评论 0 1
  • 时光蔓延水光精华粉凝霜,含有什么成分,有什么效果,
    梅_1362阅读 426评论 0 0
  • 我喜欢读诗,却不会写诗。不懂平仄音,不懂诗的韵律。会背的几首诗也不知道出自何处,写诗人是谁,只是傻傻的喜欢诗。 下...
    圆梦perfect阅读 164评论 0 5