book: Fix broken links
This commit is contained in:
parent
a46c4d8a0a
commit
311b087ff1
|
@ -2,21 +2,23 @@
|
||||||
|
|
||||||
The [Pasta curves](https://electriccoin.co/blog/the-pasta-curves-for-halo-2-and-beyond/)
|
The [Pasta curves](https://electriccoin.co/blog/the-pasta-curves-for-halo-2-and-beyond/)
|
||||||
are designed to be highly 2-adic, meaning that a large $2^S$
|
are designed to be highly 2-adic, meaning that a large $2^S$
|
||||||
[multiplicative subgroup](../../background/fields.md#multiplicative-subgroups) exists in
|
[multiplicative subgroup](https://zcash.github.io/halo2/background/fields.html#multiplicative-subgroups)
|
||||||
each field. That is, we can write $p - 1 \equiv 2^S \cdot T$ with $T$ odd. For both Pallas
|
exists in each field. That is, we can write $p - 1 \equiv 2^S \cdot T$ with $T$ odd. For
|
||||||
and Vesta, $S = 32$; this helps to simplify the field implementations.
|
both Pallas and Vesta, $S = 32$; this helps to simplify the field implementations.
|
||||||
|
|
||||||
## Sarkar square-root algorithm (table-based variant)
|
## Sarkar square-root algorithm (table-based variant)
|
||||||
|
|
||||||
We use a technique from [Sarkar2020](https://eprint.iacr.org/2020/1407.pdf) to compute
|
We use a technique from [Sarkar2020](https://eprint.iacr.org/2020/1407.pdf) to compute
|
||||||
[square roots](../../background/fields.md#square-roots) in `pasta_curves`. The intuition
|
[square roots](https://zcash.github.io/halo2/background/fields.html#square-roots) in
|
||||||
|
`pasta_curves`. The intuition
|
||||||
behind the algorithm is that we can split the task into computing square roots in each
|
behind the algorithm is that we can split the task into computing square roots in each
|
||||||
multiplicative subgroup.
|
multiplicative subgroup.
|
||||||
|
|
||||||
Suppose we want to find the square root of $u$ modulo one of the Pasta primes $p$, where
|
Suppose we want to find the square root of $u$ modulo one of the Pasta primes $p$, where
|
||||||
$u$ is a non-zero square in $\mathbb{Z}_p^\times$. We define a $2^S$
|
$u$ is a non-zero square in $\mathbb{Z}_p^\times$. We define a $2^S$
|
||||||
[root of unity](../../background/fields.md#roots-of-unity) $g = z^T$ where $z$ is a
|
[root of unity](https://zcash.github.io/halo2/background/fields.html#roots-of-unity)
|
||||||
non-square in $\mathbb{Z}_p^\times$, and precompute the following tables:
|
$g = z^T$ where $z$ is a non-square in $\mathbb{Z}_p^\times$, and precompute the following
|
||||||
|
tables:
|
||||||
|
|
||||||
$$
|
$$
|
||||||
gtab = \begin{bmatrix}
|
gtab = \begin{bmatrix}
|
||||||
|
|
Loading…
Reference in New Issue