3 Arten von Kodierungen (Beispiele: 3 + 1)
Quellkodierung
Daten für Übertragung vorbereiten
kompakte und redundanzfreie Darstellung
Beispiele:
Flaggenkode
Morsealphabet
ASCII
Kanalkodierung
quellkodierte Daten transformieren, um bei Übertragung auftretende Fehler zu erkennen und zu korrigieren
Beispiel:
Paritätsbits
Leitungskodierung/ Modulation
Vorgehen bei Kodierung (Schaubild)
2 Arten von Umgang mit Fehlern (Anwendungsbeispiele 3, 2)
Fehlererkennende Codes
im Fehlerfall erneut übertragen
sind schlanker, brauchen weniger Redundanz
Bsp.:
EAN
ISBN
Kontonummerr
Fehlerkorrigierende Codes::
wenn erneute Übertragung nicht möglich/ zu teuer ist
braucht höhere Redundanz
CD-Player
Satelitenkommunikation
Beurteilung Huffman-Code
Es gibt keine Kodierung, die eine kleinere durchschnittliche Codewortlänge hat.
Was bedeuted eindeutig codierbar?
Wenn die Abbildung von Zuständen auf Codeworte injektiv ist
Vorgehen bei Fehlererkennung und 3 Beispiele aus dem alltäglichen Leben
-> Kontrollinformationen hinzufügen
Beispiele aus dem täglichen Leben:
buchstabieren
Buchstabieralphabete
Redundanter Aufbau der natürlichen Sprache
Was sind Paritäten
Paritätscode = fehlererkennender Code
Voraussetzung:
(n-1)-stelle Zahlen zur Basis b übertragen
Empfänger soll korrekte Übertragung überprüfen können
Parität:
zusätzlich hinzugefüge Ziffer = Prüfziffer
die Quersumme der resultierenden n-stelligen Zahl ist durch die Zahlenbasis b teilbar
Paritätscode der Länge n zur Basis b:
Was sind binäre Paritätscodes?
Daten werden im Zahlensystem zur Basis 2 übertragen
Anzahl der übertragenenen Einsen gerade -> Prüfbit ist 0
Anzahl der übertragenenen Einsen ungerade -> Prüfbit ist 1
Wieviele Fehler kann der Paritätscode erkennen?
1 Fehler
-> können keine Vertauschungsfehler erkennen
Was sind Vertauschungsfehler?
wie kann man sie mit Paritätscodes erkennen?
bei Übertragung werden zwei beliebige Zeichen des Codewortes miteinander vertauscht
Kann man nicht - außer man verwendet Gewichte (Bsp. EAN/GTIN)
Wie geht man bei GTIN vor?
GTIN = Global Trade Item Number
besteht aus 8 bzw. 13 Ziffern inkl. Prüfziffer
Gewichtung: w.n=1 (Prüfziffer), w.n-1 = 3, w.n-2 = 1, …
w.n1 = 3 (bei GTIN8) oder w.n1=1 (bei GTIN13)
Was erkennt ein Paritätscode zur Basis b mit Gewichten 1-Fehler
genau dann, wenn alle Gewichte teilerfremd zu b sind
Wann erkennt ein Paritätscode mit Gewichten Vertauschungsfehler?
wenn die Differenz der vertauschten Stellen w.i - w.j teilerfremd zu b
Welche b erkennen keine Einzel- und Vertauschungsfehler
für gerade b gibt es keinen Paritätscode zur Basis b, der alle Einzelfehler und alle Vertauschungsfehler an aufeinanderfolgenden Stellen erkennt
Was ist Cyclic Redundancy Check (CRC)?
was verwendet es?
Auch Fehlererkennend
findet Prüfsequenz fester Länger für Daten beliebiger Länge
verwendet Restklassenring auf Galoisfeld
Beurteilung CRC
erkennt:
alle Einzelfehler
jede ungerade Anzahl von Bitfehlern
alle Bündelfehler (=gehäufte Fehler)
Was sind Faltungscodes
bilden k Eingangsbits (Information) auf n Ausgangsbits (Code) ab
k < n
Zuordnung Information zu Code hängt von bisher codierten Informationen ab
-> Kodierer hat internes Gedächtnis
Informationen werden auch in Folgezuständen kodiert
dadurch leichter wiederherstellbar bei Übertragungsfehlern
Faltung = Ineinanderschachteln von Informationen
Bsp. Trellis Diagram
Was ist (Vorwärts-)Fehlerkorrektur (FEC)?
hier: Nachricht als binäres n-Tupel
V := {0, 1}^n oder Vektor des Vektorraums GF(2)^n
Problem: Kanal addiert (modulo 2) zum ges. Vektor c einen Fehlercode e
Empfänger erhält: x = c + e
Empfänger soll Originalvektor c aus x bestimmen
Was ist der Hamming-Abstand
v = (v.1, .., v.n), w = (w.1, …, w.n)
Abstand d(v, w) = Anzahl der Stellen an denen sich v und w unterscheiden:
Was ist eine Metrik? (in Verbindung mit Hamming-Abstand)
4 Punkte
eine Abbildung d: M x M -> R (eine Abstandsfunktion), wenn für alle u, v, w in M gilt:
d(u, v) >= 0 - es gibt keine negativen Abstände
d(u, v) = 0, g.d.w u = v - jedes Element hat nur zu sich selbstt den Abstand 0
d(u,v) = d(v,u) - Hin- und Rückweg zwischen zwei Elementen ist gleich lang
d(u,v) <= d(u,w) + d(w, v) - der direkte Weg zwischen zwei Elementen ist nie länger als der Umweg über in drittes Element
Was sind t-fehlerkorrigierende Codes?
t eine natürliche Zahl
Eine Teilmenge C von V = {0, 1}^n ist ein t-fehlerkorrigierender Code,
wenn für alle möglichen Paarungen v, w in C gilt:
anders: der Minimalabstand von C mindestens 2t + 1 ist:
Wie funktioniert Fehlerkorrektur Stufe 1?
geg.: 2^m verschiedene Quellzeichen der Länge m, D.1, D.2, …
ges.: Codezeichen der Länge n = m +r durch r Zusatzbits
Annahme:
höchstens 1 Bit wird bei der Übertragung verfälscht
für jedes Quellzeichen gibt es 1 korrektes und n fehlerhafte Codezeichen
Codezeichen-Menge umfasst (n+1)x2^m <? 2^n Zeichen
Wie funktioniert der Hamming-Code?
Grundgedanke: verteile Prüfbits so, dass jedes Datenbit in mindestens 2 Prüfbits berücksichtigt wird
jedes bit im Codewort erhält eine fortlaufende Nummer beginnend mit 1
Positionierungsnummern werden binär dargestellt
Codewort besteht zunächst aus Quellwort
k-tes Paritätsbit an Position 2^k einordnen
binäre Darstellung der Position hat (von rechts gesehen) das k-te Bit gesetzt (alle anderen Bits sind 0)
Wert des k-ten Paritätsbits = Quersumme aller Bits des Codeworts, deren Position in der binären Darstellung das k-te Bit gesetzt haben
Prüfung beim Hamming-Verfahren?
auf Empfängerseite Paritäten prüfen
stimmt alles? -> dann Codewort akzeptieren
nein? -> inkonsistente Paritätsbits betrachten
es gibt nur Einzelfehler
die betreffen Paritätsbits oder Datenbits
-> 2 Fehler:
ein Paritätsbit passt nicht
Paritätsbit selbst wurde verfälscht
sonst würden 2 Paritätsbits nicht stimmen
mehrere Paritätsbits sind nicht konsistent
ein Datenbit wurde verfälscht
Summe der Positionsnummern der inkonsistenten Paritätsbits ist Position des verfälschten Datenbits
Hamming-Verfahren Stufe 2
für Bündelfehler der Länge k
Datenwort in k Teilworte gleicher Länge unterteilen
Teilworte untereinander schreiben und jedes zu einem Codewort ergänzen
Matrix spaltenweise in zusammenhängender Nachricht senden
Empfänger arrangiert Nachricht wieder als Matrix
Ein Burst der Länge k für ganze Nachricht bedeutet:
in jeder Zeile der Matrix kommt höchstens ein Einzehlfehler vor
der kann korrigiert werden
ursprüngliches Einzelwort kann dann richtig korrigiert werden
Was ist der Unterschied zwischen Vorwärts- und Rückswärtskorrektur
Vorwärts = Empfänger erkennt und korrigiert Fehler
Rückwärts = Empfänger erkennt Fehler und Sender korrigiert ihn (z.B. erneutes Senden)
Datensicherheit - 2 Bereiche
Datensicherheit - 4 Schutzziele
Vertrauchlichkeit
Information nur für definierte Benutzergruppe
Integrität
Information gegen beabsichtigte und unbeabsichtigte Verluste und Änderungen schützen
Authentizität
Identität von Sender und Empfänger eindeutig feststellen
Verfügbarkeit
Zugriff auf Informationen im Rahmen der Anforderungen stets möglich
Schutzmaßnamen (8) - Bedrohung (7) Matrix
Was ist Sequenznummerierung?
und 3 Kriterien/Fragestellungen
laufende Nummer hinzufügen zu Nachricht
Kriterien/Fragestellungen:
Länge der Nummer
Initialisierung der Nummer
Wiederherstellung nach einer Unterbrechnung der Nachrichtensequenz
Was macht ein Zeitstempel?
und Fragen
veraltete Informationen können nutzlos werden
Beziehung zwischen Zeit und Nachricht
Anstelle oder in Kombination mit Sequenznummern
Fragen:
Wert und Genauigkeit des Zeitinkrements
Grüße des Zeitgebers
absolute Wert des Zeitgebers (UTC)
Synchronismus der Zeitgeber in verschiedenen Einheiten
Verzögerung zwischen Nachrichtenerzeugung und hinzufügen des Zeitstempels
Verzögerung zwischen Prüfung des Zeitstempels und Nutzen der Information
Wie funktioniert Zeitüberwachung?
Fragen
Fehler, wenn Nachrichtenübermittlung einen kritischen Wert überschreitet
kann vom Sender übernommen werden
braucht Rückkanal
Empfänger antwortet mit Bestätigungsnachricht ACK(i)
maximal zulässige Verzögerung
Genauigkeit der Zeitüberwachung
Wie funktionieren Quellen- und Zielbezeichner?
Quellbezeichner
authentifizieren Quelle ohne zusätzlichen Nachrichtenaustausch
z.B. in unidirektionalen oder Broadcast-Kommunikationssystemen
Zielbezeichner
für Stationen oder Gruppen
dienen der logischen Adressierung
Stationen können ohne Nachrichtenaustausch prüfen, ob Nachricht für sie ist
Einzigartigkeit des Bezeichners im gesamten Übertragungssystem
Größe des Bezeichnerdatenfeldes
2 Arten der Identifikation
Bidirektionale Identifikation
Austausch zwischen Quell- und Zielbezeichner
Dynamische Identifikation
einschließlich der Umwandlung und Rücknachricht empfangener Informationen
Kommunikationsteilnehmer behaupten nicht nur, die richtigen zu sein, sondern verhalten sich auch wie erwartet
Wie funktioniert Rücknachricht?
braucht geeigneten Kanal zurück
enthält:
aus Originalnachricht abgeleitete Daten (identisch oder verändert)
hinzugefügte Daten aus dem lokalen Nutzerprozess des Empfängers
zusätzliche Daten für Sicherheitszwecke
Wie funktioniert Kodierung?
in offenem System: Übertragungscodes zum Entdecken oder Korrigieren von Bit oder Büschelfehler
nicht vertrauenswürdig
zusätzliche Kodierung, um Verfälschung der Nachricht zu verhindern
Fähigkeit alle erwarteten Fehlerarten zu entdecken
Wahrscheinlichkeit, Nachrichtenmanipulation zu entdecken
Wie funktionieren Kryptographische Techniken?
um Angriffe innerhalb eines offenen Übertragungssystems zu kontern
zusammen mit Sicherheitscodierungsverfahren oder separat
nutzen Schlüssel und Algorithmen
Wirkung hängt ab von:
Geheimhaltung der Schlüssel
dessen Länge und sein Management
Stärke der Algorithmen
Technisch:
Leistungsfähigkeit des Algorithmus
Schlüssellänge
Häufigkeit des Schlüsselwechsels
Speicherung eines Schlüssels
Management:
Erzeugen, Speichern, Verteilen und Vernichten der Schlüssel
Management der Einrichtungen
Kontinuierliche Prüfung der kryptographischen Techniken
Wie funktioniert Symmetrische Verschlüsselung?
2 Beispiele
Monoalphabetische Substitution
Cäsarkodierung (verschiebt Buchstaben nur)
Symmetrische Schlüssel-Verfahren
DES = Data Encryption Standard
Blockverschlüsselung auf 64bit Blöcken
16 Iterationsschritte
schnelle Hardwareumsetzung
schnell zu brechen (wenigen Stunden)
3DES
Nachfolger von DES
wendet DES 3 mal mit drei verschiedenen Schlüsseln an
AES = Advanced Encryption Standard
sicher, trotz bekannter Angriffsvektoren
IDEA = International Data Encryption Algorithm
Blowfish, Twofish
Wie funktioniert asymmatrische Verschlüsselung?
und Beispiel
geg.:
privater Schlüssel = Paar (N, e)
öffentlicher Schlüssel = Paar (N,d)
zu verschlüsselnde Nachricht = m < N
RSA
Wie funktioniert Message Digest?
2 Bedingungen an Hashwert
Verfahren
Ziel: Integrität einer unverschlüsselten Nachricht nachweisen
Methode: Nachricht kryptographisch zusammenfassen
nutzt Hashfunktion:
kollisionsfrei - man findet praktisch keine zwei Nachrichten mit demselben Hashwert
Unumkehrbarkeit - man kann aus Hashwert nicht auf Nachricht schließen
Verfahren:
Sender
bildet Hashwert h(m)
Sender verschlüsselt Hashwert mit privatem Schlüssel E(h(m))
Empfänger:
entschlüsselt Hashwert mit öffentlichem Schlüssel des Senders D(E(h(m)) -> h(m)
Vergleicht beide Werte
bei Gleichheit wurde Nachricht nicht verändert
Wie funktioniert digitale Signatur?
Ziel: Identität des Absenders nachweisen
Idee: Message Digest weist auch die Identität des Absenders nach, weil er mit dessem privaten Schlüssel erstellt wurde
Zuordung öffentlicher Schlüssel zu Sender über Zertifizierungsstelle
Last changed9 months ago