Kasiski-Test mithilfe von R

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: Kasiski-Test mithilfe von R

Beitrag von consuli »

Kev1807 hat geschrieben: Do Jun 07, 2018 9:33 am
consuli hat geschrieben: Mi Jun 06, 2018 12:06 pmMeines Ermessens macht es bei Vigenère-Chiffre ohnehin keinen Sinn nach Wiederholungen zu suchen.
Die Suche nach Dopplern ist doch nichts anderes als die Suche nach sich wiederholenden Sequenzen? Ist dann der Kasiski-Test in deinen Augen nicht zielführend? (versteh das bitte nicht als Angriff, auch wenn es eventuell so gelesen werden kann!)
Ich muss doch zunächst nach Dopplern suchen und die Abstände zwischen ihnen zählen und dann per Primfaktorzerlegung auf wahrscheinliche Schlüssellänge schließen?
Erst über die wiederholenden Elemente im verschlüsselten Text kann ich doch die Schlüssellänge ermitteln? (Also Doppler finden, Abstände zählen, Primfaktorzerlegung --> häufigster Abstand vermutete Schlüssellänge)
Doch, da hast Du wohl doch recht (und ich lag falsch). Bei einem langen Text (mit Wortwiederholungen) und einem kurzen Schlüssel kann man die Länge des Schlüssels wohl so bestimmen.

Aber auf jeden Fall wird der gesamte Ciphertext zum Entschlüsseln durch eine Zahlenrepresentation ersetzt. Vergleiche http://www.robindavid.fr/blog/2012/06/1 ... in-python/ Möglicher Weise hast Du da bei Französisch nochmal Zusatzprobleme weil Vokale mit Accents Extra- Buchstaben des Verschlüsselungsalphabets sein könnten, also ein Verschlüsselungsalphabet größer als 26 Buchstaben vorliegen könnte.

An Deiner Stelle würde ich mich an einem Algorithmus aus dem Netz orientieren. Bei allem was nur in Sprache beschrieben ist, gibt es erstens oft vielerlei Interpretationsmöglichkeiten und zweitens weiß man nicht, ob die Autoren die Entschlüsselung tatsächlich selbst können oder nur woanders abgeschrieben haben.

Consuli
Irmgard.
Kev1807
Beiträge: 15
Registriert: Mo Mai 21, 2018 1:47 pm

Re: Kasiski-Test mithilfe von R

Beitrag von Kev1807 »

consuli hat geschrieben: Do Jun 07, 2018 2:44 pm
Kev1807 hat geschrieben: Do Jun 07, 2018 9:33 am
consuli hat geschrieben: Mi Jun 06, 2018 12:06 pmMeines Ermessens macht es bei Vigenère-Chiffre ohnehin keinen Sinn nach Wiederholungen zu suchen.
Die Suche nach Dopplern ist doch nichts anderes als die Suche nach sich wiederholenden Sequenzen? Ist dann der Kasiski-Test in deinen Augen nicht zielführend? (versteh das bitte nicht als Angriff, auch wenn es eventuell so gelesen werden kann!)
Ich muss doch zunächst nach Dopplern suchen und die Abstände zwischen ihnen zählen und dann per Primfaktorzerlegung auf wahrscheinliche Schlüssellänge schließen?
Erst über die wiederholenden Elemente im verschlüsselten Text kann ich doch die Schlüssellänge ermitteln? (Also Doppler finden, Abstände zählen, Primfaktorzerlegung --> häufigster Abstand vermutete Schlüssellänge)
Doch, da hast Du wohl doch recht (und ich lag falsch). Bei einem langen Text (mit Wortwiederholungen) und einem kurzen Schlüssel kann man die Länge des Schlüssels wohl so bestimmen.

Aber auf jeden Fall wird der gesamte Ciphertext zum Entschlüsseln durch eine Zahlenrepresentation ersetzt. Vergleiche http://www.robindavid.fr/blog/2012/06/1 ... in-python/ Möglicher Weise hast Du da bei Französisch nochmal Zusatzprobleme weil Vokale mit Accents Extra- Buchstaben des Verschlüsselungsalphabets sein könnten, also ein Verschlüsselungsalphabet größer als 26 Buchstaben vorliegen könnte.

