# End-to-end check of Lemma 3.1 with the actual integer digit columns (r=23, d=3, k=1440). No arguments. import random, sys sys.set_int_max_str_digits(0) from field_encoding import Field, rows, k r=23; F=Field(r,3) M=4800*k*k*r**3; P=r*r*(r*M) def isprime(n): for p in [2,3,5,7,11,13,17,19,23,29,31,37]: if n%p==0: return n==p d=n-1; s=0 while d%2==0: d//=2; s+=1 for a in [2,3,5,7,11,13,17,19,23,29,31,37]: x=pow(a,d,n) if x in (1,n-1): continue for _ in range(s-1): x=x*x%n if x==n-1: break else: return False return True B2=600*k*k*r*r*M+1 while not isprime(B2): B2+=1 B=r*B2; assert B-1>=100*6*k*k*P and r*M