ted*_*ted 5 cryptography elliptic-curve
G(Gx, Gy)- 也称为生成器 - 是有限域上椭圆曲线(EC)上的一个点.有限域大小= p- 质数模数.
假设我们有一个EC(Fp):y**2 = x**3 + ax + b (mod p)
应该如何G选择它?
是否必须在EC(Fp)上找到每一点,然后选择其中一个?
或Gx\ Gy必须以某种方式具体?
我唯一知道的是:G订单必须是素数.
PS 抱歉我的英文,谢谢.
通常的实际解决方案是使用一组预先计算的参数。您将在sec2v2 第 2 节中找到一些内容。IT 安全的流行选择是secp256r1。这就给出了p、a、b和 一个标准G。其顺序G是素数n。
对于Gx和 ,剥离未压缩版本中的Gy前导字节,并将剩余的 64 字节拆分为两个 32 字节的字节串,它们是大端二进制的和。04GGxGy
\n\n其上的点应该如何
\nG选择呢?
由于该路边的辅助因子h为 1(对于 sec2v2 第 2 部分中的所有曲线),曲线上除无穷远点之外的任何点也具有素数阶n。可以通过取随机数x,y**2 mod p通过应用曲线方程进行计算,直到得到可通过勒让德符号测试的二次余数来找到。y然后可以通过提取模平方根来找到两个合适的之一,例如使用Tonelli\xe2\x80\x93Shanks。
提出您自己的密码学兴趣参数通常涉及Schoof\xe2\x80\x93Elkies\xe2\x80\x93Atkin 算法。它内置于 PARI/GP 中,并可在 SageMath 中使用。请注意,除了辅因子 1 和素数顺序之外,还有其他理想的标准来选择安全的椭圆曲线。
\n对于玩具参数,一种选择是查找随机椭圆曲线上的随机点的阶(由 确定G),直到找到素数阶之一。
| 归档时间: |
|
| 查看次数: |
2232 次 |
| 最近记录: |