DERIVE 6

Numerik - Teilbarkeit

Inhalt:

Funktionen zur Zahlentheorie

m, m1, m2, ..., n sind natürliche Zahlen!

  • MOD(m, n) - m modulo n (der nichtnegative Rest von m/n
  • FLOOR(m, n) - Ganzzahldivision m/n
  • FLOOR(m), ROUND(m), CEILING(m) - Rundungsmöglichkeiten
  • ggT = GCD(m1, m2, ...) - größter gemeinsamer Teiler
  • kgV = LCM(m1, m2, ...) - kleinstes gemeinsames Vielfaches
  • POWER_MOD(a, n, m) - liefert a^n mod m (Verwendung zB. bei RSA-Algorithmus, Kryptographie. Um zum Beispiel die 500. Potenz von 2 mod 100 zu berechnen, vereinfachen Sie den Ausdruck POWER_MOD(2, 500, 100)
  • INVERSE_MOD(a,m) - Die "Inverse" von a modulo m: Sind a und m zwei teilerfremde positive ganze Zahlen, so gibt es (genau) eine positive ganze Zahl b < m, die die Gleichung ab mod m = 1 erfüllt. Diese Zahl b wird auch als a-1 mod m geschrieben
  • PRIME?(m) / PRIME(m) - Überprüfung, ob m eine Primzahl ist
  • NEXT_PRIME(m), PREVIOUS_PRIME(m) - nächstliegende Primzahlen zur Zahl m
  • FACTOR(m) - Zerlegung einer Zahl in ihre Primfaktoren

Auch zur Zahlentheorie existiert ein eigenes Paket mit erweiterten Funktionen, welches über DATEI - LADEN - ZUSATZDATEI aktiviert werden kann: NumberTheoryFunctions.mth.

Übung:

  • Berechne den größten gemeinsamen Teiler von 3465 und 924 und bestimme die gemeinsamen Teiler!
  • Welche Uhrzeit u (in 24-Stunden-Darstellung) ist "1000 Stunden nach Mitternacht"? Wieviele Tage sind verstrichen?
  • Überprüfe, ob die Mersennesche Zahl m = 2^23-1 eine Primzahl ist! Bestimme die nächstliegenden Primzahlen.

 

Lösung: DERIVE-Datei

Anwendungsbeispiel: RSA-Algorithmus

Kryptologie mit Hilfe des RSA-Algorithmus (Public Key - Privat Key Verschlüsselung)
Wir nehmen an, dass unsere Nachricht bereits als Zahl codiert wurde (zB. ASCII-Code von Buchstaben etc.)!
Anschließend erzeugen wir ein Schlüsselpaar mit Hilfe der Zahlentheoretischen Funktionen von DERIVE.

Vorschrift - Verschlüsselung:

  • Wähle zwei Primzahlen (je höher, desto größer die Sicherheit) p und q
    (p ungleich q)
  • Berechne die Zahlen n = p . q und m = (p-1) (q-1)
  • Berechne eine Zahl a, die teilerfremd zu m ist
  • n und a bilden den öffentlichen Schlüssel!
  • Nun kann eine Zahl x nach folgender Regel verschlüsselt werden:
    y = xa mod n

Vorschrift - Entschlüsselung:

  • Zu n und a muss der geheime Schlüssel b gebildet werden!
  • Wähle b so, dass das Produkt a . b kongruent 1 bezüglich des Modulus m ist
    also: a . b = 1 mod m oder mit Hilfe des erweiterten euklidischen Algorithmus: b = a-1 mod m (a-1 ... modulare Inverse)
  • Aufgrund des Satzes von Euler gilt für die Entschlüsselung:
    x = yb mod n

 

DERIVE-Datei

Button
Links:

© PI-NOe, letzte Änderung am 19. April 2005, erstellt von Mag. Walter Wegscheider