Kodierungsalgorithmen



Ähnliche Dokumente
11. Das RSA Verfahren und andere Verfahren

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce

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

10. Kryptographie. Was ist Kryptographie?

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

Erste Vorlesung Kryptographie

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

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Digitale Signaturen. Sven Tabbert

Kryptologie. Verschlüsselungstechniken von Cäsar bis heute. Arnulf May

RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel:

15 Optimales Kodieren

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Public-Key-Kryptographie (2 Termine)

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

Exkurs Kryptographie

Kryptographie eine erste Ubersicht

Primzahlen und RSA-Verschlüsselung

Anleitung Thunderbird Verschlu sselung

Von Cäsar bis RSA. Chiffrierung von der 1. bis zur 8. Klasse. Dr. Anita Dorfmayr Universität Wien. Lehrerfortbildungstag der ÖMG Wien, 13.

KRYPTOLOGIE KRYPTOLOGIE

Kryptologie und Kodierungstheorie

Kapiteltests zum Leitprogramm Binäre Suchbäume

-Verschlüsselung mit S/MIME

Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit)

Einführung in die moderne Kryptographie

vorab noch ein paar allgemeine informationen zur d verschlüsselung:

Professionelle Seminare im Bereich MS-Office

Anmerkungen zur Übergangsprüfung

Elliptische Kurven in der Kryptographie

Sicherer Datenaustausch mit EurOwiG AG

Theoretische Informatik SS 04 Übung 1

Was heißt Kryptographie I? Understanding Cryptography Christof Paar und Jan Pelzl

10.6 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur

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

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes

Verschlüsselung. Chiffrat. Eve

Informatik für Ökonomen II HS 09

6.2 Perfekte Sicherheit

3 ORDNER UND DATEIEN. 3.1 Ordner

Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert.

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.

BSV Software Support Mobile Portal (SMP) Stand

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

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

Computeralgebra in der Lehre am Beispiel Kryptografie

Mathematik für Information und Kommunikation

ARCO Software - Anleitung zur Umstellung der MWSt

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Grundlagen der Theoretischen Informatik, SoSe 2008

-Zertifikatsverwaltung

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

Informatik-Sommercamp Mastermind mit dem Android SDK

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus

Einfache kryptographische Verfahren

Eigene Formatvorlagen

10%, 7,57 kb 20%, 5,3 kb 30%, 4,33 kb 40%, 3,71 kb 50%, 3,34 kb. 60%, 2,97 kb 70%, 2,59 kb 80%, 2,15 kb 90%, 1,62 kb 99%, 1,09 kb

Verschlüsselung und Entschlüsselung

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

Kapitel 3. Codierung von Text (ASCII-Code, Unicode)

Automatische Zertifikatssuche in Outlook-Express einrichten

Lenstras Algorithmus für Faktorisierung

Kryptographie Reine Mathematik in den Geheimdiensten

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

PeDaS Personal Data Safe. - Bedienungsanleitung -

Grundlagen der Informatik (BSc) Übung Nr. 5

Binärdarstellung von Fliesskommazahlen

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10

Einführung in die verschlüsselte Kommunikation

1 topologisches Sortieren

Algorithmische Kryptographie

2 Darstellung von Zahlen und Zeichen

Dokumentation zur Verschlüsselung von Dateien und Mails

Einführung in. Logische Schaltungen

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

Modul Diskrete Mathematik WiSe 2011/12

Nationale Initiative für Internet- und Informations-Sicherheit

R ist freie Software und kann von der Website.

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

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

Kundeninformationen zur Sicheren

Bundesverband Flachglas Großhandel Isolierglasherstellung Veredlung e.v. U g -Werte-Tabellen nach DIN EN 673. Flachglasbranche.

Leichte-Sprache-Bilder

Comtarsia SignOn Familie

Sicherheit von PDF-Dateien

Algorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein.

Kryptographische Algorithmen

Run Length Coding und Variable Length Coding

K-TAG Master. Dateientschlüsselung/ Dateiverschlüsselung für Slaves. Version 1.0

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005

Anleitung. Verschieben des alten -Postfachs (z.b. unter Thunderbird) in den neuen Open Xchange-Account

DEUTSCHE GESELLSCHAFT FÜR ZERSTÖRUNGSFREIE PRÜFUNG E.V.

Um sich zu registrieren, öffnen Sie die Internetseite und wählen Sie dort rechts oben

10. Public-Key Kryptographie

Internationales Altkatholisches Laienforum

GnuPG für Mail Mac OS X 10.4 und 10.5

Transkript:

Kodierungsalgorithmen Komprimierung Verschlüsselung

