Verschlüsselung: Unterschied zwischen den Versionen

Aus Operations-Research-Wiki
Wechseln zu: Navigation, Suche
[gesichtete Version][unmarkierte Version]
Zeile 1: Zeile 1:
 
<math>3\vec x+3\vec y</math>
 
<math>3\vec x+3\vec y</math>
Test
+
Symmetrische Kryptosysteme (Secret Key-Kryptosysteme)
 +
 
 +
Bei der symmetrischen Verschlüsselung ist ein einziger geheimer Schlüssel vorhanden. Er dient sowohl dem Verschlüsseln als auch dem Entschlüsseln. Der Sender chiffriert mit diesem Schlüssel die Nachricht, während der Empfänger sie mit dem gleichen Schlüssel dechiffriert. Der Schlüsselaustausch zwischen dem Sender und dem Empfänger erfolgt über einen sicheren Kanal.
 +
Die symmetrische Verschlüsselung lässt sich in Stromchiffre und Blockchiffre untergliedern.
 +
Bei Stromchiffren wird der Klartext Zeichen für Zeichen verschlüsselt und der Geheimtext Zeichen für Zeichen entschlüsselt. Bei Blockchiffren wird der Text in Zeichenblöcke fester Länge ver- und entschlüsselt.
 +
 
 +
 
 +
 
 +
 
 +
 
 +
                                                                     
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
Caesar-Chiffre
 +
 
 +
Die älteste und einfachste symmetrische Verschlüsselung ist die Caesar-Chiffre.Sie ist auf Julius Caesar (100 – 44 v.Chr.) zurückzuführen, der seine Nachrichten geheim übermittelte. Es handelt sich um eine monoalphabetische Substitution. Dabei wird jeder Buchstabe im Klartext durch den Buchstaben ersetzt, der s Stellen weiter hinten im Alphabet steht. Nach dem Buchstabe „z“ fängt man wieder mit dem Buchstaben „a“ an. Folglich ist s der Schlüssel zum Ver- und Entschlüsseln.
 +
 
 +
 
 +
 
 +
x 1 2 3 4 5 6 7 8 9 10 11 12 13
 +
Klartext
 +
k(x) A B C D E F G H I J K L M
 +
Geheimtext
 +
g(x) M N O P Q R S T U V W X Y
 +
 
 +
x 14 15 16 17 18 19 20 21 22 23 24 25 26
 +
Klartext
 +
k(x) N O P Q R S T U V W X Y Z
 +
Geheimtext g(x) Z A B C D E F G H I J K L
 +
 
 +
Beispiel
 +
Klartext: WIRTSCHAFTSINFO
 +
Geheimtext: IUDFEOTMRFEUZRA
 +
 
 +
Mathematischer Zusammenhang
 +
Man ordnet den Buchstaben die Zahlen von 1 bis 26 zu. Jedem k(x) wird der Buchstabe  g[(x+s)] zugeordnet. Wenn die Zahl (x+s) > 26 ist, muss wieder von 1 gezählt werden. Aus dem Grund berechnet man Modulo 26. Modulo (mod) ermittelt den ganzzahligen Rest aus einer Division zweier ganzer Zahlen.
 +
 
 +
Beispiel
 +
30 mod 26 = 4, da 26*1 + 4 = 30
 +
 
 +
Eine Verschlüsselungsfunktion V lässt sich wie folgt beschreiben:
 +
V[k(x)] = g[(x+s) mod 26]
 +
Die inverse Entschlüsselungsfunktion E lautet demnach:
 +
E[g(x)] = k[(x-s) mod 26]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
One Time Pad
 +
 
 +
Das One Time Pad ist eine Einmalverschlüsselung (one time), die auf dem System der Vigenère-Verschlüsselung basiert. 1918 wurde es vom amerikanischen Kryptologen Gilbert Vernam (1890-1960) entwickelt.
 +
Um die Wiederholung des Schlüssels wie bei der Vigenère-Verschlüsselung zu vermeiden, sind folgende Voraussetzungen für das One Time Pad-Verfahren erforderlich:
 +
 Der Schlüssel muss mindestens genauso lang sein wie der Klartext
 +
 Der Schlüssel muss zufällig sein
 +
 Der Schlüssel darf nur einmal benutzt werden
 +
 Der Schlüssel darf nur zwei Personen bekannt sein
 +
 
 +
Jedes Bit des Klartextes wird mit den Schlüsselbits XOR verknüpft. Somit erhält man die verschlüsselte Nachricht.
 +
Bei der binären Addition gibt es vier Rechenregeln zu beachten:
 +
• 0 + 0 = 0
 +
• 1 + 1 = 0
 +
• 1 + 0 = 1
 +
• 0 + 1 = 1
 +
 
 +
Beispiel
 +
  Unverschlüsselte Nachricht:                100110
 +
