Forum: PC-Programmierung Blowfish-verschlüsselte Textdatei erzeugen, die mit "vim" lesbar


von J. W. (nuernberger)


Lesenswert?

Hallo,
ich möchte eine verschlüsselte Datei erzeugen (C-Programm),
die ich direkt in vim (Texteditor vi-improved) entschlüsseln kann.
Vim bietet ja 2 Methoden an, PKunzip und Blowfish.

Somit habe ich eine Testdatei mit einem C-Programm verschlüsselt,
und wollte diese mit Vim öffnen,
aber vim hat nur Kauderwelsch dargestellt, und nicht nach einem Key 
gefragt.

Da habe ich entdeckt, dass verschlüsselte Dateien bei Vim etwa 18 Bytes 
länger sind, als der normale Text-Inhalt.

Offensichtlich wird ein Header hinzugefügt.
Da dachte ich mir, durch Vergleich der Byte-Folge bringe ich das raus,
aber Fehlanzeige.
(d.h. ich habe sowohl mit dem C-Programm als auch mit vim die gleiche 
Textdatei mit dem gleichen Schlüssel verschlüsselt, und dann die 
erzeugten Ergebnisse verglichen, aber es gab keine Übereinstimmung)

Kann mir jemand weiterhelfen, wie man das korrekt vim-kompatibel 
verschlüsselt.
Ich benutze die normalen OpenSSL Funktionen BF_set_key(), 
BF_ecb_encrypt(), ...

: Bearbeitet durch User
von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Die Datei muss erst mal mit dem "magic-header" VimCrypt~01! beginnen 
damit er das erkennt. Dann wird vermutlich noch ein 
Initialisierungsvektor o.ä. folgen, ggf. noch ein Hash über das 
PW/Indikatoren für verwendeten Algorithmus. Da VIM im sourceode 
verfügbar ist, könntest du (falls das Format nicht weiter dokumentiert 
ist) dir da die erwartete Abfolge abschauen.

J. Wa. schrieb:
> und dann die erzeugten Ergebnisse verglichen, aber es gab keine
> Übereinstimmung

Das ist bei sicherer Verschlüsselung normal.

: Bearbeitet durch User
von J. W. (nuernberger)


Lesenswert?

>> und dann die erzeugten Ergebnisse verglichen, aber es gab keine
>> Übereinstimmung

>Das ist bei sicherer Verschlüsselung normal.

Bei gleichen Input sollten äquivalente deterministische Systeme den 
gleichen Output liefern.
Wobei ich beim googeln feststellte, dass viele den vom User eingegebenen 
Key erst durch einen MD5 Algorithmus in einen 128bit-key für Bluefish 
umwandeln.
Da gibt es sicherlich verschiedene Varianzen, und es wäre Zufall, dass 
man es exakt so macht wie Vim.
Also müsste ich doch in den vim-source reinschauen.

von lmgtfy (Gast)


Lesenswert?

Ist Google wieder kaputt: http://vim.wikia.com/wiki/Encryption

von Fred (Gast)


Lesenswert?

J. Wa. schrieb:
> Wobei ich beim googeln feststellte, dass viele den vom User eingegebenen
> Key erst durch einen MD5 Algorithmus in einen 128bit-key für Bluefish
> umwandeln.

Das ist hoffentlich ein Scherz! Die werden doch wohl eine ordentliche 
KDF verwenden wie scrypt, bcrypt oder PBKDF2?

von Robert L. (lrlr)


Lesenswert?

J. Wa. schrieb:
>>> und dann die erzeugten Ergebnisse verglichen, aber es gab keine
>>> Übereinstimmung
>
>>Das ist bei sicherer Verschlüsselung normal.
>
> Bei gleichen Input sollten äquivalente deterministische Systeme den
> gleichen Output liefern.

das will man aber nicht, deshalb

http://de.wikipedia.org/wiki/Salt_%28Kryptologie%29

von Fred (Gast)


Lesenswert?

Es geht übrigens nicht um Hashfunktionen, sondern um 
Blockverschlüsselung.

Authenticated encryption ist oftmals deterministisch.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.