Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Verschlüsselungsarten
Die Stärke der Sicherheit der drei besten Cipher/Verschlüsselungsarten ist wie folgt, der sicherste steht oben:
- serpent (der sicherste in
CryptSetup- ganzes Dateisystem verschlüsseln) - twofish (der sicherste in
GPG- einzelne Dateie verschlüsseln) → GPG-Verschlüsselung mit Passwort - blowfish (der sicherste in
openSSL- einzelne Dateie verschlüsseln) → OpenSSL-Verschlüsselung mit Passwort
- die derzeit sichersten und frei verfügbaren Verschlüsselungsverfahren, der Reihe nach:
- Serpent (wurde als "hochsicher" eingestuft) ⇒ Serpent wurde bezüglich seiner Sicherheit als einziger nicht kritisiert.
- Twofish (Nachfolger von Blowfish) ⇒ Bei Twofish wurden bezüglich seiner Sicherheit vor allem die Eigenschaften der Schlüssel-Teilung und seine Komplexität, die eine Sicherheitsanalyse beeinträchtigt, kritisiert.
- MARS ⇒ MARS wurde hinsichtlich seiner Sicherheit lediglich wegen seiner Komplexität, die eine Sicherheitsanalyse erschwert, kritisiert.
- Blowfish (mit einer ausreichend hohen Anzahl an Runden) ⇒ Es ist kein effizienter Angriff auf die Blowfish-Verschlüsselung mit voller Rundenzahl bekannt. Außer der Brute-Force-Methode ist kein Weg bekannt, den Algorithmus mit 16 Runden zu brechen. - Aber! Da Blowfish eine Blockgröße von 64 Bit verwendet, ist ein Geburtstagsangriff möglich.
- Advanced Encryption Standard (AES, Rijndael) ⇒ Rijndael wurde vor allem wegen seiner mathematischen Struktur, die möglicherweise zu Angriffen führen könnte, kritisiert. - Manche Kryptographen sehen in der mathematischen Eleganz und einfachen Struktur ein Problem. Auch ist ein Kritikpunkt, das Rijndael sich als Gleichungssystem beschreiben lässt.
Interessant ist auch die von der Beale-Chiffre abgeleitete Buch-Verschlüsselung für den Einsatz ohne EDV.
Hier hat "c't uplink" eine Sendung gemacht, in der u.a. auch von einer Verschlüsselungen gesprochen wird, die auch Quanten-Computer nicht knacken können:
AES
Advanced Encryption Standard (AES)
Eine von FIPS freigegebener Blockchiffre (Rijndael, 1998 veröffentlicht) die von US-Regierungsministerien und -Behörden zum Schützen von streng geheimen Informationen verwendet werden darf. 256-Bit-Schlüssel, 14 Runden, 128-Bit-Block (AES-256, 2001 veröffentlicht), LRW-Modus.
NIST hat Rijndael (AES) im Jahre 2000 als hinreichend sicher eingestuft
Blowfish
Entworfen 1993 von Bruce Schneier. 448-Bit-Schlüssel, 64-Bit-Block. TrueCrypt verwendet Blowfish mit 16 Runden im LRW-Modus.
CAST5
CAST5 (alias CAST-128) wurde von Carlisle Adams und Stafford Tavares entworfen und 1997 veröffentlicht. 128-Bit-Schlüssel, 64-Bit-Block, LRW-Modus. CAST5 darf sowohl für kommerzielle als auch für nicht-kommerzielle Zwecke lizenzfrei benutzt werden.
Der CAST5-Nachfolger CAST-256 war ein Kandidat in der AES-Challenge.
Serpent
Entworfen von Ross Anderson, Eli Biham, und Lars Knudsen; 1998 veröffentlicht; 256-Bit-Schlüssel; 128-Bit-Block; LRW-Modus. Serpent war einer der AES-Finalisten (es wurde angenommen, dass Serpent der sicherste der fünf Finalisten sei).
NIST hat Serpent im Jahre 2000 als hoch-sicher eingestuft, Serpent wurde bezüglich seiner Sicherheit nicht kritisiert;
Triple-DES
Triple-DES, 1978 veröffentlicht, benutzt 3 DES-Durchläufe; entwickelt von IBM und der NSA (1976). Triple-DES arbeitet im LRW-Modus und verwendet 3 voneinander unabhängige 56-Bit-Schlüssel (jeweils einen pro Durchlauf) und einen 64-Bit-Block. Hinweis: Diese Blockchiffre ist sehr langsam.
Twofish
Entworfen von Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall and Niels Ferguson; 1998 veröffentlicht; 256-Bit-Schlüssel; 128-Bit-Block; LRW-Modus. Twofish war einer der AES-Finalisten.
NIST hat Twofish im Jahre 2000 als hoch-sicher eingestuft; Bei Twofish wurden bezüglich seiner Sicherheit vor allem die Eigenschaften der Schlüssel-Teilung und seine Komplexität, die eine Sicherheitsanalyse beeinträchtigt, kritisiert. Andererseits stellt Twofish laut seinem Entwickler-Team gerade durch diese Schlüsselteilung (key-dependent S-boxes) eine Sicherheitsarchitektur gegen noch unbekannte Angriffe dar.
MARS
Entworfen von IBM (Don Coppersmith); 1998 veröffentlicht; 128, 192 oder 256-Bit-Schlüssel; 128-Bit-Block; Feistelchiffre-Struktur; 32 Runden; MARS war einer der AES-Finalisten.
NIST hat MARS im Jahre 2000 als hoch-sicher eingestuft; MARS wurde hinsichtlich seiner Sicherheit lediglich wegen seiner Komplexität, die eine Sicherheitsanalyse erschwert, kritisiert.
RC6
Entworfen von Ronald L. Rivest, Matt Robshaw, Ray Sidney, Yiqun Lisa Yin; 1997 veröffentlicht; abgeleitet von RC5; 128, 192 oder 256-Bit-Schlüssel; 128-Bit-Block; Feistelchiffre-Struktur; 20 Runden; MARS war einer der AES-Finalisten.
NIST hat RC6 im Jahre 2000 als hinreichend sicher eingestuft
AES-Twofish
Zwei kaskadierte Blockchiffren im LRW-Modus. Jeder Block wird zuerst mit Twofish (256-Bit-Schlüssel) und anschließend mit AES (256-Bit-Schlüssel) verschlüsselt. Die beiden Schlüssel sind voneinander unabhängig.
AES-Twofish-Serpent
Drei kaskadierte Blockchiffren im LRW-Modus. Jeder Block wird zuerst mit Serpent (256-Bit-Schlüssel), dann mit Twofish (256-Bit-Schlüssel) und zum Schluss mit AES (256-Bit-Schlüssel) verschlüsselt. Die drei Schlüssel sind voneinander unabhängig.
Serpent-AES
Zwei kaskadierte Blockchiffren im LRW-Modus. Jeder Block wird zuerst mit AES (256-Bit-Schlüssel) und anschließend mit Serpent (256-Bit-Schlüssel) verschlüsselt. Die beiden Schlüssel sind voneinander unabhängig.
Serpent-Twofish-AES
Drei kaskadierte Blockchiffren im LRW-Modus. Jeder Block wird zuerst mit AES (256-Bit-Schlüssel), dann mit Twofish (256-Bit-Schlüssel) und zum Schluss mit Serpent (256-Bit-Schlüssel) verschlüsselt. Die drei Schlüssel sind voneinander unabhängig.
Twofish-Serpent
Zwei kaskadierte Blockchiffren im LRW-Modus. Jeder Block wird zuerst mit Serpent (256-Bit-Schlüssel) und anschließend mit Twofish (256-Bit-Schlüssel) verschlüsselt. Die beiden Schlüssel sind voneinander unabhängig.
Verschlüsselung von Daten
Verschlüsselung von Dateien
Verschlüsselung von Laufwerken/Partitionen
ZFS-Beispiel (FreeBSD + Linux)
allgemeine Vorbereitungen: ZFS-Pool ohne Mount-Point anlegen:
> zpool create -m none HDD1000 /dev/sda > zpool list HDD1000 > zpool status HDD1000 > zfs get mountpoint,compression,encryption HDD1000
initialisieren: ZFS-Volumen mit Passwort anlegen:
> zfs create -o encryption=aes-256-gcm -o keylocation=prompt -o keyformat=passphrase -o mountpoint=/HDD1000/test HDD1000/test > zfs list HDD1000/test > zfs get mountpoint,compression,encryption HDD1000/test > zfs list
ZFS-Volumen und ZFS-Pool löschen:
> zfs destroy HDD1000/test > zpool destroy HDD1000
Linux-Beispiel (cryptsetup mit Passwort)
allgemeine Vorbereitungen + mit Passwort initialisieren:
> cryptsetup benchmark > cryptsetup benchmark --cipher serpent > cryptsetup -y -c serpent-xts-plain -s 512 -h sha512 luksFormat /dev/sda1 > cryptsetup luksOpen /dev/sda1 cryptoluks > cryptsetup status cryptoluks > mkfs -t ext4 -m 0 -L Sphinx /dev/mapper/cryptoluks > cryptsetup luksClose cryptoluks > ls -lha /dev/mapper/
mit Passwort mappen + mounten:
> cryptsetup luksOpen /dev/sda1 cryptoluks > cryptsetup status cryptoluks /dev/mapper/cryptoluks is active. type: LUKS2 cipher: serpent-xts-plain keysize: 512 bits key location: keyring device: /dev/loop0 loop: /dev/sda1 sector size: 512 offset: 32768 sectors size: 1953488896 sectors mode: read/write > mount /dev/mapper/cryptoluks /mnt/ > df -h /mnt/ Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf /dev/mapper/cryptoluks 916G 28K 916G 1% /mnt
unmounten + unmappen:
> umount /mnt > cryptsetup luksClose cryptoluks > ls -lha /dev/mapper/
