Algorithmen I. Prof. Jörn Müller-Quade Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?

Ähnliche Dokumente
In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut.

Algorithmen und Datenstrukturen

Suchen in Listen und Hashtabellen

Digitale Magazine ohne eigenen Speicher

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / Vorlesung 5, Donnerstag, 20.

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

3. Übung Algorithmen I

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Algorithmen & Datenstrukturen 1. Klausur

Abschnitt: Algorithmendesign und Laufzeitanalyse

Kryptographie und Fehlertoleranz für Digitale Magazine

Sortierverfahren für Felder (Listen)

Beispiel zu Datenstrukturen

Programmieren I. Kapitel 7. Sortieren und Suchen

! DBMS organisiert die Daten so, dass minimal viele Plattenzugriffe nötig sind.

Systemsoftware Praktikum

Name: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort.

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen

Ideen der Informatik Suchen und Sortieren [Ordnung muss sein ] Kurt Mehlhorn Adrian Neumann viele Folien von Kostas Panagiotou

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

SSL-Zertifikate. ausgestellt bzw. bezogen von den Informatikdiensten. Dieter Hennig. 25. November ETH Zürich. SSL-Zertifikate.

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Kapitel 9. Hashverfahren. 9.1 Einführung

Mitschrift Vorlesung Einführung in die Kryptographie vom 18. Januar 2011

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Name:... Vorname:... Matrikel-Nr.:... Unterschrift:...

Lösungsvorschläge. zu den Aufgaben im Kapitel 4

Information Retrieval in P2P-Netzen

Security Associations Schlüsseltausch IKE Internet Key Exchange Automatischer Schlüsseltausch und Identitätsnachweis

Grundlagen der Kryptographie

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / Vorlesung 9, Dienstag 18.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / Vorlesung 8, Donnerstag 11.

Datenstrukturen in Java

HTTPS Checkliste. Version 1.0 ( ) Copyright Hahn und Herden Netzdenke GbR

Kampf dem Passwort! Die Authentifizierung der Zukunft. Linux höchstpersönlich.

Seminar Hacking: Passwortsicherheit / Hashes

Programmiertechnik II

Datensicherheit und Datenschutz. Datenschutz. Datensicherheit. Schutz von Personen. Schutz von Daten. (setzt Datensicherheit voraus)

Urbild Angriff auf Inkrementelle Hashfunktionen

Digitale Signaturen. Sven Tabbert

PKI (public key infrastructure)

Unterrichtsinhalte für den Grundkurs INFORMATIK (Oberstufe) Erstes Lernjahr (Einführungsphase EPh)

Software ubiquitärer Systeme

Kapitel 5: Dynamisches Programmieren Gliederung

MATHEMATISCHE ANALYSE VON ALGORITHMEN

Reaktive Sicherheit. II. Passwörter. Dr. Michael Meier. technische universität dortmund

Prof. Dr. Martin Leischner Netzwerksysteme und TK. Hochschule Bonn-Rhein-Sieg. Modul 5: IPSEC

Wiederholung: Informationssicherheit Ziele

Algorithmen. Consistent Hashing Bloom Filter MapReduce. Distributed Hash Tables. Einführung 1

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Public-Key-Kryptographie (2 Termine)

Kademlia A Peer-to-peer Information System based on the XOR Metric

Vergleich verschiedener Möglichkeiten des Table-Lookups für größere Tabellen

PHP 4. E i n e K u r z e i n f ü h r u n g. Vortragender: Kevin Bransdor Datum: Folie 1

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

Humboldt-Universität zu Berlin

Einführung in Computer Microsystems

Knasmüller.book Seite vii Mittwoch, 28. März : vii. Inhaltsverzeichnis

Informatik II Greedy-Algorithmen

Kryptographische Anonymisierung bei Verkehrsflussanalysen

Visuelle Kryptographie

6-1 A. Schwill Grundlagen der Programmierung II SS 2005

Einführung in die Informatik Hashtables

Next Generation Internet

Geschichte und Überlick über Authentifizierungsmechanismen unter UNIX

Vorgaben zu den unterrichtlichen Voraussetzungen für die schriftlichen Prüfungen im Abitur in der gymnasialen Oberstufe im Jahr 2010

Schulinternes Curriculum im Fach Informatik

SSL/TLS Sicherheit Warum es sich lohnt, sich mit Ciphersuites zu beschäftigen

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

IT-Sicherheit Kapitel 3 Public Key Kryptographie

Vorlesung : Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz

Programmiertechnik II

Abstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015

Verteilte Systeme - P2P-Computing

TimeMachine. Time CGI. Version 1.5. Stand Dokument: time.odt. Berger EDV Service Tulbeckstr München

Tag 9: Datenstrukturen

2. Realisierung von Integrität und Authentizität

1. Grundlagen Sortieren Vertauschen Selektion Einfügen Quicksort Suchen...

Echtzeitanomalieerkennung für Internetdienste (Abschlussvortrag)

Denn es geht um ihr Geld:

IPsec. Vortrag im Rahmen des Seminars Neue Internet Technologien

Programmiersprachen in der Bioinformatik

Algorithmische Kryptographie

