class_group 0.6.0

Rust library for building IQC: cryptography based on class groups (Cl) of imaginary quadratic orders
Documentation
[1, [], []]
[2, [2], [[15, -8]]]
[3, [3], [[5, 9]]]
[4, [4], [[5, -2]]]
[5, [5], [[5, 5]]]
[6, [6], [[9, 23]]]
[7, [7], [[-1, 2]]]
[8, [8], [[2, 6]]]
[9, [9], [[-3, 7]]]
[10, [10], [[0, 9]]]
[12, [12], [[-9, 49]]]
[4, [2, 2], [[-29/4, 25/8], [-7, 3]]]
[8, [4, 2], [[-2, 3], [-1, 0]]]
[12, [6, 2], [[1, 2], [3, -2]]]
[16, [8, 2], [[4, 58], [-36, 18]]]
[16, [8, 2], [[117433600, 6734213027200], [352179456, -176089728]]]
[4, [2, 2], [[-1377493124511464657, 0], [-691668349248679055, 0]]]
[16, [8, 2], [[Mod(0, t^2 - 5), Mod(0, t^2 - 5)], [Mod(3/5*t + 17/15, t^2 - 
5), Mod(209/225*t + 97/45, t^2 - 5)]]]
8
2
[1, [], []]
[1, [], []]
[25, [25], [[Mod(-t^7 - t^6 - t^5 - t^4 + 1, t^10 + t^9 + t^8 + t^7 + t^6 + 
t^5 + t^4 + t^3 + t^2 + t + 1), Mod(-t^9 - 2*t^8 - 2*t^7 - 3*t^6 - 3*t^5 - 2
*t^4 - 2*t^3 - t^2 - 1, t^10 + t^9 + t^8 + t^7 + t^6 + t^5 + t^4 + t^3 + t^2
 + t + 1)]]]
[11, [11], [[Mod(-78848, y^2 + 7), Mod(-5992448*y - 15454208, y^2 + 7)]]]
[15, [15], [[Mod(0, y^2 + 7), Mod(-26*y + 14, y^2 + 7)]]]
[20, [10, 2], [[831474369/262144, 519671480625/4194304], [Mod(-59375/256*y +
 261214369/262144, y^2 + 2), Mod(0, y^2 + 2)]]]
