Technische Universität München SS 2006 Fakultät für Informatik 12. Oktober 2006 Prof. Dr. A. Knoll. Aufgabe 1 Transferfragen (Lösungsvorschlag)



Ähnliche Dokumente
5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

11. Das RSA Verfahren und andere Verfahren

Professionelle Seminare im Bereich MS-Office

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Primzahlen und RSA-Verschlüsselung

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Informationsblatt Induktionsbeweis

15 Optimales Kodieren

Analysis I für Studierende der Ingenieurwissenschaften

Grundbegriffe der Informatik

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

Modul Diskrete Mathematik WiSe 2011/12

Wie Sie mit Mastern arbeiten

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Lösung. Prüfungsteil 1: Aufgabe 1

Einführung in die Programmierung

Zeichen bei Zahlen entschlüsseln

10. Public-Key Kryptographie

Internet Explorer Version 6

Wie Sie beliebig viele PINs, die nur aus Ziffern bestehen dürfen, mit einem beliebigen Kennwort verschlüsseln: Schritt 1

Verschlüsselung. Kirchstraße 18 Steinfelderstraße Birkweiler Bad Bergzabern Fabian Simon Bfit09

Microsoft PowerPoint 2013 Folien gemeinsam nutzen

10. Kryptographie. Was ist Kryptographie?

SMS-Versand in MACS Einrichtung des SMS-Versand Verwendung des SMS-Versandes Der SMS-Versand Empfängerfeld Empfänger-Rufnummer Inhalt der SMS

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Grundlagen der Technischen Informatik. 2. Übung

Steganos Secure Schritt für Schritt-Anleitung für den Gastzugang SCHRITT 1: AKTIVIERUNG IHRES GASTZUGANGS

iphone-kontakte zu Exchange übertragen

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

1. Die Schul finden Sie wie gewohnt im COG-Net unter Ihrem Namen und nach Betätigen der Schaltfläche .

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

6.2 Perfekte Sicherheit

Zur drittletzten Zeile scrollen

Import des persönlichen Zertifikats in Outlook Express

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Import des persönlichen Zertifikats in Outlook 2003

7 Rechnen mit Polynomen

Herzlich willkommen zum Kurs "MS Outlook Verschlüsseln und digitales Signieren von Nachrichten

Lenstras Algorithmus für Faktorisierung

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Anleitung zum Erstellen eines Freihaltetermins

Lineare Gleichungssysteme

Algorithmische Kryptographie

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Mathematik. UND/ODER Verknüpfung. Ungleichungen. Betrag. Intervall. Umgebung

Online-Bestellung Tageskarten für Mitglieder des FC St. Pauli, die nicht im Besitz einer Dauer- oder Saisonkarte sind.

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Grundlagen der Theoretischen Informatik, SoSe 2008

Simplex-Umformung für Dummies

Anwendungsbeispiele Buchhaltung

ICS-Addin. Benutzerhandbuch. Version: 1.0

Handbuch für Nutzer von Zertifikaten der Zertifizierungsstellen (CAs) des Bayerischen Behördennetzes (BYBN) zur Sicherung von s Teil D2:

Übungen zur Softwaretechnik

WORKSHOP für das Programm XnView

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Einführung in die Programmierung

Kurzanleitung zur Bereitstellung von Sachverhalten und Lösungen zum Universitätsrepetitorium auf dem Server unirep.rewi.hu-berlin.

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit

Theoretische Grundlagen der Informatik

Info-Veranstaltung zur Erstellung von Zertifikaten

Kapiteltests zum Leitprogramm Binäre Suchbäume

Ein + vor dem Ordnernamen zeigt an, dass der Ordner weitere Unterordner enthält. Diese lassen sich mit einem Klick (linke Maustaste) anzeigen.

2.1 Erstellung einer Gutschrift über den vollen Rechnungsbetrag

Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau

Java-Programmierung mit NetBeans

BAYERISCHES STAATSMINISTERIUM DES INNERN

INTERNET UND MMS MIT DEM QTEK2020 MARCO 28. MÄRZ 04

Sicherheitseinstellungen... 2 Pop-up-Fenster erlauben... 3

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

1 Mathematische Grundlagen

Übungen für Woche 10

Grundlagen der Informatik

COPPPS Software und Services seit 1972 Software und Services aus einer Hand

Erklärung zum Internet-Bestellschein

Arbeiten mit dem Outlook Add-In

PowerPoint vertonen. by H.Schönbauer 1

11. Rent-Seeking 117

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Anleitung Postfachsystem Inhalt

Orientierungstest für angehende Industriemeister. Vorbereitungskurs Mathematik

Frankfurt am Main. Dortmund. Stuttgart. Düsseldorf

Programmiervorkurs SS 2011 Technische Universität Darmstadt Jan Hendrik Burdinski, Felix Kerger

5.2 Neue Projekte erstellen

Kundenleitfaden zur Sicheren per WebMail

Artikel Schnittstelle über CSV

Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann,

3.1. Die komplexen Zahlen

Kurzanleitung MAN E-Learning (WBT)

CAQ Software für Ihr Qualitätsmanagement. Ablauf für die Erfassung der Fehler in der Fertigung

Transkript:

Technische Universität München SS 2006 Fakultät für Informatik 12. Oktober 2006 Prof. Dr. A. Knoll Lösungsvorschläge der Klausur zu Einführung in die Informatik II Aufgabe 1 Transferfragen (Lösungsvorschlag) a) Falsch: umso mehr Wiederholungen die Daten aufweisen (niedrige Entropie), desto besser kann komprimiert werden b) Falsch: die Summe reicht nicht aus, es fehlt eine Normierung, nämlich die Wahrscheinlichkeit der Zeichen c) Falsch: der Aufwand steigt exponentiell d) Wahr e) Wahr f) Wahr g) Falsch: Threads führen erst bei Verwendung von Multiprozessorsystemen zu einer Beschleunigung der Ausführung, eher selten auf einem 1-Rechnersystem h) Falsch: Präemptives Scheduling wird unterstützt, Benutzerprozessen kann somit die CPU entzogen werden, der Rechner bleibt seltener hängen i) Wahr j) Wahr Aufgabe 2 Barrieren p u b l i c c l a s s B a r r i e r p r i v a t e i n t processnumber ; p r i v a t e i n t p r o c e s s C o u n t ; p u b l i c B a r r i e r ( i n t number ) processnumber = number ; p r o c e s s C o u n t = 0 ; p u b l i c synchronized i n t g e t W a i t i n g P r o c e s s C o u n t ( ) return p r o c e s s C o u n t ; p u b l i c synchronized void s e t R e a c h e d ( )

2 p r o c e s s C o u n t ++; i f ( p r o c e s s C o u n t == processnumber ) n o t i f y A l l ( ) ; e l s e w a i t ( ) ; catch ( I n t e r r u p t e d E x c e p t i o n e ) Aufgabe 3 Züge (Lösungsvorschlag) Station.java import j a v a. u t i l. c o n c u r r e n t. Semaphore ; p u b l i c c l a s s S t a t i o n p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) i n t t r a c k C o u n t = 3 ; i n t t r a i n C o u n t = 5 ; Semaphore b o t t l e n e c k = new Semaphore ( 1, true ) ; Semaphore t r a c k s = new Semaphore ( t r a c k C o u n t, true ) ; f o r ( i n t i = 0 ; i < t r a i n C o u n t ; i ++) new T r a i n ( i, b o t t l e n e c k, t r a c k s ). s t a r t ( ) ; Train.java import j a v a. u t i l. c o n c u r r e n t. Semaphore ; p u b l i c c l a s s T r a i n extends Thread p u b l i c i n t number ; p r i v a t e Semaphore b o t t l e n e c k ; p r i v a t e Semaphore t r a c k s ; T r a i n ( i n t number, Semaphore b o t t l e n e c k, Semaphore t r a c k s ) t h i s. b o t t l e n e c k = b o t t l e n e c k ; t h i s. number = number ; t h i s. t r a c k s = t r a c k s ; void a r r i v e ( )

3 System. o u t. p r i n t l n ( " Zug " + t h i s. number + " w a r t e t a u f E i n f a h r t... " ) ; t h i s. t r a c k s. a c q u i r e ( ) ; t h i s. b o t t l e n e c k. a c q u i r e ( ) ; System. o u t. p r i n t l n ( " Zug " + t h i s. number + " f a e h r t e i n... " ) ; t h i s. s l e e p ( 2 0 0 0 ) ; t h i s. b o t t l e n e c k. r e l e a s e ( ) ; System. o u t. p r i n t l n ( " Zug " + t h i s. number + " i s t e i n g e f a h r e n. " ) ; catch ( I n t e r r u p t e d E x c e p t i o n e ) void d e p a r t ( ) System. o u t. p r i n t l n ( " Zug " + t h i s. number + " w a r t e t a u f A u s f a h r t... " ) ; t h i s. b o t t l e n e c k. a c q u i r e ( ) ; System. o u t. p r i n t l n ( " Zug " + t h i s. number + " f a e h r t aus... " ) ; t h i s. s l e e p ( 2 0 0 0 ) ; t h i s. b o t t l e n e c k. r e l e a s e ( ) ; t h i s. t r a c k s. r e l e a s e ( ) ; System. o u t. p r i n t l n ( " Zug " + t h i s. number + " i s t a u s g e f a h r e n. " ) ; catch ( I n t e r r u p t e d E x c e p t i o n e ) p u b l i c void run ( ) while ( true ) a r r i v e ( ) ; w a i t I n S t a t i o n ( ) ; d e p a r t ( ) ; Thread. s l e e p ( ( i n t ) ( Math. random ( ) 4000) ) ; catch ( I n t e r r u p t e d E x c e p t i o n e ) p u b l i c void w a i t I n S t a t i o n ( ) Conductor c o n d u c t o r = new Conductor ( t h i s ) ;

