Krypto 3. Versuch PDF
Document Details
Uploaded by Deleted User
Tags
Summary
This document is a lecture or class notes for an undergraduate course on cryptography and covers topics such as symmetric key cryptography, stream ciphers (like the one-time pad and LFSRs), and introduction a few other cryptography areas like public key cryptosystems.
Full Transcript
V0 – Introduction What means https? https = http + security What is TLS and what is the Use-Case of it? Transport Layer Security – used for secure browsing on the internet. Was sind die 2 Schritte von TLS und was machen sie? Session beginnt mit einem Handshake, welche - Asymmetrische Verschlüss...
V0 – Introduction What means https? https = http + security What is TLS and what is the Use-Case of it? Transport Layer Security – used for secure browsing on the internet. Was sind die 2 Schritte von TLS und was machen sie? Session beginnt mit einem Handshake, welche - Asymmetrische Verschlüsselung und - Digitale Signaturen benutzt Um einen gemeinsamen geheimen Schlüssel auszuhandeln Schlüssel den wir genutzt haben, um einen sicheren Kanal auszuhandeln - Nutzen von symmetrischer Verschlüsselung, um Privatsphäre zu schützen - Symmetrische Authentifizierung, um den Versuch zu erkennen Anwendungsdaten zu fälschen Goals of Cryptography - Privacy of Data: Only you and me can read the text. - Authenticity and Integrity of Data: This text has been written by you, and it had not been modified by someone else. - Privacy and Integrity of meta-data: Anonymous communication, digital money, … (Dieser Kurs beschäftigt sich vor allem mit den ersten zwei) Kerckhoffs’ Principle Das System muss sicher sein, auch wenn der Angreifer alles weiß, außer einem zufälligen Schlüssel. Security by obscurity System “must be kept secret to remain secure” Shannon Model, Four Main Attack Scenarios V1 – Ciphers A cipher is defined by three sets 1. P: Plaintext 2. C: Ciphertexts 3. K: Keys And three efficient algorithms 1. E: K x P → C (encryption) 2. D: K x C → P (decryption) 3. G… → K (key generation) Für jeden Plaintext x und jeden Schlüssel k: D_K(E_K(x)) = x The CAESAR Cipher P = C = K = Z_26 Encryption E(k,x) = x + k mod 26 Decryption: D(k,y) = y – k mod 26 This is a Cipher. 26 Möglichkeiten. Substitution Cipher Die Algorithmen sind effizient und da Pi eine Permutation ist: Daher ist die Substitutions Cipher eine Cipher 26! Kombinationen und daher kein Brute-Force Attacke möglich. Attacking the Substitution Cipher Using Language Statistics Perfect Cryptosystems Nicht einmal ein Gegner mit unendlichen Ressourcen kann das Kryptosystem brechen. - x: Plaintext - y: Ciphertext - P: Random variable for the plaintext - C: Random variable for the ciphertext - K: Random variable for the key A priori: Pr[P=x] A posteriori: Pr[P=x|C=y] Perfect Ciphers Wenn man keine Informationen über den Klartext aus dem Ciphertext ziehen kann, dann ist eine Cipher perfekt. Das bedeutet, wenn die Wahrscheinlichkeit eines Klartextes unter einem gegebenen Chiffretext gleich der Wahrscheinlichkeit des Klartextes ist (also unabhängig voneinander). Bruch rechts wird 1, wenn die beiden Wahrscheinlichkeiten gleich sind. Dann ist es also eine perfekte Chiffre. OTP or “Vernam-Cipher” The one time pad is perfect. Practical Issues of the OTP - Big plaintext → big keys - One-time means one-time: never re-use the key - Choosing so many keys uniformly at random - Secure channel to transport so many key bits - No authenticity (Adversary can flip ciphertext bit) Re-use of OTP Keys Keine Cipher mit |P| > |K| ist perfekt. Stream Ciphers Generates a long pseudorandom key stream from a short random cipher key. Wir betrachten nur Synchrone Stream Ciphers, da die Kommunikationsschicht keine Bits fallen lässt oder einfügt.b Weaknesses of Synchronized Stream Ciphers - Pseudorandom key stream not random enough - No authenticity (adversary can flip bits) - Re-use of the same cipher key / initial state Linear Feedback-Shift Registers (LFSRs) - Are defined by a linear equation - Are very efficient in hardware - The cycle length for nonzero states is maximal(2^n – 1) - Wenn alle Bits im LFSR = 0, dann „zero“ Zustand - Nonzero bedeutet, dass mindestens ein Wert ungleich null ist - Terribly insecure because of they are „linear” - Wenn man die Koeffizienten a_i eines n-bit LFSRs kennt, dann kann man mit n output Bits den geheimen Schlüssel rekonstruieren. - Wenn die Koeffizienten a_i, Teil des Schlüssels sind, dann liefern 2n Ausgabebits 2n lineare Gleichungen. ➔ Lösen linearer Gleichungssysteme ist leicht. LFSRs werden häufig als Bausteine für sichere Stream-Verschlüsselungen verwendet. Dies basiert auf einem oder mehreren der folgenden Designprinzipien: - Nichtlineares kombinieren mehrerer LFSR-Ausgänge - Nichtlinear Filter mehrere x_i aus einem LFSR - Unregelmäßiges clocking Schau dir dazu nochmal die Programmieraufgabe aus dem ersten Semester Krypto an. What is secure? Ein Krypto System ist sicher, wenn es keinen Angriff mit Signifikanter Wahrscheinlichkeit auf Erfolg gibt. PRBG - PseudoRandom Bit Generator V2 – Passwords and Entrophy Three Types of Factors, to Identify Users Something I Know: Password, PINs Something I Own: Smartcard, dongles Something I Am: Biometrische Daten wie z. B. Fingerabdruck Für höhere Sicherheit kombiniert man gerne diese Optionen Better Password Handling - Regeln um starke passwörter zu wählen - Entrophy um die Passwort Stärke zu messen - Key stretching Rules to Choose Strong Passwords - Keine Wörter des Wörterbuches - Ch4r4ct3r replacements sind bekannt und helfen wenig - Don’t write it down (meistens) better a strong written down password than a weak password not written down NIST-Richtlinien zu Passwortsicherheit (National Institute of Standards and Technology) 1. Mindestens 8 Zeichen lang 2. Soll mindestens 64 Zeichen lang sein können 3. Alle Unicode-Zeichen erlaubt 4. Keine anderen Zusammensetzungsregeln 5. Keine periodischen Passwortänderungen vorschreiben 6. Passwortänderung nach Server Kompromittierung 7. Keine Hinweise zu Passwörtern 8. Keine Fragen wie: „Was ist der Name von…?“ 9. Passwörter mit üblichen Passwörtern abgleichen 10. Biete Richtlinien für gute Passwörter an 11. Limitiert Anzahl falscher Versuche 12. Speichere Passwörter sicher gegen Offline-Angriffe Zwei weitere überraschende Regeln - Lege keine anderen Zusammensetzungsregeln fest wie das Erfordernis von Mischung unterschiedlicher Zeichentypen oder das Wiederholen von Zeichen - Verlange nicht, dass Passwörter regelmäßig geändert werden Are n+2 Lowercase Letters Better than n Characters? If the n-character-password follows a common pattern, yes! Wie viele mögliche Passwörter bei einer Offline oder Online Attacke haben, um sicher vor NSA zu sein? Online: 2^30 Offline: 2^90 Was macht ein gutes Passwort aus? 1. Stark 2. Einfach zu merken 3. Einfach einzutippen Entropy - The amount of information a source provides - Number of bits, which are required to represent the information from a source - A source which permanently sends out the same information, provides no information o 0 entrophy - A source, which represent the result from flipping a fair coin provides 1 bit of entropy 2 * 0.5 + 2 * 0.25 + 2 * 0.125 + 2 * 0.125 = 25 “active” S-Boxes - Für jede aktive S-box: Prob