diff --git a/20220519/ad-202200519.txt b/20220519/ad-202200519.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d143ff048ca47051a6333f552d153dde6bab0a6d
--- /dev/null
+++ b/20220519/ad-202200519.txt
@@ -0,0 +1,85 @@
+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
diff --git a/20220519/mathe-20220519-01-ringe.png b/20220519/mathe-20220519-01-ringe.png
new file mode 100644
index 0000000000000000000000000000000000000000..0ef2976c41e7fb2a1127d993d5b4acb825428acb
Binary files /dev/null and b/20220519/mathe-20220519-01-ringe.png differ
diff --git a/20220519/mathe-20220519-02-ringe.png b/20220519/mathe-20220519-02-ringe.png
new file mode 100644
index 0000000000000000000000000000000000000000..5d18320fb462799304d2321660e4abebc403cb53
Binary files /dev/null and b/20220519/mathe-20220519-02-ringe.png differ
diff --git a/20220519/mathe-20220519-03-koerper.png b/20220519/mathe-20220519-03-koerper.png
new file mode 100644
index 0000000000000000000000000000000000000000..cf64ff51078d56207a91fdcca53e8322ef669af0
Binary files /dev/null and b/20220519/mathe-20220519-03-koerper.png differ
diff --git a/20220519/mathe-20220519-04-koerper.png b/20220519/mathe-20220519-04-koerper.png
new file mode 100644
index 0000000000000000000000000000000000000000..eb786437f0632c64a6ed01c44520c25c3311ea48
Binary files /dev/null and b/20220519/mathe-20220519-04-koerper.png differ
diff --git a/20220519/mathe-20220519-05-koerper.png b/20220519/mathe-20220519-05-koerper.png
new file mode 100644
index 0000000000000000000000000000000000000000..c1251895841c6b5b86356660a2f7c9773939b8d8
Binary files /dev/null and b/20220519/mathe-20220519-05-koerper.png differ
diff --git a/20220519/mathe-20220519-06-koerper.png b/20220519/mathe-20220519-06-koerper.png
new file mode 100644
index 0000000000000000000000000000000000000000..789d5469a6376c5a61dcb816fc85aaa01ac6a7b3
Binary files /dev/null and b/20220519/mathe-20220519-06-koerper.png differ
diff --git a/20220519/mathe-20220519.xcf.gz b/20220519/mathe-20220519.xcf.gz
new file mode 100644
index 0000000000000000000000000000000000000000..130f38c732ada5e921200568f0929f233479f67a
Binary files /dev/null and b/20220519/mathe-20220519.xcf.gz differ