Computation of cube roots modulo a 332-bit BPSW-prime using the
TGFPField object of the fnx.BigInts.GFPFields unit.
BPSW-prime (P = 1 mod 3)
------------------------
P = 4536723309020308061025826065813338550264423435027404245111369820
585516115595244059920125472743505847
Random cube modulo P
--------------------
A = 3545552616362184238635887139861487972340715404262551746551627004
604372504107060711572730845231286807
Cube root
---------
R = 4422083717416545062004915007027441909411615335396140677159258052
427917357761363032097262269672206953
R**3 mod P
----------
C = 3545552616362184238635887139861487972340715404262551746551627004
604372504107060711572730845231286807
Check (C = A) : OK
All cube roots
--------------
r1 = 442208371741654506200491500702744190941161533539614067715925805
2427917357761363032097262269672206953
r2 = 410519181221410453378600317536723199419322969284413847954442397
151585794100024289502279731458514626
r3 = 424084371940266060666813680706251199169790856537425396510903919
1591529079329100798240708944356290115
Check ((r2**3 = A) mod P) : OK
Check ((r3**3 = A) mod P) : OK
All cube roots (polynomial roots)
---------------------------------
R1 = 424084371940266060666813680706251199169790856537425396510903919
1591529079329100798240708944356290115
R2 = 410519181221410453378600317536723199419322969284413847954442397
151585794100024289502279731458514626
R3 = 442208371741654506200491500702744190941161533539614067715925805
2427917357761363032097262269672206953
Check ((R1**3 = A) mod P) : OK
Check ((R2**3 = A) mod P) : OK
Check ((R3**3 = A) mod P) : OK
Running times (milliseconds)
----------------------------
Creating prime ........ 1.824
Computing cube root ... 0.541
Computing cube ........ 0.006
Computing roots ....... 0.111
Factoring polynomial .. 15.089
Sorry, this part cannot be displayed on small screens!