Nantes Université

Skip to content
Extraits de code Groupes Projets
Valider e6c4d0e1 rédigé par E214194U's avatar E214194U
Parcourir les fichiers

cry

parent b0d5f40a
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -170,13 +170,43 @@ def generateur(p):
if not premier(p):
return "p pas premier"
Zpz=[i for i in range(p)]
for i in range(1,5):
for i in range(1,p-1):
list=[]
for k in range(1,p):
list.append(i**k%p)
complist = [value for value in Zpz if value in list]
if len(complist)==p-1:
return i,list
# print(complist)
return i
return
print(generateur(13))
\ No newline at end of file
# print(generateur(13))
def logdiscret(p,x):
if x<p:
g=generateur(p)
for k in range(p-1):
if g**k%p==x:
return k
else:
return "x doit etre <p"
# print(logdiscret(7,2))
def Shanks(p,x):
g=generateur(p)
s=1+int(mt.modf(mt.sqrt(p))[1])
inv=g**(-s)
LIST=[]
for j in range(s):
LIST.append([j,g**j])
y=x
for i in range(s):
for z in LIST:
if y==z[1]:
return i*s+z[0]
else:
y=y*inv
return
print(Shanks(7,2))
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter