Ubuntu 12.04 „Precise Pangolin“
Ubuntu 10.04 „Lucid Lynx“
Elettra
ist ein Kommandozeilenprogramm zur Verschlüsselung von Dateien. Es existiert aber auch eine graphische Oberfläche für das Programm. Das besondere an Elettra ist, dass es einem die Möglichkeit gibt, mehrere Dateien zum Beispiel "Geheim.txt" und "Unwichtig.txt" zu verschlüsseln und gleichzeitig zu packen und in ein verschlüsseltes Archiv zu stecken. Dabei gibt man für beide Dateien ein unterschiedliches Passwort ein.
Wird man nun zum Beispiel von einem Richter dazu gezwungen, das Passwort für das verschlüsselte Archiv herauszugeben, gibt man nur das Passwort für "Unwichtig.txt" heraus, und die Datei "Geheim.txt" ist weiterhin sicher. Es ist aufgrund von bestimmten mathematischen Eigenschaften und der Benutzung von Padding Bytes unmöglich herauszufinden wieviele Dateien sich innerhalb eines solchen Archives befinden. Das eingesetzte Verfahren ist demjenigen von "Hidden Devices" von TrueCrypt sehr ähnlich.
Das Programm ist eine Antwort auf den in England erlassenen RIP-Acts, mit dem ein Richter einen Beschuldigten dazu zwingen kann, Passwörter für verschlüsselte Daten herauszugeben. Das Programm zeigt die Nutzlosigkeit dieses RIP-Acts angesichts der Verfügbarkeit solcher Programme wie Elettra und wurde erstmals in der 65. Ausgabe des phrack-Magazines vorgestellt.
Elettra befindet sich nicht in den Paketquellen von Ubuntu und muss deswegen von Hand kompiliert und installiert werden.
Vor der manuellen Installation müssen die folgenden Pakete installiert [1] werden:
cmake
build-essential
libmhash-dev
zlib1g-dev
libmcrypt-dev (universe[2])
mit apturl
Paketliste zum Kopieren:
sudo apt-get install cmake build-essential libmhash-dev zlib1g-dev libmcrypt-dev
sudo aptitude install cmake build-essential libmhash-dev zlib1g-dev libmcrypt-dev
Fremdsoftware kann das System gefährden.
Danach lädt man sich den Quellcode ("C source") von der Website herunter und entpackt [3] das Paket. Jetzt wechselt man im Terminal [4] in das Verzeichnis und dort in das Unterverzeichnis src:
cd elettra/src
und erstellt dort den Ordner build, in den man danach hineinwechselt:
mkdir build cd build
Jetzt kann man mit den folgenden zwei Befehlen das Programm konfigurieren und kompilieren:
cmake .. make
Die ausführbare Datei liegt nun im build-Ordner in dem man sich befindet und hat den Namen elettra. Um das Programm nun bequem systemweit aufrufen zu können verschiebt man die Datei mit folgendem Befehl nach /usr/local/bin:
sudo mv elettra /usr/local/bin
installieren [1].
Nun kann man Elettra im Terminal [4] mit dem Befehl:
elettra
aufrufen und bekommt eine kurze Beschreibung über die Funktionsweise angezeigt:
./elettra by julia@winstonsmith.info, https://www.winstonsmith.info/julia cryptography is free, improver security and doesn't give problem. for this reason, is better use when you could ./elettra encrypt outputfile [size increment]% plainfile[::password] ./elettra decrypt cipherfile [password] [output directory] ./elettra checkpass password(s) ./elettra example (show examples of use) - passwords, if not available, is ask with echo of
Elettra unterstützt im Moment vier unterschiedliche Parameter zur Verschlüsselung (encrypt
), Entschlüsselung (decrypt
), zum Überprüfen der Passwörter (checkpass
) und zum Anzeigen von ein paar Beispielen (example
).
Durch folgenden Befehl kann man sich einige Beispiele zur Benutzung von Elettra anzeigen lassen:
elettra example
Passwörter müssen jeweils mindestens 6 Zeichen lang sein.
Damit die unterschiedlichen Dateien wirklich unsichtbar sind ist es wichtig, dass es nicht zu Kollisionen bei der Verschlüsselung kommt. Deswegen sollte man die Passwörter vor ihrer Benutzung überprüfen. Dies geht mit dem Befehl:
elettra checkpass PASSWORT1 PASSWORT2 ...
Will man zum Beispiel für Datei Nr.1 das Passwort "Thei7ooL" verwenden und für Datei Nr.2 das Passwort "AiMeeS8t" überprüft man ob die beiden Passwörter gut sind mit diesem Befehl:
elettra checkpass Thei7ooL AiMeeS8t
Eine positive Ausgabe sieht in ungefähr so aus:
password(s) combinations work ok, atleast with password block of 3072 bytes
eine negative Ausgabe so:
your passwords CANNOT cooperate, try other sequence and avoid password duplication
Man verschlüsselt Dateien mit diesem Befehl:
elettra encrypt AUSGABEDATEI PADDINGBYTES% DATEI1::PASSWORT1 DATEI2::PASSWORT2 ..
Will man zum Beispiel die Datei wichtig.txt mit dem Passwort "Thei7ooL" und die Datei unwichtig.txt mit dem Passwort "AiMeeS8t" verschlüsseln und dem Archiv den Namen ergebnis geben lautet der Befehl:
elettra encrypt ergebnis 20% wichtig.txt::Thei7ooL unwichtig.txt::AiMeeS8t
Wieviel Prozent Padding Bytes man hinzufügen möchte ist dabei egal. Also ob 10, 20 oder 100% macht keinen großen Unterschied. Diese Option sichert aber, dass man dem Richter sagen kann, man hat zum Beispiel 100% Padding Bytes angegeben und deswegen ist das Archiv so groß.
Man entschlüsselt nun eine Datei mit dem Befehl:
elettra decrypt AUSGABEDATEI PASSWORT
Um also aus dem Beispiel oben die Datei unwichtig.txt zu entpacken lautet der Befehl:
elettra decrypt ergebnis AiMeeS8t
Es gibt nun keine Möglichkeit festzustellen, dass sich neben dieser Datei auch noch zusätzlich die Datei wichtig.txt im Archiv befindet.
Um das Programm zu deinstallieren muss man nur die ausführbare Datei wieder löschen:
sudo rm /usr/local/bin/elettra
Auch die graphische Oberfläche ist noch nicht in den Paketquellen und muss deswegen entweder von Hand oder über eine Fremdquelle installiert werden.
Um eine graphische Oberfläche für Elettra manuell zu installieren muss man zuvor das Paket:
libwxgtk2.8-dev (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install libwxgtk2.8-dev
sudo aptitude install libwxgtk2.8-dev
installieren [1] . Außerdem muss Elettra wie oben beschrieben wurde installiert worden sein und die ausführbare Datei elettra muss in einem ausführbaren Pfad wie /usr/local/bin/ liegen.
Jetzt lädt man sich von der Webseite den Quellcode der graphischen Oberfläche ("C++ source GUI ") herunter und entpackt [3] ihn. Danach wechselt man im Terminal [4] in den entpackten Ordner und kompiliert die GUI mit dem Befehl:
g++ *.cpp -I. `wx-config --cxxflags --libs` -o elettra-gui
Die ausführbare Datei liegt nun im Ordner in dem man sich befindet und hat den Namen elettra_gui. Um das Programm nun bequem systemweit aufrufen zu können verschiebt man die Datei mit folgendem Befehl nach /usr/local/bin:
sudo mv elettra-gui /usr/local/bin
Die Benutzung ist eigentlich selbst erklärend. Über "Output File" wählt man einen Zielordner und den Namen den das verschlüsselte Archive erhalten soll. Über "Add" kann man nun Dateien und Passwörter hinzufügen und dann letztendlich mit einem Klick auf "OK" beginnt die Verschlüsselung.
Im "Decrypt"-Raster kann man ein verschlüsseltes Archiv und ein Passwort angeben und außerdem ein Zielordner wo die entschlüsselte Datei abgelegt werden soll. Nach einem Klick auf "OK" kann man eine Datei dann wieder entschlüsseln.
Um das Programm zu deinstallieren, muss man nur die ausführbare Datei wieder löschen:
sudo rm /usr/local/bin/elettra_gui