class_group 0.6.1

Rust library for building IQC: cryptography based on class groups (Cl) of imaginary quadratic orders
Documentation
1
2
3
4
5
6
7
K=bnfinit(a^4-3*a^2+253009);B=bnrinit(K,9,1);G=galoisinit(K);
S=vecsort(subgrouplist(B,3));
map=Map();for(i=1,#S,mapput(map,S[i],i));
[H|H<-S, bnrisgalois(B,G,H)]
M=bnrgaloismatrix(B,G)
[H|H<-S, bnrisgalois(B,M,H)]
[[mapget(map,bnrgaloisapply(B,m,s))|s<-S]| m<-M]