Horcrux

  Ralf Hersel   Lesezeit: 3 Minuten  🗪 5 Kommentare

Zerlegen einer Datei in verschlüsselte Teilstücke.

horcrux

Ein Horcrux ist ein Gegenstand, in dem ein dunkler Zauberer ein Fragment seiner Seele versteckt hat, um unsterblich zu werden. Solange der Gegenstand intakt bleibt, bleibt auch das Seelenfragment darin intakt und hält den Schöpfer in der Welt der Lebenden verankert, selbst wenn sein Körper tödlichen Schaden erleidet.

Das hier vorgestellte Werkzeug Horcrux ist weniger magisch als sein Pendant aus der Harry Potter Welt, jedoch auch sehr nützlich. Damit ist es möglich, eine Datei in beliebig viele Teile zu zerlegen und zu verschlüsseln. Für die Wiederherstellung wird kein Schlüssel oder Passwort benötigt, sondern die erzeugten Teile, wobei nicht alle Teilstücke notwendig sind. Das dafür verwendete Verfahren nennt sich Shamir's Secret Sharing.

Horcrux kann von der Projektseite bezogen werden und muss selbst gebaut werden. Alternativ kann man es aus dem AUR beziehen (horcrux-bin). In diesem Beispiel gibt es eine Textdatei namens beispiel.txt mit einem beliebigen Inhalt. Mit dem Befehl horcrux -t 3 -n 5 split beispiel.txt werden fünf Horcruxe erzeugt, wobei mindestens drei für die Wiederherstellung vorhanden sein müssen. Mit horcrux bind . wird die Originaldatei wiederhergestellt, wobei sich die Horcruxe im selben Verzeichnis befinden müssen. Hinter bind kann auch ein anderes Verzeichnis angegeben werden. Hier das Ganze im Zusammenhang:

> horcrux -t 3 -n 5 split beispiel.txt
creating beispiel_1_of_5.horcrux
creating beispiel_2_of_5.horcrux
creating beispiel_3_of_5.horcrux
creating beispiel_4_of_5.horcrux
creating beispiel_5_of_5.horcrux
Done!
> ll
-rw-r--r-- 1 ralf ralf 514  2. Jun 10:12 beispiel_1_of_5.horcrux
-rw-r--r-- 1 ralf ralf 514  2. Jun 10:12 beispiel_2_of_5.horcrux
-rw-r--r-- 1 ralf ralf 514  2. Jun 10:12 beispiel_3_of_5.horcrux
-rw-r--r-- 1 ralf ralf 514  2. Jun 10:12 beispiel_4_of_5.horcrux
-rw-r--r-- 1 ralf ralf 514  2. Jun 10:12 beispiel_5_of_5.horcrux
-rw-r--r-- 1 ralf ralf  22  2. Jun 10:06 beispiel.txt
> rm beispiel.txt
> rm beispiel_1_of_5.horcrux
> rm beispiel_2_of_5.horcrux
> ll
-rw-r--r-- 1 ralf ralf 514  2. Jun 10:12 beispiel_3_of_5.horcrux
-rw-r--r-- 1 ralf ralf 514  2. Jun 10:12 beispiel_4_of_5.horcrux
-rw-r--r-- 1 ralf ralf 514  2. Jun 10:12 beispiel_5_of_5.horcrux
> horcrux bind .
> ll
-rw-r--r-- 1 ralf ralf 514  2. Jun 10:12 beispiel_3_of_5.horcrux
-rw-r--r-- 1 ralf ralf 514  2. Jun 10:12 beispiel_4_of_5.horcrux
-rw-r--r-- 1 ralf ralf 514  2. Jun 10:12 beispiel_5_of_5.horcrux
-rw-r--r-- 1 ralf ralf  22  2. Jun 10:13 beispiel.txt

Und wozu soll das gut sein? Angenommen man möchte eine Datei sicher aufbewahren, so kann man sie splitten und die Teile an verschiedenen Orten ablegen. Wenn nach Jahren die Originaldatei wiederhergestellt werden soll, muss man sich nicht an ein Passwort erinnern, sondern nur die Mindestzahl der Horcruxe zusammentragen. Ein weiterer Anwendungsfall ist die sichere Übertragung einer Datei über mehrere Kanäle. Ausserdem erweist sich das Verfahren als nützlich, wenn man Tom Riddle heisst.

Quelle: https://github.com/jesseduffield/horcrux

Tags

Datei, verschlüsselt, teilen, Crypto, Horcrux, Teile, Horcruxe, Gegenstand, Originaldatei, Teil

Hendrik
Geschrieben von Hendrik am 3. Juni 2022 um 10:55

Ui, sehr cool.

Einen Anwendungsfall stelle ich mir im Rahmen des digitalen Nachlasses vor. Ein Fragment an alle näheren Familienmitglieder zur Aufbewahrung. Wenn 80% davon bis zum eigenen Tod nicht verschlampt wurden dürfen die in meinen Dateien stöbern ... und wenn sie die Files nicht aufgehoben haben, dann sollten sie vielleicht auch lieber nicht rein schauen :D

UbIx
Geschrieben von UbIx am 4. Juni 2022 um 18:40

Jens, dass ist eine sehr gute Idee 👍😀

UbIx
Geschrieben von UbIx am 5. Juni 2022 um 15:47

Für mich war es etwas schwieriger es zu installieren, deshalb für alle Interessenten.

Benötigte Tools installieren:

$ sudo zypper in git go go-doc

horcrux Herunterladen:

$ git clone https://github.com/jesseduffield/horcrux

horcrux compilieren:

$ cd horcrux && go build

Ralf Hersel
Geschrieben von Ralf Hersel am 5. Juni 2022 um 22:37

Das ist mal ein ganz anderer Ansatz, um Dokumente verschlüsselt zu verteilen. Es freut mich, wenn ihr Anwendungsfälle dafür findet.

Janko Weber
Geschrieben von Janko Weber am 4. November 2022 um 15:54

@UbIx Meinst das daß Du auf... https://github.com/jesseduffield/horcrux/releases ...keine Version gefunden hast die bei Dir funktioniert?

Ich habe horcrux_0.2_Linux_32-bit.tar.gz geladen, entpackt und am Terminal mit ./horcrux gestartet: funktioniert einwandfrei.

Ich überlege gerade ob ich ein solches Programm brauche. Wie es sein kann daß man eine Datei in 5 Teile zerlegt und zum Zusammensetzen nur 3 davon benötigt ist mir im Moment noch ein Rätsel. Die einzelnen Teile sollten dann deutlich größer sein wie bei normalen Datei-Splittern. *?

MfG Janko Weber