Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Bruteforce Dauer verkleinern (https://www.delphipraxis.net/191713-bruteforce-dauer-verkleinern.html)

JasonDX 14. Feb 2017 09:15

AW: Bruteforce Dauer verkleinern
 
Das Zeitaufwändige ist meist nicht das generieren der Permutationen, sondern die eigentliche Prüfung (im Zusammenhang mit der Anzahl der Prüfungen). Die wird unabhängig deiner verwendeten Sprache den Flaschenhals darstellen.
Die "Performance" der Sprache ist hier nur bedingt relevant. Die Sprache würde ich primär daran orientieren, wie wohl du dich damit fühlst, und wie schwierig die Prüfung (bspw. des Passworts) in der Sprache ist.

Sherlock 14. Feb 2017 10:34

AW: Bruteforce Dauer verkleinern
 
Semi OT: XKCD zum Thema Passwortsicherheit:
https://xkcd.com/936/

Das führt dann soweit, daß es sogar ein Python Package gibt, daß darauf basiert. :D

Sherlock

p80286 14. Feb 2017 12:58

AW: Bruteforce Dauer verkleinern
 
Zitat:

Zitat von derseitzer (Beitrag 1361496)
Wäre C-Code dann schon von Anfang an besser, weil man mir auch immer gesagt hat, dass die Sprache C (C++..) darauf beruht, viel Rechenleistung und mehr Performance zu haben..

Guter Einwand, Du suchst ein effizentes Automobil? Da geht kein Weg an einem (gebrauchten) F1-Fahrzeug vorbei. Soviel Leistung aus so wenig Motor, bekommst Du sonst nirgendwo.
Daß solche Fahrzeuge nicht von jedem Führerscheininhaber gefahren werden können, steht auf einem anderen Blatt.

Gruß
K-H

Zacherl 14. Feb 2017 13:16

AW: Bruteforce Dauer verkleinern
 
Zitat:

Zitat von Pixel (Beitrag 1361456)
Kommt auf den Compiler an un da lässt sich nur sagen dass der von Delphi ziemlich optimierten Code generiert

Das soll hoffentlich ein Witz sein :mrgreen: Der Delphi-Compiler optimiert so ziemlich gar nichts.

Zitat:

Zitat von JasonDX (Beitrag 1361499)
Das Zeitaufwändige ist meist nicht das generieren der Permutationen, sondern die eigentliche Prüfung (im Zusammenhang mit der Anzahl der Prüfungen). Die wird unabhängig deiner verwendeten Sprache den Flaschenhals darstellen.
Die "Performance" der Sprache ist hier nur bedingt relevant.

Heutzutage ist das häufigste Szenario doch eigentlich, dass man einen Password-Hash gegeben hat, den man in Plaintext zurück-"rechnen" will. Hast du einen Hash lokal vorliegen und möchtest Diesen mit generierten Permutationen vergleichen, dann kann dieser Prozess hochgradig parallelisiert und optimiert werden (siehe z.b. das Tool Hashcat, welches - je nach Algorithmus und Hardware - mehrere Millionen Hashes pro Sekunde auf der Grafikkarte berechnen kann). Da kann jedes Quäntchen Performance am Ende einen großen Unterschied machen. Die Prüfung auf Gleichheit ist da denke ich eher zu vernachlässigen (selbiges gillt natürlich auch für einen direkten Vergleich von Plaintext). Du beziehst dich eher auf Situationen, bei denen der Abgleich übers Netzwerk erfolgt, nehme ich an?

Zitat:

Zitat von derseitzer (Beitrag 1361496)
Wäre C-Code dann schon von Anfang an besser, weil man mir auch immer gesagt hat, dass die Sprache C (C++..) darauf beruht, viel Rechenleistung und mehr Performance zu haben..

Meiner Erfahrung nach sind die C/C++ Compiler tatsächlich sehr überlegen, was Optimierung und Performance angeht, allerdings ist das immer stark Situationsabhängig und grade C++ ist eine schwer zu meisternde Sprache, bei der man als Anfänger unter Garantie erstmal einiges "verschlimmbessern" würde.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:37 Uhr.
Seite 2 von 2     12   

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