DH, Exercise 8 ? p = 10007; ? g = Mod(5,p); ? g^2 %4 = Mod(25, 10007) ? lift(g^3) %5 = 125 ? lift(g^4) %6 = 625 ? i = 1; x = g; ? i = i+1; x = x*g; lift(x) %8 = 25 ? i = i+1; x = x*g; lift(x) %9 = 125 ? i = i+1; x = x*g; lift(x) %10 = 625 ? i = i+1; x = x*g; lift(x) %11 = 3125 ? i = i+1; x = x*g; lift(x) %12 = 5618 ? i = i+1; x = x*g; lift(x) %13 = 8076 ? i = i+1; x = x*g; lift(x) %14 = 352 ? i = i+1; x = x*g; lift(x) %15 = 1760 ? i = i+1; x = x*g; lift(x) %16 = 8800 ? i = i+1; x = x*g; lift(x) %17 = 3972 ? i %18 = 11 DH, Exercise 14 ? p = 73; n1 = 8; n2 = 9; g = Mod(5,p); x = Mod(70,p); ? g1 = g^n1; x1 = x^n1; lift(x1) %20 = 64 ? g1 %21 = Mod(2, 73) ? lift([ g1^2, g1^3, g1^4, g1^5, g1^6, g1^7]) %22 = [4, 8, 16, 32, 64, 55] ? lift(g1^5) %23 = 32 ? lift(g1^6) %24 = 64 ? g2 = g^n2; x2 = x^n2; ? for(i=0,7,if(x2 == g2^i, print(i);break())); 2 ? chinese(Mod(6,9), Mod(2,8)) %27 = Mod(42, 72) ? lift(g^42) %28 = 70 PKE, Exercise 33 ? n = 2573; ? f = x -> (x^2+1)%n; ? s = 2; t = 2; ? s = f(s); t = f(f(t)); gcd(s-t,n) %35 = 1 ? s = f(s); t = f(f(t)); gcd(s-t,n) %36 = 31