Modulnummer

114

Letzte Aktualisierung
30. Okt. 2019
Vorgaben
ICT-Modulidentifikation
ICT-LBV 114-3 Parts ¼:¼:¼:¼ gemäss Ansage
Modulbezeichnung

Codierungs-, Kompressions- und Verschlüsselungs verfahren einsetzen

Fachliteratur
Digitaltechnik
Codesysteme
ASCII/Unicode
Kompression Multimedia
Kryptologie
Voraussetzungen
Deutsche Sprache
Mathematisches Grundverständnis

Inhalt

1. Einführung
1.1 Die Modulschwerpunkte
1.2 Eine Datei besteht aus Bit und Bytes → Welche Information verbirgt sich dahinter?

2. Grundlagen Digitaltechnik
2.1 Übung SI-Präfixe, Zahlendarstellung, Bit & Byte
2.2 Übungen zu Zahlensystemen
2.3 Addition von Binärzahlen
2.4 Übung Bitmap
2.5 Übung Kombinationen
2.6 Übung Datenbus
2.7 Übung Adressierung
2.8 Übung A/D- und D/A-Wandlung

Prüfung Nr. 1 (Nur für Lernende von Jürg Arnold!)

3. Codesysteme
3.1 Übersicht
3.2 Theoretische Grundlagen erarbeiten
3.3 Aufgaben zu numerischen Codes
3.4 Aufgabe: Manchestercode lesen
3.5 Aufgabe: Hammingcode prüfen
3.6 Aufgabe: EAN-8-Barcode erstellen
3.7 Aufgaben zum alphanumerischen Code «Unicode»
3.8 Header einer MP3-Audiodatei mit einem Hexeditor analysieren (Optionale Aufgabe)

Prüfung Nr. 2 (Nur für Lernende von Jürg Arnold!)

4. Verlustlose Kompression
4.1 Der Morsecode → Ein verlustloses Komprimierungsverfahren aus dem 18. Jahrhundert
4.2 Studium der Theorie "Verlustlose Komprimierung"
4.3 Übung zu Huffman-Kodierung
4.4 Übung zu RLC
4.5 Übung zu BWT
4.6 Übung zu LZW

5. Verlustbehaftete Kompression und Multimedia
5.1 Einführung
5.2 Theoretische Grundlagen erarbeiten
5.3 DCT-Demo → Visualisierung der DCT-Komprimierung bei JPG
5.4 Multimedia-Aufgaben - Teil 1
5.5 Multimedia-Aufgaben - Teil 2
5.6 Sounddemo: Audioqualitätsstufen vergleichen
5.7 Grafik-SW einsetzen: Arbeiten mit JPG, GIF, TIF, Transparenzfarben und Alphakanälen (Optionale Aufgabe)
5.8 Wissenswertes zu JPG und GIF

Prüfung Nr. 3 (Nur für Lernende von Jürg Arnold!)

6. Kryptologie
6.1 Einführung
6.2 Cryptool-SW installieren
6.3 Symmetrische Verschlüsselungsverfahren → Die Rotationschiffre
6.4 Symmetrische Verschlüsselung → Vigenèreverschlüsselung
6.5 Symmetrische Verschlüsselung → Die XOR-Stromchiffre
6.6 Schlussbetrachtung zu symmetrischer Verschlüsselung
6.7 Das Konzept der asymmetrischen Verschlüsselung
6.8 Symmetrischen Verschlüsselung → Der Schlüsseltausch nach «Diffie-Hellman»
6.9 Symmetrischen Verschlüsselung → Mit «RSA» ver- und entschlüsseln
6.10 Vorteil von hybriden Verschlüsselungsverfahren
6.11 Hybrides Verschlüsselungsverfahren → RSA-AES
6.12 Digitale Signatur
6.13 Hashwert bilden
6.14 Manipulation bei der digitalen Signatur
6.15 Krypto-Praxis → Vorarbeiten
6.16 Gpg4win/Kleopatra → Schlüsselpaar erzeugen
6.17 Gpg4win/Kleopatra → Datei verschlüsseln
6.18 Gpg4win/Kleopatra → Datei signieren
6.19 Gpg4win/Kleopatra → Datei verschlüsseln und signieren
6.20 Studium der Theorie zu «Sichere Emails verschicken»
6.21 Sichere Emails in Thunderbird mit Enigmail verschicken
6.22 Sichere Web-Emails mit Mailvelope aus Firefox verschicken
6.23 Steganografie Praxis (Optionale Aufgabe)
6.24 Sichere Webseiten (Optionale Aufgabe)

Prüfung Nr. 4 (Nur für Lernende von Jürg Arnold!)

7. Musterlösungen (Passwortgeschützt)


1. Einführung

1.1 Die Modulschwerpunkte

  • Zahlensysteme, Logische Verknüpfungen und A/D-Wandlung
  • Codesysteme und ihre Eigenschaften
  • Verlustlose Kompressionsverfahren
  • Verlustbehaftete Kompressionsverfahren
  • Symmetrische Verschlüsselungsverfahren
  • Asymmetrische Verschlüsselungsverfahren
  • Digitale Signatur

1.2 Eine Datei besteht aus Bit und Bytes → Welche Information verbirgt sich dahinter?

Der Computer speichert allerlei Daten. Ob Tabellen, Briefe, Programme, Bild, Ton oder gar Videos, es sind immer Bit’s und Byte’s, um die es sich handelt. Die entsprechende Applikation muss wissen, wie sie mit diesen umzugehen hat. Sie erhalten nun in dieser Übung sechs Datei-Müsterchen, von denen sie herausfinden sollen, was in ihnen steckt. Handelt es sich um ein(e)...

  • Vektorgrafik EPS/SVG/DXF etc., oder
  • Bitmapbild JPG/GIF/TIF etc., oder
  • ASCII-Text, oder
  • Audio & Video MPEG2/MPEG4 etc., oder
  • EXCEL-Tabellenkalkulation, oder
  • Ausführbares Programm EXE, oder
  • PortableDocumentFormat PDF, oder
  • Webseite HTML, oder
  • Microsoft WORD Dokument?

Sie können dazu zufällig ausgesuchte Applikationen benutzen oder den Dateien mit einem Hex-Editor zu Leibe rücken.  In den sechs Dateien ist ein Zitat versteckt, das ihnen sicher ein Schmunzeln entlocken wird:

Zählen sie nun von allen dekomprimierten sechs Dateien die Filegrössen in Byte zusammen (Nicht die Grösse-auf-Datenträger!) und merken sie sich die Summe. Die sechsstellige Zahl dient als Passwort zum Anschauen eines weiteren geschichtsträchtigen Zitats, dass sie sich hier herunterladen können: Zitat.pdf

Tipp: Hex-Editor verwenden. Hier finden sie z.B. den WINHex-Editor


2. Grundlagen Digitaltechnik

Studieren sie den Theoriebeitrag zur Digitaltechnik. Dies beinhaltet die folgenden Themen:

  • Massvorsätze (SI-, und IEC-Präfixe)
  • Bit und Byte
  • Zahlensysteme (Binär, Dezimal, Hexadezimal), insbesondere Zahlenumwandlung, 2-er Komplement für negative Zahlen
  • Analog und Digital (A/D & D/A-Wandlung)
  • Kombinatorik

2.1 Übung SI-Präfixe, Zahlendarstellung, Bit & Byte