An Deiner Stelle würde ich mich an einem Algorithmus aus dem Netz orientieren. Bei allem was nur in Sprache beschrieben ist, gibt es erstens oft vielerlei Interpretationsmöglichkeiten und zweitens weiß man nicht, ob die Autoren die Entschlüsselung tatsächlich selbst können oder nur woanders abgeschrieben haben.

Consuli
So ähnlich wie im von dir geposteten Thread sieht mein Brief von vornherein aus, nur ohne Kommata... Morgen kann ich mal einen der Briefe posten...
Der Brief ist zum Glück Englisch, maximal mit einigen spanischen Namen (Evtl. Kommt Santiago de Chile, Acapulco, Paita vor)

Ich weiß leidernicht, was angepasst werden müsste...
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: Kasiski-Test mithilfe von R

Beitrag von consuli »

Poste lieber die Daten als einen Scan des Briefs. 'Ne billige Tippse wirste hier nicht finden ...

Z.B.:
ciphertext= c("F", "K", "X", ...)
oder
intciphertext= c(4, 23, 12, ...)

Consuli
Irmgard.
Kev1807
Beiträge: 15
Registriert: Mo Mai 21, 2018 1:47 pm

Re: Kasiski-Test mithilfe von R

Beitrag von Kev1807 »

consuli hat geschrieben: Do Jun 07, 2018 9:26 pm Poste lieber die Daten als einen Scan des Briefs. 'Ne billige Tippse wirste hier nicht finden ...

Z.B.:
ciphertext= c("F", "K", "X", ...)
oder
intciphertext= c(4, 23, 12, ...)

Consuli
Das ist nicht meine Idee... Ich will ja was daran lernen... :-D
Den Scan würde ich auch nicht teilen, eher mal das Transkript und meine bisherigen Ideen halbwegs strukturiert dargelegt... :-/ Der Scan bringt ja wirklich nix, außer mal 300 Jahre altes Papier zu sehen - auf einem Foto übrigens nur bedingt eindrucksvoll :-D
Dazu liefere ich morgen einiges nach, bin gerade nicht in der Nähe meiner Daten :D
Kev1807
Beiträge: 15
Registriert: Mo Mai 21, 2018 1:47 pm

Re: Kasiski-Test mithilfe von R

Beitrag von Kev1807 »

Hier folgt nun die, hoffentlich strukturierte, Auflistung:
Wir befinden uns im 18. Jahrhundert - ein britischer Commodore ist mit einer Flotte auf den Weltmeeren unterwegs und soll die Spanier so gut er kann ärgern. Er schreibt einem Gönner und Förderer, dem Duke of NewCastle (Großschreibung aus dem Brief) diesen Brief. Das ist einer on drei derart verschlüsselten Briefen gleichzeitig weder der kürzeste nooch der längste. (Die Abstände und Teilung Gruppen ist dem Original entnommen)
261 697 2074 1560 1343 1238 2259 574 221 457 1042
933 333 348 1414 317 793 789 1236 1365 2229
851 1688 1203 1083 2010 316 1218 1239 1941
1490 2361 941 474 1464 761 297 121 340
1660 1594 133 1636 914 1711 1089 2123
1006 2094 968 181 2302 3728 968
2157 1119 1426 574 796 335 65 362
2123 1083 1907 1588 672 2266 594 446
254 2257 685 1507 1181 2056 1430 620
639 455 232 1584 269 2378 1012
2032 30

An dieser Stelle sei mir eine Frage für die Übersichlichkeit gestattet:

Code: Alles auswählen

