184189/Fragenkatalog/WS07
Aus WinfWiki
Fragenkatalog zur Prüfung aus der Lehrversanstaltung SW/KRY VU an der TU Wien im WS 2007/08.
Dieser Fragenkatalog ist eine Sammlung der Fragen die der Vortragende in der VU gestellt hat und die womöglich zur Prüfung kommen.Er baut vollständig auf dem Fragenkatalog von 2005 auf.
Bitte an alle: Lasst uns den Fragenkatalog entsprechend der in der VO gestellten Fragen anpassen (alte Fragen löschen - mit neuen erweitern). Für die Prüfung hilft das sicherlich allen.
Kapitel 1 und 2
Was bedeutet Kryptographie?
(WS07)
Kryptografie bzw. -graphie (aus dem griechischen kryptós, "verborgen", und gráphein, "schreiben") ist die Wissenschaft der Verschlüsselung von Informationen ("Geheimschriften") und damit ein Teilgebiet der Kryptologie.
Es gibt 4 wesentliche Hauptziele: Vertraulichkeit der Nachricht, Datenintegrität der Nachricht, Authentifizierung und Verbindlichkeit
[by ad-min | Quelle: http://www.wikipedia.de]
Was bedeutet Cipher?
(WS07)
cipher = das Chiffrieren [Chiffrieren ist ein gängiges (französisches) Wort für Verschlüsseln]
[by ad-min | Quelle http://dict.leo.org; http://www.computerlexikon.com/begriff.php?id=138]
Nenne sie die 4 Ziele der Kryptographie
(WS07)
Wie schon in Frage 1 angeschnitten hat die moderne Kryptografie vier Hauptziele:
1. Vertraulichkeit der Nachricht: Nur der gewünschte Empfänger sollte in der Lage sein, den Inhalt einer verschlüsselten Nachricht zu lesen. Weiterhin sollte es nicht möglich sein Information über den Nachrichteninhalt zu erlangen (beispielsweise eine statistische Verteilung bestimmter Zeichen).
2. Datenintegrität der Nachricht: Der Empfänger sollte in der Lage sein festzustellen, ob die Nachricht seit ihrer Übertragung verändert wurde.
3. Authentifizierung: Der Empfänger sollte den Absender eindeutig identifizieren können. Weiterhin sollte es überprüfbar sein, ob die Nachricht tatsächlich von diesem Absender stammt.
4. Verbindlichkeit: Der Absender sollte nicht in der Lage sein zu bestreiten, dass er die Nachricht gesendet hat.
[by ad-min | Quelle: http://de.wikipedia.org/wiki/Kryptografie]
Unterschied symmetrischer und asymmetrischer Verfahren
(WS07)
Ein symmetrisches Kryptosystem ist ein Kryptosystem, das im Gegensatz zu einem asymmetrischen Kryptosystem denselben Schlüssel zur Ver- und Entschlüsselung einer Nachricht verwendet.
Genau definiert:
Symmetrisches Kryptographierverfahren:
Ein symmetrisches Kryptosystem ist ein Kryptosystem, das im Gegensatz zu einem asymmetrischen Kryptosystem denselben Schlüssel zur Ver- und Entschlüsselung einer Nachricht verwendet.
Man teilt die symmetrischen Verfahren in Blockchiffren und Stromchiffren auf. Mit Stromchiffren wird der Klartext Zeichen für Zeichen ver- bzw. entschlüsselt um den Zieltext zu erhalten. Ein Blockchiffre arbeitet mit einer festen Blockgröße und ver- bzw. entschlüsselt mehrere Zeichen in einem Schritt.
Der große Nachteil symmetrischer Verfahren liegt in der Nutzung ein und desselben Schlüssels zur Ver- und Entschlüsselung. Ist der Schlüssel einem Angreifer bekannt, ist es für ihn ein Leichtes an Information zu gelangen und Fehlinformationen durch Veränderung der Originalnachricht zu verbreiten. Ein weiteres typisches Problem beim Einsatz von symmetrischen Verfahren ist, wie der Schlüssel erstmals über unsichere Kanäle übertragen werden kann. Üblicherweise kommen hierzu dann asymmetrische Kryptosysteme zum Einsatz basierend auf dem Diffie-Hellman-Algorithmus, womit einige Vorteile beider ausgenutzt und einige Nachteile beider ausgemerzt werden können. Wie beispielsweise Kombination der schnelleren symmetrischen Verschlüsselung mit dem Wegfallen des Zugriffs eines Angreifers auf den ungeschützten Schlüssel durch die asymetrische Verschlüsselung über einen unsicheren Kanal.
[by ad-min | Quelle: http://de.wikipedia.org/wiki/Symmetrisches_Kryptosystem]
Asymmetrisches Kryptosystem:
Ein asymmetrisches Kryptosystem ist ein Kryptosystem, das im Gegensatz zu einem symmetrischen Kryptosystem verschiedene Schlüssel zur Ver- und Entschlüsselung verwendet.
Das asymmetrische Verfahren wird auch als Public-Key-Verfahren bezeichnet. Bei diesem Verfahren besitzt der Anwender zwei Schlüssel, einen öffentlichen (public key) und einen privaten Schlüssel (private key). Beide Schlüssel erfüllen bestimmte Aufgaben.
Der öffentliche Schlüssel wird, wie der Name sagt, öffentlich gemacht. Jeder andere Anwender kann diesen Schlüssel benutzen, um an den Eigentümer eine verschlüsselte Nachricht zu senden.
Der private Schlüssel wird vom Besitzer geheim gehalten. Er dient dazu, an ihn gesendete, verschlüsselte Nachrichten zu entschlüsseln.
Je nach verwendetem Schlüssel entstehen bei der Verschlüsselung derselben Daten unterschiedliche verschlüsselte Daten. Sei z.B. T ein zu verschlüsselnder Text, Verschlüsselung mittels
- geheimen Schlüssel ergibt verschlüsselten Text VTgeheim
- öffentlichen Schlüssel ergibt VTöffentlich.
VTgeheim ist im allgemeinen verschieden zu VTöffentlich. Nur bei äußerst schlechter Wahl der Schlüssel können beide verschlüsselten Texte gleich sein. Die Dechiffrierung kann jeweils nur mit dem Gegenstück erfolgen. Weder kann VTgeheim mit dem geheimen Schlüssel dechiffriert werden, noch kann VTöffentlich mittels des öffentlichen Schlüssels dechiffriert werden. Diese Tatsache wird bei der elektronischen Unterschrift genutzt, da nur der Besitzer des geheimen Schlüssels einen Hash-Wert, der das Dokument identifiziert, chiffrieren kann. Der Hash-Wert des Dokumentes wird vom Empfänger der Nachricht errechnet und mit dem chiffrierten Hash-Wert, der mit dem öffentlichen Schlüssel des Absenders dechiffriert werden kann, auf Übereinstimmung geprüft. Sind beide Hash-Werte gleich, ist sichergestellt, dass der Absender im Besitz des geheimen Schlüssels ist und das Dokument signiert hat.
[by ad-min | Quelle: http://de.wikipedia.org/wiki/Asymmetrisches_Kryptosystem]
Welche beiden symmetrischen Verfahren gibt es und nennen sie je ein Beispiel
(WS07)
Symmetrisches Kryptographierverfahren:
Ein symmetrisches Kryptosystem ist ein Kryptosystem, das im Gegensatz zu einem asymmetrischen Kryptosystem denselben Schlüssel zur Ver- und Entschlüsselung einer Nachricht verwendet.
Man teilt die symmetrischen Verfahren in Blockchiffren und Stromchiffren auf. Mit Stromchiffren wird der Klartext Zeichen für Zeichen ver- bzw. entschlüsselt um den Zieltext zu erhalten. Ein Blockchiffre arbeitet mit einer festen Blockgröße und ver- bzw. entschlüsselt mehrere Zeichen in einem Schritt.
Beispiele Blockchiffren: Data Encryption Standard (DES), Advanced Encryption Standard (AES)
Beispiele Stromchiffren: XOR-Verschlüsselung, RC4 (von Ronald L. Rivest),Scrambling bei 1000Base-T
[by ad-min | Quelle: http://de.wikipedia.org/wiki/Stromchiffre]
Nennen sie ein Beispiel eines asymetrischen Verfahren
(WS07)
Asymmetrische Kryptosysteme werden zur Verschlüsselung, Authentifizierung und Sicherung der Integrität eingesetzt. Dies geschieht z.B. beim E-Mail-Verkehr ebenso wie bei kryptographischen Protokollen wie SSH.
Damit können sie ebenfalls zur sicheren Abwicklung von Geschäften im Internet eingesetzt werden, wo sie die Identität der Vertragspartner bestätigen, diese authentifizieren und die Unveränderbarkeit der ausgetauschten Daten sicherstellen sollen (Elektronische Signatur). Dazu ist eine Infrastruktur notwendig, die die Gültigkeit der Schlüssel durch Zertifikate bestätigt. Für diese Aufgabe gibt es sog. Trustcenter. Dabei werden, je nach Klasse der Zertifikate, persönliche Daten erfasst.
[by ad-min | Quelle: http://de.wikipedia.org/wiki/Asymmetrisches_Kryptosystem]
Ich würde hier einfach sagen:
RSA:
von Rivest, Shamir und Adleman
Zuvor bereits am GCHQ (UK) entwickelt, aber streng geheim
basiert wie sämtliche Public-Key-Verfahren auf Einweg-Trapdoor-Funktion
Sicherheit nicht bewiesen, basiert auf Faktorisierungsproblem für Ganzzahlen, dass nicht beweisbar schwierig ist, aber es gibt zur Zeit noch keinen Algorithmus mit polynomialer Laufzeit.
(by Hitchhiker jiri 17:17, 11. Jun 2005 (CEST))
Ende der VU (6.11)
Wozu dienen digitale Signaturen?
Bei einer elektronischen Signatur handelt es sich um elektronische Daten, die die Authentizität und Integrität von elektronischen Informationen, meist elektronische Dokumente, sicherstellen soll. Darüber hinaus soll eine elektronische Signatur die Identität des Signierenden gewährleisten. Diese Merkmale sollen wiederum mit Hilfe der elektronischen Signatur verifizierbar (d.h. überprüfbar) sein. Mit diesen Eigenschaften soll die elektronische Signatur das elektronische Äquivalent zur eigenhändigen Unterschrift darstellen. Je nach angewendeter Signaturtechnologie, vorhandenen Einsatzszenario sowie der gegebenen Rechtslage werden diese angestrebten Eigenschaften der elektronischen Signatur erreicht.
[by ad-min | Quelle: http://de.wikipedia.org/wiki/Digitale_Signatur]
Wozu dienen Kryptographische Hashfunktionen?
Definition: Eine Hashfunktion ist eine Funktion die zu einer Eingabe aus einer (üblicherweise) großen Quellmenge eine Ausgabe aus einer (im Allgemeinen) kleineren Zielmenge (die Hashwerte, meist eine Teilmenge der natürliche Zahlen) erzeugt. Hashfunktionen unterscheiden sich in der Definitionsmenge ihrer Eingaben, der Zielmenge der möglichen Ausgaben und im Einfluss von Mustern und Ähnlichkeiten verschiedener Eingaben auf die Ausgabe.
In der Kryptographie: In den meisten Krypto-Programmen kommen Hash-Algorithmen zum Einsatz, um das Passwort zu überprüfen. Aber mit Hashfunktionen kann man noch viel mehr machen. Sie können z. B. den Hashwert eines Passworts als Schlüssel für einen Verschlüsselungs-Algorithmus benutzen. Wie werden sie nun in der Kryptographie verwendet?
- Manche Algorithmen (wie IDEA) verlangen Schlüssel, die von einem Pseudo-Zufallsgenerator oder einer Hashfunktion erzeugt wurden. Hashwerte sind gute pseudo-zufällige Sequenzen.
- Einsatz in Pseudo-Zufallsgeneratoren.
- Werden sog. Passphrases verwendet, d. h. statt eines Passwortes ein Satz oder mehrere Wörter (z. B. "My name is Ozymandias, king of kings. Look on my works, ye mighty, and despair"), kann eine Hashfunktion daraus einen guten Schlüssel berechnen. Dieses Verfahren nennt man key crunching.
- Durch den Einsatz von Hashfunktionen können Brute-Force-Angriffe erschwert werden, da der Angreifer alle möglichen Passwörter nun zunächst hashen muss – und das braucht seine Zeit.
- Einweg-Hashfunktionen können als Verschlüsselungs-Algorithmen eingesetzt werden (auf diesem Gebiet sind sie allerdings nur zweite Wahl, da das entstehende Verfahren vergleichsweise langsam ist).
Einsatzgebiete: MD2, MD4, MD5, SHA, RIPEMD-160, Tiger, HAVAL, Whirlpool
[by ad-min | Quelle: http://www.kuno-kohn.de/crypto/crypto/hash.htm]
Welche Kryptographische Systeme sind sicher welche nicht?
Ein Kryptosystem heißt
- absolut sicher (informationstheoretisch), wenn nicht genug Information vorhanden ist, um daraus den Klartext oder den Schlüssel zu rekonstruieren,
- analytisch sicher, wenn es kein Verfahren gibt, mit dem es systematisch gebrochen wird,
- komplexitätstheoretisch sicher, wenn es keinen Algorithmus gibt, der das Kryptosystem in Polynomialzeit brechen kann,
- praktisch sicher (starkes Kryptosystem), wenn kein Verfahren bekannt ist, welches das System mit den aktuell verfügbaren Ressourcen und vertretbaren Kosten brechen kann.
[by ad-min | Quelle: http://www-rnks.informatik.tu-cottbus.de/de/materials/ss2001psSicherheit/file2_12.pdf]
Fast jede kryptographische Methode ist theoretisch brechbar. Ausnahme ist: one time pad (OTP) und Systeme die im Rahmen der Informationstherie diesen Anspruch mathematisch gerecht werden. [by andi/updated from J.Smith]
Was besagt die Maxime von Kerckhoff? Bei welchem Algo wurde sie verletzt?
Kerckhoff hat in seinem Buch "La Cryptographie Militaire" die Maxime formuliert, dass die Sicherheit eines
Verschlüsselungsverfahrens nur von der Geheimhaltung des Schlüssels, nicht jedoch von der Geheimhaltung des Algorithmus abhängen darf.
[by ad-min | Quelle: http://www.web42.com/crenz/data/aes_ausarbeitung.pdf]
Ein Algorithmus der sie verletzt: der Einsatz in kryptographischer Techniken in der Mobiltelefonie.
Die Maxime wurde bei der Stromchiffre A5 (verwendet im GSM System) verletzt. Der Algo wurde geheimgehalten.[by andi]
Welche einfachen Historischen Verfahren gibt es?
- Einsetzen von unüblichen Hieroglyphen bei den Ägyptern um 1900 v. Chr.
- Hebräische Gelehrte verwendeten ungefähr 600-500 a. D. einfache Zeichenaustauschalgorithmen (wie beispielsweise die Atbash-Verschlüsselung)
- Mittelalter in ganz Europa waren vielfältige Geheimschriften zum Schutz des diplomatischen Briefverkehrs in Gebrauch, so etwa das Alphabetum Kaldeorum
- Auguste Kerckhoffs von Nieuwenhof ein Grundsatz (das nach ihm benannte Kerckhoff-Prinzip) formuliert, der besagt, dass die Sicherheit eines kryptographischen Verfahrens allein auf der Geheimhaltung des Schlüssels basieren soll - das Verfahren selbst muss also nicht geheimgehalten werden; im Gegenteil: es kann veröffentlicht und von vielen Experten untersucht werden
- Zweiten Weltkrieg wurden mechanische und elektromechanische (T52, SZ42) Kryptografiesysteme zahlreich eingesetzt; Deutsche verwendeten das Enigma System, welches durch das Ultra-System geknackt wurde
[by ad-min | Quelle: http://de.wikipedia.org/wiki/Kryptographie]
Anmerkung von ad-min:
"Ist das damit gemeint?!?"
Also laut Skriptum wären...
- Subsitutions-Chiffrierung
- Transpositions-Chiffrierung
- One-time Pad
- und Rotormaschinen
...gemeint!
[by Mo]
Nennen sie die 4 Arten der Substitutions-Chiffrierung?
In der Kryptographie ist Substitution ein Oberbegriff für Verschlüsselungsverfahren, die Textzeichen durch andere ersetzen. Man unterscheidet im allgemeinen zwischen:
- Monoalphabetische Substitution (Caesar-Verschlüsselung, Entschlüsselung durch Klartextangriff) und
- polyalphabetische Substitution (Caesar-Verschlüsselung mit fortschreitendem Index, Vigenère-Verschlüsselung, Kryptoanalyse, Autokey-Verschlüsselung, Vernam, Rotor-Maschinen)
- homophone SC (ersetze 1 Zeichen vom Klartext durch n verschiedene Zeichen; soll Häufigkeitsanalyse ausschalten)
- polygraphische SC (Playfair Verfahren; jedes Buchstabenpaar des Klartextes, wird duchr ein anderes Buchstabenpaar ersetzt; benötige dazu ein Schlüsselwort und das Alphabet, das in einer 5x5 Matrix von rechts nach links angeordnet wird)
[by ad-min | Quelle: http://de.wikipedia.org/wiki/Monoalphabetische_Substitution bzw. http://de.wikipedia.org/wiki/Polyalphabetische_Substitution]
[ergänzt von Mo]
Wie funktioniert monoalphabetische S-C.? Bsp!
Monoalphabetische Substitutionschiffren oder auch Monoalphabetische Ersetzungschiffren bezeichnen in der Kryptographie Formen der Textverschlüsselung, bei der ein Buchstabe/Zeichen durch einen anderen Buchstaben/ein anderes Zeichen ersetzt wird. Es wird für jedes Zeichen des Klartextes nur ein Geheimtextzeichen verwendet.
Bsp 1 - Caesar-Verschlüsselung: Bei dieser Substitution wird unter das normale Alphabet der Chiffrealphabet um eine bestimmte Anzahl an Zeichen nach links verschoben geschrieben und es ergibt sich die Zuordnungsvorschrift nach der Verschlüsselt wird. Die Zahl, um die verschoben wurde, ist somit der Schlüssel (bei Caesar 3 siehe Beispielkasten unten)
Originalalphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZ Chiffrealphabet : DEFGHIJKLMNOPQRSTUVWXYZABC
[by ad-min | Quelle: http://de.wikipedia.org/wiki/Monoalphabetische_Substitution]
Wie funktioniert homophone S-C.? Bsp!
Bei der homophonen Substitutionschiffrierung wird 1 Zeichen durch n kodierte Zeichen aus einer Tabelle ersetzt. Diese Übersetzungstabelle verändert die Häufigkeiten von vorkommenden Zeichen (in unserem Sprachraum z.B. das E), indem für diesen Buchstaben viele Codierungszeichen verwendet werden.
Auszüge aus einer Übersetzungstabelle:
A: 09, 12, 13, 61, 79, 99
E: 01, 94, 92, 05, 11, 24, 22, 87, 23, 41
Z: 66
[by zwetschke]
Wie funktioniert polygraphische S-C.? Bsp!
Es werden Buchstabengruppen gebildet und diese verschlüsselt.
Erklärung des Playfair Chiffre. Der Schlüssel wird in einer 5x5 Matrix angeordnet und mit dem restlichen Alphabet aufgefüllt, wobei i=j ist (sonst geht sich das in einer 5x5 Matrix nicht aus)! Für das Bsp verwende ich den Schlüssel: charles
charl esbdf gikmn opqtu vwxyz
Der Klartext wird in 2 Buchstaben große Teile aufgesplittet. Doppelte Buchstaben werden durch ein x getrennt, einzelne Buchstaben am Ende mit einem X aufgefüllt. Nun folgende Regelen anwenden:
- wenn beiden Zeichen in einer Zeile sind, dann jeweils das rechte Zeichen als Codierung nehmen
- wenn beide Zeichen in einer Spalte sind, dann jeweils das untere Zeichen nehmen
- sonst: Schnittpunkte nehmen, und zwar immer vom ersten Buchstaben aus waagrecht den Schnittpunkt als erstes Codierungszeichen nehmen. Danach erst senkrecht den Schnittpunkt nehmen.
Klartext: HALLO wird aufgeteilt in HA LX LO --> AR AZ CU
[by zwetschke]
Wie funktioniert polyalphabetische S-C.? Bsp!
Es werden zyklisch mehrere monoalphabetische Substitutionen durchgeführt. Erschwert die Häufigkeitsanalyse.
Bekanntestes Verfahren ist die Vigenere Verschlüsselung
Es gibt 26 Kopien des Alphabets wobei jede Zeile um ein Zeichen versetzt beginnt:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C D E F G
D E F
.
.
.
Z
Benötigt wird außerdem noch ein Schlüsselwort: (hier BOND)
| Schlüsselwort | BONDBONDBOND |
| Klartext | TREFFEN |
| Geheimtext | UF... |
1. Gehe in jene Zeile im obigen Alphabet die mit dem Schlüsseltextbuchstaben beginnt (hier B)
2. Suche jene Spalte, die mit dem Klartextbuchstaben beginnt (hier T)
->Am Schnittpunkt befindet sich der Geheimbuchstabe (hier U)
Quelle: Vigenere Verschlüsselung
[by mo]
Wie funktioniert Transpositions-C?
Zeichen werden bei Transpositions-Cipher nur durcheinander gewürfelt
D.h. der Klartext bleibt im Prinzip erhalten → Anfällig gegen Häufigkeitsanalyse
Beispiel:
Spaltentransformation (nicht sehr sicher):
- Schreibe Text zeilenweise in eine Matrix fester Breite
- lese Text spaltenweise
- bilde Wörter fixer Länge
zum Beispiel wird aus "Transpositions-Cipher ist ziemlich einfach"
transp ositio ns-cip herist ziemli cheinf ach
"tonh zcar ssei hcai -ree hntc imis iisl npop tif"
(by Hitchhiker jiri 16:50, 8. Jun 2005 (CEST))
Wie funktioniert One-Time Pad?
Bei einem One-Time pad handelt es sich um ein code buch mit vielen Seiten wobei eine Seite einem Schlüssel (=key) entspricht.
Jede Seite (also jeder key) wird nur einmal verwendet
Verschlüsselung: Zeichenweise Addition mod 26 der Nachricht und des keys
Probleme:
- Übergabe des pad
- Padgenerierung im Vorhinein
- Synchronisation wenn dazwischen Nachricht verloren geht kann nicht wieder hergestellt werden
Bei richtiger Anwendung ist one-time pad nicht zu brechen.
(by Hitchhiker jiri 16:53, 8. Jun 2005 (CEST))
Wie funktionieren Rotormaschinen?
Eine Rotormaschine besteht aus
- mehreren Walzen und
- Reflektor
- häufig auch noch Steckbrett zur Vertauschung von Zeichen
Walzen besitzen Ein- und Ausgänge → einfache Substitution
Walze wird nach jedem Buchstaben weitergeschaltet → polyalphabetische Substitution
hat erste Walze volle Umdrehung gemacht, wird nächste Walze weitergeschaltet
berühmte Exemplare: Enigma, Typex(UK), M-209(USA)
(by Hitchhiker jiri 16:59, 8. Jun 2005 (CEST))
Kapitel 3
Erkläre Blockchiffren?
sind symmetrische Verfahren (gem. Schlüssel)
verschlüsselt n-bit Block in n-bit Block
Verschlüsselungsfunktionen von Blockschiffren sind Permutationen
Bekanntester: DES und AES als Nachfolger
Blockschiffre beschreibt die Verschlüsselung eines Blocks
Verarbeitunsmodi: Grundchiffre + Rückkoppelung + einfache Operationen
Was sind die wichtigsten Parameter beim DES?
DES ist der wichtigster Verschlüsselungsalgorithmus in den vergangen 20 Jahren
von ANSI 1981 standardisiert
zuerst für HW Implementierung gedacht, später SW
Blockchiffre mit Blocklänge von 64 bits
Schlüssellänge 56 bits (+8 bits parity) = 64 bits
Grundbaustein: Runde = Substitution gefolgt von Permutation
In DES gibt es 16 Runden
Erkläre den Ablauf in kurzfassung.
Eingangspermutation --> Schlüsseltransformation --> Expansionspermutation (E-Box) --> S-Box --> P-Box und Schlusspermutation
Was ist eine S-Box?
Eine nichtlineare Substitutionsoperation, meist durch eine Tabelle implementiert, die eine m- durch eine n-Stellige Binärzahl ersetzt. Bei DES werden 8 S-Boxen eingesetzt. Jede S-Box reduziert von 6 auf 4 Bit. Die 6 Bit werden bei DES aufgeteilt in: Bit 1,2 bestimmt welche Zeile Bit 3,4,5,6 bestimmen die Spalte In den Feldern stehen 4 Bit Werte. Daher Reduktion von 6 auf 4 Bit.
[by pedak]
wichtigstes Element für die Sicherheit von DES
Eingabe von 48 bits in 8 S-Boxen
jede S-Box_ Tabelle mit 4 Zeilen und 16 Spalten
Ausgabe: 32 bits
Ist DES sicher, erkläre?
DES gilt als unsicher
schwache Schlüssel führen zu identischen Rundenschlüsseln, wobei es für DES 4 schwache Schlüssel gibt die sich aus der Kombination der beiden 28bit Teilkeys 0000000 und FFFFFFF ergeben.
Es gibt darüber hinaus bereits HW die den DES in wenigen Minuten knackt (auch ohne schwache Schlüssel)
(by Hitchhiker jiri 17:10, 8. Jun 2005 (CEST))
Warum 3DES sicherer?
3DES ist sicher da die Menge der 256 Permutationen (definiert durch den 56bit key) unter Komposition nicht abgeschlossen ist. Das bedeutet, dass es keinen Schlüssel k gibt sodass für alle m gilt:
(Encryption, Decryption, Encryption)
Ähnlich sicher wie moderne 128-Bit Verschlüsselung, jedoch viel langsamer.
(by Hitchhiker jiri 17:14, 8. Jun 2005 (CEST))
Wie funktionieren die Verarbeitunsmodi?
Modus = Grundchiffre + Rückkopplung + einfache Operationen
Die Grundchiffre regelt dabei die Verschlüsselung eines Blockes
Da der Chiffretext bei gegebenem Klartext und Schlüssel allerdings immer gleich ist verwendet man Rückkopplung und einfache Operationen.
Die Sicherheit des Modus basiert auf der Grundchiffre und nicht auf dem Modus, jedoch kann man mit geeignetem Modus Veränderungen aufdecken.
(by Hitchhiker jiri 17:17, 8. Jun 2005 (CEST))
Nenne die 4 gebräuchlichen Modi für Blockschiffren
- Electronic Codebook Mode
- Cipherblock Chaining Mode
- Cipher Feedback Mode
- Output Feedback Mode
--Pedak 20:41, 9. Dez 2007 (CET)
Erkläre ECB
ECB steht für "Electronic Code Book (Mode)". Es ist ein Betriebsart für Blockchiffren. Hierbei wird der Klartext in gleichgroße Blöcke eingeteilt, wobei alle Blöcke mit dem gleichen Key und dem gleichen Algorithmus nacheinander und unabhängig von einander verschlüsselt werden. Diese Betriebsart ist nicht zu empfehlen, da zwei gleiche Klartextblöcke immer in den gleichen Geheimtextblock ergeben. Dadurch werden wiederkehrende Muster im Klartext nicht verwischt. Darüber hinaus bleiben Veränderungen des Ciphertext, z.B. Verschieben oder Löschen von Codeblöcken unerkannt und es können möglicherweise übermittelte Nachrichteninhalte verändert werden. (Man-in-the-middle-attack) Die Häufigkeit von Buchstaben im Plaintext wird nicht ausreichend im ciphertext verwischt.
Erkläre CBC
CBC steht für "Cipher Block Chaining (Mode)". Dies ist auch eine Betriebsart für Blockchiffren. Der Klartext wird wie bei ECB in gleich große Blöcke zerteilt. Diese werden zwar auch alle mit dem gleichen Algorithmus und dem gleichen Key verschlüsselt, der Klartext wird jedoch vor der Verschlüsselung mit dem Geheimtext des vorherigen Blocks XOR-Verknüpft. Für den ersten Block wird stattdessen jedoch ein sogenannter Initialisierungsvektor (IV) verwendent, da es ja keinen vorherigen Block gibt. Für diesen IV verwendet man entweder einen Timestamp oder eine Zufallsfolge. Die Geheimhaltung des IV trägt nicht zur Sicherheit der Verschlüsselung bei und kann daher im Klartext übertragen werden.
Erkläre CFB
Die Abkürzung CFB steht für:
- Cipher Feedback, einem Betriebsmodus beim Data Encryption Standard-Algorithmus
Der Data Encryption Standard (kurz: DES) ist ein vor allem bei Banken und Versicherungen weit verbreiteter symmetrischer Verschlüsselungsalgorithmus.
Im CBC-Modus (s.o.) kann die Verschlüsselung erst dann beginnen, wenn ein vollständiger Datenblock vorliegt. Dies stellt bei manchen Netzanwendungen ein Problem dar. In einem sicheren Netzwerk muß ein Terminal z.B. in der Lage sein, jedes eingetippte Zeichen sofort zum Host zu übertragen. Für Anwendungen, in denen Daten byteweise verarbeitet werden müssen, ist CBC ungeeignet.
Im CFB-Modus können Daten in Einheiten verschlüsselt werden, die kleiner sind als die Blockgröße. Man kann sogar jeweils nur ein Bit mittels 1-Bit-CFB verschlüsseln, allerdings ist es ziemlich aufwendig, einen kompletten Durchlauf einer Blockchiffrierung nur für ein einzelnes Bit durchzuführen. In diesem Fall wäre eine Stromchiffrierung geeigneter.
Um den CFB-Prozeß zu initialisieren, muß die Eingabe des Blockalgorithmus mit einem Initialisierungsvektor (IV) gefüllt werden. Wie der IV im CBC-Modus braucht dieser nicht geheim zu bleiben, muß allerdings eindeutig sein. Das ist ein Unterschied zum Initialisierungsvektor des CBC-Modus. Ist der IV im CFB-Modus nicht eindeutig, kann ein Kryptanalytiker den zugehörigen Klartext ermitteln. Der IV muß daher bei jeder Nachricht geändert werden.
Beim CFB-Modus wirkt sich ein Fehler im Klartext auf den gesamten nachfolgenden Chiffretext aus und macht sich bei der Entschlüsselung selbst wieder rückgängig. Ein Fehler im Chiffretext ist interessanter. Beim 8-Bit-CFB-Modus macht ein einzelner Bitfehler im Chiffretext 9 Byte des entschlüsselten Klartexts unbrauchbar. Danach erholt sich das System wieder und der gesamte nachfolgende Chiffretext wird korrekt entschlüsselt.
[by ad-min | Quelle http://www.wikipedia.de bzw. http://www.cipherbox.de/kryptologie-modus.html]
Erkläre OFB
Der OFB Output-Feedback-Modus ist eine Methode zum Betrieb einer Blockchiffrierung als synchrone Stromchiffrierung. Beim Output-Feedback-Modus wird am Anfang wieder ein Initialisierungsvektor (IV) generiert, welcher verschlüsselt wird. Dieses Ergebnis wird nun mit dem ersten Klartextblock verknüpft und als Ergebnis erhält man den ersten Geheimtextblock - bis jetzt ist dieses Verfahren mit dem CFB-Modus identisch. Beim nächsten Klartextblock wird jedoch nicht der vorhergegangene Chiffrenblock herangezogen, sondern der verschlüsselte Initialisierungsvektor wird nochmals verschlüsselt und anschließend zur Verknüpfung herangezogen. Beim OFB-Modus ist der Block, welcher zur Verknüpfung mit dem Klartext verwendet wird, sowohl vom Klartext selbst als auch vom erzeugten Geheimtext vollständig unabhängig.
Der CFB-Modus vergrößert auftretene Fehler nicht. Ein Ein-Bit-Fehler im Chiffretext hat einen Ein-Bit-Fehler im wiederhergestellten Klartext zur Folge. Diese Eigenschaft kann bei bestimmten Übertragungen digitalisierter Analogdaten nützlich sein, etwa digitalisierter Sprache oder Video. Ein Verlust der Synchronisierung wirkt sich dagegen fatal aus. Jedes System, das im OFB-Modus arbeitet, muß über einen Mechanismus verfügen, der Synchronisationsfehler erkennt.
Ebenfalls sehr wichtig ist, daß ein 64-Bit-Algorithmus auch nur im 64-Bit-OFB-Modus verwendet wird.
[by ad-min | Quelle: http://www.cipherbox.de/kryptologie-modus.html]
Kapitel 4
habe hier einige Fragen gelöscht über Schieberegister --Pedak 20:54, 9. Dez 2007 (CET)
Unterschied Block/Stromschiffrierungen?
Blockchiffrierung verschlüsselt n bit Block in n bit Block.
Stromchiffrierung verschlüsselt 1 bit des Klartextes in 1 bit des Chiffretextes.
Was ist der RC4?
Der RC4 ist ein Stormchiffrieruhngsalgor. mit variabler Schlüssellänge im Bereich von 1-256 byte. Er wurde 1987 von Ron Rivest entwickelt. Er wird z.B. für die Datenverschlüsselung in SSL Protokollen eingesetzt.
Es gibt 2 Phasen:
- key setup
- Ver-/Entschlüsselung: im OFB Modus... Schlüsslstrom ist unabhängig vom Klartext. Klartext XOR Key = Chiffretext
(by zwetschke 15:24, 9. Jun 2005 (CEST))
Kapitel 5
Wie wird eine Primzahl erzeugt?
1.) Generiere große echte Zufallszahlen und setze msb und lsb gleich 1
2.) Überprüfe ob Zufallszahl Z eine Primzahl ist, if: ja -> alles ok, else: Schritt 1. Überprüfung erfolgt mit deterministischen Verfahren, probabilistischen Entscheidungsprozeduren oder neuen deterministischen Entscheidungsprozeduren.
Wie wird überprüft, ob es sich um eine Primzahl handelt?
1.) deterministische Verfahren zur Primfaktorenzerlegung: Probedivision, p1 Methoden, div. Siebverfahren, ...
2.) schnelle probabilistische Entscheidungsprozedur (keine Faktoren): Fermat Test, Rabin Miller, Solovay-Strassen, ...
3.) neue deterministische Entscheidungsprozeduren AKS (in P)
Wie funktioniert die Implementierung des Fermat Tests?
Der Fermat Test basiert auf dem kleinen Satz von Fermat:
Ist n eine Primzahl, so gilt
für alle
mit ggt(a,n) = 1
Idee:
- i=1 bis t
- Wähle zufällig t Zahlen a (
) und berechne
mittels schneller Exponentiation
- Wenn
gib "zusammengesetzt" aus und beende, sonst prüfe nächstes a
- Wähle zufällig t Zahlen a (
- Wenn t Zahlen geprüft und noch keine Zeuge für Zusammensetzung gefunden wurde, dann ist es wahrscheinlich (nicht sicher), dass es sich bei der zu prüfenden Zahl n um eine Primzahl handelt ⇒ gib "prim" aus
(by Hitchhiker jiri 19:34, 11. Jun 2005 (CEST))
Erkennt der Fermat Test alle Zahlen richtig?
Die Ausgabe "prim" ist für die meisten Eingaben richtig (selten falsch) weil Pseudoprimzahlen bezüglich der Basis a relativ selten sind.
Carmichael-Zahlen (
ist eine zusammengesetzte Zahl mit
für alle
, die ggt(a,n) = 1 erfüllen) werden vom Fermat-Test fast immer fälschlicher weise als Primzahlen klassifiziert und sind somit beispiele für fehlerhafte Ergebnisse.
(by Hitchhiker jiri 19:42, 11. Jun 2005 (CEST))
Was ist eine Carmichael-Zahl?
Die Carmichael-Zahl, benannt nach dem Mathematiker Robert Daniel Carmichael, ist eine spezielle Form der Pseudoprimzahl, für die gilt: Eine Carmichael-Zahl n ist pseudoprim zu allen Basen, die keine Teiler von n sind.
Anders ausgedrückt (siehe Folien) (by Hitchhiker jiri 19:46, 11. Jun 2005 (CEST)):
Eine Carmichael-Zahl
ist eine zusammengesetzte Zahl mit
für alle
, die ggt(a,n) = 1 erfüllen.
Sie sind aus mindestens 3 Primzahlen zusammengesetzt und sehr selten.
Wie funktioniert das Verfahren von Rabin und Miller?
Rabin-Miller-Verfahren geht von folgendem aus:
Sei
ungerade Primzahl und n − 1 = 2s * r (wobei r ungerade ist) und sei
, sodass ggt(a,n) = 1, dann gilt
oder es gibt ein j (
) für das
.
Auch beim Rabin-Miller-Verfahren werden t Zahlen durchprobiert.
Ablauf:
- Berechne r = (n − 1) / 2s
- i = 1 bis t
- Wähle zufällig Zahl a (
) und berechne
mittels schneller Exponentiation
- Wenn
und
- j = 1
- solange j < s und
- Berechne
- Wenn y = 1 gib "zusammengesetz" aus
- j = j + 1
- Berechne
- Wenn
gib "zusammengesetzt" aus
- Wähle zufällig Zahl a (
- Wenn t Zahlen geprüft und noch keine Zeuge für Zusammensetzung gefunden wurde, dann ist es wahrscheinlich (nicht sicher), dass es sich bei der zu prüfenden Zahl n um eine Primzahl handelt ⇒ gib "prim" aus
(by Hitchhiker jiri 20:03, 11. Jun 2005 (CEST))
Weniger Fehleranfällig als Fermat, da RabinMiller nur bei starken Pseudoprimzahlen eine falsche Antwort liefert. --Pedak 21:34, 9. Dez 2007 (CET)
Unterschied der 2 Verfahren?
Rabin-Miller verfeinert im Gegensatz zu Fermat-Test noch weiter, wenn das Ergebnis von armodn nicht 1 ist.
Rabin-Miller-Verfahren ist dabei allerdings berechnungsmäßig nicht aufwendiger als Fermat-Test.
Rabin-Miller-Verfahren klassifiziert höchstens gleich viele Zahlen fälschlicher weise als Primzahlen.
(by Hitchhiker jiri 20:05, 11. Jun 2005 (CEST))
Warum braucht man in der Kryptografie große Primzahlen?
Viele kryptographische Algorithmen benötigen große Primzahlen, zum Beispiel das RSA-Verfahren, oder das ElGamal-Verfahren. Auch die meisten kryptographischen Protokolle wie der Schlüsseltausch nach Diffie-Hellman oder nach Hughes oder Shamirs No-Key-Algorithmus brauchen große Primzahlen, um sicher zu sein.
Die große Bedeutung von Primzahlen in der Kryptographie liegt an der Tatsache, daß es schwierig und zeitaufwendig ist herauszufinden, ob eine Zahl eine Primzahl ist, d.h. ob es andere Zahlen außer 1 gibt welche die gegeben Zahl teilt, und die Primfaktoren einer Zahl herauszufinden.
Derzeit ist es in polinomieller Zeit möglich herauszufinden ob n=prim, aber nur in exponenzieller Zeit die Primfaktoren
Was sind probabilistische Verfahren? Was erhält man dabei als Antwort?
Probabilistische Verfahren geben eine zu einer gewissen Wahrscheinlichkeit richtige Antwort.
Beispiele sind Fermat-Test und Rabin-Miller-Verfahren.
Die Ausgabe "zusammengesetzt" ist bei beiden sicher richtig, dh. wenn diese Ausgabe eintritt, dann ist die Zahl sicher zusammengesetzt. Die Ausgabe "prim" ist jedoch nur wahrscheinlich richtig, dh. wenn diese Ausgabe erscheint, kann die Zahl trotzdem eine zusammengesetzte sein (siehe Carmichael-Zahlen).
(by Hitchhiker jiri 20:09, 11. Jun 2005 (CEST))
Goooooooooooooooooooooooogle BEGIN: In der Praxis werden Primzahltests insbesondere bei Verschlüsselungsverfahren in der Kryptographie eingesetzt. Algorithmen wie RSA benötigen Primzahlen in einer Größenordnung von etwa 1000 Stellen in binärer Darstellung. In diesem Bereich gibt es so viele Primzahlen, dass es nicht effizient wäre, diese in einer Liste zu speichern und bei Bedarf einfach darauf zuzugreifen. Auch aus sicherheitstechnischen Gründen ist dieser Ansatz nicht unbedingt empfehlenswert: potentielle Angreifer könnten sich die Struktur der Speicherung zunutze machen, wenn sie das Verschlüsselungsverfahren knacken wollen. Statt der Verwendung einer bekannten Primzahl rät der Algorithmus (mit ein paar Tricks) eine "beliebige" Zahl und stellt mit Hilfe eines Primzahltests möglichst schnell fest, ob diese tatsächlich prim ist. Goooooooooooooooooooooooooogle ENDE wiki begin Praktische Anwendung
Eine wichtige Rolle spielen Primzahlen in der Kryptographie: Viele Verschlüsselungssysteme, beispielsweise RSA, basieren darauf, dass man zwar sehr schnell große Primzahlen multiplizieren kann, andererseits aber kein effizientes Faktorisierungsverfahren bekannt ist und allem Anschein nach auch nicht existiert. So ist es innerhalb von Sekunden problemlos möglich, zwei 500-stellige Primzahlen zu finden und miteinander zu multiplizieren. Mit den heutigen Methoden würde die Rückgewinnung der beiden Primfaktoren aus diesem 1000-stelligen Produkt dagegen Millionen von Jahren benötigen.wiki ende
Nenne 2 deterministische Verfahren und beschreibe deren Laufzeit und deren Vor- und Nachteile gegenüber probabilistischen Verfahren
- Probedivision(Laufzeit:
)
- p-1 Methode (Laufzeit:
)
- diverse Siebeverfahren
Vorteile:
- klassifizieren Zahl sicher richtig (fraglich ob das überhaupt notwendig ist)
Nachteile:
- Längere Laufzeit
(by Hitchhiker jiri 20:26, 11. Jun 2005 (CEST))
Kapitel 6
Wie funktioniert die Einweg und die Einweg-Trapdoor Funktion?
Einweg-Funktion:
- es ist für alle
computational nicht aufwändig das zugehörige y zu errechnen (
)
- es ist für "fast alle"
computational aufwändig jedes
zu finden sodass
.
Beispiel:
und 
Einfach
zu berechnen, aber schwierig x zu finden mit
Einweg-Trapdoor-Funktion:
- f ist eine Einweg-Funktion
- mit zusätzlicher Information (trapdoor-information) ist die Umkehrung einfach
Beispiel:
(
)
Ohne Trapdoor-Information extrem schwierig x zu berechnen (modulare cube root problem with modulus n), da alle Faktoren von n unbekannt sind.
Aber mit Trapdoor-Information (hier p,q) wird die Umkehrung einfach.
(by Hitchhiker jiri 20:39, 11. Jun 2005 (CEST))
Wie funktioniert die Modulare Inversion?
Modulare Inversion ist die Berechnung des multiplikativ Inversen von a in Zn.
- Berechne d = ggt(a,n)(mittels euklidischem Algorithmus) und die Ganzzahlen x,y mit ax + ny = d
- Wenn d > 1 dann existiert a − 1modn nicht, ansonsten retourniere x.
(by Hitchhiker jiri 20:47, 11. Jun 2005 (CEST))
Was ist RSA?
RSA steht für Rivest, Shamir und Adleman (die "Erfinder" des RSA; Er wurde bereits zuvor am GCHQ(UK) entdeckt, aber geheimgehalten) und ist ein Public-Key-Verfahren.
RSA wird zur Ver- und Entschlüsselung sowie zum digitalen Signieren verwendet.
Die Sicherheit von RSA ist nicht bewiesen und basiert auf dem Faktorisierungsproblem für Ganzzahlen, welches nicht beweisbar schwierig ist. Aber zur Zeit gibt es keinen Algorithmus mit polynomialer Laufzeit um dieses Problem zu lösen.
(by Hitchhiker jiri 20:52, 11. Jun 2005 (CEST))
Wie funktioniert die Schlüsselgenerierung für RSA?
- Wähle zufällig 2 Primzahlen p und q ungefähr gleicher Größe wobei p≠q
- n=pq und Φ=(p-1)(q-1) (ist gerade da p und q Primzahlen und daher ungerade)
- Wähle e ∈ N mit 1<e<Φ, sodass ggt(e,Φ)=1 (⇒ e ungerade da Φ gerade)
- Berechne eindeutiges d mit 1<d<Φ, sodass
bzw.
(hierfür wird modulare Inversion benutzt, die funktioniert, da ggt(e,Φ)=1)
- öffentlicher Schlüssel (n,e), privater Schlüssel d
- n wird als RSA-Modul bezeichnet
- e ist der Verschlüsselungsexponent
- d ist der Entschlüsselungsexponent
Anmerkungen:
- e sollte so gewählt werden, dass die Verschlüsselung effizient und die Sicherheit gewährleistet ist. (empfohlene) Werte sind: 3, 17, 65537; bei e=3 wird eine Quadrierung und eine Multiplikation für die Verschlüsselung benötigt.
(by Hitchhiker jiri 21:13, 11. Jun 2005 (CEST))
Wie funktioniert das Verschlüsseln von Zahlen im RSA?
c = memodn wobei m eine Ganzzahl mit
(by Hitchhiker jiri 21:16, 11. Jun 2005 (CEST))
Wie funktioniert das Entschlüsseln von Zahlen im RSA?
wobei m eine Ganzzahl mit
(by Hitchhiker jiri 21:18, 11. Jun 2005 (CEST))
Kapitel 8
Welche Eigenschaften haben Hashfunktionen?
p...Nachricht
h...berechneter Hashwert (hash value, HV)
H...Hashfunktion
- zu gegebenem p ist h computational einfach zu berechnen
- zu gegebenem h ist es computational aufwändig, p zu ermitteln mit H(p)=h
- zu gegebenem p ist es computational aufwändig q zu ermitteln mit H(p)=H(q)
- Kollisionsresistenz: es ist computational aufwändig 2 beliebige Nachrichten p und q zu finden mit H(p)=H(q)
Kollision von h: Paar p,q von Nachrichten mit H(p)=H(q); Alle Kompressionsfunktionen besitzen Kollisionen, weil sie nicht injektiv sind.
(by Hitchhiker jiri 16:34, 8. Jun 2005 (CEST))
Wie arbeiten Hashfunktionen?
- Eingabe der Hashfunktion wird um die Länge der Originaleingabe erweitert
- Erweiterte Eingabe wir in t Blöcke der Länge r aufgeteilt wobei eventuell extra bits angehängt werden (padding genannt)
- Anwendung der kompressionsfunktion
auf jeden Block xi
- Rekursionsgleichung:
- H0 = IV IV...Initialisierungsvektor für den Hashwert
-
- h(x) = g(Ht) g...Ausgabetransformation (hier kann evtl. noch eine Reduktion von den intern verwendeten m bits auf n Ausgabebits erfolgen)
(by Hitchhiker jiri 16:34, 8. Jun 2005 (CEST))
Erkläre das Geburtstagsparadoxon und die Attacke
Als Geburtstagsproblem bzw. Geburtstagsparadoxon versteht man die Tatsache, dass bei 23 Personen die Wahrscheinlichkeit ca. 50 Prozent beträgt, dass mindestens zwei Personen am gleichen Tag Geburtstag haben. Der Grund für diese hohe Wahrscheinlichkeit liegt an der hohen Anzahl der möglichen Paarungen, wobei jedes Paar ein Kandidat für eine Übereinstimmung des Geburtstages ist. Die Anzahl der Paare bei 23 Personen ist (23 * 22) / 2 = 253. Bei 253 möglichen Paaren und 365 möglichen Tagen erscheint die Wahrscheinlichkeit von 50 Prozent nicht mehr so unrealistisch.
Dieses "Phänomen" kann zum Beispiel als Attacke auf digitale Signaturen verwendet werden. Wenn man jemandem zum Beispiel einen gefälschten Vertrag unterjubeln will kann man folgendermaßen vorgehen:
Man erstellt einen Vetrag A, den das Oper zu unterschreiben bereit ist. Dabei hat man auch den gefläschten Vertrag B, der den gleichen Hashwert des Vertrags A besitzt. Man kann dies unter Umständen durch Ändern von unwesentlichen Teilen des Vertrags (wie beispielsweise von Leerzeichen und Zeilenumbrüche) erreichen.
Die "einfachste" Art Kollisionen zu finden, ist das durchprobieren verschiedener Variationen der gewünschten Zielnachricht B. Bei einem Hashwert mit n Bits ist die Wahrscheinlichkeit eine Kollision zu finden 1 zu 2n.
Bei der Geburtstagsattacke werden sowohl Variationen der Originalnachricht A als auch der Zielnachricht B erstellt. Wenn man nun 2(n / 2) Variationen von A und B erstellt beträgt die Wahrscheinlichkeit einer Kollision bereits 50 Prozent.