4 c o n d u c t o r. s t a r t ( ) ; c o n d u c t o r. j o i n ( ) ; catch ( I n t e r r u p t e d E x c e p t i o n e ) Conductor.java p u b l i c c l a s s Conductor extends Thread p r i v a t e T r a i n t r a i n ; Conductor ( T r a i n t r a i n ) t h i s. t r a i n = t r a i n ; p u b l i c void run ( ) System. o u t. p r i n t l n ( " S c h a f f n e r von Zug " + t h i s. t r a i n. number + " w a r t e t... " ) ; Thread. s l e e p ( ( i n t ) ( Math. random ( ) 3000) + 2000) ; System. o u t. p r i n t l n ( " S c h a f f n e r von Zug " + t h i s. t r a i n. number + " i s t b e r e i t. " ) ; catch ( I n t e r r u p t e d E x c e p t i o n e ) Aufgabe 4 Kompressionsalgorithmen (Lösungsvorschlag) a) Die Tabelle sieht wie folgt aus: p z Neueintrag Kodierung M M A 27= MA 13 A M 28= AM 1 M A MA M 29= MAM 27 M A MA M MAM A 30= MAMA 29 A M AM I 31= AMI 28 I A 32= IA 9 D.h. es ergibt sich die Kodierung 13,1,27,29,28,9,1. Die 1 am Schluss ist die Kodierung des Puffers, wenn keine Eingabezeichen mehr vorhanden sind (Abbruchkriterium).

5 b) Optimal ist 4MA1MIA c) 4,1,3,5,1 d) Die Antwort sollte in etwa enthalten: LZW: automatische Wörterbucherzeugung aber evtl. wird unnötig viel Speicher für Einträge vergeudet, die nie zur Anwendung kommen LLK: gute Kompression von unbekannten Sequenzen aber Wiederholungen müssen zuerst erkannt werden; evtl. durch vormaligen Durchlauf LFF: liefert im Beispiel beste Kompression aber ansonsten ineffizient und unflexibel, da mehere Durchläufe nötig und festes Wörterbuch Aufgabe 5 RSA: Schnelles Potenzieren (Lösungsvorschlag) (2+4 Punkte) a) Ein mögliche Implementierung lautet: l e t rec n_pot n = match n with 1 > 1 n when ( n mod 2 = 1) > 2 + n_pot ( ( n 1) / 2 ) n > 1 + n_pot ( n / 2 ) ; ; b) Beweis durch Induktion: Induktionsanfang: n = 1; offensichtlich ist dann auch M(n = 1) = 1, also nicht größer als 1 + 2log 2 1 = 1. Induktionsschluss: Sei nun n > 1. Gemäß IH ist M(n) 1+2log 2 n. Für n > 1 besitzt der angegebene Algorithmus dann M(n + 1) = max2 + M(n/2),1 + M((n + 1)/2) Aufrufe. Offensichtlich ist dieses Maximum durch M(n + 1) = max2 + M(n/2),1 + M((n + 1)/2) 2 + M((n + 1)/2) abschätzbar. Gemäß IV gilt: M(n + 1) 2 + 1 + 2log 2 ((n + 1)/2) = 1 + 2log 2 (n + 1). Aufgabe 6 RSA (Lösungsvorschlag) (4 Punkte) Bei einfacher RSA-Verschlüsselung verschlüsselt der Sender die Nachricht M mit der Verschlüsselungsfunktion V e (M), der Empfänger wendet auf diese die Entschlüsselungsfunktion E d (V e (M)) an und gewinnt so wieder die ursprüngliche Nachricht. Aus dem Beweis auf Folie 128 der Vorlesung geht hervor, dass die Verschlüsselungsfunktionen kommutativ sind, d.h. es gilt E d (V e (M)) = V e (E d (M)) = M. Man kann also auch zuerst die Nachricht mit dem privaten Schlüssel verschlüsseln und diese kann dann mit dem öffentlichen geöffnet werden. Wendet nun der Sender vor dem Verschlüsseln einer Nachricht mit dem öffentlichen Schlüssel des Empfängers V e seinen privaten Schlüssel E d auf die Nachricht an, so muss der Empfänger zunächst seinen privaten Schlüssel E d anwenden und dann den öffentlichen Schlüssel des Senders V e um die Authentizität des Senders zu gewährleisten. Mathematisch kurz ergibt sich für diesen Vorgang: V e (E d (V e (E d (M)))) = M