\begin{slide}{Übung 17. 6.}

\begin{itemize}
\item
  Lösen Sie die autotool-Aufgabe \verb|Faktor-Quiz|,

  indem Sie ein Java-Programm schreiben,
  das die Teiler der Zahl durch Probedivisionen sucht.

  Verwenden Sie ggf. statt \verb|int|
  den Datentyp \verb|long|.
\item
  Berechnen Sie \verb|(4841 ^ 3031) mod 6059|

  benutzen Sie dazu den Datentyp \verb|BigInteger|
  (aus dem Paket \verb|java.math|)
  und seine Methoden \verb|valueOf|, \verb|modPow|
  (siehe Java API Doc) 
\item   
  Bestimmen Sie nach dem erweiterten Euklidischen Algorithmus
  zwei Zahlen $a,b$ mit $11a + 13b = 1$.
\item
  Lösen Sie die autotool-Aufgabe \verb|Break-Quiz|

  Bestimmen Sie aus dem öffentlichen Schlüssel $(d, n)$
  \begin{itemize}
  \item
    zunächst $p, q$ mit $p \cdot q=n$,
  \item
    dann $\phi(n)$, 
  \item
    dann den geheimen Schlüssel $e$ mit
    $de \equiv 1 \bmod \phi(n)$

    Hinweis: $\ggT(d, \phi(n))=1$
  \item
    dann aus der verschlüsselten Nachricht $y$
    die Klartextnachricht $x \equiv y^e \bmod n$.
  \end{itemize}
  Benutzen Sie die o. g. Hilfsverfahren (Euklid, modPow)

  Hinweis: zum wiederholten Üben des Umformens von Booleschen Ausdrücken
  gibt es die Aufgabe \verb|Boolean-Quiz|.
\end{itemize}


\end{slide}
