Entwickler-Ecke
Open Source Projekte - Bigrammcodierung
Fiete - Fr 10.06.16 13:32
Titel: Bigrammcodierung
Das Programm codiert Texte mittels Bigramm-Verfahren.
Der aktuelle Zeichensatz besteht aus 73 Zeichen, also 5329 verschiedene Paare.
Die Matrix wird wie ein Eulerquadrat ungerader Ordnung erzeugt.
(Normal oder zufällig - s.
Horst_H)
Paarweise werden die Zeichen bearbeitet.
Falls eine Zeile eine ungerade Anzahl von Zeichen enthält wird ein 'Q' drangehängt.
Wer eine Zufallsmatrix generieren lassen will muss sich den Randseed merken.
Dieser Wert wird in der letzten Zeile der codierten Nachricht angezeigt.
Die Texte können gespeichert bzw. geladen werden.
Viel Spaß beim Testen
Gruß Fiete
Sinspin - So 12.06.16 14:06
Ich kenne das, oder ein ähnliches, Verfahren als One Time Pad Codierung und verwende es als Verschlüsselungsverfahren in einem meiner Tools.
Allerdings arbeite ich nicht mit Wertepaaren sondern einem Schlüssel der die gleiche Länge wie die zu codierenden Daten hat. Sowohl die zufällige Matrix als auch der Schlüssel werden generiert aus einem Passwort das der Nutzer eingibt.
Wie einfach das ganze knackbar ist, ist noch immer eine sehr gute Frage :gruebel:
Es hängt ja davon ab ob sich Matrix und Schlüssel aus den verschlüsselten Daten ziehen lassen.
Delphi-Laie - So 12.06.16 15:02
Sinspin hat folgendes geschrieben : |
Wie einfach das ganze knackbar ist, ist noch immer eine sehr gute Frage :gruebel: |
Anzahl der möglichen Schlüssel = (Matrixordnung^2) !
?
Der Schwachpunkt ist allerdings die Schlüsselgenerierung, die "normalen" computergenerierten Zufallsgeneratoren sind eben leider alle nur "pseudo".
Gibt man im Programm unter "Alphabet" "normal" ein, haben die Schlüssel eine deutliche Struktur - keine gute Voraussetzung für die Verschlüsselung. Bei "zufällig" sieht es schon deutlich besser aus.
Horst_H - So 12.06.16 19:00
Hallo,
Hier geht es um Euler Matrizen. die ja jeden Wert nur einmal in Spalte und Zeile haben.
n*n Werte beliebig anzuordnen, wäre viel leichter.
Bei einer n * n Euler-Matrix ergeben sich durch das Mischen
n! Anordnungen der Zeilen und n! Anordnungen der Spalten.
(n^2)! >> (n!)^2
(8x8)!= 1.269E89 >> (8!)^2 = 40320*40320= 1.626e9
aber 73!, irgendwas mit 1E106 = 2^352, ist auch nicht übel.Natürlich bräuchte es dann auch einen Zufallsgenerator entsprechender Bitzahl.
Gruß Horst
P.S.
Ich weiß aber nicht, ob man bei einer Euler-Matrix aus der einen Ursprungsanordnung auch wirklich alle Möglichen nur durch mischen der Zeilen/Spalten erwischt.Spiegelungen werden dabei auch erzeugt, vielleicht wäre Drehung noch eine Option.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!