Domanda

Per alcuni dati sensibili ho deciso di conservarlo AES-cifrati su disco. Ho implementato la crittografia con pycrypto .

Inoltre, i dati sono importanti, ed i dati crittografati memorizzati sarà la mia unica copia (backup a parte), così ho guardato per alcuni mezzi di recupero dei dati senza utilizzare pycrypto di avere un ripiego data la possibilità che pycrypto è non è più disponibile a me (per qualsiasi ragione che potrebbe essere).

mcrypt potrebbe essere un'opzione.

Questo è il mio banco di prova per ottenere un po 'di testo cifrato scritto:

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 ) )

I reindirizzato l'output in un file out.nc e ho cercato di decifratura da

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

ma il out file risultante ha dimensioni pari a zero byte, purtroppo.

spero che ci sia una combinazione di opzioni per mcrypt per fare questo lavoro ...

È stato utile?

Soluzione

Perché è importante essere in grado di recuperare senza pycrypto? Si può semplicemente accendere una VM con il vecchio sistema operativo e il vecchio rilascio di pycrypto, esportare i dati, e ri-cifrare con un algoritmo e di attuazione differenti.

Altri suggerimenti

Credo che il problema può fissare nel fatto che non si fornisce un IV per la modalità CBC e senza un IV forse mcrypt e pycrypto gestiscono in modo diverso utilizzando diverse IV predefinite. Ho visto alcune implementazioni (phpseclib per esempio) usa e IV di 16 byte nullo di default. mcrypt non potrebbe farlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top