Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Verschlüsselungs-Idee / Crackme (https://www.delphipraxis.net/149748-verschluesselungs-idee-crackme.html)

chaosben 29. Mär 2010 10:02


Verschlüsselungs-Idee / Crackme
 
Letztens durchfuhr mich die Idee einer Verschlüsselung, die nutzerfreundlich und schwer(?) knackbar ist. Die Idee dahinter basiert auf polyadischen Zahlensystem (z.B. Oktal-/Hexadezimalsystem). Diese benötigen ja einen "Veranschaulichung" in dem System, in dem man arbeitet.
Nehmen wir mal das Hexa-System. Die "Veranschaulichung" / der Schlüssel zu diesem System besteht ja bekanntlich aus den Zeichen und der Reihenfolge
Code:
0123456789ABCDEF
Meine Idee ist die folgende:

Was wäre wenn der Schlüssel aus den gleichen Zeichen in anderer Reihenfolge bestehen würde?
Code:
70B12D8E345A69CF
Schon müsste man (im schlimmsten Fall) 20922789888000 (16!) Möglichkeiten durchprobieren bis man die richtige Reihenfolge gefunden hat.

Was wäre wenn der Schlüssel länger und aus nicht aufeinanderfolgenden Zeichen bestünde?
Code:
94age3jdc2nm30qpyxt67
In diesem Fall gäbe es 51090942171709440000 Möglichkeiten.

Was wäre wenn der Schlüssel ein nutzerdefinierter Text ist?
Code:
Das itmenMrkz
generiert aus
Code:
Das ist mein Merksatz
Dadurch würden sehr schön lange Schlüssel entstehen, die sich ein normaler Mensch trotzdem noch merken kann.

Der ganze obige Text verschlüsselt könnte z.B. so aussehen: (Wer den Schlüssel herausbekommt, darf bei der nächsten Scrabble-WM mitmachen)
Code:
hua-DrXDhXrlipXDDhPüpeXDIopFRPXDRmXPü ADesDu-mlDmüfh-mlDAR-AsfRDDmf-sFADf-giI PDf-sD oRDDgehAhXDpl mAPXDüosürulDmüfh-mlD-gf-DrXDimXgDeXDimaaauRDmArFüpADRoaaauRDRoüFüpADghSPi pDslmloAADahSA-XADlSArRmlDesDpfehDDhspFfRDDSDhsfRDfüomh RDDPIFPiXDfaSeraRDehShFfRDlXüIsSRDfmlD-mADgeoeA RDm-ID oRDRhSgPmlDrpmüASADfüASfsXDpXaüIaADDme-üehDXiPioü-DIhDaRSAD huaAfRDFPIhsfRDXXrF- RDShhPPpXDhXXf-spDameluiAD Ali-mlDrüiSisfDmhmrsfRD-she- RDDmf-sFAD opofglDaIAFP RDamüFüpADem-ep-ADuamsoFADPmXgIiADüA-psfRDfA-pssXDpXaüIaADShsisFADDhPüIaADDhpo FADRoüiXsRDf-IRrfRDSgoospeDluoegpAD hSgPmlDPl rRmlD mü PmlDm-pgRmlDDpmmR RD m -PpXDSg ouehDDhspFfRDF-üRSfRDXsFlipXDpmXFPPXDmArFüpAD gooIDpDFüSpgrRDfüe pPPDIAaSmpüDumüRASADDmeAAmlDhhhRppXD ogSpPPDArsRrfRD mroafRDumXlgpADSshe- RDReDu-XADeS FPiXDmArFüpADFümI-pXDF-üIaFADF-ase-ADphDSaFADRoaaauRDRoXrDeXDRoXse-ADDg ougRDsSfrsfRDDmfsFrADSogFfihDerXsg hDilDoXühDAr-pofiDhRX PDRDsSDuauRDimarspeDlIRse-ADüe meX-Dhhmh-mlDoeihAmlDmüfh-mlDüüfffeAD eohsfRDl S-hfDDffF-l RDIPPDAemDrhSggXXDihFgPmlDm-IrRmlDuDfüASADhiüprfRDSmlsPPXDpX-psfRDaSfFASAD ArFüpADfüASffPD ArFüpADfamDSiADüeos FADmüfüofRDlXü IfRDAhDSaFADüüfffeADimroafRDumXlgpADihFggXXDSluhsfRDslRiRoRDsSimrhRDghsfrPhDrShPme-DIspXAoiDaPrDeh-DpAlsFrADmüfahmlDuRrsorADahDFmpüDprsRrfRDDhpo FADFapFSaADRoüFüpADmoPS aADuSiSaFADFap RSADSmüoaAhDFm PrAhDgSSlIühDFsurSihDFmer PhDühpPrulDf mmASADegiAPXADf-IRrfRDahRiRPXDrSAimmADlXree-ADfahSaFADReDphpXDDhpo FADRAihFfRDRAieIoRDRmrPfeAD Aü IfRDAhDSaFADüüfffeAD oIosfRD-maaauRDiSiIApADoüA rpeDriXAAsPDAArggXXDhhli-mlDgma-FFADRoXrDeXDDSRFüpADmA-i-pXD eoouIADmaürsfRDXsSaoFADhmlsPPXDIshAp-ADphDhAmlDAoPasfRDoopo FADSe SmgRDsSfrsfRDüAüIaFADF-ase-ADphDSaFADFüDRppXDmmloauRDihheDDRDpSohsfRDiosAuSRDPSARrPADm-pXhFADfosFIüADFhhFAiXDüSDorphDpSohsfRDiAüfRFADRAihFfRDpXrrPmlDü-uoXSADimXmiemDlhhrefRDploPFPhDDlSfIDiDmSmü-mhDohIfIDiDmmorSihDFmelSr-DümDep-ADpmr FfRDASiSaFADüemRIpeDrfmSlpXDFümmelXDihRfrfRDüeohgrRDfüe pPPDIAaSmpüDumüRASADDmf-sFADDmoeAiXDlf-AsuRD Aü-sFADesRIRiXD eol-APDf-PhAmlDASorF iDDmfsFrADmü eeD-DemüDSiADhXlSaFADf hSüoXDpAlsFrADmüfahmlDPmüpofRDll rDeXDmmlsPPXDuhRiRoRDsSimrhRDSipgRmlDoeihAmlDigf-sFADDSDrDeXDpsDpiiXDlim gFRDsSimrhRDDmeDSuRDiXüFüpADFasa-lXDhhSgPmlDIsFReeXDRoüFüpADührouIADAAürsfRDDSRFüpADmA-i-pXDf-PrefRDüeAFRiXDihDSaFADmorAe-ADiSfRh-ADpSirefRDAhDfDFADgAüF- RDhPIrRmlD RrlipXDphF-FhXDXPu-DrXDSArrPmlDüefFüpADRoarDeXDIhSgPmlDue -FFADüe
Dies Beispiel zeigt einen Nachteil dieser Art der Verschlüsselung: Solange der Schlüssel weniger als 256 Zeichen enthält, vergrößert sich dadurch das Datenvolumen. (Was aber bei der heutigen Technik nicht das Problem sein sollte)

So, jetzt die Frage: ist das System wirklich (ich bilde es mir jedenfalls ein) nur durch bruteforcen zu knacken?

Phoenix 29. Mär 2010 10:16

Re: Verschlüsselungs-Idee / Crackme
 
Das ist im Prinzip nur eine stinknormale Substitution von unterschiedlichen Zeichen (der Schlüssel bildet nur eine art Lookup-Table von einer Darstellung in die Andere) und somit genauso einfach durch die Analyse der statistischen Verteilung der Buchstaben zu lösen. Sorry, aber das kryptographisch genauso anspruchslos wie Cäsar oder ROTx.

Die einzige Lösung das sicher zu machen ist ein One-Time-Pad. Aber dann ist XOR weniger aufwändig und genauso sicher ;-)

