Verschlüsselung: Unterschied zwischen den Versionen
Zeile 36: | Zeile 36: | ||
Eulerfunktion |
Eulerfunktion |
||
Damit wird nun der öffentliche Schlüssel '''e''' erstellt, wobei für diesen gelten muss, dass er teilerfremd zu N1 ist. |
|||
Mit dem öffentlichen Schlüssel wird der private '''d''' errechnet, für den gilt: |
|||
<math>mod(e*d,N1)=1</math> |
|||
Mit diesen Schlüsseln kann nun verschlüsselt und entschlüsselt werden. |
Version vom 21. Juni 2007, 11:20 Uhr
Verschlüsselung
Bei diesem Projekt habe ich mich mit der Verschlüsselung von Text auseinander gesetzt. Dazu habe ich ein symetrisches Verschlüsselungsverfahren (Cäser) und ein assymetrisches Verschlüssleungsverfahren (RSA) in Matlab programmiert.
Cäsar - Verschlüsselung
Dise Verschlüsselungs Methode wurde Angeblich von Cäsar erfunden und verwendet. Dabei wird Jedem Buchstaben und jeder Zahl, die verschlüsselt werden soll, eine eindetige Identifikationsnummer zugewiesen.
Dannach wird ein Schlüssel eine beliebige Zahl dazuaddiert oder abgezogen und über die entstehenden Identifikationsnummern der Modulo gebildet.
In Matlab habe ich dazu den Ascii - code entsprechend transformiert, so dass nur Zahlen, Buchstaben und ein Paar Satzzeichen verwendet werden. Bei der Entschlüsselung wird der Schlüssel wieder abgezogen.
Ich habe dafür eine Funktion geschrieben, bei der man auch Vektoren nicht nur einzelne Zahlen zur Ver- und entschlüsselung verwenden kann.
[math]V=mod(K+SCH,m)[/math]
[math]K=mod(V-SCH,m)[/math]
V..verschlüsselter Text
K..Klartext
SCH .. Schlüssel
RSA - Verschlüsselung
Für diese Verschlüsselungsmethode muss zuerst ein Schlüssel erzeugt werden. Aus zwei Primzahlen p, q wird folgendes berechnet:
[math]N = p * q[/math]
Modul
[math]N1=(p-1)*(q-1)[/math]
Eulerfunktion
Damit wird nun der öffentliche Schlüssel e erstellt, wobei für diesen gelten muss, dass er teilerfremd zu N1 ist.
Mit dem öffentlichen Schlüssel wird der private d errechnet, für den gilt:
[math]mod(e*d,N1)=1[/math]
Mit diesen Schlüsseln kann nun verschlüsselt und entschlüsselt werden.