Hinweis zu ihrem Taschenrechner: Z.B. Eine Million = 1'000'000 = 1 * 106 = 1EE6 oder 1EXP6

  1. Zwei tausendstel Millimeter in Meter (inkl. dem passenden Massvorsatz/SI-Präfix)
  2. 234 Milliarden Mikroliter in Liter
  3. Wandeln Sie 3 Tage 14 Stunden 16 Minuten und 23 Sekunden in Sekunden um
  4. Gemäss CISCO soll der weltweite Datenverkehr über das IP-Protokoll im Jahre 2021 3.3 ZettaByte betragen. Wie vielen Blue-Ray-Disk's mit einem Fassungsvermögen von je 25GB entspräche dies?
  5. Ein Spannungsmessgerät hat einen Messbereich von 0 bis 99.9 Volt. Wie wird von diesem Gerät eine tatsächliche Spannung von 85.95 Volt angezeigt?
  6. Wie viele Zustände lassen sich mit einem Byte darstellen?
  7. Welches ist der minimale Wert in einem Byte in binärer und dezimaler Darstellung?
  8. Welches ist der maximale Wert in einem Byte in binärer und dezimaler Darstellung?
  9. Wie viele Zustände lassen sich mit 2 Byte = 16 Bit darstellen?
  10. Wie viele Zustände lassen sich mit 4 Byte = 32 Bit darstellen?

2.2 Übungen zu Zahlensystemen

Bevor wir die folgenden Aufgaben lösen können, befassen wir uns mit dem Aufbau der folgenden drei positionellen (Stellenwert-) Zahlensystemen:

  • Zehnersystem (Allgemein bekannt)
  • 2er-System oder Dual- bzw. Binärsystem (So rechnet der Computer)
  • 16-er System oder Hexadezimal oder kurz HEX (Wichtig in der Informatik: HEX-Dump, IPv6-Adresse etc. Einer HEX-Ziffer entsprechen 4 Bit)

Drucken sie dieses Dokument dreimal aus und folgen sie aufmerksam den Ausführungen des Dozenten.

Dieses Arbeitspapier können sie hier downloaden: Zahlensysteme.pdf

Nach dieser Einführung sollte es ihnen nun möglich sein, diese Aufgabe zu lösen:

  1. Binär 0011'1100 ergibt Dezimal?
  2. Binär 1010'1010 ergibt Dezimal?
  3. Binär 1111'1111 ergibt Dezimal?
  4. Hexadezimal 1F ergibt Dezimal?
  5. Hexadezimal AA ergibt Dezimal?
  6. Hexadezimal 100 ergibt Dezimal?
  7. Dezimal 9 ergibt Binär?
  8. Dezimal 100 ergibt Binär?
  9. Dezimal 127 ergibt Binär?
  10. Dezimal 17 ergibt Hexadezimal?
  11. Dezimal 32 ergibt Hexadezimal?
  12. Dezimal 400 ergibt Hexadezimal?
  13. Hexadezimal 1291 ergibt Binär?
  14. Hexadezimal AE90BD ergibt Binär?
  15. Binär 1110'0000'1010'0111 ergibt Hexadezimal?
  16. Binär 1010'0000'1111'0101'0000'0010'0101'0111 ergibt Hexadezimal?

2.3 Addition von Binärzahlen

  1. 0001'0001 + 1000'0001 =
  2. 0001'1011 + 1000'1101 =
  3. 0001'1111 + 1000'1101 =
  4. 0111'1101 + 1011'1111 =

2.4 Übung Bitmap

Zeichnen sie eine quadratische Fläche mit 64 Feldern (Schachbrettmuster mit ausschliesslich weissen Feldern). Sie erhalten folgende 16 Hexadezimalwerte: 80C0E0F0F8FCFEFF. Sie sollen damit die 64 Felder/Häuschen ausmalen. Ein Hexadezimalwert von z.B. «B» würde bedeuten «1011» oder «BlauesFeld/WeissesFeld/BlauesFeld/BlauesFeld». Beim Ausmalen beginnen sie linksoben. Was stellt das Bild dar?

2.5 Übung Kombinationen

  1. Sie müssen 100 Treppenstufen zählen. Nennen sie die Anzahl Bit-Stellen die sie bei einer Zählung im Binärsystem benötigen würden.
  2. Ein Thermometer muss Temperaturen von -100º bis + 100º Celcius in Zehntelsschritten anzeigen können. Welche Breite (=Anzahl paralleler Leitungen) müsste der Datenbus zwischen dem Temperatursensor mit Analog-Digitalwandlung und der Anzeigeeinheit aufweisen?

2.6 Übung Datenbus

  1. Ein 16 Bit breiter Datenbus wird mit 100kHz getaktet. Wie gross wird die Datenübertragungsrate in Mb/s und in MB/s?
  2. Ein 64 Bit breiter Datenbus wird mit 200MHz getaktet. Wie gross wird die Datenübertragungsrate in Gb/s und in GB/s?
  3. Ein 12 Bit breiter Datenbus wird mit 100kHz getaktet. Mit welcher Taktfrequenz müsste ein bitserieller Datenbus getaktet werden, wenn er die gleiche Datenübertragungsrate aufweisen soll?
  4. Ein Datenbus wird mit 400kHz getaktet und überträgt Daten mit einer Übertragungsrate ü = 0.7 MB/s. Wie breit ist der Bus?

2.7 Übung Adressierung

  1. Wie gross ist ein Speicher in MB, wenn der Adressbus 20 Bit breit ist und pro Adresse 16 Bit gespeichert wird?
  2. Wie gross ist ein Speicher in MB, wenn der Adressbus 24 Bit breit ist und pro Adresse 24 Bit gespeichert wird?
  3. Wie gross ist ein Speicher in kB, wenn der Adressbus 18 Bit breit ist und pro Adresse 14 Bit gespeichert wird?

2.8 Übung A/D- und D/A-Wandlung

  1. Der A/D-Wandler in Aufgabe 1 tastet das Analogsignal mit 200 Hz ab
    Wie gross ist die Auflösung in Bit?
    Wie viele verschiedene Werte kann er darstellen?
    Wie gross ist der Speicherbedarf je Sekunde?
    Wie viele Bit werden in 24 Stunden abgespeichert?
  2. Der A/D-Wandler in Aufgabe 2 (Samplingrate: 1kHz bzw. 1 Sample pro Millisekunde) erhält das im Bild gezeigte analoge Signal
    Zeichnen sie das digitalisierte Signal in das Amplituden-Zeit-Diagramm ein
    Bestimmen sie die Amplitudenwerte der Samples als Dezimalwerte und als Binärwerte
    Wie viele Bit werden pro Sekunde gespeichert?
  3. In Aufgabe 3 erhalten sie die digitalisierten Werte einer Kurve. Das Signal soll von Digital zu Analog gewandelt werden
    Zeichnen sie die Kurve (Graphen) in ein Amplituden-Zeit-Diagramm ein

Prüfung Nr. 1

(Diese Prüfung steht leider nur den Lernenden von Jürg Arnold an der TBZ-IT zur Verfügung!)


3. Codesysteme

3.1 Übersicht

Im vorangegangenen Kapitel haben wir gelernt, dass die digitale Recheneinheit (CPU) und weitere Komponenten (Memory, HD etc.) eines PCs Daten nur in binärer Form kennen und auch bearbeiten/speichern können und zur Ein- und Ausgabe in vielen Fällen sogar auf eine vorherige Datenumwandlung (A/D oder D/A) angewiesen sind. Dabei wurden die Begriffe Bit und Byte und die Zahlensysteme Binär und Hexadezimal eingeführt.

Nun möchten wir uns damit befassen, wie Daten zwischen den elektronischen Komponenten ausgetauscht werden. Das heisst, welche Abmachungen (Codes) getroffen werden müssen, damit die Komponenten sich untereinander auch verstehen können.

Einteilung: Codes/Codecs

3.2 Theoretische Grundlagen erarbeiten

