博客
关于我
区块链 - 比特币加密算法之椭圆曲线
阅读量:203 次
发布时间:2019-02-28

本文共 1140 字,大约阅读时间需要 3 分钟。

椭圆曲线加密算法是密码学中的核心技术,特别是在比特币系统中,椭圆曲线乘法(ECDSA)是私钥生成和公钥签名的基础。比特币选择了secp256k1曲线,这是一种特定的椭圆曲线参数,结合了优化的数学常数。

椭圆曲线的定义

椭圆曲线是一种满足方程 ( y^2 = x^3 + ax + b ) 的点集,其中:

  • ( x ) 和 ( y ) 是实数坐标。
  • ( a ) 和 ( b ) 是常数,满足 ( 4a^2 - 27b^3 \neq 0 )。
  • 包含无穷远点(定义为0)。
  • 椭圆曲线的形状根据 ( a ) 和 ( b ) 的值有所不同。比如,secp256k1曲线是一个经过优化的椭圆曲线,适合于高安全性的加密应用。

    椭圆曲线上的点加法

    椭圆曲线加法是基于几何意义上的加法,涉及曲线上的点和直线交点。假设一条直线与椭圆曲线交于三个点 ( P, Q, R ),则有 ( P + Q = R )(其中 ( R ) 是无穷远点)。具体操作如下:

  • 当 ( Q ) 是无穷远点时,( P + Q = P )。
  • 当 ( P ) 和 ( Q ) 关于X轴对称时,( P + Q = 0 )。
  • 当 ( P ) 和 ( Q ) 不是对称点时,( P + Q ) 会是另一个点 ( R )。
  • 当 ( P = Q ) 时,( P + P = -R ),即 ( 2P = -R )。
  • 椭圆曲线上的点数乘

    椭圆曲线上的点数乘是通过倍乘法实现的。例如,计算 ( 8G ) 可以通过连续的加法得到,但这会导致大量计算。倍乘法通过以下步骤优化:

  • 计算 ( -2G )(即过 ( G ) 做切线的交点)。
  • 将 ( -2G ) 上下翻转,得到 ( 2G )。
  • 重复类似步骤计算 ( 4G, 8G ) 等。
  • 有限域椭圆曲线

    为了实现离散的点集,椭圆曲线的方程在有限域 ( \mathbb{F}_p ) 上进行模运算,其中 ( p ) 是质数。椭圆曲线上的点 ( (x, y) ) 满足:[ y^2 = x^3 - 7x + 10 \mod p ]

    不同质数 ( p ) 会产生不同的有限域椭圆曲线,点数随着 ( p ) 的增大而增加。例如,当 ( p = 3 ) 时,椭圆曲线上的点集非常有限。

    有限域椭圆曲线的直线

    在有限域椭圆曲线中,直线方程为:[ y = mx + b \mod p ]其中 ( m ) 是斜率,( b ) 是截距。直线与椭圆曲线的交点个数决定了加法和乘法的性质。

    代数加法

    在有限域椭圆曲线中,代数加法通过以下公式进行:[ y = m x + b ]其中 ( m ) 和 ( b ) 是直线参数,用于确定点的位置。


    通过以上知识,我们可以理解椭圆曲线在比特币中的重要性,以及其在加密和签名中的具体应用。

    转载地址:http://ukzp.baihongyu.com/

    你可能感兴趣的文章
    OpenCV与AI深度学习 | 实战—使用YOLOv8图像分割实现路面坑洞检测(步骤 + 代码)
    查看>>
    OpenCV与AI深度学习 | 实战篇——基于YOLOv8和OpenCV实现车速检测(详细步骤 + 代码)
    查看>>
    OpenCV与AI深度学习 | 实战|OpenCV实时弯道检测(详细步骤+源码)
    查看>>
    OpenCV与AI深度学习 | 实用技巧 | 使用OpenCV进行模糊检测
    查看>>
    OpenCV与AI深度学习 | 实践教程|旋转目标检测模型-TensorRT 部署(C++)
    查看>>
    OpenCV与AI深度学习 | 工业缺陷检测中数据标注需要注意的几个事项
    查看>>
    OpenCV与AI深度学习 | 干货 | 深度学习模型训练和部署的基本步骤
    查看>>
    OpenCV与AI深度学习 | 手把手教你用Python和OpenCV搭建一个半自动标注工具(详细步骤 + 源码)
    查看>>
    OpenCV与AI深度学习 | 水下检测+扩散模型:或成明年CVPR最大惊喜!
    查看>>
    OpenCV与AI深度学习 | 深入浅出了解OCR识别票据原理
    查看>>
    OpenCV与AI深度学习 | 深度学习检测小目标常用方法
    查看>>
    OpenCV与AI深度学习 | 超越YOLOv10/11、RT-DETRv2/3!中科大D-FINE重新定义边界框回归任务
    查看>>
    OpenCV与AI深度学习 | 高效开源的OCR工具:Surya-OCR介绍与使用
    查看>>
    OpenCV与AI深度学习|16个含源码和数据集的计算机视觉实战项目(建议收藏!)
    查看>>
    Opencv中KNN背景分割器
    查看>>
    OpenCV中基于已知相机方向的透视变形
    查看>>
    OpenCV中的监督学习
    查看>>
    opencv中读写视频
    查看>>
    OpenCV中遇到Microsoft C++ 异常 cv::Exception
    查看>>
    opencv之cv2.findContours和drawContours(python)
    查看>>