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

W7
Delphi 6 pro
BeitragVerfasst: Fr 10.06.16 13:32 
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
Einloggen, um Attachments anzusehen!
_________________
Fietes Gesetz: use your brain (THINK)
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1102
Erhaltene Danke: 70

Win7
DXE2 Prof, Lazarus
BeitragVerfasst: 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.

_________________
Solange keine Zeile Code geschrieben ist, läuft ein Programm immer fehlerfrei.
Ich teste nicht, weil ich Angst habe Fehler zu finden.
Delphi-Laie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1526
Erhaltene Danke: 212


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1623
Erhaltene Danke: 225

WIN7,PuppyLinux
FreePascal,Lazarus,TurboDelphi
BeitragVerfasst: 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.

Für diesen Beitrag haben gedankt: Delphi-Laie