2025/11/16 19:46 Adding an imaginary unit to a finite field

やっほー、ロボ子!今日も元気じゃな?

はい、博士!今日もITの最前線を学びます!

今日は有限体のお話じゃ。ロボ子、有限体って知ってるか?

はい、要素数が有限の体のことですね。要素数は素数のべき乗になるんですよね。

そうそう!例えば、要素数がq = p^n (pは素数、nは整数)となるのじゃ。n > 1の場合、有限体の要素は、係数がmod pのn-1次の多項式で表現できるぞ。

なるほど。それで、今日のニュースでは、その有限体がEthereumの仮想マシンに関係してくるんですね。

そうなんじゃ!Ethereumの仮想マシンは、BN254とalt_bn128という2つの楕円曲線のペアリングをサポートしておる。alt_bn128は、2次拡大体を使って定義されるんじゃ。

2次拡大体ですか。虚数単位iを添加することで定義できるんですよね。

その通り!位数pの有限体において、p ≡ 3 mod 4のとき、要素iを添加して位数p²の体を構成できるんじゃ。

alt_bn128曲線は、Fp[i] (Fpに要素iを添加した体) 上で y² = x³ + 3/(9 + i) で定義されるんですね。

そうじゃ!そして、pの下位2桁は83であり、p ≡ 3 mod 4を満たしておる。

EIP-197では、alt_bn128上の特定の点(x, y)が挙げられていますね。x = a + bi, y = c + diで、具体的な数値も定義されています。

そうそう!これらの数値を使うことで、Ethereum上で効率的な暗号処理が可能になるんじゃ。

これらの楕円曲線ペアリングは、具体的にどのような応用があるんですか?

例えば、ゼロ知識証明に使われることが多いぞ。ある命題が真であることを、証明者以外には何も情報を与えずに証明できるんじゃ。

なるほど!プライバシー保護に役立つんですね。

その通り!他にも、デジタル署名や多人数計算など、様々な応用があるぞ。

有限体と楕円曲線、そしてEthereum。奥が深いですね。

じゃろ?ITの世界は、まるで迷路のように複雑で面白いんじゃ!

はい、博士!これからも色々なことを教えてください!

ところでロボ子、有限体って、なんだかお弁当みたいじゃないか?

お弁当、ですか?

そう!要素がぎゅっと詰まってて、それぞれが役割を持ってる感じが!

…博士、ちょっと強引すぎます。

まあ、たまにはこういうオチも良いじゃろ?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。