for(anfang in duo){ 
    treffer <- unlist(gregexpr(pattern = anfang, text = text, fixed=TRUE))
    if(length(treffer) > 1){
        cat(paste0(anfang, "  -  "))
        print(treffer)
        cat("\n")
    }
Geht den Text durch und schaut nur ob es das Pärchen schon gibt, legt eine Liste an und listet dann auf, was vorkommt - Gibt es eine sinnolle Möglichkeit die Liste von en "doppelten" Beiträgen zu befreien?
consuli hat geschrieben: Do Jun 07, 2018 9:26 pm Poste lieber die Daten als einen Scan des Briefs. 'Ne billige Tippse wirste hier nicht finden ...

Z.B.:
ciphertext= c("F", "K", "X", ...)
oder
intciphertext= c(4, 23, 12, ...)

Consuli
Wenn ich nur schon so weit wäre :-(

Für den Brief OHNE Leerzeichen, immer Tripletten:

Code: Alles auswählen

741  -  [1]   9 119

601  -  [1]  13 139

134  -  [1]  15 133

431  -  [1] 17 52

123  -  [1]  19  62  99 164 180 219

225  -  [1]  23 250

574  -  [1]  27 204

422  -  [1]  29 249

221  -  [1]  30 217

571  -  [1]  34 194

333  -  [1] 41 44

333  -  [1] 41 44

333  -  [1] 41 44

333  -  [1] 41 44

141  -  [1]  49 153

414  -  [1]  50 116 120

143  -  [1]  51 269

431  -  [1] 17 52

378  -  [1]  58 293

123  -  [1]  19  62  99 164 180 219

236  -  [1]  63 111

361  -  [1]  64 112

222  -  [1]  70 236

851  -  [1]  74 255

681  -  [1]  78 176

812  -  [1]  79  98 179 263

120  -  [1]  80 264

203  -  [1]  81 300

031  -  [1] 82 91

310  -  [1]  83 166 221

108  -  [1]  84 159 222

083  -  [1]  85 223

031  -  [1] 82 91

316  -  [1]  92 147

612  -  [1]  94 126

121  -  [1]  95 131

181  -  [1]  97 178 262

812  -  [1]  79  98 179 263

123  -  [1]  19  62  99 164 180 219

194  -  [1] 103 114

941  -  [1] 104 115 143

023  -  [1] 110 183

236  -  [1]  63 111

361  -  [1]  64 112

194  -  [1] 103 114

941  -  [1] 104 115 143

414  -  [1]  50 116 120

741  -  [1]   9 119

414  -  [1]  50 116 120

612  -  [1]  94 126

121  -  [1]  95 131

134  -  [1]  15 133

601  -  [1]  13 139

594  -  [1] 142 241

941  -  [1] 104 115 143

316  -  [1]  92 147

914  -  [1] 152 199

141  -  [1]  49 153

711  -  [1] 156 195 260

111  -  [1] 157 196

108  -  [1]  84 159 222

212  -  [1] 163 218

123  -  [1]  19  62  99 164 180 219

231  -  [1] 165 220

310  -  [1]  83 166 221

062  -  [1] 169 272

620  -  [1] 170 273

968  -  [1] 175 189

681  -  [1]  78 176

181  -  [1]  97 178 262

812  -  [1]  79  98 179 263

123  -  [1]  19  62  99 164 180 219

230  -  [1] 181 303

023  -  [1] 110 183

237  -  [1] 184 292

968  -  [1] 175 189

215  -  [1] 192 284

571  -  [1]  34 194

711  -  [1] 156 195 260

111  -  [1] 157 196

914  -  [1] 152 199

426  -  [1] 201 288

574  -  [1]  27 204

221  -  [1]  30 217

212  -  [1] 163 218

123  -  [1]  19  62  99 164 180 219

231  -  [1] 165 220

310  -  [1]  83 166 221

108  -  [1]  84 159 222

083  -  [1]  85 223

071  -  [1] 228 259

158  -  [1] 230 285

222  -  [1]  70 236

594  -  [1] 142 241

422  -  [1]  29 249

225  -  [1]  23 250

851  -  [1]  74 255

071  -  [1] 228 259

711  -  [1] 156 195 260

181  -  [1]  97 178 262

812  -  [1]  79  98 179 263

120  -  [1]  80 264

143  -  [1]  51 269

062  -  [1] 169 272

620  -  [1] 170 273

215  -  [1] 192 284

158  -  [1] 230 285

426  -  [1] 201 288

237  -  [1] 184 292

378  -  [1]  58 293

203  -  [1]  81 300

230  -  [1] 181 303
Primfaktorzerlegung für die Kombinationen:
man Erkennt eine Häufung der Kombinationen 123, 812, 711, 181, 108, 310, 941, 414
123: (1*43); (1*37); (5*13); (2*13); (3*13)
812: (1*19); (3*3*3*3);(2*2*3*7)
711:(3*13); (5*13)
181: (3*3*3*3); (2*2*3*7)
108: (3*5*5);(7*3*3)
310: (1*83); (5*11)
941: (1*11); (2*2*7)
414: (3*2*11); (2*2)

Aufgrund der Häufigkeit würde ich vermuten, dass der Schlüssel entweder ein Vielfaches von 3( ist 8 mal Teil der Primfaktorzerlegung) ist, 13 (ist viermal Teil der Primfaktorzerlegung, zweimal in Kombination mit 3), ode ein Vielfaches von 11 (dreimal Teil der Primfaktorzerlegung, einmal in Kombination mit 3).
sd.jpg
Das Vigenere-Quadrat ... Wobei ich glaube, dass statt Buchstaben-Chiffren Zahlen verwendet wurden ...
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: Kasiski-Test mithilfe von R

Beitrag von consuli »

Kev1807 hat geschrieben: Fr Jun 08, 2018 1:58 pm
261 697 2074 1560 1343 1238 2259 574 221 457 1042
933 333 348 1414 317 793 789 1236 1365 2229
851 1688 1203 1083 2010 316 1218 1239 1941
1490 2361 941 474 1464 761 297 121 340
1660 1594 133 1636 914 1711 1089 2123
1006 2094 968 181 2302 3728 968
2157 1119 1426 574 796 335 65 362
2123 1083 1907 1588 672 2266 594 446
254 2257 685 1507 1181 2056 1430 620
639 455 232 1584 269 2378 1012
2032 30
sd.jpg
Das Vigenere-Quadrat ...
Ist Dir mal aufgefallen, dass die Zahlen weder zwischen 1 und 26 liegen, noch die Spannweite der Zahlen 26 ist?

Vermutlich ist das gar keine Vigenere Verschlüsselung. :!:

Consuli
Irmgard.
Kev1807
Beiträge: 15
Registriert: Mo Mai 21, 2018 1:47 pm

Re: Kasiski-Test mithilfe von R

Beitrag von Kev1807 »

Ich vermute stark dass es Vigenere ist ...
Ist von der Optik her die einzige die - meiner Amateur-Meinung nach- Sinn ergibt :-D

Ich hatte noch die Idee einer Substitution - also die Zahlen-Kombinationen entsprechen Seiten/Zeile/Wort aus einem bestimmten Buch. :-D
Das ist die idee, die ich alleine durchgehe - die Bücher die es sein können, sind alle die in der eigentlichen Quelle erwähnt werden - Die hab ich alle als PDF ...
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: Kasiski-Test mithilfe von R

Beitrag von consuli »

Grob überschlagen 80 Zeichen wären auch eine sehr kurze Nachricht an den Protege ...

Consuli
Irmgard.
Kev1807
Beiträge: 15
Registriert: Mo Mai 21, 2018 1:47 pm

Re: Kasiski-Test mithilfe von R

Beitrag von Kev1807 »

Tu das nicht! :-D
ich hab seit 2 Wochen versucht irgendwelche Ideen für Vigenere zu erhalten ... Quasi meine zweite Hoffnung, nachdem Substitution aus einem anderen Buch nicht funktioniert hat ... :-/
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: Kasiski-Test mithilfe von R

Beitrag von consuli »

Ich würde "Deine" Chiffre mal in einem Kryptographie-Forum vorstellen, und zwar mit der Frage, um welche Art von Chiffre es sich handeln könnte.

Ich will Dir nicht zu nahe treten, aber so wie hier scheint das keinen Sinn zu machen ... :(

Consuli
Irmgard.
Antworten