Die Theorie zu folgende Themen soll studiert werden:

  1. Eigenschaften von numerischen Codes und Leitungscodes (Beispiele: BinaryCodedDecimal BCD, Aiken, 2-aus-5, Graycode, Manchester mit ↑=1 ,↓=0)
  2. Alphanumerische Codes (AmericanStandardCodeForInformationInterchange ASCII und sein Nachfolger, der Unicode UnicodeTransformationFormat UTF-8)
  3. 2-er Komplement: Binärcode mit negativen Zahlen
    Hammingcode: Ein selbstkorrigierender Code
  4. Barcodes: Der eindimensionale EuropeanArticleNumber EAN-8 und der zweidimensionale QuickResponse QR

Tipp: Lernen sie in Gruppen → Lernende instruieren Lernende

  • Es werden sogenannte Stammgruppen gebildet. (Anzahl Stammgruppen = Klassengrösse / 4)
  • Jedes Mitglied der Stammgruppe entscheidet sich für eines der vier obigen Themen und liest sich während ca. 20 Min. in dieses ein.
  • Die Stammgruppe entsendet nun ihren angehenden Spezialisten in die jeweilige Expertenrunde, wo das Fachgebiet vertieft, Verständnisfragen geklärt und Vorgehensweisen erörtert werden. Erstellen sie in ihrer Expertengruppe ein Factsheet im Umfang von ±2 A4-Seiten, in dem sie alles Wichtige zusammenfassen und ausreichend illustrieren. Dieses Dokument soll anschliessend dem Dozenten zur Überprüfung vorgelegt werden. Erhält das Dokument dessen Segen, kann es in der Cloud veröffentlicht werden. Danach kehrt der Lernende mit Expertenweihe in seine Stammgruppe zurück.
  • In der Stammgruppen soll das Expertenwissen inkl. Factsheet der restlichen Gruppe weitergegeben werden.
  • Nun sollte jeder Lernende in der Lage sein, die Aufgaben auf dieser Seite selbständig zu lösen.

3.3 Aufgaben zu numerischen Codes

Gegeben sind die fünf folgenden numerischen Codes:

Diese Tabelle bezieht sich auf das obige Bild: Füllen sie diese nun aus:

3.4 Aufgabe: Manchestercode lesen

Welche 11 Bits (Data) werden hier übertragen?

3.5 Aufgabe: Hammingcode prüfen

Sie erhalten folgenden 11-bittigen Hammingcode, der ein ASCII-Zeichen repräsentieren soll: «1 1 1 0 0 1 0 1 1 0 0». Welcher Buchstabe wurde ihnen übermittelt? (Maximale Fehleranzahl ist ≤ 1)

3.6 Aufgabe: EAN-8-Barcode erstellen

Sie erhalten folgende 7-stellige Zahl: «3 1 7 7 2 4 6». Erstellen Sie einen EAN-8-Barcode. Verwenden Sie das vorgegebene Raster und vergessen Sie die Prüfziffer nicht.

3.7 Aufgaben zum alphanumerischen Code «Unicode»

Sie benötigen für diese Aufgaben Musterdateien, die sie hier herunterladen können: UnicodeSamples.zip

  1. Untersuchen sie mit einem Hexeditor und einem Texteditor ihrer Wahl die Dateien:
    Sample1_ascii (Die ASCII-Datei enthält vier Character aus dem 7-bit ASCII-Bereich)
    Sample2_utf8 (Die UTF8-Datei enthält vier Character aus dem 7-bit ASCII-Bereich)
    Sample3_ascii (Die ASCII-Datei enthält vier 8-Bit ANSI-ASCII-Zeichen, u.a. ein «ü» gemäss ISO-Standard 8859-2)
    Sample4_utf8 (Die UTF8-Datei enthält ebenfalls vier Character, u.a. das Character «ü» mit Unicode «U+00FC»)
    Sample5_utf8 (Die UTF8-Datei enthält 4 chinesische Zeichen)
  2. Was stellen sie fest bezüglich der Länge und Codierung der UTF-8 Zeichen gegenüber den ASCII-Zeichen?
  3. Können sie den Text in Sample5_utf8 entschlüsseln?
  4. Erstellen sie ein Word-File mit Schriftzeichen, die ihre PC-Tastatur nicht zur Verfügung stellt. Z.B. das Euro-Zeichen. Benutzen sie die im Theorieteil vorgestellten UTF-8 Eingabemethoden

3.8 Header einer MP3-Audiodatei mit einem Hexeditor analysieren (Optionale Aufgabe)

