Frage

Für einige sensible Daten habe ich beschlossen, speichern Sie es auf Disc AES-verschlüsselt. Ich habe die Verschlüsselung implementiert PyCrypto .

Darüber hinaus sind die Daten wichtig, und die gespeicherten verschlüsselten Daten werden meine nur davon (Sicherungen beiseite) kopieren, so dass ich für einige Mittel sah, die Daten abrufen, ohne PyCrypto mit der Möglichkeit, einen Rückfall gegeben haben, dass PyCrypto ist nicht mehr mir zur Verfügung (für welchen Gründen auch immer das sein mag).

Ich dachte, mcrypt könnte eine Option sein.

Dies ist mein Testfall einig verschlüsselter Text geschrieben werden:

import Crypto.Cipher.AES
import sys

pwd  = 'qwertzuiopasdfgh'
mode = Crypto.Cipher.AES.MODE_CBC
aes  = Crypto.Cipher.AES.new( pwd, mode )
text = 'asdfghjklyxcvbnm'
sys.stdout.write( aes.encrypt( text ) )

umgeleitet ich die Ausgabe in eine Datei out.nc und versuchte Entschlüsselung durch

mcrypt -d -b -k qwertzuiopasdfgh -a rijndael-128 -m CBC out.nc

aber die resultierende Datei out hat null Byte Größe, leider.

Ich hoffe, es ist eine Kombination von Optionen mcrypt diese Arbeit zu machen ...

War es hilfreich?

Lösung

Warum ist es wichtig, ohne PyCrypto erholen zu können? Sie können einfach eine VM mit dem alten Betriebssystem und der alten Version von PyCrypto anwerfen, exportieren Sie Ihre Daten, und wieder verschlüsseln mit einem anderen Algorithmus und Implementierung.

Andere Tipps

Ich denke, das Problem liegt in der Tatsache, dass Sie nicht über eine IV für CBC-Modus liefern und ohne IV vielleicht mCrypt und PyCrypto es anders behandeln durch anderen Standard IVs verwenden. Ich habe einige Implementierungen (phpseclib zum Beispiel) Verwendung und IV von 16 Null-Bytes durch Standard gesehen. mcrypt könnte dies nicht tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top