Modulares Wurzelziehen
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-----------------------------------------------------------------------------------------------------
n:=19; // 19, 123, 12345, geht nicht mehr: 123456789
zstern(n)
factor(n)
quadrate:=modp(i^2,n) $ i in zstern(n);
mengeQ:={%}
nops(quadrate); nops(mengeQ);
modp(11^2,n)
Definition einer Prozedur, die modular Wurzeln zieht.
wurzel:=proc(v,n)
begin
ZS:=zstern(n);
ord:=nops(ZS);
wu:=[];
for i from 1 to ord do
if modp(ZS[i]^2,n)=v then wu:=wu.[ZS[i]];
end_if;
end_for;
return(wu);
end_proc:
Hier eine der oben erzeugten Quadratzahlen eintragen.
wurzel(11,n)
Betrachtung der geraden Potenzen einer passenden Wurzel
modp((5^2)^i,n) $ i=1..5