Der Simplex-Algorithmus

Das Simplex-Verfahren (auch Simplex-Algorithmus) ist ein Optimierungsverfahren zur Lösung linearer Optimierungsprobleme. Nach endlich vielen Schritten liefert es ein Produkt oder stellt dessen Unlösbarkeit fest. Die Grundidee des Simplex-Verfahrens wurde 1947 von George Dantzig vorgestellt. Seitdem hat es sich durch zahlreiche Verbesserungen zum wichtigsten Lösungsverfahren der linearen Optimierung in der Praxis entwickelt.

Die geometrische Grundidee des Algorithmus besteht darin, von einer beliebigen Ecke des Polyeders, das durch das lineare Programm definiert wird, entlang seiner Kanten zu einer optimalen Ecke zu laufen. Ein Namensvetter dieses Verfahrens namens Downhill-Simplex-Verfahren (Nelder und Mead 1965) basiert ebenfalls auf einem Simplex, ist aber ein iteratives Verfahren zur nichtlinearen Optimierung.
Lesen Sie weitere Der Simplex-Algorithmus

Advanced Encryption Standard

Der AES-Algorithmus ist ein symmetrisches Kryptosystem und wird heutzutage in vielen Anwendungsgebieten eingesetzt. Im Rahmen dieser Ausarbeitung sollen der geschichtliche Hintergrund, die Eigenschaften und die Arbeitsweise dieses Algorithmus vorgestellt werden.

Einleitung

Bis zum Oktober 2000 war der DES-Algorithmus ein populärer Algorithmus für die Verschlüsselung von Daten. Aufgrund einiger Schwächen wurde DES zu diesem Zeitpunkt vom damals neuartigen AES-Verfahren offiziell abgelöst. Zunächst sollen einige kryptografische Begriffe geklärt, dann auf die Geschichte von AES eingegangen sowie die Eigenschaften und Funktionsweisen des Algorithmus vorgestellt werden. Im Anschluss folgt eine kurze kryptografische Bewertung von AES und eine Übersicht über die Anwendungsgebiete des Verfahrens.
Lesen Sie weitere Advanced Encryption Standard

Hash-Algorithmen

Hash-Algorithmen spielen in der Informatik eine wichtige Rolle. Im Folgenden befasse ich mich hauptsächlich mit dem wohl populärsten Hash-Algorithmus MD5 und dessen Nachfolger dem SHA-1. Beide sind heutzutage noch im Einsatz, gelten jedoch als nicht mehr sicher.

Einleitung

Eine Hashfunktion (auf Deutsch: Streuwertfunktion) erzeugt aus einer üblicherweise großen Quellmenge eine Ausgabe, den Hashcode, aus einer kleinen Zielmenge. Die einzelnen Stellen des Codes bestehen meist aus skalaren Werten der natürlichen Zahlen. Ein solcher Hashwert wird auch Fingerprint genannt, da er nahezu eindeutig eine größere Datenmenge beschreibt. Hashfunktionen unterscheiden sich in ihren Ein- und Ausgaben sowie den Einfluss bestimmter Muster und Eingaben.

Lesen Sie weitere Hash-Algorithmen