1 Random Access Maschine
|
|
- Silvia Flater
- vor 7 Jahren
- Abrufe
Transkript
1 1 RANDOM ACCESS MASCHINE 1 1 Random Access Maschine Neue Hardware: Random Access Maschine = RAM. Der Name hat nichts mit Zufall zu tun, sondern mit wahlfreiem Zugriff. Die RAM besteht aus einem Eingabeband, einem Ausgabeband, einem Programm und einem Speicher. Das Eingabeband sowie das Ausgabeband bestehen aus einer Folge von Bandquadraten, die jeweils eine ganze Zahl aufnehmen können. Dabei kann das Eingabeband nur einmal gelesen werden, dass heißt nach jeder Leseoperation rückt der Lesekopf eine Position nach rechts. Analog kann das Ausgabeband nur einmal beschrieben werden, nach jeder Schreiboperation rückt der Schreibkopf eine Position nach rechts. Der Speicher besteht aus einer beliebig langen Folge von Speicherzellen, den Registern. Jede Speicherzelle kann dabei eine beliebige ganze Zahl aufnehmen. Die erste Speicherzelle, das Register r 0 dient als Akkumulator. Nur in diesem Register werden die Berechnungen durchgeführt. Das Programm ist nicht im Speicher abgelegt sondern, wie bei der Turingmaschine, fest vorgegeben. Die RAM kann daher das Programm auch nicht selbst modifizieren. x 1 x 2 x 3 Lesekopf Eingabeband r 0 Akkumulator Programmzähler Programm r 1 r 2 r 3 r 4. Speicher Schreibkopf y 1 y 2 y 3 Ausgabeband Abbildung 1: Eine Random Access Machine 1.1 Was kann die RAM? Die RAM beherrscht folgende Operationen:
2 1 RANDOM ACCESS MASCHINE 2 Ein- und Ausgabe Arithmetische Operationen Indirekte Adressierung Sprünge Zur Vereinfachung werden folgende Abkürzungen eingeführt: c(i) ist im folgenden immer der Inhalt des Register r i, also die Zahl, die im i-ten Register steht. Operanden für RAM-Befehle Die Operanden für die Registermaschine sind: = i Die Zahl i i Der Inhalt von Register r i i Der Inhalt von Register r c(i) (Indirekte Adressierung) Wert eines Operanden Der Wert eines Operanden a wird mit v(a) bezeichnet und ergibt sich damit als: v(= i) := i (Die Zahl i) v(i) := c(i) (Der Inhalt von Register r i ) v( i) := c(c(i)) (Der Inhalt von Register r c(i) ) 1.2 Befehle Die Befehle der RAM bestehen aus zwei Teilen, dem Befehlscode und der Adresse. Als Befehle hat die RAM: LOAD a: c(0) := v(a). Läd den Wert des Operanden a in das erste Register. STORE i: c(i) := c(0). Set den Wert des Registers i auf den Wert des ersten Registers. ADD a: c(0) := c(0) + v(a). Addiert den Wert des Operanden a zu dem Wert im ersten Register dazu. SUB a: c(0) := c(0) v(a). Subtrahiert den Wert des Operanden a von dem Wert im ersten Register. MULT a: c(0) := c(0) v(a). Multipliziert den Wert des Operanden a mit dem Wert im ersten Register. DIV a: c(0) := c(0) v(a). Dividiert den Wert im ersten Register durch den Wert des Operanden a.
3 1 RANDOM ACCESS MASCHINE 3 READ i: c(i) := aktuelles Eingabesymbol unter dem Lesekopf. READ i: c(c(i)) := aktuelles Eingabesymbol unter dem Lesekopf. WRITE a: Drucke v(a) auf das Ausgabeband an der Kopfposition. JUMP b: Setze den Programmzähler auf die Instruktion b. JGTZ b: If (c(0) > 0) then JUMP b. JZERO b: If (c(0) = 0) then JUMP b. HALT: Beende Berechnung. 1.3 Kostenmaß Für das Kostenmaß der RAM gibt es zwei verschiedene Modelle: Einheitskostenmaß Der Zugriff und die Operation auf einer Zahl n Æ kostet eine Einheit. Logarithmisches Kostenmaß Beim logarithmischen Kostenmaß wird die Größe der Operanden berücksichtigt. Die Kosten sind hier proportional zur Länge der Zahl in der Binärdastellung. Der Zugriff und die Operation auf einer Zahl n Æ kosten { 1 falls n = 0 L(n) = log 2 n + 1 falls n > 0 Das logarithmische Kostenmaß ist sinnvoll für den Zugriff, die Addition und die Subtraktion. Allerdings stellt sich die Frage, ob es auch für die Multiplikation von zwei k-stelligen Zahlen Sinn macht. Das beste bekannte Verfahren geht in Zeit O(k log k log log k) (Schönhage, Strassen 71). Kosten der RAM-Befehle im logarithmischen Maß Bereitstellung eines Operanden: Operand a Kosten t(a) = i L(i) i L(i) + L(c(i)) i L(i) + L(c(i)) + L(c(c(i)))
4 1 RANDOM ACCESS MASCHINE 4 Kosten für die Ausführung der RAM-Befehle: Befehl Kosten LOAD a t(a) STROE i L(c(0)) + L(i) STORE i L(c(0)) + L(i) + L(c(i)) ADD a L(c(0)) + t(a) SUB a L(c(0)) + t(a) MULT a L(c(0)) + t(a) DIV a L(c(0)) + t(a) READ i L(Eingabe) + L(i) READ i L(Eingabe) + L(i) + L(c(i)) WRITE a t(a) JUMP b L(b) JGTZ b L(c(0)) + L(b) JZERO b L(c(0)) + L(b) HALT Wie verhalten sich RAM und TM zueinander? Lemma 1 Sei M eine t()-zeitbeschränkte T M. Dann gibt es eine RAM R, die M in Zeit simuliert. O(t(n)) O(t(n) log t(n)) im Einheitskostenmaß im logarithmischen Kostenmaß Beweis: Sei M eine 1-Band Turingmaschine. Ansatz: Bilde das Bandquadrat i auf Register i + d ab, wobei d eine Konstante ist. Die Kopfposition von M wird in Register 1 gespeichert und die Zeichen des Bandalphabets werden durch Zahlen dargestellt. Baue das Programm von M in das Programm von R ein. Dann entspricht einer Schritt von M einer konstanten Anzahl von Schritten von R. Da M maximal t(n) Felder auf dem Band besuchen kann, liegen die Registeradressen von R in O(t(n)). Damit liegen auch die Registerzugriffskosten in O(log t(n)) pro Zugriff im logarithmischen Kostenmaß. Dann sind die Kosten der RAM im Einheitskostenmaß: Rechenzeit von R in O(t(n)) im logarithmischen Maß: Rechenzeit von R in O(t(n)log(t(n))) Satz 1 Sei f eine Funktion, die in Zeit t(n) im logarithmischen Kostenmaß auf einer RAM R berechnet werden kann. Dann kann man f in Zeit O(t(n) 2 ) auf einer (6-Band) TM M berechnen.
5 1 RANDOM ACCESS MASCHINE 5 Beweis Die 6 Bänder der Turingmaschine werden jeweils für bestimmte Eigenschaften der RAM genutzt. Band 1: Das Eingabeband von R Band 2: Das Ausgabeband von R Band 3: Speicherband, das die Registerinhalte von R speichert (siehe Abbildung 2) Band 4: Akkumulatorband Band 5: Operandenband Band 6: Schmierpapier zum Zwischenspeichern von Werten ## i 1 # c 1 ## i 2 # c 2 ## ## i k # c k ### Abbildung 2: Speicherband der Turingmaschine zur Simulation einer RAM Simulation der Operationen von R auf M: a) Speicherzugriff auf das Register I: Lies das Speicherband, bis I = i j oder das letzte ### gefunden wurde Falls I = i j gefunden Bei LOAD I: Kopiere c j auf das Akkumulatorband Bei STORE I: Kopiere alles rechts von c j auf das Schmierpapierband Überschreibe c j mit dem Inhalt vom Akkumulatorband Kopiere den Inhalt des Schmierpapierbands dahinter Falls ### gefunden Bei LOAD I: Fehler Bei STORE I: Überschreibe das letzte # auf dem Speicherband mit I#c###, wobei c = Inhalt des Akkumulatorbands gilt. Damit ist klar, dass sich die Speicherzugriffe der RAM R mittels der Turingmaschine simulieren lassen. Falls für die RAM R das logarithmische Kostenmaß verwendet wird: Die Gesamtlänge aller Zahlen ist in O(t(n)) Die Gesamtlänge aller Bänder von M ist in O(t(n))
6 2 KRYPTOGRAPHIE 6 Jeder von t(n) möglichen Speicherzugriffen kostet M maximal O(t(n)) Schritte Es gibt maximal O(t(n) 2 ) Schritte für den Speicherzgriff b) Rechenoperationen. Annahme: Der Operand steht schon auf dem Operandenband. Dann betragen die Kosten für die Turingmaschine: ADD, SUB: Geht in O(k 1 +k 2 ) mittels der Schulmethode, wobei k 1 und k 2 die Längen der beiden Zahlen sind. MULT, DIV: Geht in O(k 1 k 2 ) mittels der Schulmethode. Die RAM hingegen benötigt für jede Operation im logarithmischen Kostenmaß mindestens die Zeit k 1 +k 2. Die Kosten für die Turingmaschine lassen sich gegenüber den Kosten für die RAM abschätzen. Dabei wird ausgenutzt, dass k 1 +k 2 c t(n) gilt, sowie die Abschätzung a 2 + b 2 (a + b) 2 für a,b 0 MULT,DIV k 1 k 2 MULT,DIV k k2 2 MULT,DIV (k 1 + k 2 ) 2 O(t(n) 2 ) Damit gehen sowohl die Rechenoperationen als auch die Speicherzugriffe in O(t(n) 2 ) womit der Satz gezeigt ist. Achtung: Der Satz gilt nicht für das Einheitskostenmaß! Betrachte z. B. f(n) = n (2n). Die Turingmaschine braucht zur Darstellung des Ergebnisses mindestens 2 n Felder, muss also auf jeden Fall O(2 n ) Schritte machen. Die RAM hingegen kann im Einheitskostenmaß die Funktion in Zeit O(n) durch skuzessives Quadrieren berechnen: n,n 2,n 4,...,n (2k),...,n (2n ) 2 Kryptographie Bisher wurde die Komplexität von Problemen, z.b. NP-Vollständigkeit, als etwas schlechtes oder als Nachteil empfunden. Schwierige Probleme können aber auch zu etwas gut sein! Beispiel: Verschlüsselungs- bzw. Kryptosysteme. Situation: Bob will an Alice eine geheime Nachricht über ein unsicheres Netz schicken. Diese soll von keinem Dritten gelesen werden können. Ansatz: Die Nachricht verschlüsseln. Dafür gibt es prinzipiell zwei verschiedene Möglichkeiten:
7 2 KRYPTOGRAPHIE Private-Key-Verfahren Bob hat den Schlüssel E B, der nur ihm bekannt ist. Alice hat den Schlüssel D A, der nur ihr bekannt ist. Um einen Klartext P zu übermitteln führen beide folgendes Verfahren durch: Bob sendet den verschlüsselten Text C := E B (P) an Alice Alice entschlüsselt den Text und erhält den Klartext P = D A (C) = D A (E B (P)) Das heißt, für die Schlüssel muss gelten D A E B = Identität. Weitere Annahme ist, dass die Nachricht im Netz nicht verändert wird. Dies wird aber hier nicht weiter betrachtet. Problem: Wie kommt der Schlüssel D A zu Alice? In der Praxis werden dafür reitende Boten oder hierarchische Schlüsselsystem eingesetzt. Ein eingesetztes Verfahren wollen wir etwas genau betrachten: Merkle-Verfahren Bob schickt an Alice eine große Zahl von Nachrichten Ẽ((Di a,i)). Dabei ist Ẽ ein einfach zu brechendes Verschlüsselungsverfahren und i ein Index, mit beispielsweise i = 1,...,10000 Alice wählt eine der Nachrichten zufällig aus und bricht sie. Dann schickt sie den Klartext i an Bob zurück und verwendet ab jetzt den privaten Schlüssel D i a. Bob empfängt i und verwendet ab jetzt den privaten Schlüssel E i B. Die Sicherheit beruht auf folgenden Tatsachen: Der Angreifer kennt die Liste aller Schlüssel DA i Bob bekannt. nicht. Diese ist nur Der Angreifer hat keine Zeit, alle Nachrichten Ẽ((Di a,i)) zu brechen (relative Sicherheit). Bekanntes Private-Key-Verfahren: DES (Data Encryption Standard), beruht auf Bit-Shuffling.
Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines
Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University,
MehrÄquivalenzen. F3 03/04 p.1/??
Äquivalenzen Eine Menge M ist genau dann aufzählbar, wenn sie von einem Automaten der folgenden Art erkannt werden kann: 1. Einer deterministischen Turing-Maschine (DTM). 2. Einer nichtdeterministischen
MehrAnhang zum Lehrbuch über Datenstrukturen und Algorithmen
Anhang zum Lehrbuch über Datenstrukturen und Algorithmen Hans Ulrich Simon 10. April 018 Zusammenfassung Der Stoff der Vorlesung Datenstrukturen im Sommersemester 018 deckt sich zum großen Teil mit den
MehrRegistermaschine (RAM), Church-Turing-These
Registermaschine (RAM), Church-Turing-These Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 21. Oktober 2010 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrRegistermaschine (RAM), Church-Turing-These. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen
Registermaschine (RAM), Church-Turing-These Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 22 Registermaschinen (RAM) Programm b c(0) c(1) c(2) c(3) c(4)...
MehrBerechenbarkeit und Komplexität Vorlesung 3
Berechenbarkeit und Komplexität Vorlesung 3 Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7 RWTH Aachen 22. November 2014 Wolfgang Thomas, Informatik 7 () Vorlesung Berechenbarkeit und Komplexität 22.
Mehr. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:
Laufzeit von Quicksort im Mittel. Wir wollen die erwartete Effizienz von Quicksort ermitteln. Wir nehmen an, die Wahrscheinlichkeit, dass das gewählte Pivot-Element a j das k-t kleinste Element der Folge
MehrInformatik II. Turingmaschinen. Turingmaschinen. Turingmaschinen. Rainer Schrader. 14. Dezember 2005
Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Dezember 2005 1 / 76 2 / 76 Gliederung Aufbau und Eigenschaften Maße für Zeit- und Platzbedarf Simulation RAM/Turingmaschine nichtdeterministische
MehrBerechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen
Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 25. Oktober 2006 Was ist ein Problem? Informelle Umschreibung
MehrKryptographie und Komplexität
Kryptographie und Komplexität Einheit 5 Kryptosysteme auf der Basis diskreter Logarithmen 1. Diffie Hellman Schlüsselaustausch 2. El Gamal Systeme 3. Angriffe auf Diskrete Logarithmen 4. Elliptische Kurven
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik 0 KIT 07.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik nationales Forschungszentrum Vorlesung in am
MehrBerechenbarkeit und Komplexität: Simulationen zwischen TM und RAM und die Church-Turing-These
Berechenbarkeit und Komplexität: Simulationen zwischen TM und RAM und die Church-Turing-These Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 28. Oktober 2006 Simulation RAM
Mehr3. Ziel der Vorlesung
3. Ziel der Vorlesung Der Zweck der Vorlesung ist das Studium fundamentaler Konzepte in der Algorithmentheorie. Es werden relevante Maschinenmodelle, grundlegende und höhere Datenstrukturen sowie der Entwurf
MehrEinführung in die Theoretische Informatik
Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Die Registermaschine (random access machine, RAM) 0 I 0 1 I 1 2 I 2 m I m Programm
MehrAufgabe der Kryptografie
Aufgabe der Kryptografie Eve möchte die Unterhaltung mithören und/oder ausgetauschte Informationen ändern. Alice & Bob kommunzieren über einen unsicheren Kanal. Alice & Bob nutzen Verschlüsselung und digitale
MehrMehrband-Turingmaschinen
Mehrband-Turingmaschinen Definition wie bei 1-Band-TM, nur mehrere Bänder. Dann natürlich pro Band ein Schreib-/Lesekopf. Übergangsfunktion von Z k nach Z k {L, R, N} k. Satz: Zu jeder Mehrband-Turingmaschine
MehrMächtigkeit von WHILE-Programmen
Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 23 Turingmaschine (TM) M = (Q, Σ, Γ, B, q 0, q, δ) Unendliches Band... 0 c
MehrTheoretische Grundlagen der Informatik. Vorlesung am 07. November INSTITUT FÜR THEORETISCHE INFORMATIK
Theoretische Grundlagen der Informatik 0 07.11.2017 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Frage Frage: Ist der
MehrTheoretische Informatik 1
Theoretische Informatik 1 Teil 4 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung TU Graz SS 2007 Übersicht 1 Turingmaschinen Mehrband-TM Kostenmaße Komplexität 2 Mehrband-TM Kostenmaße
MehrTheoretische Informatik 1
Theoretische Informatik 1 Registermaschine David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Registermaschinen Algorithmusbegriff konkretisiert formale Beschreibung
MehrOffenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab...
0 1 2 0 2 1 1 2 0 2 1 0 Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 1 2 1 1 3 2 2 3 212 Um solche Tabellen leicht implementieren zu können, stellt Java das switch-statement
Mehr2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.
2. Grundlagen Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. Laufzeitverhalten beschreiben durch O-Notation. 1 Beispiel Minimum-Suche Eingabe bei Minimum
Mehr11. Übungsblatt. x y(top(push(x, y)) = y)
Logik, Berechenbarkeit und Komplexität Sommersemester 2012 Hochschule RheinMain Prof. Dr. Steffen Reith 11. Übungsblatt 1. Ein Keller (engl. stack) ist eine bekannte Datenstruktur. Sei die Signatur S =
MehrRekursive Funktionen Basisfunktionen
Rekursive Funktionen Basisfunktionen die nullstellige Funktion Z, die den konstanten Wert 0 liefert, die Funktion S : N N, bei der jeder natürlichen Zahl ihr Nachfolger zugeordnet wird, die Funktion P
MehrVI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren
VI.3 RSA - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman - vorgestellt 1977 - erstes Public-Key Verschlüsselungsverfahren - auch heute noch das wichtigste Public-Key Verfahren 1
MehrAuffrischung Einige (wenige) Grundlagen der Theoretischen Informatik
Logik, Berechenbarkeit und Komplexität Sommersemester 2008 Fachhochschule Wiesbaden Prof. Dr. Steffen Reith Auffrischung Einige (wenige) Grundlagen der Theoretischen Informatik 1 Turingmaschinen - Ein
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Einleitung und Grundlagen Maike Buchin 18.4.2017 Verantwortliche Dozentin Organisation der Übungen Übungsleiter Korrekteure Maike Buchin Maike.Buchin@rub.de Raum NA 1/70 Sprechzeiten:
MehrKurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34
Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34 Satz 4.2.11 (Chinesischer Restsatz, Ring-Version) Sind N teilerfremd (d.h. ggt( ) =1), so ist die Abbildung ein Ring-Isomorphismus. :
MehrInformatik I Komplexität von Algorithmen
Leistungsverhalten von Algorithmen Informatik I Komplexität von Algorithmen G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Speicherplatzkomplexität: Wird primärer & sekundärer Speicherplatz
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010
MehrTeil 2: Rechnerorganisation
Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Turing-Maschine, Berechenbarkeit INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Mehr3. RAM als Rechnermodell
3. RAM als Rechnermodell Motivation Wir möchten Berechnungsvorschriften (Algorithmen) formal beschreiben und deren Eigenschaften wie Korrektheit und Laufzeit analysieren Rechnermodell abstrahiert vom verwendeten
MehrZeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1
Zeitkomplexität (1) Proseminar Theoretische Informatik Proseminar Theoretische Informatik: Lisa Dohrmann 1 Warum Komplexitätsbetrachtung? Ein im Prinzip entscheidbares und berechenbares Problem kann in
MehrVI. Public-Key Kryptographie
VI. Public-Key Kryptographie Definition 2.1 Ein Verschlüsselungsverfahren ist ein 5-Tupel (P,C,K,E,D), wobei 1. P die Menge der Klartexte ist. 2. C die Menge der Chiffretexte ist. 3. K die Menge der Schlüssel
MehrWiederholung. Symmetrische Verfahren: klassische Verfahren / grundlegende Prinzipien: Substitution, Transposition, One-Time-Pad DES AES
Wiederholung Symmetrische Verfahren: klassische Verfahren / grundlegende Prinzipien: Substitution, Transposition, One-Time-Pad DES AES Mathematische Grundlagen: algebraische Strukturen: Halbgruppe, Monoid,
MehrKryptographie und Komplexität
Kryptographie und Komplexität Einheit 5.2 ElGamal Systeme 1. Verschlüsselungsverfahren 2. Korrektheit und Komplexität 3. Sicherheitsaspekte Das ElGamal Verschlüsselungsverfahren Public-Key Verfahren von
Mehr6.4 Entscheidbarkeit. nein sein müssen, ist klar. THEO 6.4 Entscheidbarkeit 205/307 c Ernst W. Mayr
6.4 Entscheidbarkeit Wortproblem Leerheit Äquivalenz Schnittproblem Typ 3 ja ja ja ja DCFL ja ja ja nein (*) Typ 2 ja ja nein (*) nein Typ 1 ja nein (*) nein nein Typ 0 nein (*) nein nein nein (*) Diese
Mehr3 Public-Key-Kryptosysteme
Stand: 05.11.2013 Vorlesung Grundlagen und Methoden der Kryptographie Dietzfelbinger 3 Public-Key-Kryptosysteme 3.1 Verschlüsselung von Nachrichten Wir betrachten ganz einfache Kommunikationsszenarien.
MehrMächtigkeit von WHILE-Programmen
Mächtigkeit von WHILE-Programmen und rekursive Funktionen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 16. November 2010 Berthold Vöcking, Informatik 1 () Vorlesung
MehrÜbung zur Vorlesung Berechenbarkeit und Komplexität
RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein
MehrTheoretische Informatik 1
Theoretische Informatik 1 Die Komplexitätsklasse P David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Äquivalenz von RM und TM Äquivalenz, Sätze Simulation DTM
Mehr1936 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus
//5 Abstrakte Maschinenmodelle: Turingmaschine (TM) 96 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus einem festen Teil ( "Hardware ) einem variablen Teil ( "Software
MehrZunächst ein paar einfache "Rechen"-Regeln: Lemma, Teil 1: Für beliebige Funktionen f und g gilt:
Der Groß-O-Kalkül Zunächst ein paar einfache "Rechen"-Regeln: G. Zachmann Informatik 1 - WS 05/06 Komplexität 22 Additionsregel Lemma, Teil 1: Für beliebige Funktionen f und g gilt: Zu beweisen: nur das
MehrKomplexitätstheorie WiSe 2008/09 in Trier. Henning Fernau Universität Trier
Komplexitätstheorie WiSe 2008/09 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Komplexitätstheorie Gesamtübersicht Organisatorisches / Einführung Motivation / Erinnerung / Fragestellungen
MehrKryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik
Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Übersicht Zwecke der Krytographie Techniken Symmetrische Verschlüsselung( One-time Pad,
MehrVorkurs für. Studierende in Mathematik und Physik. Einführung in Kryptographie Kurzskript 2015
Vorkurs für Studierende in Mathematik und Physik Einführung in Kryptographie Kurzskript 2015 Felix Fontein Institut für Mathematik Universität Zürich Winterthurerstrasse 190 8057 Zürich 11. September 2015
MehrArithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9
Arithmetik, Register und Speicherzugriff Grundlagen der Rechnerarchitektur Assembler 9 Arithmetik und Zuweisungen Einfache Arithmetik mit Zuweisung C Programm: a = b + c; d = a e; MIPS Instruktionen: Komplexere
Mehr1 Rechnerstrukturen 1: Der Sehr Einfache Computer
David Neugebauer, Informationsverarbeitung - Universität zu Köln, Seminar BIT I Inhaltsverzeichnis 1 Rechnerstrukturen 1: Der Sehr Einfache Computer 1 1.1 Komponenten................................. 1
MehrEINIGE GRUNDLAGEN DER KRYPTOGRAPHIE
EINIGE GRUNDLAGEN DER KRYPTOGRAPHIE Steffen Reith reith@thi.uni-hannover.de 22. April 2005 Download: http://www.thi.uni-hannover.de/lehre/ss05/kry/folien/einleitung.pdf WAS IST KRYPTOGRAPHIE? Kryptographie
MehrProseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren
Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren Herwig Stütz 2007-11-23 1 Inhaltsverzeichnis 1 Einführung 2 2 Das RSA-Verfahren 2 2.1 Schlüsselerzeugung.................................
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:
MehrBerechenbarkeit und Komplexität: Erläuterungen zur Turingmaschine
Berechenbarkeit und Komplexität: Erläuterungen zur Turingmaschine Prof. Dr. Berthold Vöcking Lehrstuhl Informatik Algorithmen und Komplexität 24. Oktober 26 Programmierung der TM am Beispiel Beispiel:
MehrRechnerstrukturen 1: Der Sehr Einfache Computer
Inhaltsverzeichnis 1: Der Sehr Einfache Computer 1 Komponenten.................................... 1 Arbeitsweise..................................... 1 Instruktionen....................................
MehrElliptic Curve Cryptography
Elliptic Curve Cryptography Institut für Informatik Humboldt-Universität zu Berlin 10. November 2013 ECC 1 Aufbau 1 Asymmetrische Verschlüsselung im Allgemeinen 2 Elliptische Kurven über den reellen Zahlen
MehrGrundlagen Theoretischer Informatik 3 SoSe 2012 in Trier. Henning Fernau Universität Trier
Grundlagen Theoretischer Informatik 3 SoSe 2012 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik 3 Gesamtübersicht Organisatorisches; Einführung Algorithmenanalyse:
MehrKryptographie und Komplexität
Kryptographie und Komplexität Einheit 4.4 Semantische Sicherheit 1. Sicherheit partieller Informationen 2. Das Verfahren von Rabin 3. Sicherheit durch Randomisierung Semantische Sicherheit Mehr als nur
MehrKryptographische Protokolle
Kryptographische Protokolle Lerneinheit 4: Schlüsselvereinbarung Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2017 8.5.2017 Einleitung Einleitung In dieser Lerneinheit
MehrVerfügbarkeit (Schutz vor Verlust) Vertraulichkeit (Schutz vor unbefugtem Lesen) Authentizität (Schutz vor Veränderung, Fälschung)
Was bisher geschah Sicherheitsziele: Verfügbarkeit (Schutz vor Verlust) Vertraulichkeit (Schutz vor unbefugtem Lesen) Authentizität (Schutz vor Veränderung, Fälschung) von Information beim Speichern und
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:
MehrKomplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen
lausthal Informatik II Komplexität von Algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Leistungsverhalten von Algorithmen Speicherplatzkomplexität: Wird primärer & sekundärer
MehrInformatik II. Registermaschinen. Registermaschinen. Registermaschinen. Rainer Schrader. 7. Dezember 2005
Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 7. Dezember 25 / 82 2 / 82 Gliederung Aufbau und Eigenschaften universelle RAM s RAM-Berechenbarkeit Nichtentscheidbarkeit Reduzierbarkeit
MehrMächtigkeit von WHILE-Programmen
Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrVerschlüsselung durch Exponentiation (Pohlig, Hellman, 1976)
Verschlüsselung durch Exponentiation (Pohlig, Hellman, 1976) p : eine (grosse) Primzahl e : Zahl 0 < e < p mit ggt(e, p 1) = 1 d Inverses von e in Z p 1, dh d e 1 mod p 1 (= φ(p)) M : numerisch codierter
MehrTuring-Maschinen: Ein abstrakes Maschinenmodell
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt, eine Elementaroperation ist maschinell ausführbar? Was verstehen
Mehr3.3 Laufzeit von Programmen
3.3 Laufzeit von Programmen Die Laufzeit eines Programmes T(n) messen wir als die Zahl der Befehle, die für die Eingabe n abgearbeitet werden Betrachten wir unser Programm zur Berechnung von Zweierpotenzen,
Mehr11. Das RSA Verfahren
Chr.Nelius: Zahlentheorie (SoSe 2017) 53 11. Das RSA Verfahren Bei einer asymmetrischen Verschlüsselung lässt sich der Schlüssel zum Entschlüsseln nicht aus dem Schlüssel zum Verschlüsseln bestimmen und
MehrSyntax von LOOP-Programmen
LOOP-Berechenbarkeit Syntax von LOOP-Programmen Definition LOOP-Programme bestehen aus: Variablen: x 0, x 1, x 2, x 3,... Konstanten: 0, 1, 2, 3,... Trennsymbolen:; und := Operationen: + und Befehlen:
Mehr13.2 Übergang zur realen Maschine
13.2 Übergang zur realen Maschine Bernd Becker Technische Informatik II Unterschiede zwischen abstrakter und realer Maschine 1. Bei realer Maschine nur ein Speicher M für Daten und Befehle. M ist endlich.
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 8 18. Juli 2011 Einführung in die Theoretische Informatik
MehrLOOP-Programme: Syntaktische Komponenten
LOOP-Programme: Syntaktische Komponenten LOOP-Programme bestehen aus folgenden Zeichen (syntaktischen Komponenten): Variablen: x 0 x 1 x 2... Konstanten: 0 1 2... Operationssymbole: + Trennsymbole: ; :=
MehrRechnerarchitektur SS 2013
Rechnerarchitektur SS 2013 Parallel Random Access Machine (PRAM) Michael Engel TU Dortmund, Fakultät für Informatik Teilweise basierend auf Material von Gernot A. Fink und R. Yahyapour 6. Juni 2013 Parallel
MehrKontrollpfad der hypothetischen CPU
Kontrollpfad der hypothetischen CPU fast alle Algorithmen benötigen FOR- oder WHILE-Schleifen und IF.. ELSE Verzweigungen Kontrollfluß ist datenabhängig CCR speichert Statussignale N,Z, V,C der letzten
Mehr4 Kryptologie. Übersicht
4 Kryptologie Übersicht 4.1 Der erweiterte euklidische Algorithmus................................ 38 4.2 Rechnen mit Restklassen modulo p................................... 39 4.3 Der kleine Satz von
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:
MehrKontrollpfad der hypothetischen CPU
Kontrollpfad der hypothetischen CPU fast alle Algorithmen benötigen FOR- oder WHILE-Schleifen und IF.. ELSE Verzweigungen Kontrollfluß ist datenabhängig CCR speichert Statussignale N,Z, V,C der letzten
MehrMehrband-Turingmaschinen und die universelle Turingmaschine
Mehrband-Turingmaschinen und die universelle Turingmaschine Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 15 Turingmaschinen mit mehreren Bändern k-band
MehrAlgorithmen und Datenstrukturen 1 Kapitel 4.1
Algorithmen und Datenstrukturen 1 Kapitel 4.1 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 Kapitel 4: Maschinenmodelle [Dieses Kapitel hält sich eng an
MehrAbschnitt 5: Kryptographie. j (p j 1). 1 (p 1 1)p α 2
Abschnitt 5: Kryptographie. Zunächst wollen wir die Struktur von (Z/mZ) untersuchen. 5.1 Definition: Die Eulersche ϕ-funktion: ϕ : N N; ϕ(m) := (Z/mZ) 5.2 Bemerkung: (Z/mZ) {a {1,..., m 1} ggt(a, m) =
MehrRechnerarchitektur SS TU Dortmund
Rechnerarchitektur SS 2016 Exercises: Scoreboarding and Tomasulo s Algorithm Jian-Jia Chen TU Dortmund to be discussed on June, 14, 2016 Jian-Jia Chen (TU Dortmund) 1 / 8 Scoreboardings Im nächste Folien
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:
MehrEinwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008
Problemseminar Komplexitätstheorie und Kryptographie Martin Huschenbett Student am Institut für Informatik an der Universität Leipzig 30. Oktober 2008 1 / 33 Gliederung 1 Randomisierte Algorithmen und
Mehr9. Einführung in die Kryptographie
9. Einführung in die Kryptographie Grundidee: A sendet Nachricht nach B über unsicheren Kanal. Es soll verhindert werden, dass ein Unbefugter Kenntnis von der übermittelten Nachricht erhält. Grundbegriffe:
MehrTheoretische Informatik für Wirtschaftsinformatik und Lehramt
Theoretische Informatik für Wirtschaftsinformatik und Lehramt Höhere Programmiermodelle Priv.-Doz. Dr. Stefan Milius stefan.milius@fau.de Theoretische Informatik Friedrich-Alexander Universität Erlangen-Nürnberg
MehrProseminar Datensicherheit & Versicherungsmathematik ElGamal-Verfahren
Proseminar Datensicherheit & Versicherungsmathematik ElGamal-Verfahren Markus Kröll 14. Jänner 2009 Inhaltsverzeichnis 1 Einführung 2 2 Das ElGamal-Verfahren 2 2.1 Schlüsselerzeugung.................................
MehrVI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren
VI.4 Elgamal - vorgestellt 1985 von Taher Elgamal - nach RSA das wichtigste Public-Key Verfahren - besitzt viele unterschiedliche Varianten, abhängig von zugrunde liegender zyklischer Gruppe - Elgamal
MehrVon-Neumann-Architektur
Von-Neumann-Architektur Bisher wichtig: Konstruktionsprinzip des Rechenwerkes und Leitwerkes. Neu: Größerer Arbeitsspeicher Ein- und Ausgabewerk (Peripherie) Rechenwerk (ALU) Steuerwerk (CU) Speicher...ppppp...dddddd..
MehrTuring-Maschine. Berechenbarkeit und Komplexität Turing-Maschinen. Turing-Maschine. Beispiel
Berechenbarkeit und Komplexität Turing-Maschinen Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at
MehrPraktisch modulo n rechnen
Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 1 Praktisch modulo n rechnen Addition und Multiplikation modulo n sind auch dann algorithmisch kein großes Problem, wenn mit großen Zahlen gerechnet
MehrAlgorithmentheorie 2. Vorlesung
Algorithmentheorie 2. Vorlesung Martin Dietzfelbinger 13. April 2006 FG KTuEA, TU Ilmenau AT 13.04.2006 Maschinenmodelle Registermaschinen (RAMs) bearbeiten Zahlen Turingmaschinen (TMn) bearbeiten Wörter/Strings/Zeichenfolgen
MehrEinführung in die Informatik I
Einführung in die Informatik I LOOP Programme, rekursive Funktionen und der Turm von Hanoi Prof. Dr. Nikolaus Wulff Berechenbarkeit Mitte des 20. Jahrhunderts beantworteten Pioniere, wie Alan M. Turing
MehrVorlesung Diskrete Strukturen Gruppe und Ring
Vorlesung Diskrete Strukturen Gruppe und Ring Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2009/10 1 Bernhard Ganter, TU Dresden Modul Einführung in
MehrNetzwerktechnologien 3 VO
Netzwerktechnologien 3 VO Univ.-Prof. Dr. Helmut Hlavacs helmut.hlavacs@univie.ac.at Dr. Ivan Gojmerac gojmerac@ftw.at Bachelorstudium Medieninformatik SS 2012 Kapitel 8 - Netzwerksicherheit 8.1 Was ist
MehrVorlesung 7. Tilman Bauer. 25. September 2007
Vorlesung 7 Universität Münster 25. September 2007 El. In Vorlesung 4 haben wir Modulo-Arithmetik behandelt. Definition Sei n N 1. Auf Z ist eine Äquivalenzrelation Kongruenz modulo n definiert durch x
MehrEl. Zahlentheorie I: Der kleine Satz von Fermat
Vorlesung 7 Universität Münster 25. September 2007 El. In Vorlesung 4 haben wir Modulo-Arithmetik behandelt. Definition Sei n N 1. Auf Z ist eine Äquivalenzrelation Kongruenz modulo n definiert durch x
Mehr