Vorlesung: Montag 8:15-10:00 Donnerstag 8:15-10:00 Hörsaal: M 1 M 1

Die Verbindung von Linearer Programmierung und Graphentheorie

Kryptographie oder Verschlüsselungstechniken

Data Mining und Machine Learning

Kryptographie und Komplexität

Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration)

1. WAS IST SSL Protokollaufbau: Stefan Peer

Semantic Web: Resource Description Framework (RDF)

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen Internet-Technologien INF3171

10.6 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen

Algorithmen II Vorlesung am

Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff

Sicherheit in Netzwerken. Leonard Claus, WS 2012 / 2013

Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung

Laufzeit und Komplexität

Transkript:

Algorithmen I Prof. Jörn Müller-Quade 17.05.2017 Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?id=799 (Folien von Peter Sanders) KIT Institut für Theoretische Informatik 1

Erinnerung VL vom 15.05.2017 Analyse von Hashtabellen mit verketteten Listen Erwartete Laufzeit O(1) bei zuf. Hashfkt. und falls M O(m) Guter Ersatz (hier) für zuf. Hashfkt.: universelle Hashfunktionen Hashtabellen mit linearer Suche: Schwierigkeit bei remove Heute: Gegenüberstellung Hashing mit Verketten mit linearer Suche (Probleme bei) Anwendungen von Hashtabellen Sortieren: Motivation KIT Institut für Theoretische Informatik 2

Verketten Lineare Suche Volllaufen: Verketten weniger empndlich. Unbeschränktes Hashing mit lin. Suche hat nur amortisiert konst. Einfügezeit Cache: Lineare Suche besser. Vor allem für doall Platz/Zeit Abwägung: Kompliziert! Abhängig von n, Füllgrad, Elementgröÿe, Implementierungsdetails bei Verketten (shared dummy!, t speichert Zeiger oder item), Speicherverwaltung bei Verketten, beschränkt oder nicht,... Referentielle Integrität: Nur bei Verketten! Leistungsgarantien: Universelles Hashing funktioniert so nur mit Verketten KIT Institut für Theoretische Informatik 3

Perfektes Hashing hier nicht KIT Institut für Theoretische Informatik 4

Mehr Hashing Hohe Wahrscheinlichkeit, Garantien für den schlechtesten Fall, Garantien für linear probing höhere Anforderungen an die Hash-Funktionen Hashing als Mittel zur Lastverteilung z. B., storage servers, (peer to peer Netze,... ) Zufallsextraktion durch universelles Hashing O(1) nd / perfektes Hashing KIT Institut für Theoretische Informatik 5

Hashtabellen für assoziative Arrays In Java: java.util.hashtable, in Python: dict Beispiel (Python): args["username"]="fred" (CGI-Skripte) Beispiel für Sicherheitsproblem (gelöst seit 2012): Webserver beantwortet HTTP-Anfragen mit Python-Skript HTTP-Parameter werden für Skript in dict eingelesen Problem: Hashfunktion h deterministisch (d.h. fest, bekannt!) Bösartige Anfrage: viele HTTP-Parameter x y mit gleichem h(x) Konsequenz: quadratischer Aufwand bei Einlesen/Verarbeiten von Skriptparametern Denial of Service Wie reparieren? KIT Institut für Theoretische Informatik 6

Kryptographische Hashfunktionen Universelle Hashfunktionen: kurze Ausgabe (typisch: 32 Bit), Kollisionen gleichmäÿig Kryptographische Hashfunktionen: längere Ausgabe (typisch: 128512 Bit), Kollisionen existieren, sind aber schwer zu nden Anwendungen für kryptographische Hashfunktionen: Fingerabdruck von groÿen Datenmengen Zertikate (z.b. für Webserver) Nutzerauthentikation (Unix: /etc/passwd) Beispiele: MD5 (unsicher), SHA-1 (unsicher), SHA-256, SHA-3 Mehr in Sicherheits-Vorlesung KIT Institut für Theoretische Informatik 7

Sortieren & Co KIT Institut für Theoretische Informatik 8

Formaler Gegeben: Elementfolge s = e 1,...,e n Gesucht: s = e 1,...,e n mit s ist Permutation von s e 1 e n für eine Totalordnung ` ' KIT Institut für Theoretische Informatik 9

Anwendungsbeispiele Allgemein: Vorverarbeitung Suche: Telefonbuch unsortierte Liste Gruppieren (Alternative Hashing?) KIT Institut für Theoretische Informatik 10

Beispiele aus Kurs/Buch Aufbau von Suchbäumen Kruskals MST-Algorithmus Rucksackproblem Scheduling, die schwersten Probleme zuerst Sekundärspeicheralgorithmen, z. B. Datenbank-Join Viele verwandte Probleme. Zum Beispiel Transposition dünner Matrizen, invertierten Index aufbauen, Konversion zwischen Graphrepräsentationen. KIT Institut für Theoretische Informatik 11

Überblick Einfache Algorithmen / kleine Datenmengen Mergesort ein erster ezienter Algorithmus Eine passende untere Schranke Quicksort das Auswahlproblem ganzzahlige Schlüssel jenseits der unteren Schranke KIT Institut für Theoretische Informatik 12