Skip to content

Instantly share code, notes, and snippets.

View GiacomoPope's full-sized avatar
🍄
Isogenies

Giacomo Pope GiacomoPope

🍄
Isogenies
View GitHub Profile
@GiacomoPope
GiacomoPope / gist:b4c0951a6bb4041a42d4e3aa146e897c
Created February 20, 2024 14:29
Failure for tests after change to coercion
sage -t --long --random-seed=286735480429121101562228604801325644303 src/sage/modular/arithgroup/congroup_gammaH.py
**********************************************************************
File "src/sage/modular/arithgroup/congroup_gammaH.py", line 200, in sage.modular.arithgroup.congroup_gammaH.GammaH_class
Failed example:
GammaH(20, [9]).dimension_cusp_forms(1)
Exception raised:
Traceback (most recent call last):
File "sage/misc/cachefunc.pyx", line 1007, in sage.misc.cachefunc.CachedFunction.__call__
return self.cache[k]
KeyError: ((Congruence Subgroup Gamma_H(20) with H generated by [9],), ())
"""
This gist is a minimal example showing that the KAT data for Dilithiuim
does not seem to match the specification.
KAT data was downloaded from:
https://pq-crystals.org/dilithium/data/dilithium-submission-nist-round3.zip
On Friday the 16th of September, 2022
We consider here the first set of data for Dilithium2
from fastecdsa.curve import P256
from fastecdsa.point import Point
from Crypto.Util.number import inverse
from hashlib import sha256
# Generator and curve order
G, q = P256.G, P256.q
# Public key
Px = 0x0214c15785655baffd69912ca80332441746322daf99f3a9bfc08852efe24c2f
"""
Written to help twitter user @mukesh_tiwari
understand
https://asecuritysite.com/zero/ped
This implementation however is broken, as
q is not a prime...
Below is showing how we can sign a message m2 which
from Crypto.Util.number import isPrime
import math
import time
primes = []
def find_primes(max_val):
N = math.ceil(math.sqrt(max_val))
for n in range(0,N,2):
p = n**2 + 1
# http://www.monnerat.info/publications/anomalous.pdf
def anon_prime(m):
while True:
p = (19*m*(m + 1)) + 5
if is_prime(p):
return p
m += 1
def find_Hilbert_roots(upper):
"""
Examples of D s.t. D%4 == 0
and the corresponding roots of
the Hilbert Class Polynomial
D=4, root=2^6 * 3^3
D=8, root=2^6 * 5^3
D=12, root=0
D=16, root=2^6 * 3^3
@GiacomoPope
GiacomoPope / keybase.md
Created October 31, 2019 08:14
Auth. for keybase

Keybase proof

I hereby claim:

  • I am jack4818 on github.
  • I am jack4818 (https://keybase.io/jack4818) on keybase.
  • I have a public key ASCvf5k_zyIHBXblLj1ehKcdgYbB5pDXCno4WJFMy2vHXwo

To claim this, I am signing this object: