algorithm for fast exponentiation in Z/n input: a,z elements in Z/n , n positive integer output: a^{z} mod n ...a to the z power mod n begin a1 = a; z1 = z; x = 1; while (z1 <> 0) do begin while (z1 mod 2) = 0 do begin z1 = z1 div 2; a1 = (a1*a1) mod n; end z1 = z1 -1; x = x*a1 mod n end return x; end