首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SECP256K1的曲线类型是什么?

SECP256K1的曲线类型是什么?
EN

Cryptography用户
提问于 2018-04-19 19:25:06
回答 1查看 2.8K关注 0票数 12

这可能是个愚蠢的问题。我试图将SECP256K1曲线参数输入到期望任何自定义曲线的系统中。该表格要求“曲线类型”。它提供了三种选择:

  • 短威尔斯
  • 扭曲爱德华兹
  • 蒙哥马利

我应该为SECP256K1使用什么?我验证了这里这里,但它们告诉我们SECP256K1是一条"Koblitz“曲线。这是否与上述任何预期曲线类型兼容?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2018-04-19 19:51:56

有曲线型,也有方程型。

作为代数对象,所有的曲线都可以用“Weierstra方程”来表示。通过变量的变化,该方程可简化为“短Weierstra格式”,对于特征大于3的有限域,其结果为:$$ Y^2 = X^3 + aX +b $$,对应于两个常数$a$和$b$。对于secp256k1曲线,方程为:$$ Y^2 = X^3 +7 $$,即常数$a = 0$,$b = 7$。

"Montgomery曲线“也可以用另一个方程表示(变量的适当变化):$$ = X^3 + aX^2 +X $$对另外两个常数$a$和$b$。当一条曲线可以用这样的方程表示时,它允许用"Montgomery阶梯“计算点的乘法,这是一种比Weierstra方程的通用代码更简单、更快的实现机制。然而,secp256k1不能用这种方式表达。事实上,很容易看到蒙哥马利曲线必然包含点$( 0,0)$,它有2阶(因为它的坐标$Y$是0,这一点加到它自己,就会产生点无穷大)。具有奇数阶的曲线(特别是阶为大素数的曲线,如secp256k1)不能有2阶点,因此没有这样的曲线可以是Montgomery曲线。

“扭曲的爱德华兹曲线”与另一个等式一起工作,这一次是4度,它们或多或少相当于蒙哥马利曲线。在那里,secp256k1不能表示为扭曲的爱德华兹曲线。

"Koblitz曲线“(以尼尔·科布利茨命名)是指其Weierstra方程有一种特殊格式的曲线,它允许一些额外的东西。此术语已应用于二元字段(特征2的字段,其中加法为XOR)中的曲线,其方程为:$$ Y^2 + XY = X^3 + aX^2 +1 $$,其中$a$为$0$或$1$。对于具有大素数特征的有限域(例如,整数模给定素数$p$),"Koblitz曲线“是一条方程为:$$ Y^2 = X^3 +b $$的曲线,即具有$a = 0$的短Weierstra方程的曲线。

Koblitz曲线具有内部自同态,可以利用这些自同态来提高性能(二进制曲线的提升幅度要大得多)。secp256k1是一条Koblitz曲线。

摘要:所有的曲线都是“Weierstra--”对于某些曲线,Weierstra方程有一种特殊的格式,它们被称为"Koblitz曲线“(这是secp256k1的情况)。对于一些曲线,可以使用交替方程(蒙哥马利,扭曲爱德华兹),但secp256k1不是这些曲线之一。

票数 23
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/58506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档