Praktische Kryptographie

Kryptographie für Softwareentwickler

Ratings 4.50 / 5.00
Praktische Kryptographie

What You Will Learn!

  • Unterschiede zwischen verschiedenen kryptographischen Algorithmen verstehen
  • Verwendungszwecke zwischen verschiedenen kryptographischen Algorithmen und Protokollen verstehen
  • Prinzipien hinter der Verwendung der verschiedenen kryptographischen Algorithmen verstehen
  • Implementierungen kryptographischer Algorithmen verwenden können

Description

Dieser Kurs ist für alle, die Kryptographie verstehen wollen: was das ist, wozu verwendet man das, wie verwendet man das. Was sind die Unterschiede zwischen verschiedenen kryptographischen Algorithmen, was für Algorithmen gibt es überhaupt, welche Algorithmen soll man verwenden und warum. Was für Angriffe gibt es, und worauf muss man achten, um sich gegen die Angriffe zu schützen.

In diesem Kurs werde ich Ihnen über die folgenden Themen erzählen:


  • Überblick über die Terminologie, verschiedene kryptographische Primitive, verschiedene kryptographische Protokolle

  • Hash-Funktionen (z.B. SHA-256); Motivation, Merkmale und Anwendung

  • Message Authentication Code (MAC); Motivation und Verwendung

  • Schlüsselableitungsfunktionen (KDF), bcrypt, Salt

  • Symmetrische Kryptographieverfahren: AES-128, AES-256, ChaCha20, AEAD; Betriebsmodi z.B. CBC, GCM

  • Asymmetrische Kryptographieverfahren: RSA, ECC (EdDSA), ECIES; Verwendung verschiedener elliptischen Kurven z.B. NIST P-256, Curve25519

  • Angriffsszenarien: MITM, Kollisionsangriffe, Wörterbuchangriffe, Regenbogentabellen, Plaintext-Angriffe, Ciphertext-Angriffe, Replay-Angriffe, Padding-Orakel-Angriffe, Seitenkanalangriffe

  • One-Time Passwords

  • Shamir's Secret Sharing

  • JavaScript Crypto.Subtle-API

  • TLS/HTTPS, X.509-Zertifikate, Verwendung von OpenSSL

  • Verschiedene kryptographische Protokolle: SSH, PGP/GPG, Bitcoin, Signal

Hauptsächlich wird die Information mit Hilfe von Slides übermittelt, jedoch gibt es viele Code-Beispiele U.a. werden die folgenden Bibliotheken exemplarisch verwendet:


  • PyCryptodome (mehrere Vorlesungen)

  • Cryptography in Python (mehrere Vorlesungen)

  • Javax.Crypto-API (Eine Vorlesung)

  • JavaScript Crypto.Subtle-API (Eine Vorlesung)

Zusätzlich beinhalten einige Vorlesungen Beispiele über Kommandozeile, z.B. zur Verwendung von OpenSSL.

Das Ziel des Kurses ist, dem Studierenden die Prinzipien der verschiedenen kryptographischen Algorithmen, Verfahren und Protokolle beizubringen, damit der Studierende in der Lage ist, mit der Programmiersprache und Softwarebibliothek seiner Wahl die verschiedenen Algorithmen und Protokolle anwenden zu können.

Willkommen!

Who Should Attend!

  • Für Softwareentwickler, die Kryptographie verwenden wollen
  • Für die, die über die Grundlagen von Kryptographie lernen wollen

TAKE THIS COURSE

Tags

  • Cryptography

Subscribers

26

Lectures

54

TAKE THIS COURSE



Related Courses