RSAといくつかの対称暗号化アルゴリズムを使用して大きなファイル(〜500Mb)を暗号化および復号化するためのAndroidアプリを開発したいと思います。どうすればこれを達成できますか?わずか数MBのRAMを搭載したデバイスで使用するのに最適なソリューションは何ですか?
よろしくボビー
RSAといくつかの対称暗号化アルゴリズムを使用して大きなファイル(〜500Mb)を暗号化および復号化するためのAndroidアプリを開発したいと思います。どうすればこれを達成できますか?わずか数MBのRAMを搭載したデバイスで使用するのに最適なソリューションは何ですか?
よろしくボビー
CipherInputStreamとCipherOutputStreamを使用すると、暗号化/復号化にストリームを使用できます。これにより、メモリにあまり問題を起こすことなく、大きなファイル サイズを処理できるようになります。RSAだけでは大きなデータブロックを処理できないため、対称アルゴリズムと非対称アルゴリズムを組み合わせて、すでに正しい道を進んでいるようです。
おそらく、ファイルを小さなデータのチャンクに分割し、それに応じて暗号化することを検討したいと思うでしょう。
参照: 「災害復旧」を使用した、メモリとストレージに制約のあるシステムでの大きなファイル (AES) の暗号化および/または復号化
あなたの要件はわかりませんが、別の方法は、デバイスで暗号化しないことです! キーをデバイスに保存するだけで、バックエンドは重い作業を行いますが、復号化するためにデバイスからキーを取得する必要があります。これは、Android アプリが送信部分を処理する場所です。