Skip to content

Commit ebfef84

Browse files
committed
Add stub of algorithm/bls-membership-check
1 parent 9fd7921 commit ebfef84

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# BLS curve における高速な所属判定
2+
3+
## 前提知識
4+
BLS12-381 などの BLS 曲線は以下のように定義されている。[[Edg2023]]
5+
6+
- $u$: パラメーター。2 の高いベキを約数に持つべきである。
7+
- $r = u^4 - u^2 + 1$ は素数。
8+
- $p = (u-1)^2r/3 + u$ は素数。
9+
- $E(\mathbb{F}_p): y^2 = x^3 + 4 \text{ in } \mathbb{F}_p$
10+
- 位数は $p-u = (u-1)^2r/3$ である。 $h_1 := (u-1)^2/3$ とすれば $h_1r$ と表せる。
11+
- $E'(\mathbb{F} _ {p^2}): y^2 = x^3 + 4(1+i) \text{ in } \mathbb{F} _ {p^2}$
12+
- $i$ は $i^2 = -1$ を満たす。
13+
- 位数は $h_2r$ である。ただし $h_2 := $ (複雑な $u$ の式) であり $\mathrm{gcd}(h_1,h_2) = 1$ を満たす。
14+
- $\mathbb{G} _ 1 := E(\mathbb{F} _ p)[r]$ は位数 $r$ の巡回群。
15+
- $\mathbb{G} _ 2 := E'(\mathbb{F} _ {p^2})[r]$ は位数 $r$ の巡回群。
16+
- $\mathbb{G} _ T := (\mathbb{F} _ {p^{12}})^{\times}[r]$ は位数 $r$ の巡回群。
17+
18+
$E(\mathbb{F} _ p)$ や $E'(\mathbb{F} _ {p^2})$ の点が与えられたとき、それが $\mathbb{G}_1$ や $\mathbb{G}_2$ に属するとは限らないため、所属判定が必要である。そのような判定は $rP = O$ かどうかの判定で簡単にできるが、ここではそれよりも高速な手法を扱う。
19+
20+
## $\psi$ の定義
21+
TODO
22+
23+
## $\mathbb{G}_1$
24+
$E(\mathbb{F}_p)$ において $\psi(x, y) = (\beta x, y)$ が成立する。ただし $\beta$ は曲線ごとに定まる 1 の原始 3 乗根である。
25+
26+
$P \in \mathbb{G}_1$ に対して
27+
$\psi(P) = -u^2P$ か判定する。
28+
29+
30+
## $\mathbb{G}_2$
31+
$Q \in \mathbb{G}_2$ に対して
32+
$\psi(Q) = uP$ か判定する。
33+
34+
## $\mathbb{G}_T$
35+
$w \in \mathbb{G}_T$ に対して
36+
$w^p = w^u$ か判定する。
37+
38+
# 参考文献
39+
40+
[[Edg2023]] Edgington, Ben. "BLS12-381 for the Rest of Us." HackMD, <https://hackmd.io/@benjaminion/bls12-381>. Accessed 18 May 2025.
41+
42+
[[Sco2011]] Scott, Michael. "A note on group membership tests for $\mathbb{G} _ 1$, $\mathbb{G} _ 2 $ and $\mathbb{G} _ T$ on BLS pairing-friendly curves." Cryptology ePrint Archive (2021).
43+
44+
[Sco2011]: https://eprint.iacr.org/2021/1130
45+
46+
[Edg2023]: https://hackmd.io/@benjaminion/bls12-381

0 commit comments

Comments
 (0)