Komprimierung Zielsetzung: Reduktion der Speicherkapazität Schnellere Übertragung Prinzipien: Wiederholungen in den Eingabedaten kompakter speichern Kodierung von Zeichen entsprechend der Häufigkeit des Auftretens Begriffe: Encoder/Compressor: Programm zur Komprimierung Decoder/Decompressor: Programm zur Rekonstruktion der Originaldaten Rohdaten: Originaldaten Verlustfreie Komprimierung Verlustbehaftete Komprimierung Nichtadaptive Komprimierung: unabhängig von den Eingabedaten Adaptive Komprimierung Semiadaptive Komprimierung: Vorlauf zur Erzeugung von Statistiken über die Eingabedaten Symmetrische Komprimierung: Prinzipiell gleiche Algorithmen zur Kodierung und Dekodierung Asymmetrische Komprimierung: aufwendige Kodierung (selten), wenig aufwendige Dekodierung (oft) Compression ratio: Ausgabegröße/Eingabegröße

Compression factor: Eingabegröße/Ausgabegröße

RLE (Run Length Encoding): N Wiederholungen einen Zeichens werden durch eine Sequenz Escape Character N Zeichen ersetzt. (Escape Character ist natürlich geeignet zu kodieren!) Bei einer durchschnittlichen Lauflänge von L (und damit einer Laufanzahl M=Anzahl der Zeichen / L) bringt RLE eine Einsparung von M*L M*3. RLE wird häufig für Binärdateien verwendet, bei denen nur Folgen von 0 oder 1 als Läufe auftreten und es daher genügt, das erste Zeichen und die Lauflängen zu speichern. Allerdings ist zu beachten, dass dieses Verfahren ineffizient werden kann, wenn die Lauflängen ungeeignet gespeichert werden (z.b. Speicherung als Integer!) RLE wird allerdings i.a. nicht allein angewandt, sondern in Verbindung mit anderen Verfahren!

Huffmann Codierung Huffmann Codierung basiert auf dem Prinzip, einen statisch optimierten binären (Selektor-) Baum zu konstruieren, der sämtliche Zeichen enthält und für den die gewichtete Pfadlänge (Summe über Häufigkeit der Zeichen * Pfadlänge der Zeichen) möglichst gering ist. Algorithmus: 1. Generiere für jedes Zeichen einen Blattknoten, in dem das Zeichen und die relative Häufigkeit eingetragen werden. 2. Solange noch zwei unbearbeitete Knoten vorhanden sind, führe Schritte 3 bis 5 aus: 3. Bestimme zwei unbearbeitete Knoten mit minimaler relativer Häufigkeit und berechne die Summe. 4. Erzeuge einen neuen Knoten mit der Summe als relativer Häufigkeit und den beiden Knoten als Nachfolgern. 5. Markiere die Nachfolger als bearbeitet und den neuen Knoten als nicht bearbeitet. 6. Der Huffmann Code eines Zeichens ergibt sich durch Verfolgung des Pfads im konstruierten Baum, wobei eine Verzweigung in den linken Teilbaum als 0 und eine Verzweigung in den rechten Teilbaum als 1 dargestellt wird. Huffmann Codes sind i.a. nicht eindeutig! Zur Dekodierung muß die Tabelle der Huffmann Codes mitübertragen werden, es sei denn, sie wird universell eingesetzt.

LZ77: Das von Lempel und Ziv entwickelte Verfahren basiert auf der Idee, Wiederholungen in den Eingabedaten zu finden und in der Ausgabe in der Form Position, Länge der Wiederholung darzustellen. Um den Fall fehlender Wiederholungen korrekt zu behandeln, wird zusammen mit der jeweiligen Wiederholung das nächste Zeichen mit ausgegeben. Algorithmus: 1. Lies das erste Zeichen der Eingabe. 2. Solange das Ende der Eingabe nicht erreicht ist, führe die folgenden Schritte durch: 3. Beginnend mit dem aktuellen Eingabezeichen, suche den längsten Treffer in der bisherigen Eingabe. 4. Ausgegeben werden die Position und Länge des Treffers (jeweils 0 für nicht gefunden) und das erste Zeichen nach dem Treffer. 5. Lies das nächste Zeichen der Eingabe. Zur Reduktion der Speicher- und Verarbeitungsanforderungen wird in Schritt 3 im allgemeinen nicht die gesamte bisherige Eingabe betrachtet, sondern ein Fenster der Größe W über die bisherige Eingabe gelegt, so dass nur die letzten W Zeichen der bisherigen Eingabe betrachtet werden. Der Kodierungsaufwand bei LZ77 ist sehr hoch, die Dekodierung ist jedoch sehr einfach und effizient!

