zoukankan      html  css  js  c++  java
  • 怎么理解RSA算法

    原文地址: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位

  • 相关阅读:
    css3 3d 转换
    css3 动画序列
    css3 动画
    2d 转换之缩放
    2d 转换中心点
    css3 书写 动画三角形
    2d 旋转
    2D转换
    伪元素 字体图标
    风陵01
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/7225183.html
Copyright © 2011-2022 走看看