Pebble Coding

ソフトウェアエンジニアによるIT技術、数学の備忘録

2019-01-12から1日間の記事一覧

secp256k1 の有理点のxの小さい方から100個の点の座標を求める

SageMathを使います。 計算の都合上x一つに付きy一つの点のみとしています。(※1) q = 2**256 - 2**32 - 977 K = GF(q) i = 1 for x in range(0, 1000): try: n = (x ** 3 + 7) % q y = K(n).nth_root(2) print("P"+str(i)+": ("+str(x)+","+str(y)+")") if i…

secp256k1のベースポイントの謎

secp256k1のベースポイントの性質をみていきます。 有理点(x, y)はおよそ256ビットの範囲内で均等に値がばらけていると考えられます。 ベースポイントGの倍数 を計算したときのx, yの値はおよそ256ビットの値がランダムに並んだようになりますが、たまたま端…