LZ78 / LZW Das von Lempel und Ziv entwickelte und von Welsh optimierte Verfahren basiert auf der gleichen Grundidee wie LZ77, allerdings werden die Wiederholungen in einem Dictionary abgelegt und bei der Kodierung anstelle von Verweisen in die bisherige Eingabe Verweise in das Dictionary gespeichert. Algorithmus zur LZW Kodierung: a. Die Zeichen werden gemäß ihrem Zeichencode in dem Dictionary abgelegt (z.b. auf den Positionen 0 bis 255 für 8 bit Zeichensätze). b. Setze die Eingabe I auf das erste Eingabezeichen. c. Solange das Ende der Eingabe nicht erreicht ist, führe die folgenden Schritte durch: d. Lies das nächste Eingabezeichen x. e. Solange Ix im Dictionary enthalten ist, führe Schritt 6 durch: f. Setze I auf Ix, und lies das nächste Eingabezeichen x. g. Gib die Position von I im Dictionary aus. h. Füge Ix an der nächsten freien Position im Dictionary an. i. Setze I auf x. Auf den ersten Blick erscheint LZW gegenüber LZ77 als nachteilig, da die zur Dekodierung das Dictionary notwendig erscheint. Dies ist jedoch nicht der Fall, das Dictionary kann bei der Dekodierung on the fly aufgebaut werden.

Algorithmus zur LZW Dekodierung: a. Die Zeichen werden gemäß ihrem Zeichencode in dem Dictionary abgelegt (z.b. auf den Positionen 0 bis 255 für 8 bit Zeichensätze). b. Setze die Eingabe auf das erste Zeichen v. c. Setze I auf den Dictionaryeintrag an Position v, und gib I aus. d. Solange Zeichen vorhanden sind, führe die folgenden Schritte aus: e. Lies ein Zeichen v. f. Setze J auf den Dictionaryeintrag an Position v. g. Ist J!= null, so setze x auf das erste Zeichen von J, sonst auf das erste Zeichen von I. h. Falls Ix nicht im Dictionary ist, füge Ix an der nächste freie Position im Dictionary an. i. Falls J=null ist, setze J auf Ix. j. Gib J aus. k. Setze I auf J.

Einsatz der Komprimierungsverfahren: Compress LZW Gzip LZ77, Huffmann Gif Jpeg Mpeg LZW DCT, Quantisierung, RLE, Huffmann Frames, Verfahren für jpeg

Verschlüsselung Begriffe: Kryptologie Kryptographie: Entwicklung von Systemen für geheime Kommunikation Kryptoanalyse: Untersuchung von Methoden zur Entschlüsselung von solchen Systemen Kryptosystem: Kombination aus Verschlüsselungssystem und Entschlüsselungssystem (Konkurrierende) Ziele: Sicherheit des Verfahrens: Unbefugter Empfänger soll die Nachricht nicht (mit vertretbarem Aufwand) entschlüsseln können Effizienz von Verschlüsselung und Entschlüsselung

Verfahren: Cäsar Chiffre: Jeder Buchstabe im Alphabet wird um eine feste Anzahl von Stellen verschoben. Tabellenkodierung: Jedem Buchstaben im Alphabet wird eine Kodierung zugeordnet. Vigenere Chiffre (Vernam Chiffre): Verwendung eines kurzen, sich wiederholenden Schlüssels, um für jedes Eingabezeichen die Verschiebung zu bestimmen Je länger der Schlüssel, desto sicherer das Verfahren Im Idealfall ist der Schlüssel so lang wie der Klartext

Public Key Encryption Prinzip: Jeder Benutzer hat einen öffentlichen und einen privaten Schlüssel (public key, private key) Nachrichten werden verschüsselt mit dem öffentlichen Schlüssel des Empfängers. Nachrichten werden entschlüsselt mit dem privaten Schlüssel des Empfängers. Idee: Diffie, Hellmann 1976 Verfahren: RSA (Rivest, Shamir, Adleman) 1977 Grundidee von RSA: Gegeben sind drei große Primzahlen x, y und s (der private Schlüssel). Der öffentliche Schlüssel p wird derart bestimmt, dass gilt. Dann gilt Mit und ergibt sich p*s mod (x-1)*(y-1) =1 M^(p*s) mod N = M. P(M)=M^p mod N (public key encryption) S(C) = C^s mod N (private key decryption) S(P(M))= S(M^p mod N) =

(M^p mod N)^s mod N = M^(p*s) mod N = M.