+ Schlüssel:                                                                                110001
 +
= XOR-Verknüpfung (verschlüsselte Nachricht):              010111
 +
 
 +
  Verschlüsselte Nachricht: 010111
 +
+ Schlüssel:                                     110001
 +
= XOR-Verknüpfung (unverschlüsselte Nachricht): 100110
 +
 
 +
 
 +
 
 +
 
 +
 
 +
Vorteil Nachteil
 +
• Das One Time Pad gilt als sicheres Verschlüsselungsverfahren aufgrund der einmaligen Verwendung und der Zufälligkeit des Schlüssels • Der Schlüssel muss genauso lang sein wie der Klartext
 +
• Der Schlüssel wird nur einmal verwendet und muss danach vernichtet werden
 +
• Problematisch ist die Übermittlung des Schlüssels
 +
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
Asymmetrische  Kryptosysteme (Public Key-Kryptosysteme)
 +
Die asymmetrischen Kryptosysteme haben einen geheimen (privaten/private) und einen nicht geheimen (öffentlichen/public) Schlüssel. Mit dem öffentlichen Schlüssel kann jeder Daten verschlüsseln und derjenige, der den privaten Schlüssel besitzt kann (als Einziger) die Daten wieder entschlüsseln. Diese Verfahren sind nicht so effizient wie die symmetrischen Verfahren, da sie ca. 10000-mal langsamer sind. Außerdem benötigt man recht lange Schlüssel um die Sicherheit zu gewährleisten. Wenn man die Schlüssel gut wählt, sind die asymmetrischen Verfahren relativ sicher. Außerdem muss man weniger Aufwand bei der Geheimhaltung der Schlüssel betreiben und es gibt keine Schlüsselverteilungsprobleme. In der Praxis werden häufig Mischformen, die hybriden Verfahren, verwendet, die die Vorteile beider Verfahren vereinen. Hierbei wird der bei den symmetrischen Verfahren benötigte Schlüssel asymmetrisch verschlüsselt und somit das Schlüsselverteilungsproblem gelöst.
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
                               
 +
 
 +
 
 +
 
 +
 
 +
Grundidee
 +
Das Prinzip der asymmetrischen Verschlüsselung beruht auf Falltürfunktionen. Diese Funktionen sind leicht zu berechnen aber ohne Geheimnis/Falltür nahezu unmöglich umzukehren. Der public Key ist hierbei die Beschreibung der Funktion, während der private Key die Falltür bildet.
 +
 
 +
Anwendung
 +
Anwendung finden asymmetrische Kryptosysteme bei Verschlüsslungen, Authentifizierungen, digitalen Signaturen und der Sicherung der Integrität. Bekannte Beispiele, die auf asymmetrische Verfahren aufbauen sind OpenPGP oder auch S/MIME, welche im e-Mail Verkehr verwendet werden. Aber auch https, welches die sichere Kommunikation eines Browsers mit dem Server ermöglicht, beruht auf asymmetrischen Verschlüsslungen.
 +
 
 +
RSA - Verfahren
 +
Das RSA-Verfahren ist das erste und bis heute am Häufigsten angewendete Verfahren. Es wurde 1977 von Ronald L. Rivest, Adi Shamir und Leonard M: Adleman entwickelt. Die Idee bei diesem Verfahren beruht auf dem Faktorisierungsproblem. Man kann das Produkt aus zwei Primzahlen ohne Probleme berechnen aber wenn man nun nur das Produkt kennt, ist es sehr zeitaufwändig oder unmöglich die beiden Primzahlen herauszufinden. Umso größer die Primzahlen sind umso schwieriger ihre Berechnung und umso sicherer ist die Verschlüsselung. Der Algorithmus zur Primzahlfaktorisierung von Peter W. Shor könnte das Problem zwar lösen, funktioniert aber nur auf Quantencomputern.
 +
 
 +
Schlüsselerzeugung
 +
 
 +
wähle 2 Primzahlen p und q und berechne das Produkt daraus (RSA-Modul)
 +
 +
 
 +
wähle eine natürliche Zahl e (Verschlüsselungsexponent) mit
 +
  und 
 +
 
 +
berechne den Entschlüsselungsexponent d mit
 +
 +
 
 +
 der öffentliche Schlüssel ist (n,e) und der private Schlüssel ist d
 +
 
 +
Verschlüsselung
 +
 
 +
 +
 
 +
 hier ist m der Klartext, der mit dem öffentlichen Schlüssel verschlüsselt wird; c ist der  verschlüsselte Chiffretext
 +
 
 +
Entschlüsselung
 +
 
 +
 +
 
 +
 nur der Empfänger, der den privaten Schlüssel d besitzt, kann die Nachricht wieder entschlüsseln
 +
 
 +
Beispiel
 +
 
 +
