-3

Javaでいくつかのムービーファイルを作成しています。ファイルは .mp4 形式です。ビデオはセキュリティ監視カメラから撮影されているため、メディアプレーヤーで誰かが開いたときにこのファイルが破損しているように見せたい. 唯一の方法は、暗号化中にファイルに対して行われたことと正反対のことを行ってファイルを復号化することです。

x = // byte read from file.
x = x >> 2;
// write x to new file

基本的に、ファイルを暗号化する方法を探しています(おそらくファイルのすべてのバイトをシフトします)。AES、DES、パスワードによる暗号化などの複雑なアルゴリズムを使用したくありません。

バイトをシフトするだけでファイルを復号化/暗号化する最良の方法は何ですか? そして、これによりファイルが破損しているように見えますか?

4

3 に答える 3

5

一部の独自のビット操作アルゴリズムは、よく知られている暗号化アルゴリズムを使用するよりもバグがある可能性が高くなります。

セキュリティは大きな問題ではないので、AES キーをアプリケーションにハードコーディングし、データの標準的な AES 暗号化/復号化を行うことをお勧めします。

それは本当にとても簡単で、そこにはたくさんの例があります。独自のスキームを発明して、それが機能するかどうかを確認するよりも高速です。

于 2013-03-19T12:13:09.753 に答える
2

それは、あいまいさによる多かれ少なかれセキュリティです。おそらく平均的なジョーがビデオを見るのを止めるでしょうが、悪意のあるユーザーがバイトシフト/ xor-ingまたはその他の迅速な暗号化技術に屈することはありません.

少なくとも、データを暗号化するためのキーを導入してください。キーを使用した XOR は実装が簡単で、可能な限り高速です。

このようなファイルは、復号化されるまでムービー プレーヤーで再生できません。

于 2013-03-19T12:12:21.813 に答える
0

暗号化を扱うときは、一般的によく知られているアルゴリズムを使用するのが最善です。思ったほど複雑ではありません (選択した言語で提供される暗号化 API を使用し、自分で書き直さないでください)。

例のようにバイトをシフトすると、古い値を元に戻すことができなくなります。例: 0xAB (10101011) があり、2 シフトすると 00101010 になります...どうすれば失われたビットを取り戻すことができますか? ?

于 2013-03-19T12:08:24.100 に答える