DiffieHellmann-Verfahren, Schlüsselvereinbarung
Kryptographie mit MuPAD,
Prof. Dr.Dörte Haftendorn, Okt.99, Nov 02, Sept 05
--------------------------------------------------------------------------------------------
---------------------------------------eigene Zahlentheorie Ergänzungen------------------------------ PACKAGEPATH:=gesamtpackpfad,PACKAGEPATH://Tipps zu Packages siehe unten auf der Seite. ---------------------------------------eigene Zahlentheorie Ergänzungen--------------------------------- Anton will mit Berta einen gemeinsamen Schlüssel vereinbaren.
Er bereitet als Grundlage p und g vor.
   
   

   

Er teilt dieses Berta mit, jeder darf das wissen.
Anton wählt sich eine beliebige Zahl a und berechnet:
   

Berta wählt sich eine beliebige Zahl b und berechnet:
   

Anton und berta senden sich gegenseitig öffentlich ihre Ergebnisse.
Anton berechnet:
   

Berta berechnet:
   


          "Der gemeinsame geheime Schlüssel für Anton und Berta ist"

                       "k = 69036524692594184463218084"
   

Berta will Anton einen Text senden, den nur Anton lesen kann.

 [77, 111, 110, 116, 97, 103, 32, 105, 109, 32, 77, 101, 100, 108, 101, 121]
   


delete f,kk,x:     f:=(kk,x)->(kk*x):     f(kk,x);
   

   

Sie teilt Anton den Algorithmus von f(k,c) und c mit. f muss invertierbar sein.
f ist hier einfach, in der Praxis "verrührt" f die Nachricht heftig.
Den gemeinsamen Schlüssel k weiß Anton schon, k bleibt geheim.
   
   

Der Ascii-Text muss noch in Klartext verwandelt werden.

        [47, 81, 80, 86, 67, 73, 2, 75, 79, 2, 47, 71, 70, 78, 71, 91]

 [77, 111, 110, 116, 97, 103, 32, 105, 109, 32, 77, 101, 100, 108, 101, 121]
   

Anton will Berta Antworten:
   

   

Berta liest
   
   

Anton und Berta können nun beliebig oft mit dem einmal berechneten
Schlüssel k Nachrichten austauschen. Tipps zu Packages: Einzelne *.mu-Dateien kann man auch mit dem Menu
Notebook -->Einlesen -->*.mu hinzufügen. Auf dieser Site liest der oben genannte Befehl alle eigenen Funktionen
der Zahlentheorie. Siehe auch: Übersicht über die eigenen Funktionen, Quelltexte und Tests