Cryptogafie
Inhalt
Dateiverschlüsselung⌗
Konzepte⌗
symetrische Verschlüsselung⌗
Dateien sind symetrisch Verschlüsselt, wenn sie mit einem Passwort geschützt sind. Diese Dateien können dann von jedem mit dem richtigen Passwort entschlüsselt werden.
2-Schlüssel Verschlüsselung⌗
Bei dieser Methode hat man 2 Schlüssel. Einen privaten und einen öffentlichen.
Eine Datei wird dann mit dem öffentlichen Schlüssel des Empfängers verschlüsselt, sodass die Datei nur noch mit seinem privaten Schlüssel wieder entschlüsselt werden kann. Zusätzlich wird die Datei (oder der Text) mit dem privaten Schlüssel des Absenders verschlüsselt (in diesem Fall “signiert”). Dadurch kann der Empfänger überprüfen, ob die Datei wirklich von dem erwarteten Absender gesendet wurde, denn die Datei kann nur mit dem privaten Schlüssel des Empfängers und dem öffentlichen Schlüssel des Absenders entschlüsselt werden kann.
Diese Methode hat mehrere Vorteile:
- Die Schlüssel können risikolos versendet werden, denn man muss ja nur die öffentlichen Schlüssel senden.
- Es ist durch das Signieren sichergestellt, dass die Nachricht (/ die Datei) wirklich von der Person verschlüsselt wurde, die sie behauptet zu sein.
- Nur die Adressaten können die Datei wieder entschlüsseln, da nur sie die passenden öffentlichen Schlüssel haben.
Programme⌗
GPG⌗
2 Schlüssel
GPG ist der Sicherheitsstandard im Moment.
Schlüsselerstellung⌗
gpg --full--generate-key
-
Bitlänge
Ich habe die größte Zahl gewählt, da längere Schlüssel sicherer sind
-
Das Ablaufdatum
Ich habe in dem Beispielfall “never” gewählt, aber es empfiehlt sich durchaus ein Ablaufdatum anzulegen, da so verschiedene Angriffe oder eine Komprimierung des Schlüssels nur temporär sind.
Um den Schlüssel zu exportieren führe
gpg --export --armor --output gpg-key.pub
aus.
Benutzung⌗
-
Entschlüsselung
gpg -d input.gpg
-
symetrische Verschlüsselung
gpg -c input
-
asymetrische Verschlüsselung
gpg -e -r empfänger-id input
-
signieren
gpg -s input
-
lesbarer Output
-a
Beispiel:
echo "<3" | gpg -esa -r Lovis
Ergebnis:
-----BEGIN PGP MESSAGE-----
hF4D7KuYpQo/REMSAQdAnsn5L771XYwsPvPriP48PGYkFxB5YQXFyyxuXYDwniUw
smfWM0TfXcUub/VZJ1OyZFSeWKIuiQm5PAI5oyAZD18LKb9PeGK4/QkQvKtuzhFS
0rsBr2Rtu0Tx4I6QCoOGIEKM2NS2qpP1BgSPIf53tzHbJPr6LtpjzWdxNNPCrMkR
5kjJtotCWz1yLv/M/XdAemzfQww4CI5oMFMY6tU4d6/VzTQVzMT/DTTqDYS4NYtx
/zU+LhV3MSYn/Ddc8Qg/Gm6EjyzayBiP7ZjaqC8u8x6/5Igbhd7oxvKOaAs6nN7N
H94N28cslD5SUoa5kfdgZT3xKRr3JrZ+m5FPHFYfk75jgArFgRYl7D9Su+vJ
=4l/o
-----END PGP MESSAGE-----
wenn ich dann
echo "<3" | gpg -esa -r Lovis | gpg -d
ausführe ist der Output:
gpg: encrypted with 255-bit ECDH key, ID ECAB98A50A3F4443, created 2022-06-11
"Lovis <mail@lovisrentsch.de>"
<3
gpg: Signature made So 25 Dez 2022 15:27:18 CET
gpg: using EDDSA key DA817CB2DDA422DA217F64D84EECB7B4F3AAD33E
gpg: Good signature from "Lovis <mail@lovisrentsch.de>" [ultimate]
Die verschlüsselte Nachricht, sowohl als auch das Ergebnis der Überprüfung der Signatur.
Der Fingerprint⌗
Der Fingerprint ist eine Folge von Buchstaben und Zahlen, die es ermöglichen die Korrektheit des Schlüssels einer anderen Person zu überprüfen.
Wenn ich zum Beispiel den öffentlichen Schlüssel aus dem Internet herunterlade und importiere, vertraue aber nicht voll darauf, dass es der richtige öffentliche Schlüssel ist. Dann frage ich die Person (am besten in echt, oder über andere nicht verfälschbare Wege) nach dem Fingerprint. Sie sind sozusagen ein hash des Schlüssels.
Veracrypt⌗
Veracrypt ist ein Passwort basiertes Verschlüsselungstool (Also keine Schlüssel).
Veracrypt hat einige Vorteile, wie zum Beispiel die Option ganze Partitionen und Drives zu Verschlüsseln. Auch kann man mit Hilfe dieses Programms einfach verschlüsselte Ordner erstellen, die man mit dem passenden Passwort auch wieder öffnen kann, wobei diese aber nur temporär offen sind. Man erspart sich also das Ent- und Verschlüsseln nach jeder Benutzung. Man kann es benutzen wie ein “Tresor”.
Durch das GUI sind alle Prozesse einfach zu durchblicken und zu erlernen.
hat.sh⌗
hat.sh ist online, jedoch werden keine Daten an den Server gesendet.
Es ist ein gutes Tool, da es für jeden (auch auf mobilen Browsern!) erreichbar ist. Außerdem ist sowohl Passwortverschlüsselung, als auch 2 Schlüssel Verschlüsselung möglich.
mein öffentlicher Schlüssel: hat.sh.pub
7z⌗
7z ist eher als Kompressionswerkzeug bekannt, es hat allerdings auch eine Verschlüsselungsfunktion, um die Archive zu schützen.
Benutzung⌗
- Erstellen eines Archivs
7z a output.7z input/
- Öffnen eines Archivs
7z e input.7z
- Erstellen mit Passwort
7z a -e output.7z input
52posts⌗
Dieser Beitrag ist Teil meines Plans in 2023 jede Woche einen Post zu erstellen, mit Dingen die ich gelernt habe. (Das sind dann 52 Posts).