Post by Andreas BeckPost by Erich Schnoorhier kommen endlich ernst zu nehmende Bedenken
Du hast eine wahnsinnig selektive Wahrnehmung. Die werde ich jetzt
glaube ich auch aktivieren. Das ist ja nicht zum aushalten ...
Post by Erich Schnoor- allerdings offenbar aus dem Bereich der Mathematik - und das ist
gut so. Denn die Formel betrifft streng genommen keine Krypto-
Zusammenhänge, sondern sie kann allenfalls zu Lösungen in der
Kryptographie angewendet werden.
Parse error. Kryptographie _ist_ Mathematik. In der Regel sogar nicht
ganz triviale.
Post by Erich SchnoorH(k) = 18 305 280 (dicht an 18.000.000)
Wenn auch die Zahl der möglichen Strings (2^336) größer ist als die
mögliche Zahl der Hashwerte, kommt es für die praktische Anwendung
sicherlich auch noch auf die Verteilung der Zeichen im String
(Positionsgewichtung) und eine zielgerichtete Vertauschung von Strings
an.
Nein. Die Kollisionswahrscheinlichkeit ist im Kontext _Crypto_ nicht mit
solchem Killefitz in Zusammenhang zu bringen. Es dürfte da eher die
Ausnahme sein, daß man nur einzelne Zeichen grad _vertauschen_ kann.
Und der H-max ist eh schon indiskutabel. Das ergibt gerade mal ca. 24
Bit ... das ist ein Lacher zu bruteforcen. Von Birthday-Angriffen reden
wir mal gar nicht ...
Außerdem kann man direkt aus der Zahlengröße die Größe des Klartextes
abschätzen usw. usw.
Irgendwelche Kollisionsabschätzungen für bestimmte Operationen
(Vertauschen, kippende Bits etc.) machen Sinn für
Fehlererkennungsanwendungen. Das ist ne andere Baustelle.
Und auch da gibt es fundierte Theorien zu. Guck Dir mal was zu CRCs an.
Post by Erich Schnoorhttp://www.telecypher.net/telecode.htm
Für den Austausch von mehr als 2 Zeichen
Wer will schon austauschen, wenn er manipulieren kann.
So, jetzt EOD für mich, ich halt das nimmer aus.
Won't CU, Andy
Fortsetzung:
Das ist gut, dass er weg ist. Denn die gesamte Funktion geht ja noch
weiter. Bisher sind ja nur die Konstante C(k) und das Ergebnis H(k)
errechnet worden.
Die Einwendungen von Thomas Hertel (Beitrag 47), dass bei n = 42 die
möglichen Bytefolgen (strings) mit 2^336 die errechenbaren Hashwerte
um etliches übersteigen, sind ja richtig. Das war mir bei der
Entwicklung auch sehr schnell klar geworden.
Das Verfahren ist daher an dieser Stelle erweitert (bisher allerdings
im Sachverhalt hier noch nicht beschrieben, aber im Artikel
http://www.telecypher.net/telecode.htm
ausführlich erläutert. Um zu einem endgültigen Hashwert zu kommen,
wird die hier beispielhaft zugrunde gelegte Bytefolge
3 Nordlichter wandern über den großen Belt
einer zusätzlichen Expansionsfunktion unterworfen, wie folgt:
n = Länge Bytefolge = 42
H(k) = Hash-Konstante = 1681
b = Blockzähler = 1
FOR I = 1 TO n
a = (( a(i)+1) * I * H(k)) + (b+i)
CALL DezNachSystem (63, a, Ziffer$)
HashReihe$ = HashReihe$ + Ziffer$
H(p)= H(p) + a
NEXT I
Die HashReihe ist eine _Zahl_ im Zahlensystem zur Basis 63 wie folgt:
257 Ziffern im Zahlensystem zur Basis 63
A4AjFfbN0xadTDLBR1etUFA39Hyfy42VEc74GDcq45MhPK15xKXVp6KLV6S7Nj4mW92cZ1
c8ajrtdAVgPQ43FUMGuCdfzCpB0zvOODGBskuCldtXADbkxfQG9yvUPGNhKhM56KgzZL0N
np4Ggc6W7HuctcEL0Nnp76GMXwaJrfbv&KmDWv6NOrK&M7BmDJQNNyZD8QefKtSQkQon7s
ZyVq1PnEbgsSql6U88o1ORrIMW&kSSeoEzkVOz4IAYWwOug
Die Sensibilität der Erweiterungsfunktion zeigt sich, wenn in der
Bytefolge das letzte Bit veränder wird:
3 Nordlichter wandern über den großen Belu
-
t = 0111 0100
u = 0111 0101
Alle anderen Bits der Bytefolge beiben unverändert. Das Verfahren
errechnet dann die folgede HashReihe:
257 Ziffern im Zahlensystem zur Basis 63
A4cCfIlN1KAnTDmpU1ev77v39L4AQ42ZCEu4GHnug5MmeYT5xQNcx6KRgnj7NqJbB92lQj
38asJG4AVqhQ83FXXpFCdsObPB1Aj4wDGOsvrClqQk1DbyJzBGAElw&GNxOcM56PhA5L0h
PpCGgsTxpHuuTbhL0hPpF6GSfjjJrz6b8KmXu23NPEHBD7BtGPeNOLUwIQf5UMgQkq3tts
&q0gFPnculASrDPOK8oA1olIMna5vSfGMBWVPTrLlYp4f8g
Diese Zahlen sind nun schon ein wenig größer als die von Thomas Hertel
aufgezeigte Obergrenze mit 2^336 Möglichkeiten. Die Erweiterung schließt
die Vorteile von C(k) und H(k) ein, die eventuellen Nachteile werden
durch die Erweiterung des Ergebnisses auf die HashReihe vermieden. Das
kann auch alles in dem schon wiederholt zitierten Artikel nachgelesen
werden.
Die Umrechnung von a in Ziffern des Zahlensystems zur Basis 63 erfolgt
mit der Funktion "CALL DezNachSystem" aus dem Programm NUMBERXT.EXE.
Mit der Funktion werden Zahlen in Systemen von Basis 2 bis Basis 128
umgerechnet. Interessenten können per e-mail das Programm kostenlos
erhalten.
Man möge mir verzeihen, dass die Erweiterung erst jetzt ins Spiel kommt.
Aber hätte ich gleich alles geschildert, wäre die "Langeweile" mancher
Teilnehmer (Zitat: Andreas Beck im Beitrag 25)wohl noch viel größer gewesen.
Gruss
Erich Schnoor