-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
5064248
commit 47a0b2d
Showing
1 changed file
with
42 additions
and
0 deletions.
There are no files selected for viewing
42 changes: 42 additions & 0 deletions
42
content/material/Kryptologie/07-Asymmetrisch/03-asymmetrie.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
--- | ||
sidebar_custom_props: | ||
source: | ||
name: rothe.io | ||
ref: https://rothe.io/?b=crypto&p=792141 | ||
--- | ||
|
||
import PrimefactorizationTiming from "@site/src/app/components/visualization-tools/cryptology/PrimefactorizationTiming"; | ||
|
||
# Asymmetrie | ||
Wir haben in den beiden vorherigen Abschnitten gesehen, dass es Vorgänge gibt, die in die eine Richtung einfach durchzuführen sind, in die entgegengesetzte Richtung allerdings sehr aufwändig oder gar unmöglich: | ||
|
||
| einfacher Vorgang | aufwändiger/schwieriger Vorgang | | ||
|:--------------------------------|:-----------------------------------| | ||
| offenes Bügelschloss schliessen | Bügelschloss ohne Schlüssel öffnen | | ||
| Farben mischen | Farben trennen | | ||
|
||
Diese Beispiele zeigen deutlich, worauf die asymmetrische Verschlüsselung basiert: | ||
|
||
:::definition[Asymmetrische Verschlüsselung] | ||
Die asymmetrische Verschlüsselung basiert auf Aufgaben, die in eine Richtung einfach auszuführen sind, während man eine geheime Information braucht, um den Vorgang rückgängig zu machen. | ||
|
||
Verfügt jemand nicht über diese geheime Information, ist die Umkehrung des Vorgangs nicht in sinnvoller Zeit zu bewältigen. | ||
::: | ||
|
||
## Ein mathematisches Problem dieser Art | ||
Auch in der Mathematik gibt es Operationen, die einfach und schnell auszuführen sind. Die Umkehrung jedoch ist selbst für einen Computer aufwändig und kann Jahre dauern. | ||
|
||
Ein Beispiel dafür ist das Multiplizieren zweier (Prim-)Zahlen. Jeder Computer kann pro Sekunde mehrere Milliarden Multiplikationen ausführen. Ein Produkt zweier Primzahlen in die beiden Faktoren zu zerlegen, ist jedoch ungleich aufwändiger – insbesondere wenn die Zahlen mehrere hundert Stellen lang sind. | ||
|
||
:::aufgabe[Multiplizieren vs. Faktorisieren] | ||
1. Berechnen Sie $41 \cdot 83$ auf Papier. Überlegen Sie sich dabei, wie Sie vorgehen. | ||
2. Schaffen Sie es, die Zahl $3397$ in ihre zwei Primfaktoren zu zerlegen? Und $1117$? Wie könnte man dabei vorgehen? | ||
::: | ||
|
||
:::aufgabe[Aufwand für den Computer] | ||
1. Wie schnell kann der Computer multiplizieren und faktorisieren? Überprüfen Sie mit dem folgenden Tool, wie schnell Ihr Computer beim Multiplizieren und Faktorisieren ist. Nehmen Sie für Primzahlen mit `6`, `7` und `8` Stellen einige (>3) Messungen vor. | ||
2. Halten Sie die Messergebnisse fest. | ||
3. Was bedeutet es für eine kryptographische Anwendungen, wenn die beiden Primzahlen statt `8` Stellen mehrere hundert Stellen lang sind? | ||
::: | ||
|
||
<PrimefactorizationTiming /> |