Dozenten: Rainer R. | Tobias R.
Das Bündnis Privatsphäre Leipzig e. V. ist eine überparteiliche Bürgerinitiative mit dem Ziel, Überwachung, Rechtsstaatlichkeit und Demokratie in einem breiten öffentlichen Diskurs zu thematisieren.
Monatliches Meetup (Stammtisch) immer am letzten Donnerstag des Monats ab 19 Uhr
CryptoParty is a decentralized, global initiative to introduce the most basic cryptography programs and the fundamental concepts of their operation to the general public.
Wir verstehen Cyptoparties als Vermittlung von Wissen zur „Digitale Selbstverteidigung“.
»Wenn wir nichts Falsches tun, dann haben wir das Recht, alles in unserer Macht Stehende zu unternehmen, um das traditionelle Gleichgewicht zwischen uns und der lauschenden Macht aufrechtzuerhalten.«
Habe Mut, dich deines eigenen Verstandes zu bedienen!
Beantwortung der Frage: Was ist Aufklärung?
→ Selbstbestimmung erfordert Wissen und Erfahrung.
Risiko: Überforderung des Individuums
Prinzip | Praxisformen |
---|---|
Überwachung vermeiden | Selbstdatenschutz |
Überwachung blockieren | Selbstdatenschutz, Transportverschlüsselung, Ende-zu-Ende-Verschlüsselung |
Überwachung verfälschen | Verschleierung, Transportverschlüsselung, Ende-zu-Ende-Verschlüsselung |
Wendet sich gegen Massenüberwachung
Verschlüsselung funktioniert. Richtig implementierte, starke Crypto-Systeme sind eines der wenigen Dinge, auf die man sich verlassen kann.
Bedrohungsmodelle:
https://de.wikipedia.org/wiki/Symmetrisches_Kryptosystem
Gleicher Schlüssel für Verschlüsselung und Entschlüsselung der Nachricht (oder Berechnung beider Schlüssel auseinander)
Video zur Einführung in symmetrische Verschlüsselung (englisch)
Die Verschlüsselung hat zwei grundsätzliche Ziele:
Konfusion und Diffusion
guter Chiffretext ist nicht von Zufallszahlen und -zeichen zu unterscheiden
Schema
https://de.wikipedia.org/wiki/Blockchiffre
https://de.wikipedia.org/wiki/Blockchiffre
Video zur Erklärung eines symmetrischen Algorithmus (in englisch)
Das dort erklärte DES gilt allerdings inzwischen als unsicher.
Hashfunktionen zur Datenhaltung | Prüfsummen | Kryptologische Hashfunktionen | Passwort-Hashfunktionen | |
---|---|---|---|---|
Anwendungsgebiete | Schlüssel-Wert-Paare; Indexfunktionen in Datenbanken, Caches | Erkennung von Veränderungen an übertragenen Daten | Nachrichten signieren bzw. die Integrität von Daten sicherzustellen | Nachrichten zu signieren bzw. die Integrität von Daten sicherzustellen |
Differenzierung | B+ tree, R-tree, Verteilte Hashtabelle (DHT) | Einfache v. Komplex | Schlüssellose Hashfunktionen, Message Authentication Codes | Standardisiert (PBKDF2, Argon2), Nicht-Standardisiert (Bcrypt, Scrypt) |
Hashfunktionen zur Datenhaltung | Prüfsummen | Kryptologische Hashfunktionen | Passwort-Hashfunktionen | |
---|---|---|---|---|
Beispiele | Dictionary<string,string> (C#), HashMap<&str, i32> (Rust), woerter = {"house":"Haus", "cat":"Katze"} (Python) |
CRC32, Adler-32, Quersumme | MD5, SHA1 vs. HMAC-MD5 and HMAC-SHA | BBKDF2, Argon2, Bcrypt, Scrypt |
Verfahren | Veröffentlichung | Empfehlung |
---|---|---|
MD5 | 1992 | 💔 gilt als unsicher |
SHA (SHA-Familie) | 1993 (SHA-0), 1995 (SHA-1), 2002 (SHA-256, SHA-384, SHA-512) | 💔/💛 Im Februar 2017 wurde die erste Kollision für SHA-1 veröffentlicht. → SHA-512 verwenden |
RIPEMD | 1992, 1996 (RIPEMD-128, RIPEMD-160) | 💛 kollisionen für die Variante von 1992 möglich |
Verfahren | Veröffentlichung | Empfehlung |
---|---|---|
Whirlpool | 2003 | 💚 keine Kollisionen bekannt, 512 Bit Hashwert, zehn AES-Runden |
SHA-3/Keccak | 2011 (3. Version) | 💚 Alternative zu SHA-2 |
BLAKE | 2010 (BLAKE2 2012) | 💚 BLAKE war einer der Finalisten im SHA-3-Auswahlverfahren der NIST. |
Verfahren | basiert auf | Empfehlung |
---|---|---|
PBKDF2 | DK = PBKDF2(PRF, Password, Salt, c, dkLen) |
vom NIST standardisiert; mit min. 100 000 Iteratioen durchführen |
scrypt | sala20/8 | mit niedrigen Parametern durch GPU-Hardware angreifbarer als bcrypt; Seitenkanalattacke durch cache timing theoretisch möglich |
Verfahren | basiert auf | Empfehlung |
---|---|---|
bcrypt | blowfish; Länge des Passworts auf 56 Bytes beschränkt | angreifbar (Wörterbuchangriff oder Brute-Force-Methode), bessere Ergebnisse als PBKDF2 |
Argon2 | Blake2b | Empfehlung der unabhängigen Password Hashing Competition (PHC); weitere Finalisten: Catena, Lyra2, Makwa und yescrypt |
$ sha512sum Qubes-R3.2-x86_64.iso
de1eb2e76bdb48559906f6fe344027ece20658d4a7f04ba00d4e40c63723171c62bdcc869375e7a4a4499d7bff484d7a621c3acfe9c2b221baee497d13cd02fe Qubes-R3.2-x86_64.iso
Prüfsummme vergleichen
$ sha512sum -c Qubes-R3.2-x86_64.iso.DIGESTS
$ sha3-512sum Qubes-R3.2-x86_64.iso
$ rhash --sha3-512 Qubes-R3.2-x86_64.iso
gpg -c --cipher-algo AES256 --digest-algo SHA512 geheim.txt
verschlüsselte Datei heißt: geheim.txt.gpg
(im selben Verzeichnis)
gpg -d -o geheim.txt geheim.txt.gpg
https://www.aescrypt.com/download/
$ cryptsetup -c aes-xts-plain -y -s 512 luksFormat /dev/disk/by-uuid/XXX
$ cryptsetup luksOpen /dev/disk/by-uuid/XXX mycrypteddev
$ mkfs.ext4 /dev/mapper/mycrypteddev
$ cryptsetup luksClose /dev/mapper/mycrypteddev
$ cryptsetup luksOpen /dev/disk/by-uuid/XXX mycrypteddev
$ mount -t ext4 /dev/mapper/mycrypteddev /mnt/mount_point
$ umount /mnt/mount_point
$ cryptsetup luksClose mycrypteddev