Post on 17-Jul-2015
1
Einführung in die Programmierung – Gruppenbeispiel (Ass1)
W I S S E N ! T E C H N I K ! L E I D E N S C H A F T
! www.tugraz.at
Einführung in die Programmierung DI Dr. Christian Safran, IICM DI Michael Steurer, IICM Univ.-Prof. DI Dr. techn. Frank Kappe, IICM
2
Einführung in die Programmierung – Gruppenbeispiel (Ass1)
2 Gruppenbeispiel (Ass1)
Organisatorisches
Aufgabenstellung
Michael Steurer, Lukas Eberhart
3
Einführung in die Programmierung – Gruppenbeispiel (Ass1)
3 Organisatorisches
4er Gruppe " Mitglieder ausschließlich aus der gleichen Tutoriumsgruppe " Anmeldung war bis heute 19 Uhr möglich (Palme) " Noch ohne Gruppe? # Gruppenzuweisung unsererseits
Deadline " Abgabe: Sa. 21.12.2013 19:00:00 (Palme) " Spätabgabe: bis 48h danach; -25% der erreichten Punkte " Knapp 3 Wochen Zeit " Tipp: rechtzeitig beginnen!
Michael Steurer, Lukas Eberhart
4
Einführung in die Programmierung – Gruppenbeispiel (Ass1)
4 Organisatorisches
Bewertung " 20 Punkte
" Tests: 8 " Doku & Stil: 3 " Struktur: 5 " Korrektheit: 4
Ausbesserungsmöglichkeit " 14.1. - 2.2.2014 " nur bei weniger als 10
Punkten
Allgemeine Kriterien " Eigene Arbeit " Pünktliche Abgabe " Fertige Abgabe " Spezifikationstreue " Richtige
Programmiersprache
Todsünden " Fehlende Abgaben " Plagiate
Michael Steurer, Lukas Eberhart
5
Einführung in die Programmierung – Gruppenbeispiel (Ass1)
5 Aufgabenstellung
Source: http://www.fruchtwein.at/pix/bilder_original/gluehwein.jpg
Michael Steurer, Lukas Eberhart
6
Einführung in die Programmierung – Gruppenbeispiel (Ass1)
6 Allgemeiner Bildaufbau
…….
1. Pixel
2. Pixel
3. Pixel
…….Header
Michael Steurer, Lukas Eberhart
7
Einführung in die Programmierung – Gruppenbeispiel (Ass1)
7 Aufgabenstellung Beispiel: " Buchstabe ‘t‘ soll in Bild versteckt werden " ASCII-Wert von ‘t‘: dezimal: 116 / binär: 01110100
" Niederwertigstes Bit löschen für Byte 1, 5, 7 und 8 " Niederwertigstes Bit setzen für Byte 2, 3, 4 und 6
" Erstes Pixel:
0 1 1
Original Bild
Modifiziertes Bild
Michael Steurer, Lukas Eberhart
8
Einführung in die Programmierung – Gruppenbeispiel (Ass1)
8 Aufgabenstellung Verschlüsselung:
" Text vor dem Verstecken bzw. nach dem Extrahieren XOR verschlüsseln
" Passwort wiederholen bis es die gleiche Länge wie der Text hat " Buchstabe für Buchstabe mit Exklusiv-Oder verknüpfen
Beispiel: Text: Hallo EP!, Key: Geheim
Michael Steurer, Lukas Eberhart
9
Einführung in die Programmierung – Gruppenbeispiel (Ass1)
9 Aufgabenstellung Stenographie-Tool Text in Bild verstecken: " Prüfen, ob unkomprimierte 24bit Bitmap-Datei (Header auslesen) " Identifier “EP13“ und Länge des Texts dem zu versteckenden Text
voranstellen (und ebenfalls mitverschlüsseln) Folgende Struktur in Bild einbetten: " “EP13“ (4 Byte) " Länge des Texts (Integer: 4 Byte) " (verschlüsselter) Text (beliebige Länge)
Michael Steurer, Lukas Eberhart
10
Einführung in die Programmierung – Gruppenbeispiel (Ass1)
10 Aufgabenstellung Stenographie-Tool Text aus Bild extrahieren: " Zu Beginn auf Identifier “EP13“ prüfen " Bei Fehler: Fehlermeldung ausgeben # siehe Wiki " Im Erfolgsfall: versteckten Text ausgeben/speichern (ohne “EP13“)
Michael Steurer, Lukas Eberhart
11
Einführung in die Programmierung – Gruppenbeispiel (Ass1)
11 Aufgabenstellung Stenographie-Tool Programmaufruf - Kommandozeilenparameter:
-m Der Modus, gefolgt von entweder 'hide' oder 'show' -img Die Bilddatei
-text Die Textdatei -p Passwort -v Versionsinfo
optional:
obligatorisch:
Michael Steurer, Lukas Eberhart
12
Einführung in die Programmierung – Gruppenbeispiel (Ass1)
12 Aufgabenstellung Stenographie-Tool Programmaufruf - Beispiele: " Datei secret.txt mit dem Passwort GEHEIM verschlüsseln und in der
Datei cat.jpg verstecken ./ass1 -m hide -img cat.bmp -text secret.txt -p GEHEIM
" Den Inhalt der Datei cat.jpg mit dem Passwort GEHEIM entschlüseln
und auf der Konsole anzeigen ./ass1 -m show -img cat.bmp -p GEHEIM
" Text von der Konsole einlesen und unverschlüsselt in der Datei
message.jpg verstecken ./ass1 -m hide -img message.bmp
Michael Steurer, Lukas Eberhart
13
Einführung in die Programmierung – Gruppenbeispiel (Ass1)
13 Zusammenfassung
Aufgabenstellung im Wiki " Details zu Datenstruktur/Rückgabewerte/Fehlermeldungen/Spezifikation " Halten Sie sich genau an die Anforderungen! " Ihre Abgabe wird automatisiert getestet " Feedback
" Anzahl der bestandenen Testfälle " Abgabegespräche
Fragen von allgemeinem Interesse " Newsgroup tu-graz.lv.ep " Zuerst lesen, dann posten
Michael Steurer, Lukas Eberhart
14
Einführung in die Programmierung – Gruppenbeispiel (Ass1)
W I S S E N ! T E C H N I K ! L E I D E N S C H A F T
! www.tugraz.at
Einführung in die Programmierung DI Dr. Christian Safran, IICM DI Michael Steurer, IICM Univ.-Prof. DI Dr. techn. Frank Kappe, IICM