Multimedia Security - Exam
Aufgabe 1)
In dieser Aufgabe betrachten wir symmetrische Verschlüsselungsalgorithmen und ihre Anwendung zur Sicherung von Daten. Symmetrische Verschlüsselung verwendet denselben Schlüssel für die Ver- und Entschlüsselung. Sicherheitsprinzip: Geheimhaltung des Schlüssels ist entscheidend. Wichtige Algorithmen hierfür sind AES, DES, 3DES und Blowfish. Die grundlegende Formel zur Verschlüsselung lautet: \( C = E_k(M) \) und zur Entschlüsselung: \( M = D_k(C) \). Symmetrische Verschlüsselung ist im Allgemeinen schneller als asymmetrische Verschlüsselung, jedoch ist die Schlüsselverteilung problematisch.
a)
1. Theoretische Frage: Erkläre die Problematik der Schlüsselverteilung bei der symmetrischen Verschlüsselung und nenne mögliche Ansätze zur Lösung dieser Problematik. Diskutiere Vor- und Nachteile der verschiedenen Ansätze.
Lösung:
1. Theoretische Frage: Erkläre die Problematik der Schlüsselverteilung bei der symmetrischen Verschlüsselung und nenne mögliche Ansätze zur Lösung dieser Problematik. Diskutiere Vor- und Nachteile der verschiedenen Ansätze.
Problematik der Schlüsselverteilung:
- Bei der symmetrischen Verschlüsselung müssen beide Kommunikationspartner denselben geheimen Schlüssel kennen. Bei der Verteilung des Schlüssels besteht das Risiko, dass der Schlüssel abgefangen wird. Wenn ein Angreifer den Schlüssel erhält, kann er sowohl die verschlüsselten Nachrichten lesen als auch eigene Nachrichten unter dem gleichen Schlüssel verschlüsseln und senden.
- Die sichere Verteilung der Schlüssel wird besonders problematisch, wenn es viele Kommunikationspartner gibt. In einem Netzwerk mit n Teilnehmern wären \(\frac{n(n-1)}{2}\) Schlüsselpaare erforderlich.
- Der Aufwand und die Komplexität der Schlüsselverwaltung steigen exponentiell mit der Anzahl der Benutzer im Netzwerk.
Mögliche Ansätze zur Lösung der Problematik:
- Direkte Schlüsselverteilung:Ein Kommunikationspartner übergibt den Schlüssel direkt an den anderen Partner, z. B. persönlich oder über einen sicheren Kanal.
- Vorteile: Einfach und sicher, wenn der direkte Kanal absolut vertrauenswürdig ist.
- Nachteile: Unpraktisch und unsicher in großen oder weit auseinanderliegenden Netzwerken.
- Nutzung von Schlüsselaustauschprotokollen:Beispiele sind das Diffie-Hellman-Schlüsselaustauschprotokoll oder asymmetrische Verschlüsselung (wie RSA) zur Verteilung des symmetrischen Schlüssels.
- Vorteile: Bietet eine sichere Möglichkeit, Schlüssel über unsichere Kanäle auszutauschen.
- Nachteile: Kann komplex sein und zusätzliche Rechenleistung erfordern.
- Zentrale Schlüsselserver:Ein vertrauenswürdiger zentraler Server, der für die sichere Verteilung und Verwaltung der Schlüssel verantwortlich ist.
- Vorteile: Erleichtert die Verwaltung und Verteilung von Schlüsseln im Netzwerk. Zentralisiert die Sicherheitsverantwortung.
- Nachteile: Der zentrale Server stellt einen Single Point of Failure dar und könnte ein attraktives Ziel für Angriffe sein.
- Verwendung von Pre-Shared Keys (PSKs):Schlüssel werden vorab zwischen den Kommunikationspartnern ausgetauscht, bevor die Kommunikation beginnt.
- Vorteile: Einfache Implementierung und Verwaltung in kleinen Netzwerken.
- Nachteile: Unsicher und unpraktisch bei großen Netzwerken und dynamischen Umgebungen, da es schwierig ist, Schlüssel regelmäßig zu ändern und sicher zu verwalten.
Die Wahl des geeigneten Ansatzes hängt von den spezifischen Anforderungen und der Umgebung ab, in der die symmetrische Verschlüsselung eingesetzt wird. In der Praxis werden oft mehrere dieser Ansätze kombiniert, um die Sicherheit und Effizienz der Schlüsselverteilung zu maximieren.
b)
2. Praktische Anwendung/Aufgabe: Angenommen, Du verwendest den AES-Algorithmus zur Verschlüsselung einer Nachricht mit dem Schlüssel k = '0123456789abcdef'
und der Klartext lautet M = 'Hallo Welt!'
. Verschlüssele die Nachricht mit dem gegebenen Schlüssel und verschicke sie sicher an einen Empfänger. Berechne die verschlüsselte Nachricht C
und zeige dabei die notwendigen Zwischenschritte und Berechnungen. Zur Unterstützung kannst Du die folgende Python-Bibliothek pycryptodome
verwenden.
from Crypto.Cipher import AESfrom Crypto.Util.Padding import pad, unpadkey = b'0123456789abcdef'message = b'Hallo Welt!'# AES-Modus und Verschlüsselungcipher = AES.new(key, AES.MODE_ECB)ciphertext = cipher.encrypt(pad(message, AES.block_size))print(ciphertext)# Entschlüsselung zur Überprüfungplaintext = unpad(cipher.decrypt(ciphertext), AES.block_size)print(plaintext)
Lösung:
2. Praktische Anwendung/Aufgabe: Angenommen, Du verwendest den AES-Algorithmus zur Verschlüsselung einer Nachricht mit dem Schlüssel k = '0123456789abcdef'
und der Klartext lautet M = 'Hallo Welt!'
. Verschlüssele die Nachricht mit dem gegebenen Schlüssel und verschicke sie sicher an einen Empfänger. Berechne die verschlüsselte Nachricht C
und zeige dabei die notwendigen Zwischenschritte und Berechnungen. Zur Unterstützung kannst Du die folgende Python-Bibliothek pycryptodome
verwenden.
Hier sind die Schritte zur Verschlüsselung der Nachricht 'Hallo Welt!'
mit dem AES-Algorithmus:
- Schritt 1: Installiere die
pycryptodome
-Bibliothek. Dies kann über pip erfolgen:
pip install pycryptodome
- Schritt 2: Implementiere den Verschlüsselungsprozess in Python wie folgt:
from Crypto.Cipher import AESfrom Crypto.Util.Padding import pad, unpad# Schlüssel und Nachricht definierenkey = b'0123456789abcdef'message = b'Hallo Welt!'# AES-Verschlüsselung im ECB-Moduscipher = AES.new(key, AES.MODE_ECB)ciphertext = cipher.encrypt(pad(message, AES.block_size))print(f'Verschlüsselter Text: {ciphertext}')# Entschlüsselung zur Überprüfungplaintext = unpad(cipher.decrypt(ciphertext), AES.block_size)print(f'Entschlüsselter Text: {plaintext.decode()}')
- Schritt 3: Führe das obige Skript aus, um die verschlüsselte Nachricht
C
zu berechnen.
Hier ist eine detaillierte Erklärung der Zwischenschritte:
- Importieren der notwendigen Module:Die Module
AES
und pad
werden aus der Bibliothek pycryptodome
importiert. - Definieren des Schlüssels und der Nachricht:Der Schlüssel
k
wird in Bytes definiert, ebenso die Nachricht M
. - Verschlüsselung der Nachricht:Ein
AES
-Objekt wird im ECB-Modus erstellt. Die Nachricht wird dann mit der Funktion pad
auf die Blockgröße von AES aufgefüllt und anschließend verschlüsselt. - Ausgabe des verschlüsselten Textes:Der verschlüsselte Text wird ausgegeben.
- Entschlüsselung zur Überprüfung:Ein neues
AES
-Objekt wird im ECB-Modus erstellt und der verschlüsselte Text wird entschlüsselt. Die entschlüsselte Nachricht wird dann mit der Funktion unpad
entblockt und ausgegeben.
Nach der Ausführung des Skripts erhält man die verschlüsselte Nachricht C
. Dies zeigt, dass der Verschlüsselungsprozess korrekt funktioniert hat.
Aufgabe 2)
Asymmetrische Kryptographie und Public-Key-Infrastruktur: Verfahren der Kryptographie, bei dem verschiedene Schlüssel für Ver- und Entschlüsselung verwendet werden; Grundlage der Public-Key-Infrastruktur (PKI).
- Asymmetrische Kryptographie: Nutzung eines öffentlichen Schlüssels (public key) zum Ver- und eines privaten Schlüssels (private key) zum Entschlüsseln
- RSA, ECC als bekannte Algorithmen
- Public-Key-Infrastruktur (PKI): Gesamtheit der organisatorischen und technischen Mittel zur Verwaltung öffentlicher Schlüssel
- Zertifikatsstellen (CAs) zertifizieren die Zuverlässigkeit öffentlicher Schlüssel
- Digitale Signaturen garantieren Integrität und Authentizität von Daten
- Schlüsselaustausch über Protokolle wie Diffie-Hellman
a)
Erkläre die grundlegende Funktionsweise von asymmetrischer Kryptographie. Illustriere Deine Erklärung mit dem RSA-Algorithmus. Zeige die mathematischen Schritte zur Verschlüsselung und Entschlüsselung einer Nachricht M, wobei Du folgendermaßen vorgehst:
- Wähle zwei verschiedene Primzahlen p und q
- Berechne n = p * q und \phi(n) = (p-1) * (q-1)
- Wähle einen öffentlichen Schlüssel e, der teilerfremd zu \phi(n) ist
- Bestimme den privaten Schlüssel d, sodass (e * d) ≡ 1 (mod \phi(n))
- Zeige die Verschlüsselung einer Nachricht M als: C = M^e mod n
- Zeige, wie die entschlüsselte Nachricht wiederhergestellt wird als: M = C^d mod n
Lösung:
Grundlegende Funktionsweise der asymmetrischen Kryptographie
Die asymmetrische Kryptographie verwendet zwei verschiedene Schlüssel: einen öffentlichen Schlüssel (public key) zum Verschlüsseln und einen privaten Schlüssel (private key) zum Entschlüsseln. Dies ermöglicht sichere Kommunikation, da jeder seine Nachrichten mit dem öffentlichen Schlüssel des Empfängers verschlüsseln kann, aber nur der Empfänger selbst diese Nachrichten mit seinem privaten Schlüssel entschlüsseln kann.
Illustration mit dem RSA-Algorithmus:
Der RSA-Algorithmus ist ein weit verbreiteter Algorithmus in der asymmetrischen Kryptographie. Im Folgenden zeigen wir die mathematischen Schritte zur Verschlüsselung und Entschlüsselung einer Nachricht M:
- Wähle zwei verschiedene Primzahlen p und q: Angenommen, p = 61 und q = 53.
- Berechne n = p * q: n = 61 * 53 = 3233.
- Berechne: \(\phi(n) = (p-1) * (q-1) \) \(\phi(n) = (61-1) * (53-1) = 60 * 52 = 3120 \)
- Wähle einen öffentlichen Schlüssel e, der teilerfremd zu \(\phi(n)\) ist: Angenommen, e = 17 (17 ist teilerfremd zu 3120).
- Bestimme den privaten Schlüssel d, sodass: \(e * d \equiv 1 (mod \phi(n))\) Dies entspricht der Berechnung des modularen Inversen von e modulo \(\phi(n)\). In diesem fall ergibt das: \(d = 2753\).
- Verschlüsselung einer Nachricht M: Angenommen, die Nachricht M sei 65. Die verschlüsselte Nachricht C berechnet sich als: \(C = M^e \mod n \) \(C = 65^{17} \mod 3233 = 2790\).
- Entschlüsselung der Nachricht: Die entschlüsselte Nachricht M berechnet sich als: \(M = C^d \mod n \) \(M = 2790^{2753} \mod 3233 = 65\).
Auf diese Weise wird die Nachricht sicher verschlüsselt und kann nur durch den vorgesehenen Empfänger entschlüsselt werden, der den privaten Schlüssel besitzt.
b)
Beschreibe die Rolle und den Zweck einer Zertifikatsstelle (CA) in einer Public-Key-Infrastruktur (PKI). Diskutiere, wie ein digitales Zertifikat Vertrauen in einer Kommunikationsumgebung schafft. Erläutere abschließend die Schritte, wie ein Benutzer überprüfen kann, ob ein digitales Zertifikat gültig und vertrauenswürdig ist.
Lösung:
Rolle und Zweck einer Zertifikatsstelle (CA) in einer Public-Key-Infrastruktur (PKI)
Eine Zertifikatsstelle (Certification Authority, CA) spielt eine zentrale Rolle in einer Public-Key-Infrastruktur (PKI). Ihre Hauptaufgaben bestehen darin, digitale Zertifikate zu erstellen, auszustellen, zu verwalten und zu widerrufen. Diese Zertifikate sind digitale Dokumente, die den öffentlichen Schlüssel einer Person, Organisation oder Entität mit deren Identität verknüpfen.
Die CA sorgt dafür, dass diese Verknüpfung vertrauenswürdig ist, indem sie die Identität des Antragstellers überprüft, bevor sie das Zertifikat ausstellt. Das Zertifikat enthält neben dem öffentlichen Schlüssel und den Identifikationsdaten auch die Signatur der CA, die es überprüfbar macht.
Wie ein digitales Zertifikat Vertrauen in einer Kommunikationsumgebung schafft
- Authentifizierung: Ein digitales Zertifikat bestätigt die Identität der Kommunikationsteilnehmer. Wenn eine Webseite mit einem SSL/TLS-Zertifikat aufgerufen wird, kann der Benutzer sicher sein, dass die Webseite echt ist und nicht von einem Betrüger erstellt wurde.
- Integrität: Das Zertifikat stellt sicher, dass die übertragenen Daten nicht manipuliert wurden. Wenn Daten mit einem Zertifikat signiert werden, kann der Empfänger überprüfen, ob die Daten unverändert sind.
- Verschlüsselung: Ein digitales Zertifikat ermöglicht die verschlüsselte Übertragung von Daten. Durch die Verwendung des öffentlichen Schlüssels des Empfängers können Daten sicher verschlüsselt und nur vom Empfänger mit seinem privaten Schlüssel entschlüsselt werden.
Schritte zur Überprüfung der Gültigkeit und Vertrauenswürdigkeit eines digitalen Zertifikats
- Prüfung der digitalen Signatur: Überprüfe die digitale Signatur der CA im Zertifikat. Dies stellt sicher, dass das Zertifikat tatsächlich von der angegebenen CA stammt.
- Überprüfung des Ausstellers: Stelle sicher, dass die CA, die das Zertifikat ausgestellt hat, vertrauenswürdig ist und sich im Root-Zertifikatsspeicher des Benutzers oder Systems befindet.
- Überprüfung der Gültigkeitsdauer: Überprüfe, ob das Zertifikat noch gültig ist, indem du das Start- und Enddatum der Gültigkeit prüfst.
- Prüfung auf Widerruf: Überprüfe, ob das Zertifikat widerrufen wurde. Dies kann durch den Zugriff auf die Certificate Revocation List (CRL) der CA oder durch Online Certificate Status Protocol (OCSP) geschehen.
- Übereinstimmung der Domain: Überprüfe, ob die in dem Zertifikat angegebene Domain oder Identität mit der Domain der Website oder des Dienstes übereinstimmt, zu dem die Verbindung hergestellt wird.
Durch diese Schritte kann ein Benutzer sicherstellen, dass ein digitales Zertifikat gültig und vertrauenswürdig ist, was wiederum zur sicheren und zuverlässigen Kommunikation beiträgt.
c)
Erkläre das grundlegende Funktionsprinzip des Diffie-Hellman-Schlüsselaustauschs. Gehe dabei auf die mathematischen Grundlagen ein und illustriere die Schritte, wie zwei Parteien einen gemeinsamen geheimen Schlüssel berechnen können. Verwende folgende Parameter in deinem Beispiel: primitivwurzel g = 5, Primzahl p = 23, private Schlüssel a = 6 und b = 15.
Lösung:
Grundlegendes Funktionsprinzip des Diffie-Hellman-Schlüsselaustauschs
Der Diffie-Hellman-Schlüsselaustausch ist ein kryptographisches Protokoll, das es zwei Parteien ermöglicht, über einen unsicheren Kanal gemeinsam einen geheimen Schlüssel zu berechnen. Dieser Geheimschlüssel kann dann zur Verschlüsselung weiterer Kommunikation verwendet werden.
Mathematische Grundlagen und Schritte
Der Diffie-Hellman-Schlüsselaustausch basiert auf der Schwierigkeit des diskreten Logarithmusproblems. Die generellen Schritte sind wie folgt:
- Beide Parteien einigen sich auf eine große Primzahl p und eine Primitivwurzel g modulo p. Diese Werte sind öffentlich bekannt.
- Jede Partei wählt ihren privaten Schlüssel und berechnet den entsprechenden öffentlichen Schlüssel.
- Die Parteien tauschen ihre öffentlichen Schlüssel aus.
- Jede Partei verwendet den öffentlichen Schlüssel der anderen Partei und ihren eigenen privaten Schlüssel, um den gemeinsamen geheimen Schlüssel zu berechnen.
Beispiel:
- Gegebene Parameter: Primitivwurzel g = 5, Primzahl p = 23, privater Schlüssel der ersten Partei a = 6, privater Schlüssel der zweiten Partei b = 15.
- 1. Öffentliche Werte berechnen: Partei 1 berechnet ihren öffentlichen Schlüssel: \(A = g^a \mod p = 5^6 \mod 23 \) \(A = 15625 \mod 23 = 8 \) Partei 2 berechnet ihren öffentlichen Schlüssel: \(B = g^b \mod p = 5^{15} \mod 23\) \(B = 30517578125 \mod 23 = 19\)
- 2. Öffentliche Schlüssel austauschen: Partei 1 sendet A = 8 an Partei 2, und Partei 2 sendet B = 19 an Partei 1.
- 3. Gemeinsamen geheimen Schlüssel berechnen: Partei 1 berechnet den geheimen Schlüssel als: \(S_1 = B^a \mod p = 19^6 \mod 23\) \(S_1 = 47045881 \mod 23 = 2\) Partei 2 berechnet den geheimen Schlüssel als: \(S_2 = A^b \mod p = 8^{15} \mod 23\) \(S_2 = 35184372088832 \mod 23 = 2\) Beide Parteien haben somit einen gemeinsamen geheimen Schlüssel S = 2.
Durch diese Schritte können Partei 1 und Partei 2 über einen unsicheren Kanal einen gemeinsamen geheimen Schlüssel berechnen, den sie zur weiteren sicheren Kommunikation verwenden können.
Aufgabe 3)
Elliptische-Kurven-Kryptographie (ECC)Elliptische-Kurven-Kryptographie (ECC) nutzt die Mathematik elliptischer Kurven zur Verschlüsselung. ECC bietet bei gleicher Sicherheit kleinere Schlüsselgrößen als RSA.
- Grundlage: Punktoperationen auf elliptischen Kurven
- Elliptische Kurve: Definiert durch die Gleichung \(y^2 = x^3 + ax + b\)
- Schlüsselgenerierung: Private Schlüssel \(d\), Öffentliche Schlüssel \(Q = d \cdot G\)
- Feldarithmetik: Meist \text{mod} \(p\) oder \text{mod} \(2^m\)
- Vorteile: Kleine Schlüssel, hohe Sicherheit
- Anwendungen: ECDSA, ECDH
a)
Gegeben sei eine elliptische Kurve definiert durch die Gleichung \(y^2 = x^3 + 4x + 5\) über dem endlichen Körper \mathbb{F}_7\. Berechne die Punkte auf der elliptischen Kurve. Zeige alle Zwischenschritte Deiner Berechnung.
Lösung:
Elliptische-Kurven-Kryptographie (ECC) Elliptische-Kurven-Kryptographie (ECC) nutzt die Mathematik elliptischer Kurven zur Verschlüsselung. ECC bietet bei gleicher Sicherheit kleinere Schlüsselgrößen als RSA.
- Grundlage: Punktoperationen auf elliptischen Kurven
- Elliptische Kurve: Definiert durch die Gleichung \(y^2 = x^3 + ax + b\)
- Schlüsselgenerierung: Private Schlüssel \(d\), Öffentliche Schlüssel \(Q = d \cdot G\)
- Feldarithmetik: Meist \text{mod} \(p\) oder \text{mod} \(2^m\)
- Vorteile: Kleine Schlüssel, hohe Sicherheit
- Anwendungen: ECDSA, ECDH
Subexercise: Gegeben sei eine elliptische Kurve definiert durch die Gleichung \(y^2 = x^3 + 4x + 5\) über dem endlichen Körper \(\mathbb{F}_7\). Berechne die Punkte auf der elliptischen Kurve. Zeige alle Zwischenschritte Deiner Berechnung.
Berechnungsschritte: Wir müssen alle Punkte \((x, y)\) finden, die die Gleichung \(y^2 = x^3 + 4x + 5\) in \(\mathbb{F}_7\) erfüllen. Das bedeutet, wir arbeiten im endlichen Körper \(\mathbb{F}_7\), wo alle Berechnungen modulo \(7\) durchgeführt werden.
- Finde alle möglichen Werte für \(x\) und berechne \(x^3 + 4x + 5\) modulo \(7\).
- Für \(x = 0\): \(0^3 + 4 \cdot 0 + 5 \pmod{7} = 5\)
- Für \(x = 1\): \(1^3 + 4 \cdot 1 + 5 \pmod{7} = 10 \pmod{7} = 3\)
- Für \(x = 2\): \(2^3 + 4 \cdot 2 + 5 \pmod{7} = 21 \pmod{7} = 0\)
- Für \(x = 3\): \(3^3 + 4 \cdot 3 + 5 \pmod{7} = 50 \pmod{7} = 1\)
- Für \(x = 4\): \(4^3 + 4 \cdot 4 + 5 \pmod{7} = 93 \pmod{7} = 2\)
- Für \(x = 5\): \(5^3 + 4 \cdot 5 + 5 \pmod{7} = 164 \pmod{7} = 3\)
- Für \(x = 6\): \(6^3 + 4 \cdot 6 + 5 \pmod{7} = 279 \pmod{7} = 5\)
- Finde alle \(y\), die die Gleichung \(y^2 = k \pmod{7}\) erfüllen, wobei \(k\) die obigen Ergebnisse sind:
- Für \(x = 0\): \(5 \rightarrow y^2 \equiv 5 \pmod{7}\) Wir suchen \(y\) so dass \(y^2 \equiv 5 \pmod{7}\): \(y = 1, 2, 3, 4, 5, 6\)\ Nur \(y = 3\) und \(y = 4\) erfüllen die Gleichung: \(3^2 = 9 \pmod{7} = 2\) ist falsch, \(4^2 = 16 \pmod{7} = 2\) ist falsch.
- Für \(x = 1\): \(3 \rightarrow y^2 \equiv 3 \pmod{7}\) Wir suchen \(y\) so dass \(y^2 \equiv 3 \pmod{7}\): \(y = 1, 2, 3, 4, 5, 6\) Keine Werte erfüllen \(y^2 \equiv 3\) modulo \(7\).
- Für \(x = 2\): \(0 \rightarrow y^2 \equiv 0 \pmod{7}\) \(y = 0\) ist die einzige Lösung.
- Für \(x = 3\): \(1 \rightarrow y^2 \equiv 1 \pmod{7}\) \(y = 1\) und \(y = 6\) erfüllen beide diese Gleichung.
- Für \(x = 4\): \(2 \rightarrow y^2 \equiv 2 \pmod{7}\) Keine Werte erfüllen \(y^2 \equiv 2\) modulo \(7\).
- Für \(x = 5\): \(3 \rightarrow y^2 \equiv 3 \pmod{7}\) Keine Werte erfüllen \(y^2 \equiv 3\) modulo \(7\).
- Für \(x = 6\): \(5 \rightarrow y^2 \equiv 5 \pmod{7}\) Wir suchen \(y\) so dass \(y^2 \equiv 5 \pmod{7}\). Aber keine Werte erfüllen \(y^2 \equiv 5\) modulo \(7\).
Endgültige Lösung: Die Punkte auf der elliptischen Kurve \(y^2 = x^3 + 4x + 5\) über dem endlichen Körper \(\mathbb{F}_7\) sind:
- \((2, 0)\)
- \((3, 1)\)
- \((3, 6)\)
b)
Angenommen, ein privater Schlüssel \(d = 3\) sei gegeben. Berechne den öffentlichen Schlüssel, wenn der Generatorpunkt \(G = (2,4)\) auf der elliptischen Kurve \(y^2 = x^3 + 4x + 5\) liegt. Verwende die Punktverdopplungs- und Punktaddition-Methoden.
Lösung:
Elliptische-Kurven-Kryptographie (ECC) Elliptische-Kurven-Kryptographie (ECC) nutzt die Mathematik elliptischer Kurven zur Verschlüsselung. ECC bietet bei gleicher Sicherheit kleinere Schlüsselgrößen als RSA.
- Grundlage: Punktoperationen auf elliptischen Kurven
- Elliptische Kurve: Definiert durch die Gleichung \(y^2 = x^3 + ax + b\)
- Schlüsselgenerierung: Private Schlüssel \(d\), Öffentliche Schlüssel \(Q = d \cdot G\)
- Feldarithmetik: Meist \text{mod} \(p\) oder \text{mod} \(2^m\)
- Vorteile: Kleine Schlüssel, hohe Sicherheit
- Anwendungen: ECDSA, ECDH
Subexercise: Angenommen, ein privater Schlüssel \(d = 3\) sei gegeben. Berechne den öffentlichen Schlüssel, wenn der Generatorpunkt \(G = (2, 4)\) auf der elliptischen Kurve \(y^2 = x^3 + 4x + 5\) liegt. Verwende die Punktverdopplungs- und Punktaddition-Methoden.
Berechnungsschritte: Der öffentliche Schlüssel \(Q\) wird berechnet als \(Q = d \cdot G\). Für \(d = 3\) bedeutet dies: \(Q = 3 \cdot G = G + G + G\).
1. Punktverdopplung: Wir berechnen zuerst \(2 \cdot G\). Gegeben \(G = (2, 4)\), verwenden wir die Formel für die Verdopplung eines Punktes auf einer elliptischen Kurve: Wenn der Punkt \(P = (x_1, y_1)\) ist, dann ist der doppelte Punkt \(2P = (x_3, y_3)\). Dies wird wie folgt berechnet:
- \(\lambda = \frac{3x_1^2 + a}{2y_1} \pmod{p}\), wobei \(a\) und \(b\) die Koeffizienten der elliptischen Kurve sind, und \(p\) das Modul ist. In unserem Fall ist \(a = 4\) und \(p = 7\).
- \(x_3 = \lambda^2 - 2x_1 \pmod{p}\)
- \(y_3 = \lambda (x_1 - x_3) - y_1 \pmod{p}\)
Berechnen wir die Zwischenschritte:
Für \(G = (2, 4)\): - \(\lambda = \frac{3(2)^2 + 4}{2(4)} \pmod{7} = \frac{3 \cdot 4 + 4}{8} \pmod{7} = \frac{12 + 4}{8} \pmod{7} = \frac{16}{8} \pmod{7} = 2 \pmod{7}\)
- \(x_3 = 2^2 - 2 \cdot 2 \pmod{7} = 4 - 4 \pmod{7} = 0\)
- \(y_3 = 2 (2 - 0) - 4 \pmod{7} = 2 \cdot 2 - 4 \pmod{7} = 4 - 4 \pmod{7} = 0\)
Somit ist \(2G = (0, 0)\).
2. Punktaddition: Jetzt müssen wir \(Q = 3 \cdot G = 2G + G\) berechnen:
- Summe der Punkte \((x_1, y_1)\) und \((x_2, y_2)\):
- \(\lambda = \frac{y_2 - y_1}{x_2 - x_1} \pmod{p}\)
- \(x_3 = \lambda^2 - x_1 - x_2 \pmod{p}\)
- \(y_3 = \lambda (x_1 - x_3) - y_1 \pmod{p}\)
Für \(2G = (0, 0)\) und \(G = (2, 4)\): - \(\lambda = \frac{4 - 0}{2 - 0} \pmod{7} = \frac{4}{2} \pmod{7} = 2 \pmod{7}\)
- \(x_3 = 2^2 - 0 - 2 \pmod{7} = 4 - 2 \pmod{7} = 2\)
- \(y_3 = 2(0 - 2) - 0 \pmod{7} = 2(-2) \pmod{7} = -4 \pmod{7} = 3\) (Da \(-4 + 7 = 3\))
Somit ist \(Q = (2, 3)\).
Endgültige Lösung: Der öffentliche Schlüssel ist \(Q = (2, 3)\)
c)
Erläutere die Berechnung der Punktaddition auf der elliptischen Kurve mit einem Beispiel, z.B. dem addieren der Punkte \((2,4)\) und \( (5,1)\). Berechne das Resultat Schritt für Schritt.
Lösung:
Elliptische-Kurven-Kryptographie (ECC) Elliptische-Kurven-Kryptographie (ECC) nutzt die Mathematik elliptischer Kurven zur Verschlüsselung. ECC bietet bei gleicher Sicherheit kleinere Schlüsselgrößen als RSA.
- Grundlage: Punktoperationen auf elliptischen Kurven
- Elliptische Kurve: Definiert durch die Gleichung \(y^2 = x^3 + ax + b\)
- Schlüsselgenerierung: Private Schlüssel \(d\), Öffentliche Schlüssel \(Q = d \cdot G\)
- Feldarithmetik: Meist \text{mod} \(p\) oder \text{mod} \(2^m\)
- Vorteile: Kleine Schlüssel, hohe Sicherheit
- Anwendungen: ECDSA, ECDH
Subexercise: Erläutere die Berechnung der Punktaddition auf der elliptischen Kurve mit einem Beispiel, z.B. dem Addieren der Punkte \((2,4)\) und \((5,1)\). Berechne das Resultat Schritt für Schritt.
Berechnung der Punktaddition: Angenommen, wir haben eine elliptische Kurve definiert durch die Gleichung \(y^2 = x^3 + ax + b\) über einem endlichen Körper. In unserem Beispiel verwenden wir die Kurve \(y^2 = x^3 + 4x + 5\). Um die Summe von zwei Punkten \((x_1, y_1) = (2, 4)\) und \((x_2, y_2) = (5, 1)\) zu berechnen, verwenden wir die folgenden Formeln: Wenn die Punkte \(P_1 = (x_1, y_1)\) und \(P_2 = (x_2, y_2)\) gegeben sind, ist die Summe \(P_3 = P_1 + P_2 = (x_3, y_3)\) wie folgt zu berechnen:
- \(\lambda = \frac{y_2 - y_1}{x_2 - x_1} \pmod{p}\)
- \(x_3 = \lambda^2 - x_1 - x_2 \pmod{p}\)
- \(y_3 = \lambda (x_1 - x_3) - y_1 \pmod{p}\)
Berechnungsschritte: - Berechne \(\lambda\):
- Gegeben: \((x_1, y_1) = (2, 4)\) und \((x_2, y_2) = (5, 1)\)
- \(\lambda = \frac{1 - 4}{5 - 2} \pmod{7}\)
- \(\lambda = \frac{-3}{3} \pmod{7}\)
- \(\lambda = \frac{-3 \pmod{7}}{3 \pmod{7}}\)
- Das modulare Inverse von 3 in \(\mathbb{F}_7\) ist 5, da \(3 \cdot 5 \equiv 15 \equiv 1 \pmod{7}\)
- \(\lambda = (-3) \cdot 5 \pmod{7}\)
- \(\lambda = -15 \pmod{7}\)
- \(\lambda = -15 + 21 = 6 \pmod{7}\)
- Berechne \(x_3\):
- \(x_3 = \lambda^2 - x_1 - x_2 \pmod{7}\)
- \(x_3 = 6^2 - 2 - 5 \pmod{7}\)
- \(x_3 = 36 - 7 \pmod{7}\)
- \(x_3 = 29 \pmod{7}\)
- \(x_3 = 29 - 21 = 8 \pmod{7}\)
- \(x_3 = 8 \pmod{7} = 1\)
- Berechne \(y_3\):
- \(y_3 = \lambda (x_1 - x_3) - y_1 \pmod{7}\)
- \(y_3 = 6 (2 - 1) - 4 \pmod{7}\)
- \(y_3 = 6 \cdot 1 - 4 \pmod{7}\)
- \(y_3 = 6 - 4 \pmod{7}\)
- \(y_3 = 2 \pmod{7}\)
Endgültige Lösung: Das Resultat der Punktaddition von \((2, 4)\) und \((5, 1)\) auf der elliptischen Kurve \(y^2 = x^3 + 4x + 5\) ist der Punkt \((1, 2)\).
d)
Diskutiere die Vorteile der Verwendung der ECC gegenüber RSA in Bezug auf die Schlüssellänge und Sicherheit. Vergleiche hierfür die Schlüssellängen und die dazugehörigen Sicherheitsniveaus.
Lösung:
Elliptische-Kurven-Kryptographie (ECC) Elliptische-Kurven-Kryptographie (ECC) nutzt die Mathematik elliptischer Kurven zur Verschlüsselung. ECC bietet bei gleicher Sicherheit kleinere Schlüsselgrößen als RSA.
- Grundlage: Punktoperationen auf elliptischen Kurven
- Elliptische Kurve: Definiert durch die Gleichung \(y^2 = x^3 + ax + b\)
- Schlüsselgenerierung: Private Schlüssel \(d\), Öffentliche Schlüssel \(Q = d \cdot G\)
- Feldarithmetik: Meist \text{mod} \(p\) oder \text{mod} \(2^m\)
- Vorteile: Kleine Schlüssel, hohe Sicherheit
- Anwendungen: ECDSA, ECDH
Vorteile der Verwendung der ECC gegenüber RSA: - Kleinere Schlüssellängen: Ein wesentlicher Vorteil von ECC gegenüber RSA ist die deutlich kleinere Schlüssellänge für ein vergleichbares Sicherheitsniveau. Zum Beispiel:
- Ein 256-Bit-ECC-Schlüssel bietet ungefähr das gleiche Sicherheitsniveau wie ein 3072-Bit-RSA-Schlüssel.
- Ein 384-Bit-ECC-Schlüssel bietet ungefähr das gleiche Sicherheitsniveau wie ein 7680-Bit-RSA-Schlüssel.
- Ein 521-Bit-ECC-Schlüssel bietet ungefähr das gleiche Sicherheitsniveau wie ein 15360-Bit-RSA-Schlüssel.
Die geringere Schlüssellänge bei ECC bedeutet weniger Speicherbedarf und schnellere Berechnungen. - Höhere Sicherheit: ECC bietet für eine gegebene Schlüssellänge höhere Sicherheit als RSA. Dies liegt daran, dass die mathematischen Probleme, auf denen ECC basiert (wie das Diskrete Logarithmusproblem auf elliptischen Kurven), schwieriger zu lösen sind als die zugrunde liegenden Probleme von RSA (wie die Faktorisierung großer Zahlen).
- Effizienz: Die kleineren Schlüsselgrößen von ECC führen zu weniger Datenübertragungen und schnelleren Berechnungen. Dies ist besonders vorteilhaft in Umgebungen mit begrenzten Ressourcen, wie beispielsweise mobilen Geräten und eingebetteten Systemen, wo Speicherplatz und Rechenleistung begrenzt sind.
- Leistungsfähigkeit: In praktischen Anwendungen erfordert die Generierung und Verarbeitung von ECC-Schlüsseln und -Zertifikaten deutlich weniger Rechenleistung als RSA, was zu einer besseren Leistung und Skalierbarkeit führt.
Zusammenfassung: Im Vergleich zu RSA bietet ECC bei gleicher Sicherheit wesentlich kleinere Schlüsselgrößen, was zu geringeren Speicher- und Übertragungskosten sowie schnelleren Berechnungen führt. Darüber hinaus bietet ECC aufgrund der schwerer zu lösenden mathematischen Probleme eine höhere Sicherheit. Diese Vorteile machen ECC zu einer bevorzugten Wahl für moderne kryptografische Anwendungen, insbesondere in ressourcenbeschränkten Umgebungen wie mobilen Geräten und eingebetteten Systemen.
Aufgabe 4)
Robustheit und Erkennung von Wasserzeichen: Gegeben sind Mechanismen zur Sicherstellung, dass Wasserzeichen unter verschiedenen Angriffen und Störungen erkennbar bleiben. Du sollst in diesem Kontext die folgenden Aufgaben bearbeiten: Überprüfung der Robustheit gegen Angriffe wie Rauschen, Kompression, Skalierung, Cropping und andere Manipulationen; Erkennungstechniken wie Korrelation, frequenzbasierte Methoden und Merkmalsextraktion; sowie mathematische Modelle für die Einbettung und Extraktion von Wasserzeichen:
- \[ S = I + \beta W \]
- \[ r = \text{corr}(I_W, W)\]
- Trade-off zwischen Robustheit und Transparenz des Wasserzeichens.
a)
Ein Bild \(I\) wird durch ein Wasserzeichen \(W\) gemäß der Formel \(S = I + \beta W\) überlagert, wobei \(\beta\) ein Einbettungsstärkeparameter ist. 1) Erläutere die Rolle des Parameters \(\beta\) und wie er die Robustheit und Transparenz des Wasserzeichens beeinflusst! 2) Berechne den optimalen Wert von \(\beta\) unter der Annahme, dass der Wert von r zwischen dem eingebetteten Wasserzeichen und dem Originalbild maximiert werden soll und dabei die Transparenz des Wasserzeichens erhalten bleibt. Nutze dabei die Korrelation \(\text{corr}(I_W, W)\), um Deine Antwort zu begründen!
Lösung:
Robustheit und Erkennung von Wasserzeichen: Gegeben sind Mechanismen zur Sicherstellung, dass Wasserzeichen unter verschiedenen Angriffen und Störungen erkennbar bleiben. Du sollst in diesem Kontext die folgenden Aufgaben bearbeiten: Überprüfung der Robustheit gegen Angriffe wie Rauschen, Kompression, Skalierung, Cropping und andere Manipulationen; Erkennungstechniken wie Korrelation, frequenzbasierte Methoden und Merkmalsextraktion; sowie mathematische Modelle für die Einbettung und Extraktion von Wasserzeichen:
S = I + \beta W
r = \text{corr}(I_W, W)
- Trade-off zwischen Robustheit und Transparenz des Wasserzeichens.
Löse die folgende Teilaufgabe: Ein Bild \(I\) wird durch ein Wasserzeichen \(W\) gemäß der Formel \(S = I + \beta W\) überlagert, wobei \(\beta\) ein Einbettungsstärkeparameter ist.
1) Erläutere die Rolle des Parameters \(\beta\) und wie er die Robustheit und Transparenz des Wasserzeichens beeinflusst! - Einfluss von \(\beta\) auf die Robustheit: Ein höherer Parameter \(\beta\) bedeutet, dass das Wasserzeichen stärker in das Bild eingebettet wird. Dies kann die Robustheit des Wasserzeichens erhöhen, da Störungen oder Bearbeitungen des Bildes (wie Kompression oder Rauschen) das Wasserzeichen weniger beeinträchtigen können. Je stärker das Wasserzeichen ins Bild integriert ist, desto schwieriger wird es, das Wasserzeichen vollständig zu entfernen oder so stark zu stören, dass es nicht mehr erkennbar ist.
- Einfluss von \(\beta\) auf die Transparenz: Ein zu hoher \(\beta\)-Wert kann jedoch die Transparenz des Wasserzeichens beeinträchtigen. Dies bedeutet, dass das Wasserzeichen im eingebetteten Bild sichtbar wird, was oft unerwünscht ist, da das Hauptziel eines Wasserzeichens darin besteht, unsichtbar zu bleiben, während es den Urheberrechtsanspruch signalisiert. Umgekehrt kann ein sehr niedriger \(\beta\)-Wert die Transparenz verbessern, aber die Robustheit gegen Manipulationen verringern.
- Trade-off: Es gibt also einen Kompromiss zwischen Robustheit und Transparenz, der durch den Parameter \(\beta\) gesteuert wird.
2) Berechne den optimalen Wert von \(\beta\) unter der Annahme, dass der Wert von \(r\) zwischen dem eingebetteten Wasserzeichen und dem Originalbild maximiert werden soll und dabei die Transparenz des Wasserzeichens erhalten bleibt. Nutze dabei die Korrelation \(\text{corr}(I_W, W)\), um Deine Antwort zu begründen! Um den optimalen Wert von \(\beta\) zu berechnen, können wir uns die Korrelation \(\text{corr}(I_W, W)\) zwischen dem eingebetteten Wasserzeichen \(I_W\) und dem Originalwasserzeichen \(W\) ansehen. Diese Korrelation ist ein Maß dafür, wie gut das eingebettete Wasserzeichen dem Originalwasserzeichen ähnelt.
- Berechnung der Korrelation: Die Korrelation kann wie folgt formuliert werden:
- Setze \(I_W = S = I + \beta W\)
- \(r = \text{corr}(I_W, W)\)
- Dies führt zur Berechnung von: \[ \text{corr}(I_W, W) = \text{corr}(I + \beta W, W) \]
- Optimierung des \(\beta\) Wertes: Nun müssen wir den optimalen Wert von \(\beta\) finden, bei dem \(\text{corr}(I_W, W)\) maximiert wird, ohne die Transparenz des Wasserzeichens zu stark zu beeinträchtigen. Dies bedeutet: \[ \beta = \arg\max \text{corr}(I_W, W) \] Es gibt keine explizite allgemeine Formel für den optimalen \(\beta\)-Wert, da er von den spezifischen Eigenschaften von \(I\) und \(W\) abhängt. Die praktische Vorgehensweise besteht darin, \(\beta\) durch Experimente zu optimieren, indem man die Korrelation und die Transparenz (wahrgenommen durch den menschlichen Betrachter) abwägt.
Es ist ratsam, Simulationen oder empirische Tests durchzuführen, um den besten \(\beta\)-Wert zu ermitteln, bei dem eine akzeptable Korrelation und ausreichende Transparenz erreicht werden.
b)
Ein mit einem Wasserzeichen versehenes Bild \(I_W\) wurde durch verschiedene Manipulationen (z.B. Rauschen, Kompression) verändert. Stelle ein Verfahren zur Erkennung des Wasserzeichens mittels Korrelation vor und beschreibe die Vorgehensweise und den mathematischen Kontext der Formel \(r = \text{corr}(I_W, W)\) im Detail.
Lösung:
Robustheit und Erkennung von Wasserzeichen: Gegeben sind Mechanismen zur Sicherstellung, dass Wasserzeichen unter verschiedenen Angriffen und Störungen erkennbar bleiben. Du sollst in diesem Kontext die folgenden Aufgaben bearbeiten: Überprüfung der Robustheit gegen Angriffe wie Rauschen, Kompression, Skalierung, Cropping und andere Manipulationen; Erkennungstechniken wie Korrelation, frequenzbasierte Methoden und Merkmalsextraktion; sowie mathematische Modelle für die Einbettung und Extraktion von Wasserzeichen:
- S = I + \beta W
- r = \text{corr}(I_W, W)
- Trade-off zwischen Robustheit und Transparenz des Wasserzeichens.
Löse die folgende Teilaufgabe: Ein mit einem Wasserzeichen versehenes Bild \(I_W\) wurde durch verschiedene Manipulationen (z.B. Rauschen, Kompression) verändert. Stelle ein Verfahren zur Erkennung des Wasserzeichens mittels Korrelation vor und beschreibe die Vorgehensweise und den mathematischen Kontext der Formel \(r = \text{corr}(I_W, W)\) im Detail.
Erkennung des Wasserzeichens mittels Korrelation: Die Korrelation ist ein statistisches Maß, das die Stärke und Richtung einer linearen Beziehung zwischen zwei Variablen angibt. In diesem Kontext verwenden wir die Korrelation, um die Ähnlichkeit zwischen dem veränderten Wasserzeichenbild \(I_W\) und dem ursprünglichen Wasserzeichen \(W\) zu messen. Je höher die Korrelation \(r\), desto ähnlicher sind sich die beiden Bilder, was darauf hindeutet, dass das Wasserzeichen noch im Bild vorhanden ist.
- Vorgehensweise:
- Schritt 1: Vorbereitung der Bilder
- Stelle sicher, dass das veränderte Bild \(I_W\) und das Originalwasserzeichen \(W\) die gleiche Größe haben. Falls nicht, passe die Größen entsprechend an.
- Normalisiere die Pixelwerte der Bilder, um Verzerrungen durch unterschiedliche Helligkeiten oder Kontraste zu vermeiden.
- Schritt 2: Berechnung der Korrelation
- Berechne die Mittelwerte der Pixelwerte von \(I_W\) und \(W\): \( \bar{I_W} = \frac{1}{N} \sum_{i=1}^{N} (I_W)_i \) \( \bar{W} = \frac{1}{N} \sum_{i=1}^{N} W_i \) wobei \(N\) die Gesamtzahl der Pixel ist.
- Berechne die Unterschiedsbilder \(I_W - \bar{I_W}\) und \(W - \bar{W}\).
- Berechne das Kreuzprodukt der Unterschiedsbilder: \( C = \sum_{i=1}^{N} ((I_W)_i - \bar{I_W}) \cdot (W_i - \bar{W}) \)
- Berechne die Standardabweichungen der Unterschiedsbilder: \( \sigma_{I_W} = \sqrt{\sum_{i=1}^{N} ((I_W)_i - \bar{I_W})^2} \) \( \sigma_W = \sqrt{\sum_{i=1}^{N} (W_i - \bar{W})^2} \)
- Setze die Korrelation \(r\) zusammen: \( r = \frac{C}{\sigma_{I_W} \cdot \sigma_W} \)
- Schritt 3: Interpretation der Korrelation
- Ein hoher Wert von \(r\) (nahe 1) bedeutet, dass das Wasserzeichen trotz der Manipulationen immer noch stark im Bild vorhanden ist.
- Ein niedriger Wert von \(r\) (nahe 0) deutet darauf hin, dass das Wasserzeichen schwer gestört oder entfernt wurde.
- Ein negativer Wert von \(r\) kann darauf hinweisen, dass eine entgegengesetzte Beziehung zwischen den Bildern besteht, was darauf hindeuten kann, dass das Wasserzeichen möglicherweise invertiert wurde.
Auf diese Weise können wir durch die Berechnung der Korrelation feststellen, ob und in welchem Maße das Wasserzeichen in einem Bild noch vorhanden ist, selbst wenn das Bild verschiedenen Manipulationen ausgesetzt wurde.
c)
Diskutiere verschiedene Angriffe (wie Rauschen, Kompression, Skalierung und Cropping) auf Wasserzeichen. Untersuche und vergleiche die Robustheit der Wasserzeichen gegenüber diesen Angriffen und erläutere, wie frequenzbasierte Methoden und Merkmalsextraktionstechniken dazu beitragen können, die Robustheit der Wasserzeichen zu verbessern!
Lösung:
Robustheit und Erkennung von Wasserzeichen: Gegeben sind Mechanismen zur Sicherstellung, dass Wasserzeichen unter verschiedenen Angriffen und Störungen erkennbar bleiben. Du sollst in diesem Kontext die folgenden Aufgaben bearbeiten: Überprüfung der Robustheit gegen Angriffe wie Rauschen, Kompression, Skalierung, Cropping und andere Manipulationen; Erkennungstechniken wie Korrelation, frequenzbasierte Methoden und Merkmalsextraktion; sowie mathematische Modelle für die Einbettung und Extraktion von Wasserzeichen:
- S = I + \beta W
- r = \text{corr}(I_W, W)
- Trade-off zwischen Robustheit und Transparenz des Wasserzeichens.
Löse die folgende Teilaufgabe:Diskutiere verschiedene Angriffe (wie Rauschen, Kompression, Skalierung und Cropping) auf Wasserzeichen. Untersuche und vergleiche die Robustheit der Wasserzeichen gegenüber diesen Angriffen und erläutere, wie frequenzbasierte Methoden und Merkmalsextraktionstechniken dazu beitragen können, die Robustheit der Wasserzeichen zu verbessern!
Diskussion der Angriffe: - Rauschen: Rauschen kann die Pixelwerte im Bild verändern und somit das Wasserzeichen stören. Ein Wasserzeichen, das in den hochfrequenten Bereichen des Bildes eingebettet ist, kann besonders anfällig für Rauschen sein. Je robuster das Wasserzeichen gegenüber Rauschen ist, desto besser ist es gegen zufällige Änderungen im Bild geschützt.
- Kompression: Bildkompression, insbesondere verlustbehaftete Kompression wie JPEG, kann die Daten des Bildes erheblich reduzieren, was dazu führen kann, dass das Wasserzeichen teilweise oder vollständig verloren geht. Wasserzeichen, die in den niederfrequenten Bereichen des Bildes eingebettet sind, sind tendenziell robuster gegenüber Kompression.
- Skalierung: Skalierung kann das Bild vergrößern oder verkleinern, was dazu führt, dass die räumliche Auflösung des Wasserzeichens geändert wird. Starke Verkleinerung kann dazu führen, dass das Wasserzeichen unkenntlich wird.
- Cropping: Cropping (Beschneiden) entfernt Teile des Bildes, wodurch das Wasserzeichen unvollständig oder sogar vollständig entfernt werden kann. Hier ist die Positionierung des Wasserzeichens im Bild entscheidend für seine Robustheit.
Vergleich der Robustheit der Wasserzeichen: - Wasserzeichen, die in niederfrequenten Bereichen des Bildes eingebettet sind, sind tendenziell robuster gegenüber Kompression, jedoch anfälliger gegenüber Skalierung.
- Wasserzeichen, die in den hochfrequenten Bereichen eingebettet sind, sind häufig widerstandsfähiger gegenüber Skalierung und Cropping, aber anfälliger gegenüber Rauschen und Kompression.
Frequenzbasierte Methoden: Frequenzbasierte Methoden nutzen die Transformationen wie die diskrete Kosinustransformation (DCT) oder die Wavelet-Transformation, um das Bild in Frequenzbereiche zu zerlegen.
- Diskrete Kosinustransformation (DCT): Die DCT teilt das Bild in verschiedene Frequenzkomponenten auf. Wasserzeichen können in die niederfrequenten (robust gegen Kompression) oder hochfrequenten (robust gegen Scaling und Cropping) Komponenten eingebettet werden. Dies bietet eine Möglichkeit, das Wasserzeichen besser zu verstecken und gleichzeitig seine Robustheit gegenüber bestimmten Angriffen zu verbessern.
- Wavelet-Transformation: Die Wavelet-Transformation zerlegt das Bild hierarchisch in unterschiedliche Frequenzbereiche und bietet so eine größere Flexibilität für die Platzierung von Wasserzeichen, die robust gegenüber unterschiedlichen Arten von Angriffen sind.
Merkmalsextraktionstechniken: Merkmalsextraktionstechniken konzentrieren sich auf wichtige Bildmerkmale wie Ecken, Kanten oder Texturen, um Wasserzeichen an Schlüsselstellen im Bild zu platzieren.
- Eckendetektion: Ecken sind robuste Merkmale, die sogar nach Transformationen wie Skalierung oder Rotation bestehen bleiben. Ein eingebettetes Wasserzeichen an den Ecken des Bildes kann daher eine höhere Robustheit bieten.
- Kantendetektion: Kanten haben ebenfalls Stabilität gegenüber vielen Arten von Bildbearbeitungen. Durch die Einbettung des Wasserzeichens entlang der Kanten kann die Erkennung auch unter verschiedenen Angriffen zuverlässiger sein.
Durch die Anwendung frequenzbasierter Methoden und Merkmalsextraktionstechniken kann die Robustheit der Wasserzeichen signifikant verbessert werden, indem sie gezielt in stabile und wenig störanfällige Bereiche des Bildes eingebettet werden.