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 = 4536723309020308061025826065813338550264423435027404245111369820585516115595 244059920125472743505847 Random cube modulo P -------------------- A = 3545552616362184238635887139861487972340715404262551746551627004604372504107 060711572730845231286807 Cube root --------- R = 4422083717416545062004915007027441909411615335396140677159258052427917357761 363032097262269672206953 R**3 mod P ---------- C = 3545552616362184238635887139861487972340715404262551746551627004604372504107 060711572730845231286807 Check (C = A) : OK All cube roots -------------- r1 = 442208371741654506200491500702744190941161533539614067715925805242791735776 1363032097262269672206953 r2 = 410519181221410453378600317536723199419322969284413847954442397151585794100 024289502279731458514626 r3 = 424084371940266060666813680706251199169790856537425396510903919159152907932 9100798240708944356290115 Check ((r2**3 = A) mod P) : OK Check ((r3**3 = A) mod P) : OK All cube roots (polynomial roots) --------------------------------- R1 = 424084371940266060666813680706251199169790856537425396510903919159152907932 9100798240708944356290115 R2 = 410519181221410453378600317536723199419322969284413847954442397151585794100 024289502279731458514626 R3 = 442208371741654506200491500702744190941161533539614067715925805242791735776 1363032097262269672206953 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 ////////////////////////////////////////////////////////////////////////////////