QuickAndDirty 29. Mär 2010 10:20

Re: Verschlüsselungs-Idee / Crackme
 
Schwachstellen sind hier: Häufigkeit der verschiedenen Buchstaben in verschiedenen Sprachen.
In Deutsch ist z.B. das E der häufigste Buchstabe.
So hätte man schon mal über eine einfache Statistik einen Teil des Schlüssels geknackt.
Dann gibts da noch KURZE WÖRTER (3 Buchstaben) davon gibt es nicht soo viele und auf die
kann man sich beim Knacken konzentrieren....


Also die Verschlüsselung ist Mist.

chaosben 29. Mär 2010 10:22

Re: Verschlüsselungs-Idee / Crackme
 
Danke schon mal fürs drüber Nachdenken.
Zitat:

Zitat von Phoenix
einfach durch die Analyse der statistischen Verteilung der Buchstaben zu lösen

Kannst du mir das mal vorführen?

Zitat:

Zitat von QuickAndDirty
In Deutsch ist z.B. das E der häufigste Buchstabe.

Woher kennst du die Sprache des Ausgangstextes?
Zitat:

Zitat von QuickAndDirty
So hätte man schon mal über eine einfache Statistik einen Teil des Schlüssels geknackt.

Sobald du es vorgeführt hast, glaube ich es.