p=11, q=13   n=11 13=143
 +
 
 +
 +
                   e muss teilerfremd zu 120 sein, wähle hier e=23
 +
Inverse zu e berechnen: 
 +
Anmerkung: k wird hier nur benötigt um d zu berechnen und ist für uns nicht relevant
 +
 
 +
Nun kann man sich eine Zahl aussuchen und diese mit n=143, e=23, d=47 verschlüsseln
 +
Hier gewählt: m=7
 +
 +
 
 +
Also ist unser Chiffretext c=2
 +
 
 +
Der Chiffretext wird wieder entschlüsselt
 +
 
 +
 +
 
 +
Somit hat man wieder den ursprünglichen Klartext. Wenn man dem kompletten Alphabet Zahlen zugewiesen hat, kann man mit dieser Methode ganze Texte verschlüsseln.

Version vom 31. Januar 2013, 10:55 Uhr

Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): 3\vec x+3\vec y

Symmetrische Kryptosysteme (Secret Key-Kryptosysteme)

Bei der symmetrischen Verschlüsselung ist ein einziger geheimer Schlüssel vorhanden. Er dient sowohl dem Verschlüsseln als auch dem Entschlüsseln. Der Sender chiffriert mit diesem Schlüssel die Nachricht, während der Empfänger sie mit dem gleichen Schlüssel dechiffriert. Der Schlüsselaustausch zwischen dem Sender und dem Empfänger erfolgt über einen sicheren Kanal. Die symmetrische Verschlüsselung lässt sich in Stromchiffre und Blockchiffre untergliedern. Bei Stromchiffren wird der Klartext Zeichen für Zeichen verschlüsselt und der Geheimtext Zeichen für Zeichen entschlüsselt. Bei Blockchiffren wird der Text in Zeichenblöcke fester Länge ver- und entschlüsselt.








Caesar-Chiffre

Die älteste und einfachste symmetrische Verschlüsselung ist die Caesar-Chiffre.Sie ist auf Julius Caesar (100 – 44 v.Chr.) zurückzuführen, der seine Nachrichten geheim übermittelte. Es handelt sich um eine monoalphabetische Substitution. Dabei wird jeder Buchstabe im Klartext durch den Buchstaben ersetzt, der s Stellen weiter hinten im Alphabet steht. Nach dem Buchstabe „z“ fängt man wieder mit dem Buchstaben „a“ an. Folglich ist s der Schlüssel zum Ver- und Entschlüsseln.


x 1 2 3 4 5 6 7 8 9 10 11 12 13 Klartext k(x) A B C D E F G H I J K L M Geheimtext g(x) M N O P Q R S T U V W X Y

x 14 15 16 17 18 19 20 21 22 23 24 25 26 Klartext k(x) N O P Q R S T U V W X Y Z Geheimtext g(x) Z A B C D E F G H I J K L

Beispiel Klartext: WIRTSCHAFTSINFO Geheimtext: IUDFEOTMRFEUZRA

Mathematischer Zusammenhang Man ordnet den Buchstaben die Zahlen von 1 bis 26 zu. Jedem k(x) wird der Buchstabe g[(x+s)] zugeordnet. Wenn die Zahl (x+s) > 26 ist, muss wieder von 1 gezählt werden. Aus dem Grund berechnet man Modulo 26. Modulo (mod) ermittelt den ganzzahligen Rest aus einer Division zweier ganzer Zahlen.

Beispiel 30 mod 26 = 4, da 26*1 + 4 = 30

Eine Verschlüsselungsfunktion V lässt sich wie folgt beschreiben: V[k(x)] = g[(x+s) mod 26] Die inverse Entschlüsselungsfunktion E lautet demnach: E[g(x)] = k[(x-s) mod 26]




One Time Pad

Das One Time Pad ist eine Einmalverschlüsselung (one time), die auf dem System der Vigenère-Verschlüsselung basiert. 1918 wurde es vom amerikanischen Kryptologen Gilbert Vernam (1890-1960) entwickelt. Um die Wiederholung des Schlüssels wie bei der Vigenère-Verschlüsselung zu vermeiden, sind folgende Voraussetzungen für das One Time Pad-Verfahren erforderlich:  Der Schlüssel muss mindestens genauso lang sein wie der Klartext  Der Schlüssel muss zufällig sein  Der Schlüssel darf nur einmal benutzt werden  Der Schlüssel darf nur zwei Personen bekannt sein

Jedes Bit des Klartextes wird mit den Schlüsselbits XOR verknüpft. Somit erhält man die verschlüsselte Nachricht. Bei der binären Addition gibt es vier Rechenregeln zu beachten: • 0 + 0 = 0 • 1 + 1 = 0 • 1 + 0 = 1 • 0 + 1 = 1

Beispiel

  Unverschlüsselte Nachricht:                 	100110	

