Drucken

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
09:30 - 17:00
Alternative Termine stehen am Ende dieser Seite


Dieses Training findet in der typischen Classroom Variante und in der Live Variante übers Internet via ZOOM Session statt. Sie können selber entscheiden welche Variante besser für sie passt.


Kursort:


Das Classroom Training findet statt bei:

LinuxCampus
Brodtischgasse 4
2700 Wr. Neustadt (Österreich) Austria
Website des Veranstaltungsortes
LinuxCampus
Das Live Training findet statt bei:

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
Die Unterrichtssprache ist Deutsch
Die Kursunterlagen werden im PDF Format bereitgestellt
Jeder Teilnehmer erhält ein Kurszertifikat
Kalt- und Heißgetränke und Snacks werden kostenlos bereitgestellt

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

EUR 1.490,00
Tooltip
Erforderlich Tooltip
Tooltip
Tooltip
Tooltip
Erforderlich Tooltip
Tooltip
Erforderlich Tooltip
Erforderlich Tooltip
Erforderlich Tooltip
Erforderlich
Erforderlich Tooltip
Erforderlich Tooltip
Erforderlich Tooltip
Erforderlich Tooltip
Hiermit bestätige ich das ich die AGB gelesen und akzeptiert habe
Erforderlich
1 Kursvariante
2 Anmeldedetails


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