ChrisE 29. Mär 2010 10:24

Re: Verschlüsselungs-Idee / Crackme
 
Zitat:

Zitat von chaosben
So, jetzt die Frage: ist das System wirklich (ich bilde es mir jedenfalls ein) nur durch bruteforcen zu knacken?

Ich denke nicht. Einer der weiteren Ansätze zum knacken ist meist, dass man irgendwie an bekannte teile der Nachricht heran kommt. Nun kann man vorausgesetzt man kennt die Methode zur Verechnung den Schlüssel zurück rechen.

Ein Beispiel hierfür ist ja die XOR-Verknüpfung. Kenne ich die verschlüsselte Nachricht und die PlainText-Nachricht kann ich per XOR beider den Schlüssel errechnen. Meiner Erinnerung nach gilt ein Verschlüsselungsverfahren dann als sicher, wenn man den Algorithmus offen legen kann und trotzdem der Schlüssel nicht errechnet werden kann. Das führt ja in vielen fällen zu dem letztendlichen Problem wie die Schlüssel ausgetauscht werden sollen. Aber ich denke das geht jetzt zu sehr an Deinem Thema vorbei.

Interessant wäre es, ob Dein Algorithmus zur Verschlüsselung offen gelegt werden kann und du eine PlainText-Nachricht und das entsprechende verschlüsselte Ergebnis posten kannst, ohne das Gefühl zu bekommen, dass es dadurch knackbar wird. Dann wärst du einen ganzen Schritt weiter.

Greez, Chris

chaosben 29. Mär 2010 10:31

Re: Verschlüsselungs-Idee / Crackme
 
Zitat:

Zitat von ChrisE
Einer der weiteren Ansätze zum knacken ist meist, dass man irgendwie an bekannte teile der Nachricht heran kommt.

Gut ... das ist ein Argument ... im produktiven Einsatz wäre das "Vernichten" des Originals ein Kriterium.

Zitat:

Zitat von ChrisE
Interessant wäre es, ob Dein Algorithmus zur Verschlüsselung offen gelegt werden kann und du eine PlainText-Nachricht und das entsprechende verschlüsselte Ergebnis posten kannst, ohne das Gefühl zu bekommen, dass es dadurch knackbar wird.

Naja ... zum einen gilt, das gerade gesagte. Zum anderen habe ich genau das im ersten Post gemacht. Die Source-Unit gibts hier.

ChrisE 29. Mär 2010 10:42

