• 关于ECDSA/ECC(密钥加密传输)和ECDSA/ECDH(密钥磋商)


    关于ECDSA/ECC(密钥加密传输)和ECDSA/ECDH(密钥磋商)

    来源: https://blog.csdn.net/xueyepiaoling/article/details/62433378

    ECC:Elliptic Curves Cryptography,椭圆曲线密码编码学

    ECDSA:用于数字签名,是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC,最后签名出来的值也是分为r,s。

    ECDH:是基于ECC(Elliptic Curve Cryptosystems,椭圆曲线密码体制,参看ECC)的DH( Diffie-Hellman)密钥交换算法。

    重点说一下,ECDH用途:

    由于通过ECDH,双方可以在不共享任何秘密的前提下协商出一个共享秘密,因此,ECDH广泛用于协议之中,通过ECDH得到对称加密密钥。如TLS中的*_ECDH_*密码套件。使用DH算法的协议,都可以升级到ECDH算法。ECDH具有ECC的高强度、短密钥长度、计算速度快等优点。

    密钥交换过程:

    假设密钥交换双方为Alice、Bob,其有共享曲线参数(椭圆曲线E、阶N、基点G)。

    1.Alice生成随机整数a,计算A=a*G。Bob生成随机整数b,计算B=b*G。
    2.Alice将A传递给Bob。A的传递可以公开,即攻击者可以获取A。由于椭圆曲线的离散对数问题是难题,所以攻击者不可以通过A、G计算出a。Bob将B传递给Alice。同理,B的传递可以公开。

    3.Bob收到Alice传递的A,计算Q=b*A

    4.Alice收到Bob传递的B,计算Q‘=a*B

    总结:

      Alice、Bob双方即得Q=b*A=b*(a*G)=(b*a)*G=(a*b)*G=a*(b*G)=a*B=Q' (交换律和结合律),即双方得到一致的密钥Q。

    参考资料:

    ECDH   

    ECC-ECDSA

    ECC-ECDH

    ECDH -wiki

    ECDH-PYTHON

  • 相关阅读:
    hdu 2569
    hdu 2571
    hdu 4540
    Linux:远程到linux的图形界面
    Windows:文件服务器,访问进去不能查看到完整的文件
    Linux:去除认证,加速 SSH登录
    Linux:永久修改网卡的MAC地址
    Loadrunner:LR提交JSON格式的POST请求
    Linux: vi 编辑器中文乱码
    自动化测试相关:Android SDK无法下载问题,不FQ的解决办法
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/9173937.html
Copyright © 2020-2023  润新知