Mastodon Mastodon

Sie kennt wohl fast jeder, der in der Schule ein wenig aufgepasst hat:

$$(a+b)^2 = a^2+2ab+b^2 \tag{1.}$$

$$(a-b)^2 = a^2-2ab+b^2 \tag{2.}$$

$$(a+b)(a-b) = a^2-b^2 \tag{3.}$$

Mithilfe des Distributivgesetzes lassen sie sich auch recht einfach herleiten. Genauer durch zweifaches Ausmultiplizieren:

$$\begin{align}
\ & (a+b)^2                     && \big| \text{ Quadrat auflösen}        \\
= \  & (a+b)(a+b)            && \big| \text{ 1. ausmultiplizieren}   \\
= \ & a(a+b)+b(a+b)      && \big| \text{ 2. ausmultiplizieren}     \\
= \ & a^2+ab+ab+b^2   && \big| \ ab \text{ zusammenfassen}    \\
= \ & a^2+2ab+b^2  \\
\end{align}$$

Aber wo sind die binomischen Gleichungen in der Praxis nützlich? Wenn es um Zahlenwerte geht, natürlich genau dann, wenn mal kein Taschenrechner zur Hand ist. Und auch dann nur, wenn man exakte Zahlenwerte benötigt.

Eine grafische Herleitung der ersten binomischen Gleichung beruht übrigens, genau wie die sogenannte Mitternachtsformel, auf der quadratischen Ergänzung.

Möchte man etwa das Quadrat von 54 ausrechnen, so kann man leicht abschätzen, dass es gut 2500 sein muss, weil man die 50 zum Quadrat leicht im Kopf ausrechnen kann. Will man es aber genau ausrechnen, kann man diese grobe Schätzung mit der ersten binomischen Formel ergänzen. Wir teilen die 54 auf in die geschätzten 50 und die verbleibenden 4 und erhalten so auf einem Stück Papier oder sogar im Kopf das exakte Ergebnis.

$$ 54^2 = (50+4)^2 = 2500+2*4*50+16 = 2916 $$

$$ \begin{align}
&&2500&  \\
&&+400& \\
&&+16& \\
&&\overline{2916}& \\
\end{align} $$

Genauso geht das auch mit der zweiten binomischen Gleichung mit einer Zahl, die etwas kleiner ist als eine bequeme runde Zahl:

$$ 37^2 = (40-3)^2 = 1600-2*3*40+9 = 1369 $$

Meist ist aber im Kopf addieren leichter, auch wenn die Zahlen dann größer sind.

Die dritte binomische Formel ist nützlich beim Multiplizieren von ähnlich großen Zahlen, besonders wenn der Abstand gerade ist, sodass sie eine ganzzahlige Mitte haben.

$$38*42 = (40-2)(40+2) = 1600-4 = 1596$$

Anwendung in der Kryptografie

Dieser letzte Zusammenhang ist übrigens auch der Grund, warum in der Kryptografie, die auf der schwierigen Faktorisierbarkeit von multiplizierten Primzahlen beruht, diese Primzahlen nicht zu nah beieinander sein dürfen. Denn mit diesem Rechentrick ist die Faktorisierbarkeit dann eben ganz einfach: Man bildet die Wurzel aus dem bekannten Produkt und probiert mit dem ganzzahlig gerundeten Ergebnis a verschiedene kleine b aus. Wenn dann das Ergebnis mit der dritten binomischen Formel exakt unser bekanntes Produkt ergibt, dann ist die Verschlüsselung geknackt.

Nehmen wir ein triviales Beispiel. Wir betrachten den Public Key 437, den wir knacken wollen. Die gerundete Wurzel daraus ist 21. Mit b=1 erhalten wir gerade Zahlen, die abgesehen von 2 nicht prim sein können. Die 1 und alle ungeraden b können wir also überspringen. Mit b=2 erhalten wir $(21+2)(21-2)=441-4=437$. Wir wissen also, dass der Private Key aus 21+2=23 und 21−2=19 besteht.

Bei so kleinen Zahlen hätte man das auch direkt ausrechnen können. Das ändert sich, wenn ein böser Hacker echte Keys mit riesigen Zahlen und viele davon hacken will. Dann ist es ein großer Vorteil, dass man mit einer Tabelle aus Quadratzahlen sich die Arbeit erleichtern kann, dank der dritten binomischen Gleichung. Das ist als Fermat-Faktorisierung bekannt. Also: Um Kryptografie sicher zu machen, muss man auch etwas von Mathematik verstehen.

Diese Methode, sich den Rechenaufwand mit Hilfstabellen, hier den Quadraten, zu erleichtern, ähnelt den sogenannten Rainbow Tables.

Teilen