原文地址:http://www.ittenyear.com/414/rsa/

怎么理解RSA算法
能够把非对称加密算法里的公钥想象成一个带锁的箱子,把私钥想象成一把钥匙
能够把对称加密算法里的密钥想象成箱子和钥匙的组合

HTTPS使用了非对称加密和对称加密的组合:RSA和DES的组合就是,用DES把用户数据加密,然后把DES的密钥用RSA的公钥加密,这样用户数据和DES的密钥都是安全的,就像是把用户数据锁在了DES的箱子里,然后把DES的钥匙锁在了RSA的箱子里,而RSA的钥匙在server端保存着,所以在运送这两个箱子的途中,数据不会被窃取,是安全的。

具体原理能够看一下阮一峰的博客文章,写的很具体:


摘抄一些文字:
1976年曾经,全部的加密方法都是对称加密算法。这样的加密模式有一个最大弱点:甲方必须把加密规则告诉乙方。否则无法解密。

保存和传递密钥,就成了最头疼的问题。

1976年。D和H两个人提出了非对称加密算法
1977年,R/S/A三个人设计了RSA算法,RSA算法一直是最广为使用的"非对称加密算法"。

密钥越长,它就越难破解。

依据已经披露的文献,眼下被破解的最长RSA密钥是768个二进制位。也就是说,长度超过768位的密钥,还无法破解(至少没人公开宣布)。因此能够觉得。1024位的RSA密钥基本安全,2048位的密钥极其安全。

RSA算法的实现方式决定了公钥(n,e) 仅仅能加密小于n的整数m,那么假设要加密大于n的整数,该怎么办?有两种解决方法:一种是把长信息切割成若干段短消息,每段分别加密;还有一种是先选择一种"对称性加密算法"(比方DES)。用这样的算法的密钥加密信息,再用RSA公钥加密DES密钥。

n的长度就是密钥长度。3233写成二进制是110010100001,一共同拥有12位,所以这个密钥就是12位。

实际应用中,RSA密钥通常是1024位,重要场合则为2048位



。

怎么理解RSA算法的更多相关文章

  1. 更多细节的理解RSA算法

    一.概述 RSA算法是1977年由Ron Rivest.Adi Shamir 和 Leonard Adleman三人组在论文A Method for Obtaining Digital Signatu ...

  2. [已解决] 快速理解RSA算法

    RSA算法基础详解 http://www.cnblogs.com/hykun/p/RSA.html RSA算法原理(一) http://www.ruanyifeng.com/blog/2013/06/ ...

  3. [转] 带你彻底理解RSA算法原理

    http://blog.csdn.net/dbs1215/article/details/48953589 1. 什么是RSA RSA算法是现今使用最广泛的公钥密码算法,也是号称地球上最安全的加密算法 ...

  4. 彻底理解RSA算法原理

    1. 什么是RSA RSA算法是现今使用最广泛的公钥密码算法,也是号称地球上最安全的加密算法.在了解RSA算法之前,先熟悉下几个术语 根据密钥的使用方法,可以将密码分为对称密码和公钥密码 对称密码:加 ...

  5. 带你彻底理解RSA算法原理,很简单的

    1. 什么是RSA RSA算法是现今使用最广泛的公钥密码算法,也是号称地球上最安全的加密算法. 在了解RSA算法之前,先熟悉下几个术语 根据密钥的使用方法,可以将密码分为 对称密码 和 公钥密码 对称 ...

  6. 信息安全-5:RSA算法详解(已编程实现)[原创]

    转发注明出处:http://www.cnblogs.com/0zcl/p/6120389.html 背景介绍 1976年以前,所有的加密方法都是同一种模式: (1)甲方选择某一种加密规则,对信息进行加 ...

  7. (转)RSA算法原理(二)

      作者: 阮一峰 日期: 2013年7月 4日 上一次,我介绍了一些数论知识. 有了这些知识,我们就可以看懂RSA算法.这是目前地球上最重要的加密算法. 六.密钥生成的步骤 我们通过一个例子,来理解 ...

  8. (转)RSA算法原理

    RSA算法原理(二)   作者: 阮一峰 日期: 2013年7月 4日 上一次,我介绍了一些数论知识. 有了这些知识,我们就可以看懂RSA算法.这是目前地球上最重要的加密算法. 六.密钥生成的步骤 我 ...

  9. RSA算法解析

    RSA算法原理(一) 如果你问我,哪一种算法最重要? 我可能会回答"公钥加密算法". 因为它是计算机通信安全的基石,保证了加密数据不会被破解.你可以想象一下,信用卡交易被破解的后果 ...

随机推荐

  1. d3 画简单的柱形图

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. 【MFC】半透明对话框(转)

    原文转自 http://jingyan.baidu.com/article/656db918fd5b0ee381249ca1.html 在OnInitDialog()函数添加以下代码: //设置半透明 ...

  3. linux下 open fopen区别

    open是linux下的底层系统调用函数,fopen与freopen c/c++下的标准I/O库函数,带输入/输出缓冲.linxu下的fopen是open的封装函数,fopen最终还是要调用底层的系统 ...

  4. MinGW 创建的程序或 DLL 脱离 libgcc-xx-xx.dll 和 libstdc++-x.dll 运行库的方法

    MinGW 沿袭了 Linux 下 gcc/g++ 的习惯,编译出的程序或者动态链接库(共享库)总是默认采用动态链接方式,需要系统中附带运行时库文件 libgcc-xx-xx.dll 和 libstd ...

  5. LeetCode OJ--Permutation Sequence *

    求第k个排列. 刚开始按照一个排列一个排列的求,超时. 于是演算了一下,发下有数学规律,其实就是康托解码. 康托展开:全排列到一个自然数的双射 X=an*(n-1)!+an-1*(n-2)!+...+ ...

  6. 从 React Router 谈谈路由的那些事

    React Router 是专为 React 设计的路由解决方案,在使用 React 来开发 SPA (单页应用)项目时,都会需要路由功能,而 React Router 应该是目前使用率最高的. Re ...

  7. Cryptography I 学习笔记 --- 绪论

    课程地址 1. 密码学可以用于保证消息传递的机密性(第三方不可能得到明文)与完整性(密文如果被第三方篡改,有手段可以检测到) 2. 数字签名(用私钥加密待签名文件的hash值) 3. 匿名通信(mix ...

  8. cmd 命令提示符常用操作

    切换盘符: d: 进入子目录: cd web 返回上级目录: cd .. 查询子目录下所有文件:dir

  9. 一起来学Spring Cloud | 第六章:服务网关 ( Zuul)

    本章节,我们讲解springcloud重要组件:微服务网关Zuul.如果有同学从第一章看到本章的,会发现我们已经讲解了大部分微服务常用的基本组件. 已经讲解过的: 一起来学Spring Cloud | ...

  10. sed命令2

    测试文件sedtest.txt,内容为: [root@localhost sed]# cat sedtest.txt my cat's name is betty it's a cat; this i ...