Re: Verschlüsselungs-Idee / Crackme
 
Sehe ich es richtig, dass du dich im Bereich der symetrischen Verschlüsselung befindest?

Also der Schlüssel selber muss irgendwie auf sicheren Wegen bekannt gemacht werden?

Greez, Chris

chaosben 29. Mär 2010 10:48

Re: Verschlüsselungs-Idee / Crackme
 
Zitat:

Zitat von ChrisE
Sehe ich es richtig, dass du dich im Bereich der symetrischen Verschlüsselung befindest?

Ja, das stimmt.
Das ist zwar sehr altbacken, aber bei der Idee stand die Usability im Vordergrund. (Bsp.: Ein Mensch gibt einem Anderen eine Datei und sagt den Schlüssel dazu. Deshalb sollte der Schlüssel nutzerfreundlich aufgebaut sein)

Und noch was: Ich bin hier nicht auf der Suche nach dem heiligen Gral. (Ich heiße ja auch nicht Indiana Jones :) ) Die User/Programme, die diese Verschlüsselung nutzen, sollten schon wissen wie man mit sensiblen Daten umgeht. Das sicherzustellen ist ja auch nicht Aufgabe der Verschlüsselung.

himitsu 29. Mär 2010 11:00

Re: Verschlüsselungs-Idee / Crackme
 
Zitat:

Zitat von chaosben
Das ist zwar sehr altbacken, aber bei der Idee stand die Usability im Vordergrund. (Bsp.: Ein Mensch gibt einem Anderen eine Datei und sagt den Schlüssel dazu. Deshalb sollte der Schlüssel nutzerfreundlich aufgebaut sein)

Dann könnte man aber auch aus deinem Schlüsseltext dein Key für ein bekanntes/gutes Verschlüsselungsverfahren berechnen und dieses zur Verschlüsselung nutzen. :gruebel:


Zitat:

Zitat von chaosben
Und noch was: Ich bin hier nicht auf der Suche nach dem heiligen Gral.

Aber ich fühle mich auch gerade etwas wie beim CryptoChef mit seiner Vollbitverschlüsselung.

PS: "Das itmenMrkz" =
"Das ist mein Merksatz"
"DDaass iisstt mmeeiinn MMeerrkkssaattzz"
"Das ist mein Merksatz Disaster"
...

hier gehen wertvolle Informationen verloren


[add]
Aber ein Vorschlag: nutze die Doppelten Buchstaben doch für Vertauschopterationen im aktuellen, bis dahin "berechneten" Schlüssel.

Luckie 29. Mär 2010 11:20

Re: Verschlüsselungs-Idee / Crackme
 
Zitat:

Zitat von chaosben
Danke schon mal fürs drüber Nachdenken.
Zitat:

Zitat von Phoenix
einfach durch die Analyse der statistischen Verteilung der Buchstaben zu lösen

Kannst du mir das mal vorführen?

Einfach nur Buchstaben zählen und ersetzen. Wenn es ein deutscher Text ist und der häufigste Buchstabe bei dir ist ein X, dann kann man davon ausgehen, dass es im Original ein E ist. Wenn man dann noch etwas über die Struktur der Sprache weiß und etwas logisch nachdenkt, hat man den Text sehr schnell entschlüsselt.

Zitat:

Zitat:

Zitat von QuickAndDirty
In Deutsch ist z.B. das E der häufigste Buchstabe.

Woher kennst du die Sprache des Ausgangstextes?
Man muss immer irgendeine Annahme treffen. Da du wharscheinlich deutscher bist, ist die Wahrscheinlichkeit recht hoch, dass auch der Text deutsch ist.

Zitat:

Zitat:

Zitat von QuickAndDirty
So hätte man schon mal über eine einfache Statistik einen Teil des Schlüssels geknackt.

Sobald du es vorgeführt hast, glaube ich es.
Durch Erklärung des Prinzips (siehe oben) bist du nicht zu überzeugen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz