/********************************************************* Languasco & Zaccagnini, Introduzione alla Crittografia, Hoepli. *********************************************************/ /************************************************************* Funzione ausiliaria per aks.gp di verifica se n e` generatore di Zr *************************************************************/ { isprimitiveroot(n,r) = local (flag,fact); fact = component(factor(r-1),1)~; flag=1;\ for(i=1,length(fact),flag = flag && (Mod(n,r)^((r-1)/fact[i])!=1)); return(flag); }