对RSA加密的理解
来源:互联网 发布:卫视软件下载 编辑:程序博客网 时间:2024/06/05 09:06
背景:最近在看唐巧的书<<IOS进阶>>有一段谈到RSA加密算法的
黑客在咖啡馆或机场等一些公共场所,用自己的电脑设置一个与该场所名字相同的免费 WiFi,那么受害者只要不小心使用了该 WiFi,就可能泄漏自己的明文密码。大多数普通人, 都会使用一样的密码登录他的所有的账号,这就意味着他的其他账号,例如淘宝或网上银 行账号也有被盗的风险。
正确的做法应该是这样:事先生成一对用于加密的公私钥,客户端在登录时,使用公钥将用 户的密码加密后,将密文传输到服务器。服务器使用私钥将密码解密,然后加盐 (Salt:在密 码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密 码的散列结果不相符) 之后再多次求 MD5,之后再和服务器原来存储的用同样方法处理过的 密码匹配,如果一致,则登录成功。这样,黑客即使截获了加密后的密文,由于没有私钥, 也无法还原出原始的密码。而服务器即使被黑客攻陷,黑客除了暴力尝试,也无法从加盐和 多次 MD5 后的密码中还原出原始的密码。这样就保证了用户密码的安全。
联想到之前自己接如渠道SDK时也有用到公钥私钥的,于是就找了一下相关资料,加深一下理解。
http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html
https://www.zhihu.com/question/25912483
https://www.youtube.com/watch?v=wXB-V_Keiu8
借用知友的理解:
A要发消息给B
B有一个盒子(公钥)一把锁(私钥)
A拿到盒子放消息进去,上锁。
快递给B,只有B能打开盒子。
即使中途被劫也无法打开盒子。
实际应用:
RSA和AES结合使用, 用AES密钥对明文进行加密,但是AES的密钥容易泄露,所以,用RSA的私钥对AES的密钥加密,即对明文进行一次加密,再对密钥加密.前几天才上传一个加密的代码
AES加密参考:
http://blog.csdn.net/yhhwatl/article/details/52523739
- 对RSA加密的理解
- rsa对文件加密
- RSA 公钥 数字签名 dec 的理解,以及对公钥加密和数字签名之间联系的理解
- 对输入的字符串进行RSA加密和解密处理
- 对文件压缩加密/解密解压缩的例子,DES/RSA
- java的RSA加密
- android的RSA加密
- 使用openssl中的加密函数AES、RC4、RSA对文件加密的一个例子
- 使用openssl中的加密函数AES、RC4、RSA对文件加密的一个例子
- 使用openssl中的加密函数AES、RC4、RSA对文件加密的一个例子
- Android采用AES+RSA的加密机制对http请求进行加密
- 对加密解密及数字签名的理解
- 对加密解密及数字签名的理解
- RSA非对称加密(简单理解)
- RSA对字符串加密电码解密
- 用RSA算法对密钥加密
- RSA实现对报文数据加密
- rsa加密算法的理解
- 2016.09.10【初中部 NOIP提高组 】模拟赛C题解
- svn 如何 排除忽略某些文件
- 如何设计APP软件图标
- 双系统重新安装完win10之后ubuntu启动项不见了
- java web每天定时任务
- 对RSA加密的理解
- PyConChina2016 (北京)9月17日与你相约
- Java形参是传值还是传引用
- jquery查找节点常用方法
- json解析
- 19. Remove Nth Node From End of List
- Java mysql jsp 时间对象的显示与处理
- logstash date插件介绍
- 圆弧Dialog