1 Random Access Maschine
|
|
|
- Silvia Flater
- vor 9 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 [email protected] Research Institute for Symbolic Computation (RISC) Johannes Kepler University,
Anhang 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
Registermaschine (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
Registermaschine (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)...
Berechenbarkeit 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.
Kryptographie 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
Berechenbarkeit 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
3. 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
Einfü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
Aufgabe 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
Mehrband-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
Mä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
Theoretische 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
Theoretische Informatik 1
Theoretische Informatik 1 Registermaschine David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Registermaschinen Algorithmusbegriff konkretisiert formale Beschreibung
Offenbar 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
2. 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
11. Ü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 =
Rekursive 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
VI.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
Auffrischung 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
Vorlesung Datenstrukturen
Vorlesung Datenstrukturen Einleitung und Grundlagen Maike Buchin 18.4.2017 Verantwortliche Dozentin Organisation der Übungen Übungsleiter Korrekteure Maike Buchin [email protected] Raum NA 1/70 Sprechzeiten:
Kurzskript 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. :
Grundlagen: 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
Teil 2: Rechnerorganisation
Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung
3. 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
Zeitkomplexitä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
VI. 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
Wiederholung. 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,
Kryptographie 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
6.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
3 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.
Ü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
Theoretische 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
1936 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
Kryptograhie 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,
Arithmetik, 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
1 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
EINIGE GRUNDLAGEN DER KRYPTOGRAPHIE
EINIGE GRUNDLAGEN DER KRYPTOGRAPHIE Steffen Reith [email protected] 22. April 2005 Download: http://www.thi.uni-hannover.de/lehre/ss05/kry/folien/einleitung.pdf WAS IST KRYPTOGRAPHIE? Kryptographie
Datenpfad 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:
Berechenbarkeit 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:
Rechnerstrukturen 1: Der Sehr Einfache Computer
Inhaltsverzeichnis 1: Der Sehr Einfache Computer 1 Komponenten.................................... 1 Arbeitsweise..................................... 1 Instruktionen....................................
Elliptic 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
Kryptographie 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
Kryptographische 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
Verfü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
Datenpfad 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:
Komplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen
lausthal Informatik II Komplexität von Algorithmen. Zachmann lausthal University, ermany [email protected] Leistungsverhalten von Algorithmen Speicherplatzkomplexität: Wird primärer & sekundärer
Informatik 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
Mä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
Verschlü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
Turing-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
3.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,
11. 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
Syntax 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:
Einfü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
LOOP-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: ; :=
Kontrollpfad 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
4 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
Datenpfad 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:
Kontrollpfad 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
Mehrband-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
Algorithmen und Datenstrukturen 1 Kapitel 4.1
Algorithmen und Datenstrukturen 1 Kapitel 4.1 Technische Fakultät [email protected] Vorlesung, U. Bielefeld, Winter 2005/2006 Kapitel 4: Maschinenmodelle [Dieses Kapitel hält sich eng an
Abschnitt 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) =
Rechnerarchitektur 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
Datenpfad 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:
Einwegfunktionen. 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
9. 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:
VI.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
Von-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..
Turing-Maschine. Berechenbarkeit und Komplexität Turing-Maschinen. Turing-Maschine. Beispiel
Berechenbarkeit und Komplexität Turing-Maschinen Wolfgang Schreiner [email protected] Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at
Praktisch 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
Einfü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
Vorlesung Diskrete Strukturen Gruppe und Ring
Vorlesung Diskrete Strukturen Gruppe und Ring Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden [email protected] WS 2009/10 1 Bernhard Ganter, TU Dresden Modul Einführung in
Netzwerktechnologien 3 VO
Netzwerktechnologien 3 VO Univ.-Prof. Dr. Helmut Hlavacs [email protected] Dr. Ivan Gojmerac [email protected] Bachelorstudium Medieninformatik SS 2012 Kapitel 8 - Netzwerksicherheit 8.1 Was ist
El. 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
