ECDH秘钥协商算法原理(ECDH Key Exchange)

这篇具有很好参考价值的文章主要介绍了ECDH秘钥协商算法原理(ECDH Key Exchange)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ECDH全称是椭圆曲线迪菲-赫尔曼秘钥交换(Elliptic Curve Diffie–Hellman key Exchange),主要是用来在一个不安全的通道中建立起安全的共有加密资料,一般来说交换的都是私钥,这个密钥一般作为“对称加密”的密钥而被双方在后续数据传输中使用。

ECDH是建立在这样一个前提之上的,给定椭圆曲线上的一个点P,一个整数k,求Q=KP很容易;但是通过Q,P求解K很难。

ECDH是一种匿名密钥协商方案,允许双方在不安全的信道上建立共享密钥,双方各有一个椭圆曲线公钥-私钥对。ECDH非常类似于经典的DHKE(Diffie–Hellman key exchange)算法,但它使用ECC点乘而不是模幂运算。ECDH基于EC点的以下特性:

(a * G) * b = (b * G) * a

如果我们有两个秘密数a和b(两个私钥,属于Alice和Bob)和一条带生成点G的ECC椭圆曲线,我们可以在不安全的信道上交换值(a*G)和(b*G)(Alice和Bob的公钥),然后我们可以导出一个共享秘密:secret = (a * G) * b = (b * G) * a。非常简单,上述方程采用以下形式:

alicePubKey * bobPrivKey = bobPubKey * alicePrivKey = secret

ECDH算法(Elliptic Curve Diffie–Hellman Key Exchange)非常简单:

1.Alice 生成一个随机ECC密钥对:{alicePrivKeyalicePubKey=alicePrivKey*G}
2.Bob生成一个随机ECC密钥对:{bobPrivKeybobPubKey=bobpriwkey*G}
3.Alice和Bob通过不安全的渠道(例如,通过互联网)交换公钥
4.Alice 计算sharedKey=bobPubKey*alicePrivKey
5.Bob计算sharedKey=alicePubKey*bobPrivKey
6.现在,Alice 和Bob拥有相同的sharedKey==bobPubKey*alicePrivKey==alicePubKey*bobPrivKey

在下一节中,我们将实现ECDH算法并用代码示例进行演示。文章来源地址https://www.toymoban.com/news/detail-515315.html

到了这里,关于ECDH秘钥协商算法原理(ECDH Key Exchange)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软件使用【SecureCRT】 SSH连接报错Key exchange failed

    目录 一、原因分析 二、解决方法 三、修改文件方法 1、修改ssh_config 2、修改sshd_config 3、重新启动服务 SecureCRT连接服务器时报错,报错信息为: Key exchange failed. No compatible key exchange method. The server supports these methods: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-ni

    2024年02月06日
    浏览(65)
  • SecureCRT链接linux服务器提示Key exchange failed的解决办法

    今天重新购买了腾讯云服务器,不得不说现在的优惠力度太小了,服务器基本找不到3年的,都是1年或者6个月的,但是因为服务器要到期了,等不到双十一,就直接买了,购买之后首当其冲就是链接服务器,安装宝塔控制系统,但是当使用SecureCRT链接服务器的时候提示: 如图

    2024年02月13日
    浏览(33)
  • Key exchange was not finished, connection is closed.解决办法

    利用 java 连接 Linux 服务器中碰到错误: Key exchange was not finished, connection is closed. ,导致服务器的连接失败,报错如下 是 ssh 中的 key 交换算法不兼容导致 修改配置文件 添加如下内容 重启服务 如果重新启动 ssh 出现错误 Start operation timed out. Terminating.Failed to start openbsd secure s

    2024年02月12日
    浏览(67)
  • 【git clone error:no matching key exchange method found】

    拉起项目代码报错 git clone ssh://uidxxx@gerrit-xxxxxxxx Cloning into ‘xxxxx’… Unable to negotiate with xxx.xx.xxx.ip port xxxxx: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 fatal: Could not read from remote repository. //无法读取远程仓库 未找到匹配的密钥交换方法,不

    2024年02月12日
    浏览(44)
  • SIFT 算法和SURF(Speeded Up Robust Features)算法的全称是什么,分别是什么意思,分别是用来干什么的?

    问题描述:SIFT 算法和SURF(Speeded Up Robust Features)算法的全称是什么,分别是什么意思,分别是用来干什么的? 问题解答: SIFT 算法: 全称: 尺度不变特征变换(Scale-Invariant Feature Transform)。 意义: SIFT 算法用于检测图像中的关键点,并提取这些关键点的特征描述子,具有尺度

    2024年01月20日
    浏览(53)
  • “Couldn‘t agree a key exchange algorithm”,putty登录服务器或winscp登录服务器报这个错误

    “Couldn’t agree a key exchange algorithm”,putty登录服务器或winscp登录服务器报这个错误 如图,登录报错怎么处理? 原因:随着Linux版本的更新,服务器支持的加密算法也在不断更新,而老版本的Putty不支持SSH服务器新的加密算法,就会出现这样的问题 解决方法:更新putty最新版本

    2024年02月11日
    浏览(34)
  • 椭圆曲线加密原理与应用

    由于RSA、AES等国际算法面临高强度算法禁售和被部署后门风险,我国基于ECC椭圆曲线,自研SM2/SM3/SM4/SM9一套安全算法。根据国家整体战略,金融及重要领域要逐步实现国密算法替换,另根据人民银行总体规划,在2022年金融行业要全面应用国密算法。 在FireFly移动金融开发平台

    2024年02月05日
    浏览(46)
  • SSH访问报错:ssh_exchange_identification: read: Connection reset by peer、Permission denied (publickey,key

    ssh_exchange_identification: read: Connection reset by peer 原因: 一般是因为源地址限制导致的 Permission denied (publickey,keyboard-interactive,hostbased). 原因: 客户端和服务端认证方法不匹配,最后定位因为是server端使用了keyboard-interactive认证方法,而客户端只有password,publickey。 解决: 修改ser

    2024年02月02日
    浏览(53)
  • MATLAB--椭圆拟合算法

    This code aims for ellipse fitting but only contains the center’s calculation. 使用: xcell为x坐标数组,ycell为y坐标数组;

    2024年04月17日
    浏览(38)
  • 椭圆曲线加密算法(ECC)——计算问题

    椭圆曲线加密算法,简称ECC,是基于椭圆曲线数学理论实现的一种非对称加密算法。 一般情况下,椭圆曲线可用下列方程式来表示,其中a,b,c,d为系数。 E:y2=ax3+ bx2+cx+d 题目:已知点G=(2,7)在椭圆曲线E11(1,6)上,计算2G的值。 ! 1这里设Q为椭圆曲线上的一个点,叫做基点

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包