Bei dieser Aufgabe werden wir uns mit einem Dateiformat, nämlich dem «MP3» oder eigentlich «MPEG-1 Audio Layer III» bzw. «MPEG-2 Audio Layer III» (was alles dasselbe bedeutet) beschäftigen.  Sie sollen dabei mit einem Hex-Editor den Dateiinhalt untersuchen. Sie erhalten das zu analysierende MP3-File hier: Hula-Hoop.mp3. (Übrigens ein Soundschnipsel aus dem Animationsfilm Madagascar-2

Analysieren sie das MP3-File mit einem Hex-Editor ihrer Wahl. (Hinweise zu Hex-Editoren liefert die englischsprachige Wikipedia unter "Comparison of hex editors"). Beachten sie dabei folgendes: Ein MP3-File besteht abwechselnd aus MP3-Headern und MP3-Daten. Ein MP3-File kann von einem ID3-Tag umschlossen sein. Ebenfalls kann das File ganz am Anfang XMP-Metadaten besitzen!. Der MP3-Header ist aber eindeutig mit einleitend 11+1 gesetzten Bits gekennzeichnet, also FFF.
(Das MP3-Fileformat wird sowohl auf der deutschen, wie auch der englischen Wikipedia exakt beschrieben)

  • Spielen sie das Audiofile ab
  • Welche Zusatzinformationen können sie mit dem Hex-Editor aus den ID3-Tag's herauslesen?
  • Analysieren sie den MP3-Header und nennen sie die darin gespeicherten Audioparameter (Codec, Samplingrate, Sampling-Frequen etc.)

Und hier noch ein Hinweis, wo sie im Hexdump suchen sollten:


Prüfung Nr. 2

(Diese Prüfung steht leider nur den Lernenden von Jürg Arnold an der TBZ-IT zur Verfügung!)


4. Verlustlose Kompression

Grundsätzlich wird bei der Datenkompression versucht, redundante Informationen zu entfernen. Dazu werden die Daten in eine Darstellung überführt, mit der sich Informationen in kürzerer Form darstellen lassen. Diesen Vorgang übernimmt ein Kodierer und man bezeichnet den Vorgang als Kompression oder Komprimierung. Die Umkehrung bezeichnet man als Dekompression oder Dekomprimierung. Man spricht von verlustfreier Kompression, wenn aus den komprimierten Daten wieder alle Originaldaten gewonnen werden können. Das ist beispielsweise bei der Kompression ausführbarer Programmdateien notwendig. Bei der verlustbehafteten Kompression können die Originaldaten aus den komprimierten Daten meist nicht mehr exakt zurückgewonnen werden, das heisst, ein Teil der Information geht verloren. Solche Verfahren werden häufig zur Bild- oder Videokompression und Audiodatenkompression eingesetzt.

4.1 Der Morsecode → Ein verlustloses Komprimierungsverfahren aus dem 18. Jahrhundert

Der Morsecode ein historisches Verfahren (1838, Samuel Morse und Alfred Lewis Vail) zur verlustlos komprimierten Übermittlung (akustisch, elektrisch oder optisch) von Buchstaben, Zahlen und weiteren Zeichen in Seefunk und Telegrafie.

Die Codes haben unterschiedliche Codelängen. Häufig verwendete Zeichen erhalten einen kurzen Code, seltene einen langen. Ein Beispiel zu Morsecodes: Welche Botschaft beinhaltet die folgende Morsecodesequenz Morsecodebeispiel.mp3? Die Grenzen dieses Codes soll nun das folgende Beispiel aufzeigen. Was kann diese Codesequenz alles bedeuten:
« • • – • • • • – »?

  • « • • | – • • | • | • – » = IDEA
  • « • • – | • • • | • – » = USA
  • « • • – | • • • • | – » = UHT (Abbk. Ultra-High Temperatur)
  • « • • – • | • • • – » = FV (Abbk. Fussballverein)

Also keinesfalls eindeutig! Der Nachteil beim Morsecode liegt darin, dass es ohne spezielles Trennzeichen (Delimiter) oft Missverständnisse geben kann, wo das Zeichen beginnt und wo es endet. Dieses Problem besteht z.B. bei der Huffman-Kodierung nicht, weil hier die Eigenschaft erfüllt sein muss, dass kein Codewort der Beginn eines anderen Codewortes sein darf. Die Huffman-Codierung werden wir in einem späteren Abschnitt behandeln.

4.2 Studium der Theorie "Verlustlose Komprimierung"

Lesen sie die Theoriebeiträge zu folgenden Themen:

  • Huffman
  • RLC
  • BWT
  • LZW

4.3 Übung zu Huffman-Kodierung

Erstellen sie den Huffman-Code für die Textzeile: «GREIFENSEE SCHIFFFAHRT». Beachten sie, dass das Leerzeichen zwischen Greifensee und Schifffahrt auch ein zu codierendes Zeichen ist. Vergleichen sie die Codeeffizient gegenüber der ASCII-Codierung.

4.4 Übung zu RLC

Erstellen sie den RL-Code für das folgende Bitmap. Vergleichen sie den Speicherbedarf des Bitmap's mit und ohne RLC. Bei welchen Bildern ist RLE besonders effizient, wo eher nicht?

4.5 Übung zu BWT

  • Erstellen sie die BWT-Transformation für das Wort «ANANAS» und überprüfen sie mit der rücktransformation ihr Resultat.
  • Sie erhalten den Code «IICRTGH6» in der Burrows-Wheeler-Transformation. Was verbirgt sich dahinter?

4.6 Übung zu LZW

  • Erstellen sie die LZW-Codierung für das Wort «ANANAS» und überprüfen sie mit der Dekodierung ihr Resultat.
  • Sie erhalten den LZW-Code «ERDBE<256>KL<260>». Was verbirgt sich dahinter?

5. Verlustbehaftete Kompression und Multimedia

Da man verlustbehafteter Komprimierung hauptsächlich bei Bild, Video und Audio begegnet, werden in diesem Kapitel auch die wichtigsten Multimedia-Grundlagen besprochen.

5.1 Einführung

Bei der verlustbehafteten Komprimierung können die Originaldaten nicht mehr aus den komprimierten Daten zurückgewonnen werden. Wie stark man Medieninhalte (Bild, Audio, Video) komprimieren soll, hängt davon ab, wieviele Verluste der "Verbraucher" tolerieren kann und ob er die Reduktion überhaupt bemerkt.

Die Wiederherstellung des Originalzustands ging hier so ziemlich "in die Hose" und war kaum im Sinne des Kirchenpersonals:

5.2 Theoretische Grundlagen erarbeiten

Die Theorie zu folgende Themen soll studiert werden: (Untersuchen Sie die Verfahren bezüglich Unterschiede, Auflösung, Bildwiederholfrequenz und Einsatzgebiete)

  1. Farbmodelle: RGB • CMYK • YCbCr inkl. Subsampling
  2. Bildformate (Raster/Vektor/Transparenzfarbe/Alphakanal): JPG • animated-GIF • PNG • SVG • TIF
  3. Videoformate (Codec/Container/Interlacing/Progressiv): H.262 • H.264 • MPEG2 • MPEG4 • QT

Tipp: Lernen sie in Gruppen → Lernende instruieren Lernende

  • Es werden sogenannte Stammgruppen gebildet. (Anzahl Stammgruppen = Klassengrösse / 3)
  • Jedes Mitglied der Stammgruppe entscheidet sich für eines der vier obigen Themen und liest sich während ca. 20 Min. in dieses ein.
  • Die Stammgruppe entsendet nun ihren angehenden Spezialisten in die jeweilige Expertenrunde, wo das Fachgebiet vertieft, Verständnisfragen geklärt und Vorgehensweisen erörtert werden. Erstellen sie in ihrer Expertengruppe ein Factsheet im Umfang von ±2 A4-Seiten, in dem sie alles Wichtige zusammenfassen und ausreichend illustrieren. Dieses Dokument soll anschliessend dem Dozenten zur Überprüfung vorgelegt werden. Erhält das Dokument dessen Segen, kann es in der Cloud veröffentlicht werden. Danach kehrt der Lernende mit Expertenweihe in seine Stammgruppe zurück.
  • In der Stammgruppen soll das Expertenwissen inkl. Factsheet der restlichen Gruppe weitergegeben werden.
  • Nun sollte jeder Lernende in der Lage sein, die Aufgaben auf dieser Seite selbständig zu lösen.

5.3 DCT-Demo → Visualisierung der DCT-Komprimierung bei JPG

DCT-Demo → Vorführung der Visualisierungs-SW durch die Lehrperson

Nach dem Studium der Theorie folgt nun eine Demonstration der DCT-Komprimierung bei JPG. Es werden die dabei entstehenden Artefakte aufgezeigt und einen Hinweis zu Intraframe- und Interframekomprimierung gemacht.

DCT-Demo → Die Lernenden experimentieren mit der Visualisierungs-SW

Laden sie die JAVA-Applikation DCTDemo.zip herunter und entpacken sie diese ZIP-Datei. Sie können DCTDemo verwenden, indem sie die Batch-Datei JPEG.bat starten. Falls sie bei der Ausführung dieses Java-Programm Sicherheitsbedenken haben, führen sie es in einer Sandbox wie z.B. einer Windows-VM aus. DCTDemo besitzt übrigens eine Info-Funktion mit einer ausführlichen Beschreibung des Komprimierungsvorgangs bei DCT. Starten sie nun die Applikation mit JPEG.bat.

Für diese Übung benötigen sie das Bild Demo192x144.gif. Laden sie dieses Bild mit «Eigenes Bild laden...» in die Applikation. Mit diesem Bild soll ihnen die «DCT-Diskrete Cosinus Transformation» etwas näher gebracht werden, ohne näher auf die mathematischen Zusammenhänge einzugehen:

  1. Untersuchen sie in «Schritt1: Farbraumkonvertierung» die Aufteilung des Farbbilds in seine drei Farbkanäle RGB und YCrCb.
  2. Gehen sie zu «Schritt2: Diskrete Cosinus Transformation» und setzen sie den gelben Cursor in die linke schwarze, danach in die rechte weisse Fläche. Wie lauten die originalen und wie die transformierten Werte? Was bringt diese Umwandlung für die Datenreduktion?
  3. Nun setzen sie den gelben Cursor auf die Grenzfläche (Schwarz-Weiss-Grenzlinie). Sie finden dort horizontal angeordnet vier verschiedene Grenzflächen. Wie lauten in diesen vier Fällen die originalen und wie die transformierten Werte?
  4. Welche Schlüsse ziehen sie aus den unterschiedlichen Werten bei dem scharf grenzflächigen Pixelblock gegenüber dem unscharf grenzflächigen bzw. den strichlierten? Bei welchem Pixelblock wird eine höhere Datenreduktion erreicht und welcher «Arbeits-Schritt» führt schlussendlich dazu?
  5. In der Applikation hat es noch weitere Bilder, die sie auch untersuchen können.

5.4 Multimedia-Aufgaben - Teil 1

  1. Wo sind Vektorgrafiken sinnvoll und wo Bitmapgrafiken?
  2. Was ist ein Alphakanal und was versteht man unter Bild-Compositing?
  3. Welche Bildformate unterstützen Alphakanal?
  4. Was ist der Unterschied zwischen einem Alphakanal und einer Transparenzfarbe?
  5. Wie setzt sich ein einzelnes Pixel zusammen?
  6. Welche Komprimierungsverfahren kommen bei JPG, BMP, TIF, GIF und PNG zum Einsatz?
  7. Welche Verfahren führen bei JPG schlussendlich zur Datenreduktion?
  8. Ein RGB-Farbbild benutzt nur die Farbe Weiss als Hintergrund und ein Hellblau mit folgenden Werten: R=33, G=121, B=239 (8 Bit pro Farbkanal). Das Bild soll in ein Graustufenbild umgewandelt werden. Berechnen sie den für das Hellblau entsprechenden Grauwert. (8 Bit pro Farbkanal)
  9. Berechnen Sie die Bandbreite in GigaBit per Second oder kurz Gbps für die Übertragung eines unkomprimierten digitalen Videosignals HD1080i50 ohne Unterabtastung und 8 Bit Auflösung pro Kanal.
  10. Nach wie vielen Minuten unkomprimierten HD1080i50 Video wäre eine DVD-5 (Single-Layer DVD mit 4.7GB) voll?
  11. Berechnen Sie den Datenstrom und den Speicherbedarf für den 90 minütigen Stereo-Audio-Track eines Films in:
    CD-Qualität (44,1kHz bei 16Bit)
    Studio-Qualität (96kHz bei 24Bit)
  12. Was versteht man unter verlustloser und verlustbehafteter Kompression? In was unterscheiden sich diese? Nennen sie Einsatzgebiete.
  13. Video sind bewegte Bilder. Wie können die dabei anfallenden Datenmengen effektiv komprimiert werden? (Ansätze und Strategien)
  14. Im Wort «Verlustbehaftete Komprimierung» steht ja bereits der Hinweis, dass Informationen verloren gehen. Ziel ist es, im vertretbaren Bereich zu bleiben. Kann es auch übertrieben werden? Wo liegen die Grenzen?
  15. Was versteht man unter dem Begriff I-, B- und P-Frame?
  16. Was bedeutet GOP12 bezüglich I-Frames?
  17. Wäre GOP120 sinnvoll?

5.5 Multimedia-Aufgaben - Teil 2

  1. Warum braucht es bei Multimedia (Audio/Video) Kompressionsverfahren?
  2. Warum kommen bei Multimedia (A/V) verlustbehaftete Kompressionsverfahren zum Einsatz?
  3. Was ist der Kompromiss, denn man mit einer verlustbehafteten Komprimierung eingeht?
  4. Mit welchem Verfahren erreichen sie am einfachsten eine Reduktion der Bilddaten?
  5. Beim Bewegtbild (Film) bietet sich welches Datenreduktionsverfahren zusätzlich an?
  6. Das Konzept bei der vorangegangenen Aufgabe kennen sie in ähnlicher Weise auch aus dem IT-Bereich. Um was handelt es sich dabei?
  7. Wie kann mit Subsampling die Bilddatenmenge reduziert werden?
  8. Warum sind die Datenverluste bei Subsampling vertretbar?
  9. Welche Verfahrensschritte werden bei der JPG-Komprimierung durchlaufen?
  10. Welche Nachteile kann das JPG-Komprimierungsverfahren haben?
  11. Was versteht man unter Artefakte?
  12. Welche Artefakte kennen sie?
  13. Was läuft bei dem GIF-Format anders als z.B. bei TIF und JPG?
  14. Was meint man mit Transparenz?
  15. Was für Vorteile hat die Vektorgrafik gegenüber der Bitmapgrafik?
  16. Nennen sie ein wichtiges Einsatzgebiet von Vektorgrafik!
  17. Welche Auflösung und Bildwiederholungsrate hat das heutige Fernsehen (HD)?
  18. Was ist der Unterschied zwischen einem Codec und einem Mediencontainer?

5.6 Sounddemo: Audioqualitätsstufen vergleichen

Sehen sie sich auf ihrem Notebook den Film Vimeo-Videoclip zu Audioqualitaet an. Benutzen sie dazu Kopfhörer. Was haben sie gelernt? Notieren sie sich ihre neuen Erkentnisse.

5.7 Grafik-SW einsetzen: Arbeiten mit JPG, GIF, TIF, Transparenzfarben und Alphakanälen (Optionale Aufgabe)

Im folgenden werden sie eine Grafik-SW ausprobieren. Das mächtigste Werkzeug ist dabei ADOBE's Photoshop. Allerdings ist diese App nicht billig und zurzeit ist auch keine Trial-Version verfügbar. Es gibt aber Alternativen:

  1. Analysieren sie die 5 Graphikdateien in dieser ZIP-Datei Testbilder.zip. Es handelt sich um 2x JPG und 3x GIF.
    Stellen sie von den TBZ-Tower-Bilder die Auflösung (Breite x Höhe) fest und berechnen sie die Anzahl Pixel/Bild, und die theoretischen Speichergrösse bei Annahme von "TrueColor" und "unkomprimiert" (Was bedeutet übrigens TrueColor?)
  2. Vergleichen sie die tatsächlichen Speichergrössen und interpretieren sie diese bezüglich Bildqualität und Artefakte. Welche Unterschiede bestehen zwischen den JPG und den GIF-Bildern bezüglich Farbauflösung?
  3. Was ist das besondere am MisterDD-Bild? Laden sie dazu das Bild in das Graphikprogramm ihrer Wahl
  4. Transparenzfarbe und Alphakanal: Laden sie sich die folgenden Dateien herunter: Micky.gifMicky.tif und MickyBGD.jpg.
    Micky.gif besitzt eine Transparenzfarbe und Micky.tif einen Alphakanal. Erstellen sie nun je eine Bildkomposition: Micky.gif mit MickyBGD.jpg als Hintergrund und Micky.tif mit MickyBGD.jpg als Hintergrund. Vergleichen sie die Resultate. Was ziehen sie für einen Schluss daraus?

5.8 Wissenswertes zu JPG und GIF

  • Das GIF-Format verwendet man vorzugsweise für Grafiken und Logos.
  • GIF-Bilder können von jedem Webbrowsertyp und Version seit der ersten WWW-Generation dargestellt werden.
  • GIF kann eine bestimmte Farbe als Transparenzmaske verwenden.
  • Animated-GIF sind kleine Animationen oder Fimsequenzen in der Form von aneinandergereihten Bilder, die in einer vordefinierten Geschwindigkeit und Wiederholrate im Webbrowser abgespielt werden können. Z.B. der von Webseiten bekannte schaufelnde Bauarbeiter bei «Under construction».
  • Die Umwandlung eines JPG-Bild in das GIF-Format ergibt Artefakte (Farbsäume) infolge der Farbreduzierung gegenüber dem Originalbild.
  • JPG ist für Fotos und Bilder geeignet.
  • JPG kann jeder Webbrowsertyp und Version seit der ersten WWW-Generation darstellen.
  • JPG ist fast beliebig stark verlustbehaftet komprimierbar. (Achtung: Es können Block-Artefakte entstehen)

Prüfung Nr. 3

(Diese Prüfung steht leider nur den Lernenden von Jürg Arnold an der TBZ-IT zur Verfügung!)


6. Kryptologie

Für die folgenden Praxisarbeiten, Prüfungen etc. benötigen Sie einen Notebook/PC mit Windows-Betriebssystem (Kann auch virtuell sein). Die Verwendung eines anderen Betriebssystems: «At your own risk!»

6.1 Einführung

Bei diesem Thema versuchen wir, folgende Fragen zu klären:

  • Zweck der Verschlüsselung
  • Mathematische Grundlagen, Verschlüsselungsalgorithmen, Sicherheit
  • Verschlüsselungsverfahren Symmetrisch, Asymmetrisch bzw. deren Kombination; Vor-, Nachteile und Einsatzgebiete
  • Applikationen
  • Verschlüsselte Datenübertragung im Internet
  • Verschlüsselte E-Mails, S/MIME
  • Digitale Signatur
  • Public-Key-Infrastruktur und Zertifikate

Arbeiten Sie in Zweiergruppen. Die eine Person verkörpert Alice, die andere Bob. Und beide abwechslungsweise Mallory bzw. Eve. (Gerne können Sie diese Aufgabe auch an eine Drittperson übertragen.)

6.2 Cryptool-SW installieren

Bei den folgenden Aufgaben verwenden wir die Applikation «CrypTool1». Dies ist ein Open-Source-Projekt und eine freie Lern-Software, die die Konzepte der Kryptographie und der Kryptoanalyse erfahrbar macht
Installieren Sie nun CrypTool1 auf ihrem Notebook, bei Sicherheitsbedenken als virtuelle Applikation.
Das Cryptool1 können Sie hier herunterladen: www.cryptool.org/en/cryptool1

6.3 Symmetrische Verschlüsselungsverfahren → Die Rotationschiffre

Schon der römische Feldherr und spätere Kaiser Julius Cäsar kannte den folgenden Verschlüsselungstrick und nutzte ihn bei seinen geheimen Botschaften:
«Ersetze jeden Buchstaben durch den, der eine bestimmte Anzahl Stellen später im Alphabet folgt!»
Somit konnte Cäsar effektiv geheime Botschaften übermitteln, wie z.B. diese Zitate:
«GHU DQJULII HUIROJW CXU WHHCHLW GLH ZXHUIHO VLQG JHIDOOHQ LFK NDP VDK XQG VLHJWH WHLOH XQG KHUUVFKH»
Benutzen Sie nun Ihr CrypTool1 und finden Sie heraus, um welche Zitate es sich handelt! Die Rotationschiffre ist übrigens ein klassisches, symmetrisches Verfahren. Nun aber nicht einfach drauflos probieren. Machen Sie etwas Kryptoanalyse mit einem ASCII-Histogramm.

Cryptool → Hier finden Sie das Verfahren "Rotationschiffre":

Cryptool → Hier finden Sie die Analysetools:

Eine kleine Anekdote zur Rotation von Characters:
HAL 9000 ist der fiktive Computer des Raumschiffs Discovery in Stanley Kubricks und Arthur Clarkes Film «2001: Odyssee im Weltraum» und «2010: Das Jahr, in dem wir Kontakt aufnehmen». Weit verbreitet ist die Vermutung, HAL sei die Verballhornung des Markennamens der US-Computerfirma IBM, da die Buchstabenfolge H-A-L das Ergebnis der Dekrementation der Buchstabenfolge I-B-M zu sein scheint (die Buchstaben H, A und L stehen im Alphabet jeweils unmittelbar vor den Buchstaben I, B und M). Arthur C. Clarke hat dieser Behauptung allerdings stets widersprochen: "Ich möchte einen ärgerlichen und hartnäckigen Mythos zerstören, der bereits kurz nach der Veröffentlichung des Films auftauchte. Wie im Roman deutlich gesagt, steht HAL für Heuristisch programmierter ALgorithmischer Computer. Aber ungefähr ein Mal pro Woche entdeckt irgendein Typ, dass HAL jeweils ein Buchstabe vor IBM ist, und geht prompt davon aus, dass Stanley und ich einen Witz über diese geschätzte Institution machen wollten."

6.4 Symmetrische Verschlüsselung → Vigenèreverschlüsselung

Monoalphabetische Chiffrierverfahren wie die Rotationschiffre sind Verfahren, bei denen ein Buchstabe immer durch denselben Buchstaben ersetzt wird. Wir haben gesehen, dass Geheimtexte, die mit einem monoalphabetischen Chiffrierverfahren verschlüsselt sind, oft mit einer Häufigkeitsanalyse geknackt werden können. Im Folgenden werden wir ein einfaches polyalphabetisches Chiffrierverfahren einsetzen. Ein polyalphabetisches Chiffrierverfahren ist ein Verfahren, bei dem ein Buchstabe in der Regel mit verschiedenen Buchstaben chiffriert wird. Ein einfaches polyalphabetisches Chiffrierverfahren wurde von Blaise de Vigenère (* 1523 ; † 1596), basierend auf den Ideen eines Benediktinermönches, entwickelt. Das nach ihm benannte Vigenère-Verfahren galt lange Zeit als unknackbar. (Im Fachbeitrag Kryptografie finden sie übrigens eine Beschreibung der Vigenère-Verschlüsselung.)

  1. Verschlüsseln sie von Hand das Wort «BEEF» mit dem Schlüsselwort «AFFE».
  2. Was bedeutet der von Hand dechiffrierte Geheimtext «WRKXQT», wenn das Schlüsselwort «SECRET» heisst?
  3. Sie haben die folgende Vigenère-Chiffre erhalten:
    « USP JHYRH ZZB GTV CJ WQK OCLGQVFQK GAYKGVFGX NS ISBVB MYBC MWCC NS JOEVB GTV KRQFV AGK XCUSP VFLVBLLBE ESSEILUBCLBXZU SENSWFGVRCES SER CZBCE ILUOLBPYISL CCSZG VZJ»
    Versuchen Sie, die Botschaft mit CrypTool1 zu entschlüsseln. Allerdings fehlt Ihnen diesmal das Passwort. Wer knackt am schnellsten den Geheimtext?
    Wer das Vigenère-Analyseverfahren genauer kennen lernen will, findet unter CrypTool1 / Hilfe / Index / Vigenère-Verschlüsselungsverfahren weitere Informationen.

6.5 Symmetrische Verschlüsselung → Die XOR-Stromchiffre

Bei der Stromchiffre werden Zeichen des Klartextes mit den Zeichen eines Schlüsselstroms XOR-verknüpft.

  1. Verschlüsseln sie die Dezimalzahl 4711 von Hand als XOR-Stromchiffre. Der binäre Schlüssel lautet: 1000‘1101. Zur Kontrolle entschlüsseln sie die erhaltene Chiffre wieder.
    Hinweis: Sie müssen die Dezimalzahl zuerst in eine 16-Bit Binärzahl umwandeln (Führende Nullen nicht weglassen). Sollte der Schlüssel für die Verschlüsselung zu kurz sein, wird dieser mehrmals wiederholt. Der Datenstrom soll in dieser Aufgabe mit der Übertragung des MSB‘s, also von links nach rechts beginnen.
  2. Ein grosser Nachteil der XOR-Verschlüsselung ist der, dass wenn es ihnen gelingt, den Klartext und die Chiffre abzufangen, sie daraus den Key ableiten und für die weitere Entschlüsselung verwenden können. (Vorwärts: 01 XOR 11 = 10 -> Rückwärts: 10 XOR 11 = 01 - Diese Lücke kann bei der Verschlüsselung von drahtlosen Netzen mittels WEP (Wired Equivalent Privacy) zum Problem führen.)
    Wie lautet der im folgenden Bild eingesetzte Schlüssel?
  3. Verwenden sie nun CrypTool1 für die folgende Aufgabe:
    Sie haben vom Klartext «IBM» die Chiffre «[ql» abgefangen und können somit den Key rekonstruieren. Entziffern sie die folgende verschlüsselte Botschaft «V{m».
    (Hinweis: Gross-Kleinschreibung beachten. Beim Key-Hack die ASCII-Chiffre zuerst in HEX umwandeln und dann als Key verwenden. Dazu gibt es übrigens Online-ASCII-HEX-Konverter.)

6.6 Schlussbetrachtung zu symmetrischer Verschlüsselung

  • Man verschlüsselt und entschlüsselt mit demselben Schlüssel
  • Wie soll die Schlüsselübergabe erfolgen?
  • Wieviele Schlüssel werden zwischen 10, 20 oder 100 Kommunikationspartnern erforderlich?

6.7 Das Konzept der asymmetrischen Verschlüsselung



6.8 Symmetrischen Verschlüsselung → Der Schlüsseltausch nach «Diffie-Hellman»

Der Diffie-Hellman-Schlüsseltausch ist ein Protokoll zur Schlüsselvereinbarung. Die Grundidee soll anhand gemischter Farben veranschaulicht werden:

Optional: Falls Sie zu den Lernenden gehören, die sich mit der obigen "Farbanalogie" nicht zufrieden geben, sei die Diffie-Hellman-Demo in CrypTool1 empfohlen: Vergleichen Sie das Verfahren mit der "Veranschaulichung der Grundidee anhand gemischter Farben".
Die Teilschlüssel lassen sich nach der Formel A=ga mod p und B=gb mod p berechnen. Warum und wann ist dieses Verfahren sicher?

6.9 Symmetrischen Verschlüsselung → Mit «RSA» ver- und entschlüsseln

Im Gegensatz zu Diffie-Hellman, wo es nur um den Schlüsseltausch geht, kann mit RSA eine ganze Nachricht verschlüsselt werden. Die Mathematik dahinter ist dabei ähnlich.
Spielen Sie nun mit Ihrem Lernpartner einen RSA-Verschlüsselungsvorgang durch. Dafür benötigen Sie nun einen RSA-Schlüssel:

Nun können Sie eine Nachricht verschlüsseln:

Optional: Falls Sie nun auch noch an der RSA-Mathematik interessiert sind, können Sie mit RSA-Demo eine komplette Verschlüsselung durchprobieren. Wählen Sie dazu zwei Primzahlen und folgen Sie dem weiteren Verlauf der Demo:

6.10 Vorteil von hybriden Verschlüsselungsverfahren

Möchte man mit dem RSA-Verfahren umfangreiche Nachrichten verschlüsseln, hat dies ein nicht zu unterschätzender Nachteil. Welcher?
Darum empfiehlt es sich, die Vorteile der beiden Welten "Symmetrisch" und "Asymmetrisch" zu nutzen: Welche sind das?
Siehe Theorieteil «Kryptografie».

6.11 Hybrides Verschlüsselungsverfahren → RSA-AES

Bei RSA-AES handelt es sich zum Beispiel um ein hybrides Verfahren: Schlüsseltausch asymmetrisch mit RSA und Verschlüsselung der Nachricht symmetrisch mit AES.
Spielen Sie die beiden Demos RSA-AES-Verschlüsselung und RSA-AES-Entschlüsselung sorgfältig durch.

6.12 Digitale Signatur

Worum geht es beim digitalen Signieren? Lesen Sie dazu in der Theorie Kryptologie den Beitrag zu digitaler Signatur mit «RSA»
Danach führen Sie die Signaturdemo in CrypTool1 aus:

Vom Ablauf her unterscheidet sich das Verschlüsselungsverfahren vom Signaturverfahren. Wo liegen die Unterschiede? Wann kommt der Private-Key und wann der Public-Key zum Einsatz?

6.13 Hashwert bilden

Wie Sie nun in der vorangegangenen Aufgabe herausgefunden haben, wird bei der digitalen Signatur ein "Fingerabdruck" der Nachricht erstellt, und dieser mittels Verschlüsselung gegen Verfälschung gesichert. Bei dieser Aufagen soll der "Hashwert" alias "Fingerabdruck" im Zentrum stehen. Führen Sie nun im Cryptool die Hash-Demo aus:

6.14 Manipulation bei der digitalen Signatur

Lesen Sie im Theorieteil zu Kryptologie das Kapitel zu Schwachstellen von «RSA»
Die Quintessenz ist, dass eine Nachricht und sein Hashwert ein-eindeutig sein sollten. Sind sie aber nicht in jedem Fall! Wie Sie in der folgenden Analyse der Hashverfahren erfahren dürfen, kann je nach gewähltem Hashverfahren eine zumindest teilweise Hashwert-Übereinstimmung von verschiedenen Nachrichten erreicht werden. Probieren Sie es doch einfach einmal selber aus:

6.15 Krypto-Praxis → Vorarbeiten

Nun beenden wir unseren Rundgang im CrypTool-Lernlabor und widmen uns den in der Praxis anzutreffenden (Open-Source-) Tools. Zuerst sollen die folgenden Arbeiten erledigt werden.
Anleitungen zu den verwendeten Verschlüsselungsapplikationen lassen sich im Theoriebeitrag «Kryptologie» nachlesen.

  • Neuer E-Mail-Account eröffnen
    Für die folgenden Aufgaben benötigen Sie einen E-Mail-Account, der Webmail unterstützt und die Einbindung in Mailprogramme zulässt.
    Vorgeschlagen wird: SWISSCOM - Service Package Light (Stand Okt. 2018)
  • E-Mail-Client installieren
    Installieren Sie auf Ihrem Notebook den E-Mail-Client Mozilla Thunderbird und richten sie ihr neues Swisscom-E-Mail-Konto darin ein.
  • gpg4win installieren
    Installieren Sie auf Ihrem Notebook gpg4win.

6.16 Gpg4win/Kleopatra → Schlüsselpaar erzeugen

Starten sie nun den gpg4win-Zertifikatsmanager «Kleopatra» und erstellen Sie Ihr eigenes Schlüsselpaar. Tauschen Sie die Public-Keys untereinander aus und pflegen Sie diese in Ihren Zertifikatsmanager ein.
Wie können sie die Authentizität des Ausstellerschlüssels überprüfen? (Stammt dieser Public-Key auch wirklich von der Person, von der ich dies annehme?)

6.17 Gpg4win/Kleopatra → Datei verschlüsseln

Nun soll eine beliebige Datei (Text, Bild etc.) für ihren Kommunikationspartner verschlüsselt werden. Dies kann direkt in Kleopatra erfolgen. Stellen sie das verschlüsselte File ihrem Kommunikationspartner zur Verfügung. (Per E-Mail, USB-Stick etc.) Wenn dieser es entschlüsseln kann, wurde die Aufgabe erfolgreich erledigt.

6.18 Gpg4win/Kleopatra → Datei signieren

Nun soll eine beliebige Datei (Text, Bild etc.) für ihren Kommunikationspartner signiert werden. Dies kann ebenfalls wieder direkt in Kleopatra erfolgen. Stellen sie das File inklusive Signatur ihrem Kommunikationspartner zur Verfügung. (Per E-Mail, USB-Stick etc.) Wenn dieser mit der Signatur die Echtheit ihres Files verifizieren kann, wurde die Aufgabe erfolgreich erledigt.

6.19 Gpg4win/Kleopatra → Datei verschlüsseln und signieren

Nun soll eine beliebige Datei (Text, Bild etc.) für ihren Kommunikationspartner verschlüsselt und signiert werden. Wiederum in Kleopatra. Stellen sie das File inklusive Signatur ihrem Kommunikationspartner zur Verfügung. (Per E-Mail, USB-Stick etc.) Wenn dieser das File entschlüsseln und dank der Signatur den Absender verifizieren kann, wurde die Aufgabe erfolgreich erledigt.

6.20 Studium der Theorie zu «Sichere Emails verschicken»

Lesen sie im Theorieteil Kryptologie den Text Hintergrundwissen zu «Sichere E-Mails verschicken». Dieser behandelt S/MIME und OpenPGP. Vertiefen sie ihr Wissen, indem sie Fachbegriffe auf den entsprechenden Webseiten (Wikipedia etc.) nachschlagen. Eine gute Quelle ist auch das Gpg4win-Kompendium in Kleopatra

6.21 Sichere Emails in Thunderbird mit Enigmail verschicken

Im Auftrag «Sichere Web-Emails aus Thunderbird mit Enigmail» verschlüsseln wir eine E-Mail mit Mailvelope und verschicken diese an unseren Lernpartner.

6.22 Sichere Web-Emails mit Mailvelope aus Firefox verschicken

Im Auftrag «Sichere Web-Emails mit Mailvelope aus Firefox verschicken» verschlüsseln wir eine E-Mail mit Mailvelope und verschicken diese an unseren Lernpartner.

6.23 Steganografie Praxis (Optionale Aufgabe)

Steganografie bezeichnet die verborgene Speicherung oder Übermittlung von Informationen in einem Trägermedium. In unserem Fall ist das Trägermedium eine Bilddatei.

Auftrag:

  1. Installation der Steganografie-SW Openstego:
    Laden sie «Openstegano» herunter und installieren sie es. Sie finden die Software «Setup-OpenStego-0.6.1.exe» (oder höhere Version) hier:
    http://www.openstego.com
    https://github.com/syvaidya/openstego/releases
    Das Programm ist unter WIN10 lauffähig.
    (Falls sie Sicherheitsbedenken haben, verwenden sie eine virtuelle Windows Maschine.)
  2. Versteckte Botschaft in Bilddatei entschlüsseln:
    Sie erhalten die Bilddatei detective.png. Darin ist eine geheime «Openstegano»-Botschaft versteckt. Das Passwort lautet gleich wie der Filename, nämlich «detective». Was wird ihnen da mitgeteilt? Hier kann man die Bilddatei herunterladen: detective.png
  3. Eigene geheime Botschft in Bilddatei verstecken:
    Verschlüsseln sie nun selber mit «Openstegano». Suchen sie sich dazu im Internet ein originelles Bild (jpg mit ca. 300x300Pixel). Dies soll das «Cover File» sein. Erstellen sie mit Notepad oder einem anderen ASCII-Editor ein Textfile mit einer kurzen Botschaft. Dies ist das «Message File». Verschlüsseln sie es nun mit einem Passwort, bestehend aus den ersten drei Buchstaben ihres Vornamens. (Achtung: Umlaute «ä», «ö», «ü» gelten als zwei Buchstaben ae, oe und ue. Somit wäre das Passwort von Björn=bjo oder von Yürsa=yue) Tauschen sie die verschlüsselten Bilddaten gegenseitig aus und versuchen sie herauszufinden, was ihnen ihr Mitschüler mitzuteilen hat.

6.24 Sichere Webseiten (Optionale Aufgabe)

Wie sicher ist eine Webseite? Vor allem dann, wenn sensitive Daten darüber verschickt werden, wie z.B. bei Webshops und Onlinebanking. Gefürchtet ist die "Man-in-the-middle-Atacke, wo eine Person zwischen Webbrowser und Webserver Daten anzapft und modifiziert weiterleitet, bzw. die Antwort abfängt und "bereinigt" an den Kunden zurückgibt. Abhilfe schaft da SSL/TLS, ein Verschlüsselungsprotokoll, dass zwischen Transport-Layer und Applikationslayer (siehe ISO-OSI-Schichtenmodell) für Sicherheit sorgt. Möchte man seine Webseite damit aufrüsten, stellt sich sofort wieder die Frage der Authentizität öffentlicher Schlüssel: d.h. es führt kein Weg an einem offiziellen SSL/TLS Zertifikat vorbei. Ausserdem muss der Webhoster SSL/TLS auch unterstützen.

Im folgenden eine Pulsfühlung in den Sozialen Medien zum Thema:

  • Ein SSL/TLS-Zertifikat macht deine Seite sicherer und ist gut für Google.
  • Schon vor gut zwei Jahren hatte Google angekündigt verschlüsselte Seiten bei den Suchergebnissen bevorzugt zu behandeln.
  • Der Google-Browser Chrome wird unverschlüsselte Seiten demnächst mit einem "Nicht sicher" in der Adresszeile brandmarken.
  • Verschlüsselte Kommunikation sollte ein Grundrecht im Internet sein.
  • Eine verschlüsselte Webseite ist eben nicht per se vertrauenswürdig.
  • Allein mit dem Stichwort Paypal hätten seit Januar 2016 fast 15.000 eindeutig als Phishing-Seiten identifizierte Domains Zertifikate von Let's Encrypt erhalten.
  • Etwas über zwei Jahre nach dem Start der gemeinnützigen Zertifizierungsstelle Let's Encrypt (2016) stellt diese nun über die Hälfte aller SSL-Zertifikate im Netz.

Aufträge: (Fassen sie ihre Resultate, Erkenntnisse etc. in einem Dokument zusammen und laden sie es in ihr ePortfolio!)

  • Diskutieren sie in einer Gruppe zu 2..3 Personen die obigen Aussagen. Haben sie diesbezüglich auch schon Erfahrungen gemacht? Betreiben sie sogar schon eine eigene Webseite?
  • Was bedeutet eigentlich HTTPS?
  • Öffnen sie die beiden folgenden Webseiten und achten sie auf die Unterschiede in der Wedadresszeile. Was stellen sie fest?
    Erste Webseite: https://edu.juergarnold.ch
    Zweite Webseite: https://www.zkb.ch
  • Es wird von SSL/TLS gesprochen: Wie ist der Ablauf bei TLS? Irgendwo kommen da ja noch Zertifikate ins Spiel?
  • Kehren wir nochmals zurück zu Kleopatra (gpg4win): Darin können sie ihre eigenen Schlüsselpare erzeugen. (Datei → Neues Schlüsselpaar...). In der vorangegangenen Aufgabe haben wir ein "Persönliches OpenPGP Schlüsselpaar" erstellt. Da gibt es aber auch noch das "Persönliche X.509-Schlüsselpaar". Probieren sie das auch aus! Was sind die Unterschiede zwischenden den beiden Schlüsselvarianten und was hat S/MIME damit zu tun?
  • Wenn sie sich mit Zertifikaten befassen, "stolpern" sie früher oder später über diese beiden Webseiten:
    http://www.cacert.org.
    https://letsencrypt.org/de
    Was können ihnen diese bieten?
  • Folgdene TLS Zertifikatsarten werden unterschieden:
    • Domain Validated
    • Organization Validated
    • Extended Validation
    Sie möchten einen Webshop betreiben, wo mit Kreditkarte bezahlt werden kann. Welcher Zertifikatstyp ist der Richtige?
  • Aus gesetzlichen Gründen sind sie verpflichtet, den gesamten geschäftlichen EMail-Verkehr zu archivieren, auch den verschlüsselten. Was ist das Problem dabei und wie könnte man diesem begegnen?
  • (Optional) Falls sie Experte zu diesem Thema werden wollen: Sind Ihnen Abkürzungen wie Pinning, OCSP Stapling, SSLStripping HTTPS->HTTP, CAA, DANE, CSR, PKI vertraut?

Prüfung Nr. 4

(Diese Prüfung steht leider nur den Lernenden von Jürg Arnold an der TBZ-IT zur Verfügung!)