2

Let $B_{p,\infty}$ is the rational quaternion algebra ramified at $p$ and $\infty$.

By Deuring's correspondence, there is a one to one correspondence between maximal orders in $B_{p, \infty}$ up to isomorphism and supersingular $j$-invariants in $\mathbb{F}_{p^2}$ up to Galois conjugacy.

There are algorithms computing the $j$-invariant corresponding to a given maximal order (with its $\mathbb{Z}$-basis) such as Algorithm 12, EHL+18 of running-time polynomial in $\log p$.

Are there any implementations of these algorithms on Sagemath, Magma, etc?

I know there are some implementation of variations of the KLPT algorithm on Sagemath that compute an ideal with powersmooth norm in a left ideal class (of a maximal order), which is needed in the second step of Algorithm 12, EHL+18. But I suppose this step is for improving running-time only. It's not necessary to have an efficient algorithm like the Algorithm 12, as I only need to compute $j$-invariants when $p$ is small.

Andy
  • 1,169

2 Answers2

3

The "Deuring for the people" paper provides (among other things) a general and reasonably fast SageMath implementation of the KLPT-based approach. See here for the code.

yyyyyyy
  • 238
1

I'm not aware of any implementation in a high-level language such as Sage or Magma, but you can find a C implementation in the source code of the cryptographic protocol SÉTA [1] or SqiSign [2].

[1] Delpech de Saint Guilhem, Cyprien, Péter Kutas, Christophe Petit, and Javier Silva. SÉTA: Supersingular Encryption from Torsion Attacks, 2019. https://eprint.iacr.org/2019/1291.

[2] Feo, Luca De, David Kohel, Antonin Leroux, Christophe Petit, and Benjamin Wesolowski. “SQISign: Compact Post-Quantum Signatures from Quaternions and Isogenies,” 2020. http://eprint.iacr.org/2020/1240.

Andrea
  • 165