美文网首页
非对称加密和对称加密

非对称加密和对称加密

作者: 江南_烟雨 | 来源:发表于2019-01-20 22:41 被阅读0次

    非对称加密(公开秘钥加密

    • 公开秘钥加密(Public key cryptography),也称为非对称加密,是密码学的一种算法。

    • 非对称加密发展史

      1.1976年,惠特菲尔德·迪菲(Whitfield Diffie)与马丁·赫尔曼(Martlin Hellman)两位学者提出了密码交换算法,也就是DH算法。
      2.1978年,斯坦福的三维教授Rivest、Shmir和Adleman发表了RSA(三位发明者姓氏首字母缩写)算法,这是最著名的公开秘钥加密算法。
      3.常见的公钥加密算法有:DH秘钥交换协议中的公钥加密算法、RSA算法、随缘曲线加密算法(ECC)、ElGamal。使用最广泛的是RSA算法,ElGamal是另一种常用的非对称加密算法。

    • 非对称加密,就是加密和解密需要2把钥匙:一把公钥和一把私钥。由于加密和解密需要2个不同的密钥,故被称为非对称加密。

    • 公钥和私钥2个钥匙中,如果一个用作加密,则另一个就用作解密。使用其中一个密钥把明文加密后所得的密文,只能用相对应的另一个密钥才能得到原本的明文;甚至连最初用来加密的密钥也不能用作解密。

    • 虽然2个密钥在数学上相关,但如果知道了其中一个,并不能凭此计算出另外一个。因此其中换一个可以公开,称为公钥,任意向外发布;不公开的秘钥为私钥,必须由用户自行严格秘密保管,决不能通过任何途径向任何人提供。

    • 他人使用你的公钥加密信息,然后发送给你,你使用私钥解密,取出信息

    • 反过来,你用私钥加密信息,别人用你的公钥解开,从而证明这个信息确实是你发出的,且未被篡改,这叫就做数字签名

      WechatIMG3.png

    对称加密

    对称加密算法(data encryption algorithm, EDA),也叫做私钥加密算法。是加密和解密使用相同秘钥的加密算法。也叫做单秘钥算法,传统秘钥算法。

    aaa.png

    比特币

    比特币保证支付可靠性的原理就是非对称加密

    • 别人用你的公钥加密一笔钱发送给你,你用该公钥对应的私钥解密后就能收到钱。而别人没有私钥就没办法收到钱。
    • 你用私钥做了一个数字签名,别人用你的公钥能验证该签名是否属于你。
    • 由于支付的钱必须通过私钥才能使用,所以你是谁并不重要,重要的是谁拥有私钥。只有拥有了私钥,才能去除支付给你的钱

    RSA原理

    1.RSA算法基于一个十分简单的数据事实:

    • 将两个大素数相乘十分容易
    • 想要对其乘积进行因式分解及其困难,因此可以将乘积公开作为加密秘钥

    2.秘钥对的生成步骤

    1.随机选择两个不相等的质数p和q
    2.计算p和q的乘积N
    3.计算p-1和q-1的乘积φ(N)
    4.随机选个整数e,e与m要互质,且0<e<φ(N)
    5.计算e的模反元素d
    6.公钥是(N,e),私钥是(N,d)

    3.加解密步骤

    1.假设一个明文数m(0<=m<N)
    2.对明文m加密成密文c, c = m ^ e mod N
    3.对密文c解密成明文m, m = c ^ d mod N

    WechatIMG1 1.png

    相关文章

      网友评论

          本文标题:非对称加密和对称加密

          本文链接:https://www.haomeiwen.com/subject/ojmfjqtx.html