Autor Beitrag
Fiete
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 492
Erhaltene Danke: 188

W7
Delphi 6 pro
BeitragVerfasst: Di 06.09.16 11:28 
Die Hill-Chiffre wurde 1929 von Lester S. Hill (1891-1961) veröffentlicht.

Der Algorithmus verwendet quadratische Matrizen zum Ver- und Entschlüsseln.
Aus dem Schlüssel werden die Matrix A sowie die inverse Matrix A^(-1) erzeugt.
HillScreen
Es kommen Matrizen von einer Größe [2x2] bis [10x10] in Frage.
Wichtiges Merkmal der Matrix A ist die Existenz der inversen Matrix, die zum Entschlüsseln gebraucht wird.
Die inverse Matrix existiert, wenn Det(A)<>0 ist. Die Determinante berechne ich mittels Gauss-Verfahren aus der Hauptdiagonalen.
Mathematisch ist das Produkt der Schlüsselmatrix A mit der inversen Schlüsselmatrix A^(-1) über den Modul
(Größe des Zeichensatzes, hier 103) gleich der Einheitsmatrix.

A * A^(-1) = E

Jedes Zeichen wird von einer Zahl modulo 103 repräsentiert.
Um eine Botschaft zu verschlüsseln, wird diese mit der Matrix A(nxn) mulpliziert(modulo 103) ,
wobei der Text in eine Textmatrix(nxm) umgeformt wird, m ergibt sich aus der Textlänge.
Beim Entschlüsseln wird der Code mit der inversen Matrix mulpliziert(modulo 103).
*.txt bzw. *.cod Dateien können geladen bzw. gespeichert werden, der Schlüssel kann eingegeben werden oder nach Eingabe der
Schlüssellänge zufällig generiert werden. Aus dem Schlüssel wird die Matrix A erstellt. Der Schlüssel muss mindestens die Länge 2 haben.
Ist die Schlüssellänge keine Quadratzahl wird der Schlüssel mit Zeichen aus Alfa aufgefüllt, beginnend von Nummer 1.

Probleme hat mir beim Programmieren die Berechnung der inversen Matrix bereitet, da modulo 103 gerechnet wird.
So ist z.B. 1/9 mod 103 = 23!!! Mit dem erweiterten Euklid hab ich es gelöst. Dann konnte ich Gauss-Jordan umsetzen.
Habe mir ein separates Testprogramm geschrieben bevor ich an die Hill-Chiffre ging, wollte Fehler vermeiden.
Eine Anleitung steht auf Seite 19 massey.limfinity.com/207/hillcipher.pdf
Viel Spaß beim Testen
Gruß Fiete
Einloggen, um Attachments anzusehen!
_________________
Fietes Gesetz: use your brain (THINK)

Für diesen Beitrag haben gedankt: Mathematiker