javascript - https 加密解密的某些疑惑??

查看:68
本文介绍了javascript - https 加密解密的某些疑惑??的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

参考文章:http://www.cnblogs.com/loveso...

https 图过程:

网络传输这一块有(key 采取非对称加密传输;数据采取对称加密传输(性能决定的)):
1. 步骤3:公钥(publicKey)
2. 步骤5:publicKey + 对待传输数据进行对称加密(symmetricCal)用的密钥(key) + 非对称加密算法(disymmetricCal) = cryptKey(加密后的key)
3. 步骤7:使用 key 进行对称加密后传输的数据(cryptData)

https 强调的安全性,就是指即使获取了 publicKey , cryptKey , cryptData 这三个传输过程中的所有信息,只要没有 步骤2生成的私钥(privateKey) 就绝对无法获取正确的数据。

但是这边我就很疑惑了:https 的对称加密算法非对称加密算法 是否已知??我感觉如果要做到上面这一点,必须没有人知道加密解密算法的过程才行。

因为 publicKey + disymmetricCal = cryptKey,这边如果得知了 publicKeydisymmetricCal , 对 cryptKey 进行逆向推导一下不就能够得到原来的 key ?同理,一旦得到 key + symmetric , 对 cryptData 进行逆向推导不就得到了 原来的 data

解决方案

早期加密注重加密方式的保密性,也就是说尽量不让别人知道加密过程。
这种加密方式的缺点很明显:

  1. 保密成本高。

  2. 泄露后再研究一个可靠的加密方法很困难。

  3. 加密方法未经过大量验证,可靠性有限。

  4. 不适用于公共领域。

现代加密更多的是注重加密方法的安全性,即将加密算法公开,自己保留密钥。
因为这些加密方法都是会被全世界的密码学专家所了解,并尝试破解,能够留下来的必然是久经考验的算法。
即使不小心因为人的因素泄露了密钥,只要换一个就好。

至于题目中担心的逆向推导,RSA之类的非对称加密算法之所以称为非对称加密,并非指理论上不可由公钥反推私钥,而是反推需要的运算量过大导致无法在合理时间内获得结果(真的是到死了程序未必能跑完)
这种时候就可以认为其是非对称加密了。

当然,也有人开了脑洞,我现在把你们的数据保留下来,等以后量子计算机出来能秒破RSA的时候再破解,虽然到时候你们肯定已经升级的加密方式,但是我好歹能撞库了啊~~~
(就看量子计算机到我死了能不能达到这种地步23333)

这篇关于javascript - https 加密解密的某些疑惑??的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