Horcrux

Do, 2. Juni 2022, Ralf Hersel

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