AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bruteforce eines Schlüssels?

Ein Thema von Lyan · begonnen am 14. Dez 2014 · letzter Beitrag vom 15. Dez 2014
Antwort Antwort
Seite 1 von 2  1 2      
Lyan

Registriert seit: 5. Aug 2011
188 Beiträge
 
#1

Bruteforce eines Schlüssels?

  Alt 14. Dez 2014, 01:19
Delphi-Version: XE7
Hallo,

ich sage schon mal im Voraus: ich habe keine Ahnung wie das geht und ich möchte auch keine Komplettlösung oder Codebeispiele.

Ich möchte im groben eine Verschlüsselungs- und Entschlüsselungsroutine haben, wobei die Entschlüsselungsroutine den Key, mit der die Verschlüsselungsroutine einen String vorher verschlüsselt hat, nicht kennt.

Dementsprechend soll beim Aufruf der Entschlüsselungsroutine zuerst der Key ->bruteforced<- werden, der zur Entschlüsselung gebraucht wird. Das Bruteforcen sollte nicht länger als 5 Minuten dauern, jedoch nicht kürzer als 30 Sekunden. Klar ist dass es von Rechner zu Rechner stark unterschiedliche Bruteforcezeiten geben wird und man den Wunsch mit 30 Sekunden und 5 Minuten natürlich nicht genau einhalten kann. Man kann zumindest bei der Vorstellung an durchschnittsrechner denken anstatt an das Rechenzentrum von google :X

Was brauche ich?

Mathematische Themen mit denen ich mich befassen muss. Bsp.: Ich habe vor kurzem zum Spaß mit primitivwurzeln gearbeitet und das hat mir schon ganz gut gefallen, jedoch meinen Vorstellungen nach nicht gut genug.

Ich hoffe ihr versteht was ich suche (was ich genau machen möchte ist ja nicht relevant )


EDIT://

Habe was gefunden: https://github.com/Veil-Framework/Ve...executable.asm

Meine ASM Kenntnisse reichen aber leider nicht aus Ich denke aber dort geschieht genau das was ich brauche, da er auf der Frontpage folgendes sagt:

Zitat:
The key space size can be changed in the crypter source code to speed up the brute force key search algorithm.
EDIT:// tested. Funktioniert genau wie ich es möchte. Jetzt müsste ich nurnoch ASM lernen um zu verstehen was er da genau tut ;D
EDIT:// Hab den ASM code doch nachvollziehen können, ist mir aber definitiv viel zu simple wie er es macht :/ XOR wollte ich nicht als main Verschlüsselung benutzen, er tut es und dann noch in einer Schleife :X

Danke im voraus.

Lg, Lyan

Geändert von Lyan (14. Dez 2014 um 03:16 Uhr)
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#2

AW: Bruteforce eines Schlüssels?

  Alt 14. Dez 2014, 02:17
Also das mit den 30 Sekunden und 5 Minuten kannst du vergessen wenn du keinen NASA-PC hast.

Keys sind generell immer sehr lang. Bei einer Länge von 16, a-z, A-Z, äöüÄÖÜß und 0-9 wären das 2,63989996910095*10^29 verschiedene Möglichkeiten.
Selbst bei einer Länge von 8 und nur a-z und äöüß wären es 656100000000 Möglichkeiten.
Vergiss es

Geändert von dGeek (14. Dez 2014 um 02:23 Uhr)
  Mit Zitat antworten Zitat
Lyan

Registriert seit: 5. Aug 2011
188 Beiträge
 
#3

AW: Bruteforce eines Schlüssels?

  Alt 14. Dez 2014, 02:32
Ich verstehe deinen Ansatz, der ist aber leider nicht ganz da wo ich hin möchte

In deinem Beispiel:
Entweder ich hab direkt einen treffer, oder es dauert ein wenig, oder ich bin 2020 noch nicht fertig.

Ich suche, nochmals für die anderen die das lesen gesagt, ein VERFAHREN(mathematisch) mit dem sich ein Schlüssel bruteforcen lässt. Ich kann mir gut vorstellen, dass ich z.b. anfangs einen "public key" habe und damit den "private key" bruteforcen muss.

Vor langer Zeit habe ich einen Artikel gelesen. Ich glaube paar Leute aus dem MIT hatten "dieses" mathematische Verfahren angewandt und genau das gemacht was ich grade vorhabe. Ärgere mich darüber den Artikel nicht mehr zu haben ;(

Geändert von Lyan (14. Dez 2014 um 02:44 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: Bruteforce eines Schlüssels?

  Alt 14. Dez 2014, 10:28
Bruteforce eines Wertes mit 32 Bit länge.

Delphi-Quellcode:
var Schlüssel, i: Integer

Schlüssel := Random($FFFFFFFF);

//

for i := 0 to $FFFFFFFF-1 do
  if i = Schlüssel then
    ShowMessage('Der Schlüssel ist ' + IntToStr(i));
Für "Schlüssel" kann man auch gern eine Ver-/Entschlüsselungsfunktion einsetzen.



Das mit der Zeit kannst du vergessen, denn es gibt sehr schnelle und auch sehr langsame PCs ... da kann man nichts an tempo vorhersagen.
Du kannst nur einer Entschlüsselungsfunktion bauen, welche eine bestimmte Menge an komplexeren Rechenoperationen benötigt, um etwas zu entschlüsseln.
$2B or not $2B

Geändert von himitsu (14. Dez 2014 um 10:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#5

AW: Bruteforce eines Schlüssels?

  Alt 14. Dez 2014, 10:40
Ich suche, nochmals für die anderen die das lesen gesagt, ein VERFAHREN(mathematisch) mit dem sich ein Schlüssel bruteforcen lässt.
Kannst du mal beschreiben, was du mit dem Begriff "bruteforcen" meinst bzw. was du glaubst, was das heißt? Ich habe so den Eindruck, daß es hier noch Verständnisschwierigkeiten gibt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Bruteforce eines Schlüssels?

  Alt 14. Dez 2014, 10:50
Ich denk mal daß es nicht Brutefoce sein soll ... das Entschlpsseln soll einfach sinnlos etwas länger dauern.
Man lade sich das Programm Cryptload und versuche damit mal eine CryptloadContainerFile (CCF) zu laden ... soweit ich mich erinnere dauerte das auch schwachsinnig lange.

Im Prinzip ist das eher eine Methode um Bruteforce und Co. zu unterbinden auszubremsen oder um zu verhindern daß unendlich viele Dateien in kurzer Zeit entschlüsselt werden können.
$2B or not $2B

Geändert von himitsu (14. Dez 2014 um 10:53 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Bruteforce eines Schlüssels?

  Alt 14. Dez 2014, 10:56
Bruteforce eines Wertes mit 32 Bit länge.

Delphi-Quellcode:
var Schlüssel, i: Integer

Schlüssel := Random($FFFFFFFF);

//

for i := 0 to $FFFFFFFF-1 do
  if i = Schlüssel then
    ShowMessage('Der Schlüssel ist ' + IntToStr(i));
Für "Schlüssel" kann man auch gern eine Ver-/Entschlüsselungsfunktion einsetzen.



Das mit der Zeit kannst du vergessen, denn es gibt sehr schnelle und auch sehr langsame PCs ... da kann man nichts an tempo vorhersagen.
Du kannst nur einer Entschlüsselungsfunktion bauen, welche eine bestimmte Menge an komplexeren Rechenoperationen benötigt, um etwas zu entschlüsseln.
Ich befürchte er möchte etwas mehr "Rauch" haben. Nach dem Motto "Chemie ist's wenn's knallt und stinkt"

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

AW: Bruteforce eines Schlüssels?

  Alt 14. Dez 2014, 11:37
Schraub einfach mal den Kühlkörper von deiner CPU ab und führe den Code aus
$2B or not $2B

Geändert von himitsu (14. Dez 2014 um 12:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Bruteforce eines Schlüssels?

  Alt 14. Dez 2014, 11:48
Brute heat!

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#10

AW: Bruteforce eines Schlüssels?

  Alt 14. Dez 2014, 15:52
Also wenn ich eine Demoanwendung schreiben müsste dann würde ich es so machen:
Man wähle einen zufälligen String mit maximal 8 Ziffern.
Aus diesem String wird mit MD5 ein Hash erstellt.
Dabei hilft z.B. diese Webseite: http://www.hashgenerator.de/

Hier einige Beispiele:
Code:
23449ce8ea5e51c73d43784b13028a52 - 8 Ziffern (100000000 Möglichkeiten)
51f6f8fe03a390d3de50ad49913d4b66 - 6 Ziffern (1000000 Möglichkeiten)
131ab68be139f348e6aa22bab7e16627 - 5 Buchstaben A-Z (11881376 Möglichkeiten)
Jetzt soll ein Programm dem nur der Hashwert bekannt ist den ursprünglichen String (Passwort, Pin) per Bruteforce ermitteln.
fork me on Github

Geändert von sx2008 (14. Dez 2014 um 15:58 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:51 Uhr.
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