Kryptographie Grundlagen mit Python
Die Kryptografie ist die Wissenschaft der Geheimhaltung von Informationen. Diese Informationen, oder auch Daten, werden mithilfe eines Algorithmus in eine Form überführt, die für Unbefugte nicht zu lesen oder zu verstehen ist. Heutzutage wird Kryptographie von fast allen Menschen täglich genutzt, sei es, um sicher über ein Netzwerk zu kommunizieren, Daten vor bösen Blicken zu schützen oder einfach nur elektronisch die Eingangstür zu öffnen.
Dieser Kurs richtet sich an Administratoren und Entwickler, die die gängigsten Kryptographie-Verfahren verstehen und anwenden wollen. Um das komplexe Thema besser zu verstehen, werden wir alle Verfahren in einfachen, auf Python basierenden Beispielen ausprobieren.
Der Kurs beinhaltet auch an den notwendigen Stellen die wichtigsten Mathematischen Begriffe und Formeln der Kryptographie. Dabei wird aber sehr großes Augenmerk daraufgelegt, dass jeder Teilnehmer dem Vorgang folgen kann ohne tiefere Mathematik Kenntnisse haben zu müssen!
Kursinhalte
- Grundlagen Kryptographie
- Kryptographische Grundaufgaben
- Überblick Verschlüsselungsarten
- BASE64 Codierung
- Hash und Salt
- Message Authentication Code (MAC)
- Funktionsweise der symmetrischen Verschlüsselung
- Funktionsweise der asymmetrischen Verschlüsselung
- Schlüssellänge und Sicherheit
- Diffie-Hellman Key Exchange
- Aufbau von Digitalen Zertifikaten
- Funktionsweise der Digitalen Signatur
- BASE64 Codierung
- Dokumente und Strings BASE64 kodieren
- Praktische Beispiele in Python
- Hashes
- Kryptographische Hash Funktionen im Vergleich
- Hash Kollisionen
- Hash Output Size vs. Security Bits
- MD5, SHA-2, SHA-3, BLAKE2 im Vergleich
- Hash Module in Python
- Hashes und Checksummen Erstellung
- Built-In hash() Funktion
- Praktische Beispiele in Python
- Kryptographische Hashes
- Deterministisches Verhalten
- Feste Ausgabelänge
- Lawineneffekt (Avalanche-Effect)
- Einwegfunktion (One-way function)
- Schwache Kollisionsresistenz (Weak collision resistance)
- Starke Kollisionsresistenz (Strong collision resistance)
- Geburtstagsparadoxon (birthday paradox)
- hashlib Modul
- Erstellen eines SHA256 Hashwertes
- Erstellen eines MD5 Hashwertes
- Erzeugen einer MD5-Kollision
- Checksum (Prüfsumme)
- Prüfsumme vs. Hash
- Prüfsummen (adler32, crc32) erstellen
- Arbeitsweise von CRC (cyclic redundancy check)
- SHA256 Hash einer Datei erstellen
- Keyed Hashing
- Hashes zusätzlich mit einem Secret Key absichern
- Random Numbers Problematik
- Hash based Message Authentication Code (HMAC)
- Praktische Beispiele in Python
- Primzahlen
- Aufbau von Primzahlen
- Generieren von Primzahlen mit Python
- Grundlagen Primfaktorzerlegung
- Primfaktorzerlegung mit Python
- Messen der Auswirkung der Primzahllänge auf die Laufzeit beim faktorisieren
- RSA Factoring Challenge (RSA-129, RSA-576, RSA-640, RSA-768)
- Asymmetrische Falltür Funktionen
- MIPS und MIPS-Jahr
- Problematik Zufallszahlen
- Algorithmus für Zufallszahlen
- Entrophiewert
- Random Seed
- Python cryptography Package
- Hazardous materials layer
- Recipes layer
- Symmetrische Verschlüsselung
- Arbeitsweise von Stromchiffren und Blockchiffren
- Betriebsmodi ECB, CBC, CTR OFB und CFB im Vergleich
- Padding Problematik
- DES, Triple DES, Blowfish, Twofish und AES im Vergleich
- Symmetrische Verschlüsselung mit dem Modul cryptography.fernet
- Praktische Beispiele in Python
- Grundlagen RSA-Keys
- Erstellen von Public und Private Key mit openssl
- Public Key Cryptography Standards (PKCS)
- Unterschied Private Key Formate (PKCS#1, PKCS#8)
- Inhalte der Keys im Detail (modulus, publicExponent, privateExponent, prime, ...)
- RSA-Multi-Prime
- Schrittweises berechnen des RSA Public und Private Keys
- Schrittweises berechnen der Ver- und Entschlüsselung
- Asymmetrische Verschlüsselung
- RSA Public und Private Key Erstellung mit cryptography.hazmat
- Public Exponent, Key Size und Backend Einstellungen
- Privat Key Formate
- Praktische Beispiele in Python
- Digitale Signatur
- RSA basierende digitale Signaturen
- Elliptic-Curve basierende digitale Signaturen
- Digitale Signatur erstellen mit dem Modul cryptography.hazmat
- Überprüfen von signierten Dokumenten
- Praktische Beispiele in Python
- Transport Layer Security
- SSL, TLS und HTTPS
- TLS Handshake
- Cipher Suite Negotation
- Praktische Beispiele in Python
Empfohlene Vorkenntnisse
Python Kenntnisse, wie sie in unserem Kurs "Python 3 Grundlagen" vermittelt werden.
Details zu diesem Open Source Training
Kurstitel: | Kryptographie Grundlagen mit Python |
Kurspreis: | 1.490,00 € exkl. MwSt pro Teilnehmer, Standardpreis ohne Rabatt |
Kursdatum: Kurszeiten: |
Open date - Open date |
|
|
Kursort: |
LinuxCampus Sie können vom jedem Ort teilnehmen von dem Sie möchten und es ist keine Anreise notwendig. Sie benötigen nur eine Webcam, einen Webbrowser (ZOOM-Session) und einen VNC-Client für den Zugriff auf ihr Teilnehmer LAB. |
Details: |
Der Kurs ist auf 10 Teilnehmer beschränkt |
Kennen Sie schon das LinuxCampus.net Rabatt & Bonus System? |
Den Kurstermin Open date - Open date buchen
Schritt 1: Auswahl der Kursvariante (Classroom oder Live)
Schritt 2: Angabe der Teilnehmer Daten
Alternative Kursmöglichkeiten
Alternativer Kursort:
Dieses Thema kann auch als In-House Training oder Einzeltraining gebucht werden
Alternativer Termin:
Ab 3 Teilnehmern bieten wir Ihnen gerne einen auf Ihre Bedürfnisse abgestimmten Termin an
Weitere Termine zu diesem Kursthema
Datum | Kurstitel | Ort |
---|---|---|
ohne Datum | Kryptographie Grundlagen mit Python | LinuxCampus |