博客
关于我
区块链 - 比特币加密算法之椭圆曲线
阅读量: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/

    你可能感兴趣的文章
    Oracle数据库表空间 数据文件 用户 以及表创建的SQL代码
    查看>>
    oracle数据库零碎---Oracle Merge 使用,表中存在数据就修改,没有数据自动添加
    查看>>
    Oracle数据库验证IMP导入元数据是否会覆盖历史表数据
    查看>>
    oracle数据插入表,oracle同时向多表插入数据
    查看>>
    oracle数据类型和对应的java类型
    查看>>
    【C++进阶篇】——string类的使用
    查看>>
    Oracle未开启审计情况下追踪表变更记录
    查看>>
    Oracle条件查询
    查看>>
    Oracle查看数据库会话连接
    查看>>
    Oracle查询前几条数据的方法
    查看>>
    oracle树形查询 start with connect by
    查看>>
    oracle毕业论文题目,历届毕业论文申报题目大全.doc
    查看>>
    oracle求助---win7下oracle配置相关疑问Starting Oracle Enterprise Manager 10g Database Control ...发生系统错误 5。
    查看>>
    Oracle流程控制语句
    查看>>
    oracle深度解析检查点
    查看>>
    Oracle游标
    查看>>
    oracle游标数最大数,Oracle 最大连接数 最大游标数
    查看>>
    oracle用户改名
    查看>>
    oracle用户解压不了,PLSQL developer 连接不上64位Oracle 的解决方法
    查看>>
    oracle用户解锁
    查看>>