Inhaltsverzeichnis
GeoGebra 3.2: Texte codieren, Listen bearbeiten, Restklassenarithmetik
- Themenheft Mathematik mit GeoGebra, Kryptographie
Texte codieren
Alle bedeutenden kryptographischen Verfahren basieren auf mathematischen Algorithmen. Zu verschlüsselnde Texte werden daher in die einzelnen, aufeinanderfolgenden Buchstaben zerlegt, denen ihr Index in der ASCII-Tabelle zugeordnet wird:
A 65
B 66
…
Für alle Großbuchstaben sind somit 26 Indizes belegt - Ä, Ö oder Ü werden in dieser Reihe nicht berücksichtigt.
Um die Ergebnisse beim Potenzieren klein zu halten, ist es günstig, alle ASCII-Indizes um 64 oder 65 zu vermindern.
atext = TextzuUnicode[nachricht]
liefert eine Liste der Ascii-Codes.
nachricht = UnicodeZuText[atext]
liefert eine Liste der Buchstaben zu den ASCII-Indizes in der Liste atext
Beispiel:
nachricht="KRYPTO" atext=TextzuUnicode[nachricht]
liefert
atext = {75,82, 89, 80, 84, 79}
Mit einer Schleife verringern wir alle Indizes in der Liste um 64.
itext = Folge[Element[atext,i]-64,i,1,Länge[atext]]
liefert
itext = {11, 18, 25, 16, 20, 15}
Um beispielsweise alle Indizes um 3 zu erhöhen (vgl. Caesar-Verschlüsselung), verwenden wir wieder eine Schleife. Beachte, dass alle Indizes über 26 mit Hilfe der Modulo-Funktion reduziert werden:
ictext=Folge[Mod[Element[itext, i] + 3, 26], i, 1, Länge[itext]]
liefert
ictext = {14, 21, 2, 19, 23, 18}
Zuletzt verschieben wir die Indizes wieder um 64 und geben den Text aus:
actext=Folge[Element[ictext, i] + 64, i, 1, Länge[ictext]] chiffre=UnicodeZuText[actext]
liefert
NUBSWR
Listen bearbeiten
Die GeoGebra-Funktion Folge[]
erzeugt eine Liste, deren Elemente von den Argumenten von Folge[Ausdruck, Laufvariable, Startwert, Endwert]
gebildet werden.
Das i-te Element einer Liste wird mit der GeoGebra-Funktion
Element[Liste,i]
ausgegeben.
Restklassenarithmetik
Mod[n,m]
liefert den ganzzahligen Rest bei der Division n : m
Beachte: Bei großen Zahlen n und m liefert die Mod[]
-Funktion kein Ergebnis.
Beispiel:
liste=Folge[Mod[Element[amtext, i] Mod[alpha^b, p], p], i, 1, Länge[amtext]]
liefert eine Liste von Elementen, auf die der Algorithmus nach Elgamal angewendet wird. Dabei wird jedes Element mit dem Ausdruck αb multipliziert. Sowohl auf αb als auch auf das Produkt wird die Mod[]
- Funktion angewendet.
Zurück zu Lernpfad Kryptographie | Restklassen und Kongruenzen | Mathematik mit GeoGebra