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

math

factor(n)

math

Einige Quadrate sollen berechnet werden.

quadrate:=modp(i^2,n) $ i =2*n+30..2*n+50;

mengeQ:={%}

math

math

nops(quadrate); nops(mengeQ);

math

math

modp(25^2,n)

math

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);      

math

math

wurzel(615,n)

math

Betrachtung der geraden Potenzen einer passenden  Wurzel

modp((5^2)^i,n) $ i=1..15

math

Fazit:

Wenn man hier mit etwas größeren Zahlen arbeitet merkt man, dass modulares

Wurzelziehen sehr lange dauert.