+ Schlüssel: 110001 = XOR-Verknüpfung (verschlüsselte Nachricht): 010111

  Verschlüsselte Nachricht:	010111

+ Schlüssel: 110001 = XOR-Verknüpfung (unverschlüsselte Nachricht): 100110



Vorteil Nachteil • Das One Time Pad gilt als sicheres Verschlüsselungsverfahren aufgrund der einmaligen Verwendung und der Zufälligkeit des Schlüssels • Der Schlüssel muss genauso lang sein wie der Klartext • Der Schlüssel wird nur einmal verwendet und muss danach vernichtet werden • Problematisch ist die Übermittlung des Schlüssels














Asymmetrische Kryptosysteme (Public Key-Kryptosysteme) Die asymmetrischen Kryptosysteme haben einen geheimen (privaten/private) und einen nicht geheimen (öffentlichen/public) Schlüssel. Mit dem öffentlichen Schlüssel kann jeder Daten verschlüsseln und derjenige, der den privaten Schlüssel besitzt kann (als Einziger) die Daten wieder entschlüsseln. Diese Verfahren sind nicht so effizient wie die symmetrischen Verfahren, da sie ca. 10000-mal langsamer sind. Außerdem benötigt man recht lange Schlüssel um die Sicherheit zu gewährleisten. Wenn man die Schlüssel gut wählt, sind die asymmetrischen Verfahren relativ sicher. Außerdem muss man weniger Aufwand bei der Geheimhaltung der Schlüssel betreiben und es gibt keine Schlüsselverteilungsprobleme. In der Praxis werden häufig Mischformen, die hybriden Verfahren, verwendet, die die Vorteile beider Verfahren vereinen. Hierbei wird der bei den symmetrischen Verfahren benötigte Schlüssel asymmetrisch verschlüsselt und somit das Schlüsselverteilungsproblem gelöst.






Grundidee Das Prinzip der asymmetrischen Verschlüsselung beruht auf Falltürfunktionen. Diese Funktionen sind leicht zu berechnen aber ohne Geheimnis/Falltür nahezu unmöglich umzukehren. Der public Key ist hierbei die Beschreibung der Funktion, während der private Key die Falltür bildet.

Anwendung Anwendung finden asymmetrische Kryptosysteme bei Verschlüsslungen, Authentifizierungen, digitalen Signaturen und der Sicherung der Integrität. Bekannte Beispiele, die auf asymmetrische Verfahren aufbauen sind OpenPGP oder auch S/MIME, welche im e-Mail Verkehr verwendet werden. Aber auch https, welches die sichere Kommunikation eines Browsers mit dem Server ermöglicht, beruht auf asymmetrischen Verschlüsslungen.

RSA - Verfahren Das RSA-Verfahren ist das erste und bis heute am Häufigsten angewendete Verfahren. Es wurde 1977 von Ronald L. Rivest, Adi Shamir und Leonard M: Adleman entwickelt. Die Idee bei diesem Verfahren beruht auf dem Faktorisierungsproblem. Man kann das Produkt aus zwei Primzahlen ohne Probleme berechnen aber wenn man nun nur das Produkt kennt, ist es sehr zeitaufwändig oder unmöglich die beiden Primzahlen herauszufinden. Umso größer die Primzahlen sind umso schwieriger ihre Berechnung und umso sicherer ist die Verschlüsselung. Der Algorithmus zur Primzahlfaktorisierung von Peter W. Shor könnte das Problem zwar lösen, funktioniert aber nur auf Quantencomputern.

Schlüsselerzeugung

	wähle 2 Primzahlen p und q und berechne das Produkt daraus (RSA-Modul)

	wähle eine natürliche Zahl e (Verschlüsselungsexponent) mit 
  und   
	berechne den Entschlüsselungsexponent d mit

 der öffentliche Schlüssel ist (n,e) und der private Schlüssel ist d

Verschlüsselung


 hier ist m der Klartext, der mit dem öffentlichen Schlüssel verschlüsselt wird; c ist der verschlüsselte Chiffretext

Entschlüsselung


 nur der Empfänger, der den privaten Schlüssel d besitzt, kann die Nachricht wieder entschlüsseln

Beispiel

	p=11, q=13   n=11 13=143


                   e muss teilerfremd zu 120 sein, wähle hier e=23
	Inverse zu e berechnen:  

Anmerkung: k wird hier nur benötigt um d zu berechnen und ist für uns nicht relevant

Nun kann man sich eine Zahl aussuchen und diese mit n=143, e=23, d=47 verschlüsseln Hier gewählt: m=7


Also ist unser Chiffretext c=2

Der Chiffretext wird wieder entschlüsselt


Somit hat man wieder den ursprünglichen Klartext. Wenn man dem kompletten Alphabet Zahlen zugewiesen hat, kann man mit dieser Methode ganze Texte verschlüsseln.