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. user profile iconHorst_H)
Bigramm_Screen
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

user profile iconSinspin hat folgendes geschrieben Zum zitierten Posting springen:
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.