Skip to content
Snippets Groups Projects
Commit bb41c02d authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Tafelbilder und Aufgabe 19.5.2022

parent 418ddf89
No related branches found
No related tags found
No related merge requests found
Aufgabe
=======
Implementieren Sie einen nichttrivialen Algorithmus
mit großen vorzeichenlosen ganzen Zahlen.
"groß" = "größer als das, was der Computer normalerweise verarbeiten kann"
Aufteilung in Teams:
- Grundrechenarten (einschließlich modulo) mit großen Zahlen
- Exponentiation modulo p --> Websuche
- Faktorisierung mittels der Fermat-Methode
Beispiele:
- Faktorisierung der 7. Fermatschen Zahl
- RSA
- Diffie-Hellman, El-Gamal
- Elliptische Kurven
Damit sich die Teams nicht gegenseitig blockieren:
- "Dummy"-Funktionen für 64-Bit-Zahlen schreiben,
um damit schon mal die Schnittstelle festzulegen.
- Später dann die Dummy-FUnktionen gegen die richtigen austauschen.
Beispiel:
Interface:
void add (void *s1, void *s2, void *sum)
{
/* egal */
}
void init_number (uint64_t x, void *e)
{
/* egal */
}
Dummy-Implementierung:
void add (void *s1, void *s2, void *sum)
{
uint64_t *ps1 = s1;
uint64_t *ps2 = s2;
uint64_t *psum = sum;
*psum = *ps1 + *ps2;
}
void init_number (uint64_t x, void *e)
{
uint64_t *pe = e;
*pe + x;
}
Ideen:
- "Schriftlich" rechnen.
Jede Ziffer ist ein Array-Element,
z.B. eine Ziffer in einem String
oder eine Zahl von 0 bis 999999999 in einer 32-Bit-Zahl
oder eine 32-Bit-Zahl
oder eine 64-Bit-Zahl
...
- Dynamische Allozierung des Speichers:
Die Zeiger zeigen auf Objekte.
Die Zeiger auf die eigentlichen Daten sind in den Objekten enthalten.
- Mit 32-Bit-Zahlen rechnen,
damit Überläufe noch durch den 64-Bit-Prozessor bearbeitet werden können.
Teams:
- RSA: Dominik Hasenburg, Leon Mensch
- Grundrechenarten, Exponentiation: Simon Döring, Michael Edelmann, Leon Hänschke
20220519/mathe-20220519-01-ringe.png

153 KiB

20220519/mathe-20220519-02-ringe.png

129 KiB

20220519/mathe-20220519-03-koerper.png

62.2 KiB

20220519/mathe-20220519-04-koerper.png

89.9 KiB

20220519/mathe-20220519-05-koerper.png

105 KiB

20220519/mathe-20220519-06-koerper.png

126 KiB

File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment