Brute-Force-Suche

Brute-Force-Suche

Die Brute-Force-Suche ist ein Lösungsverfahren, das einfach alle denkbaren Möglichkeiten der Reihe nach ausprobiert, bis eine passt. Sie ist immer korrekt, aber oft unbezahlbar langsam — und genau deshalb schützt sie auch Passwörter und Verschlüsselung.

Stell dir vor, du hast ein Zahlenschloss mit vier Ziffern und den Code vergessen. Du könntest 0000 einstellen, dann 0001, dann 0002 — und so weiter, bis das Schloss aufgeht. Nach spätestens 10.000 Versuchen bist du fertig. Genau dieses Vorgehen heißt in der Informatik Brute-Force-Suche, auf Deutsch etwa „Suche mit roher Gewalt“. Der Computer probiert alle möglichen Antworten der Reihe nach durch, ohne clever nachzudenken, und prüft bei jeder, ob sie die richtige ist. Das Verfahren ist damit das genaue Gegenteil eines eleganten Tricks: Es gewinnt nicht durch Klugheit, sondern durch schiere Ausdauer.

Der Maßstab, an dem sich jedes schlauere Verfahren messen lassen muss

Brute Force hat eine Eigenschaft, die kein anderes Verfahren so zuverlässig bietet: Sie findet garantiert die Lösung, wenn es eine gibt. Sie kann nichts übersehen, denn sie schaut sich ja jede Möglichkeit an. Deshalb dient sie in der Praxis oft als Referenz. Wenn jemand einen schnellen Algorithmus entwickelt, testet man ihn an kleinen Beispielen gegen die vollständige Suche. Weichen die Ergebnisse ab, steckt im schnellen Verfahren ein Fehler.

Der Preis dafür ist die Rechenzeit, und die wächst brutal schnell. Bei einem Passwort aus acht Zeichen mit Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen gibt es rund 6 Billiarden Kombinationen. Kommt nur ein einziges Zeichen dazu, wird die Zahl noch einmal etwa 95-mal größer. Fachleute nennen das exponentielles Wachstum. Es sorgt dafür, dass ein doppelt so schneller Computer bei solchen Problemen kaum hilft.

Genau dieses Wachstum ist aber auch der Grund, warum moderne Verschlüsselung funktioniert. Ein gängiger Schlüssel hat 256 Bit, das sind mehr Kombinationen als es Atome auf der Erde gibt. Alle Computer der Welt zusammen würden sie nicht in Milliarden Jahren durchprobieren. Sicherheit entsteht hier nicht dadurch, dass Brute Force unmöglich wäre, sondern dass sie unbezahlbar ist.

Alle Kombinationen durchgehen — und wo man abkürzt

Technisch braucht eine Brute-Force-Suche nur zwei Bausteine. Erstens einen Generator, der systematisch alle Kandidaten erzeugt, ohne einen zu vergessen oder doppelt zu liefern. Zweitens einen Test, der für einen Kandidaten sagt: passt oder passt nicht. Beim Schachprogramm wäre ein Kandidat eine Zugfolge, beim Passwort eine Zeichenkette. Der Rest ist eine Schleife, die den Test millionenfach ausführt.

In der Praxis baut man fast immer Abkürzungen ein. Beim sogenannten Backtracking bricht das Programm einen Zweig ab, sobald klar ist, dass er nicht mehr zum Ziel führen kann. Wer ein Sudoku löst, muss nach einer widersprüchlichen Zahl nicht alle Fortsetzungen prüfen. Solche Verfahren sind im Kern noch Brute Force, sparen aber riesige Teile des Suchraums. Man nennt das Beschneiden oder auf Englisch Pruning.

Ein zweiter Trick ist Parallelisierung. Da die Versuche voneinander unabhängig sind, kann man sie auf tausende Prozessorkerne verteilen. Grafikkarten eignen sich dafür besonders gut. Das verschiebt die Grenze des Machbaren, hebt sie aber nicht auf: Gegen exponentielles Wachstum kommt auch ein Rechenzentrum nicht an.

Vom geknackten Passwort bis zur Modellsuche in der KI

Am häufigsten liest man den Begriff in Meldungen über Sicherheitslücken. Angreifer probieren dort massenhaft Passwörter durch, oft mit gestohlenen Listen häufiger Kombinationen. Deshalb sperren Banken das Konto nach drei falschen PINs und Websites verlangen nach mehreren Fehlversuchen ein Captcha. Diese Bremsen greifen nicht das Verfahren an, sondern seine Geschwindigkeit.

Auch in der KI-Entwicklung taucht Brute Force auf, nur unter anderen Namen. Bei der Rastersuche probiert man systematisch alle Kombinationen von Einstellungen für ein Modell durch, etwa Lernrate und Größe der Trainingsschritte. Das ist teuer, weshalb heute meist zufällige oder gezielt gesteuerte Suchen bevorzugt werden. Ein verbreiteter Irrtum ist übrigens, moderne Sprachmodelle würden Antworten durch Ausprobieren finden. Sie berechnen ihre Antwort in einem Durchgang, statt Millionen Varianten zu testen.

Trotzdem bleibt das Verfahren nützlich, wenn der Suchraum klein ist. Für 20 mögliche Sitzordnungen lohnt sich kein ausgeklügelter Algorithmus. Da ist die vollständige Suche in fünf Zeilen geschrieben, sofort verständlich und garantiert richtig. Diese Abwägung zwischen Aufwand beim Programmieren und Aufwand beim Rechnen ist eine der häufigsten Entscheidungen in der Softwareentwicklung.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.