mcryptのとPyCryptoと復号化でAES暗号化
-
22-09-2019 - |
質問
私はそれがディスク上-AES暗号化保存することを決めたいくつかの機密データについては、
。私は PyCryptoするを使用して暗号化を実装しました。
さらに、データが重要であり、私はPyCryptoである可能性与えられたフォールバックを持っているPyCryptoを使用せずにデータを取得するいくつかの手段を探したように、保存された暗号化されたデータは、それが私の唯一のコピー(脇のバックアップ)になります長くない(かもしれ何らかの理由で)私には利用できます。
I思っ mcryptのの選択肢である可能性があります。
これは、いくつかの暗号文が書かれて得るために、私のテストケースです。
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 ) )
私は
により、ファイルout.nc
と試みた解読に出力をリダイレクト
mcrypt -d -b -k qwertzuiopasdfgh -a rijndael-128 -m CBC out.nc
が、結果のファイルout
有するゼロは、残念ながら、サイズをバイト
私はこの仕事をするためにmcryptのためのオプションの組み合わせがある願っています...
解決
なぜそれがPyCryptoせずに回復することができることが重要ですか?あなたは、単に別のアルゴリズムと実装して、古いOSやPyCryptoの古いリリースでVMを起動してデータをエクスポートし、再暗号化することができます。
他のヒント
私はこの問題は、多分mcryptのとPyCryptoが異なるデフォルトのIVを使用して、異なるそれを処理CBCモード用とIVずにIVを供給していないという事実に横たわっていたかもしれないと思います。私は16ヌルのいくつかの実装(例えばphpseclib)の使用及びIVは、デフォルトでバイトを見てきました。 mcryptのは、これを実行しない場合があります。
所属していません StackOverflow