03.03.2013 Aufrufe

Effizientes Lösen linearer Gleichungssysteme über GF(2) - CDC ...

Effizientes Lösen linearer Gleichungssysteme über GF(2) - CDC ...

Effizientes Lösen linearer Gleichungssysteme über GF(2) - CDC ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Kapitel 1<br />

Einleitung<br />

Das <strong>Lösen</strong> von linearen <strong>Gleichungssysteme</strong>n <strong>über</strong> <strong>GF</strong>(2) ist Bestandteil<br />

vieler Methoden der Kryptoanalyse. Beispiele sind Attacken auf Stromverschlüsselungen<br />

wie der XL (eXtended Linearization) Algorithmus oder<br />

Matrix-basierte Gröbnerbasis Algorithmen wie F4 und F5. Das <strong>Lösen</strong> von linearen<br />

<strong>Gleichungssysteme</strong>n ist auch Teil der Kryptoanalyse asymmetrischer<br />

Kryptosysteme wie HFE und SFLASH. Die Effizienz dieser Algorithmen ist<br />

demnach davon abhängig, wie schnell diese Systeme gelöst werden können.<br />

Die Erfahrung zeigt, dass viele Probleme unter Verwendung von Parallelrechnern<br />

schneller gelöst werden können als mittels eines Rechners mit nur<br />

einer CPU. Ein Beispiel hierfür ist die Multiplikation zweier Matrizen. Diese<br />

Operation ist sehr gut parallelisierbar, da die Daten zeilenweise auf die<br />

verfügbaren Prozessoren verteilt werden können, welche dann ihre Teilkomponenten<br />

des Lösungsvektors ohne weitere Kommunikation berechnen.<br />

Der Trend bei CPUs geht schon seit einigen Jahren in Richtung der<br />

Multicore-Prozessoren, bei denen sich mehrere Hauptprozessoren auf einem<br />

Chip befinden. Diese ermöglichen vor allem eine vervielfachte Rechenleistung.<br />

Wie stark diese jedoch gesteigert werden kann hängt davon ab, ob und in welchem<br />

Maße sich das Programm parallelisieren und damit auf verschiedene<br />

Ausführungseinheiten verteilen lässt. Es bietet sich also an einen Algorithmus<br />

in mehrere voneinander unabhängig berechenbare Module zu unterteilen.<br />

Wird dieser Weg verfolgt, dann sollte auch eine Umsetzung mit Grafikkarten<br />

in Betracht gezogen werden, da diese bereits <strong>über</strong> eine parallele Architektur<br />

verfügen, weit verbreitet und vergleichsweise preiswert sind.<br />

1

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!