-536129/8192*y + 15673889/65536
-2001779325/262144*y + 115490749725/4194304
[24, [12, 2], [[Mod(-20655/8192*y + 15795/2048, y^2 - 13), Mod(300055185/209
7152*y - 270394605/524288, y^2 - 13)], [Mod(221/8*y - 6461/64, y^2 - 13), Mo
d(0, y^2 - 13)]]]
-313766195076761969526071169866614175160*y + 1735663223649526033628839600302
712469280
[14, [14], [[Mod(358950904714175557651106659750101468600*y - 224800911486294
2058383152194083021128800, y^2 + 11), Mod(-623358463905364610014856551413519
5275639238995135197696000*y + 7068212904273547655621435172436672299424081219
4549767368000, y^2 + 11)]]]
[32, [16, 2], [[Mod(-5089/81696780*y^3 - 7/21780*y^2 - 898639/7426980*y - 12
37/1980, y^4 + 2002*y^2 + 116281), Mod(-8470441/296559311400*y^3 - 41923/790
61400*y^2 - 1494908191/26959937400*y - 7401793/7187400, y^4 + 2002*y^2 + 116
281)], [Mod(-1/900, y^4 + 2002*y^2 + 116281), 0]]]
[9, [3, 3], [[Mod(-2, y^2 + 3), Mod(-3*y + 1, y^2 + 3)], [1, -5]]]
[20, [20], [[Mod(-2*y^2 + 12*y + 12, y^3 - y^2 - 2*y - 2), Mod(52*y^2 - 8*y 
+ 16, y^3 - y^2 - 2*y - 2)]]]
[36, [6, 6], [[Mod(-7/32, y^4 + 5*y^2 + 1), Mod(7/512*y^3 + 7/128*y + 35/512
, y^4 + 5*y^2 + 1)], [Mod(1/128*y^3 + 3/64*y - 21/128, y^4 + 5*y^2 + 1), Mod
(-1/512*y^3 - 3/256*y + 21/512, y^4 + 5*y^2 + 1)]]]
[32, [8, 4], [[0, 0], [Mod(-37/3570750*y^3 - 30007/3570750*y + 222/575, y^4 
+ 541*y^2 + 72900), Mod(-731971/2463817500*y^3 - 888/1520875*y^2 - 194058451
/2463817500*y - 51282/1520875, y^4 + 541*y^2 + 72900)]]]
[64, [8, 8], [[Mod(-3/7*y^15 + 34/7*y^14 - 191/7*y^13 + 97*y^12 - 241*y^11 +
 446*y^10 - 4639/7*y^9 + 5844/7*y^8 - 6441/7*y^7 + 6214/7*y^6 - 751*y^5 + 38
25/7*y^4 - 2313/7*y^3 + 1054/7*y^2 - 317/7*y + 45/7, y^16 - 8*y^15 + 36*y^14
 - 104*y^13 + 220*y^12 - 368*y^11 + 516*y^10 - 624*y^9 + 664*y^8 - 624*y^7 +
 516*y^6 - 368*y^5 + 220*y^4 - 104*y^3 + 36*y^2 - 8*y + 1), Mod(-41/7*y^15 +
 304/7*y^14 - 1269/7*y^13 + 3317/7*y^12 - 895*y^11 + 9434/7*y^10 - 1737*y^9 
+ 13604/7*y^8 - 13345/7*y^7 + 11526/7*y^6 - 8663/7*y^5 + 5395/7*y^4 - 2675/7
*y^3 + 984/7*y^2 - 223/7*y + 12/7, y^16 - 8*y^15 + 36*y^14 - 104*y^13 + 220*
y^12 - 368*y^11 + 516*y^10 - 624*y^9 + 664*y^8 - 624*y^7 + 516*y^6 - 368*y^5
 + 220*y^4 - 104*y^3 + 36*y^2 - 8*y + 1)], [Mod(-1006/329*y^15 + 763/47*y^14
 - 17540/329*y^13 + 4104/47*y^12 - 29994/329*y^11 + 11747/329*y^10 + 2568/47
*y^9 - 60499/329*y^8 + 92956/329*y^7 - 16937/47*y^6 + 118390/329*y^5 - 10387
8/329*y^4 + 70088/329*y^3 - 5507/47*y^2 + 11498/329*y - 2228/329, y^16 - 8*y
^15 + 36*y^14 - 104*y^13 + 220*y^12 - 368*y^11 + 516*y^10 - 624*y^9 + 664*y^
8 - 624*y^7 + 516*y^6 - 368*y^5 + 220*y^4 - 104*y^3 + 36*y^2 - 8*y + 1), Mod
(-4412/329*y^15 + 35995/329*y^14 - 22978/47*y^13 + 459612/329*y^12 - 134990/
47*y^11 + 1532149/329*y^10 - 2078812/329*y^9 + 2438613/329*y^8 - 358218/47*y
^7 + 2277477/329*y^6 - 256916/47*y^5 + 1211712/329*y^4 - 660116/329*y^3 + 27
1037/329*y^2 - 9730/47*y + 10205/329, y^16 - 8*y^15 + 36*y^14 - 104*y^13 + 2
20*y^12 - 368*y^11 + 516*y^10 - 624*y^9 + 664*y^8 - 624*y^7 + 516*y^6 - 368*
y^5 + 220*y^4 - 104*y^3 + 36*y^2 - 8*y + 1)]]]
[27, [9, 3], [[-3, -5], [Mod(-x^4 + 3*x^2, x^6 + 3), Mod(-3/2*x^5 + 1/2*x^4 
+ 9/2*x^3 - 3/2*x^2 - 3/2*x - 1/2, x^6 + 3)]]]
[4, [2, 2], [[-2147484185, 0], [0, 0]]]
2
2
0
0
[1, [], []]
[5, [5], [[114135566422431, 27065925164925932985472]]]
Total time spent: 345