\mnb150ÿ{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fswiss\fprq2 System;}{\f3\froman\fcharset1 Times New Roman;}{\f4\fmodern\fprq1 Courier New;}} {\colortbl\red0\green0\blue0;\red255\green0\blue0;\red0\green0\blue255;} \deflang1031\pard\ri4\plain\f3\fs22\cf0 01. \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs22\cf1 {\pntext\f1\'b7\tab}plot(plot::Listplot([[x,2^x] $ x=0..20],LinesVisible=FALSE)) \par \pard\ri4\plain\f3\fs22\cf0 02. \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs22\cf1 {\pntext\f1\'b7\tab}DiskreterLogarithmus:=proc(y,a) \par \pard\li600\ri1\fi-300\plain\f4\fs22\cf1 local z,zaehler; \par begin \par z:=y; \par zaehler:=0: \par while testtype(z,Type::Integer) and z>1 do \par z:=z/a; \par zaehler:=zaehler+1; \par end_while; \par if not testtype(z,Type::Integer) \par then return("diskreter Logarithmus existiert nicht") \par end_if; \par zaehler \par end_proc: \par \pard\ri4\plain\f3\fs22\cf0 03. \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs22\cf1 {\pntext\f1\'b7\tab}DiskreterLogarithmus(5^1000,5) \par \pard\ri4\plain\f3\fs22\cf0 04. \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs22\cf1 {\pntext\f1\'b7\tab}DiskreterLogarithmus(5^1000+1,5) \par \pard\ri4\plain\f3\fs22\cf0 05. \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs22\cf1 {\pntext\f1\'b7\tab}plot(plot::Listplot([[x,2^x mod 1009] $ x=0..1008],LinesVisible=FALSE)) \par \pard\li600\ri1\fi-300\plain\f4\fs22\cf1 \par \pard\ri4\plain\f3\fs22\cf0 06. \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs22\cf1 {\pntext\f1\'b7\tab}plot(plot::Listplot([[x,2^x mod 10007] $ x=0..10006],LinesVisible=FALSE)) \par \pard\li600\ri1\fi-300\plain\f4\fs22\cf1 \par \pard\ri4\plain\f3\fs22\cf0 07. \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs22\cf1 {\pntext\f1\'b7\tab}p:=nextprime(10^20) \par \pard\ri4\plain\f3\fs22\cf0 08. \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs22\cf1 {\pntext\f1\'b7\tab}start:=time(): \par \pard\li600\ri1\fi-300\plain\f4\fs22\cf1 b:=powermod(2,12345678,p): \par [(time()-start)*sec/1000.0,b]; \par \pard\ri4\plain\f3\fs22\cf0 09. \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs22\cf1 {\pntext\f1\'b7\tab}Zp:=Dom::IntegerMod(p): \par \pard\li600\ri1\fi-300\plain\f4\fs22\cf1 solve(2^x=b,Domain=Zp) \par \pard\ri4\plain\f3\fs22\cf0 10. \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs22\cf1 {\pntext\f1\'b7\tab} \par }