Modulares Wurzelziehen, ohne zStern
Kryptographie mit MuPAD 4, Prof. Dr. Dörte Haftendorn, Juni 07
http://haftendorn.uni-lueneburg.de www.mathematik-verstehen.de
####################################################################
---------------------------------------eigene Zahlentheorie Ergänzungen-----------------------------------------------------------------------------------------------------
Im Dateimenu bei "Eigenschaften" steht die Prozeduren zur Berechnung von zstern, daher kann sie hier ausgeführt werden.
---------------------------------------eigene Zahlentheorie Ergänzungen-----------------------------------------------------------------------------------------------------
In dieser Datei wird die Bestimmung von zstern vermieden.
n:=1234//56789; // 19, 123, 12345, geht nicht mehr: 123456789
factor(n)
Einige Quadrate sollen berechnet werden.
quadrate:=modp(i^2,n) $ i =2*n+30..2*n+50;
mengeQ:={%}
nops(quadrate); nops(mengeQ);
modp(25^2,n)
Definition einer Prozedur, die modular Wurzeln zieht.
wurzel:=proc(v,n)
begin
wu:=[];
for i from 1 to n-1 do
if modp(i^2,n)=v then wu:=wu.[i];
end_if;
end_for;
return(wu);
end_proc:
Hier eine der oben erzeugten Quadratzahlen eintragen.
n;
wurzel(25,n);
wurzel(615,n)
Betrachtung der geraden Potenzen einer passenden Wurzel
modp((5^2)^i,n) $ i=1..15
Fazit:
Wenn man hier mit etwas größeren Zahlen arbeitet merkt man, dass modulares
Wurzelziehen sehr lange dauert.