2017-08-16 8 views
0

私は、携帯電話でリアルタイムカメラを使用してLSBステガノグラフィーの検出を試みています。これまでのところ、私は印刷物であろうとPCスクリーンであろうと、LSBステガノグラフィーを検出することに多大な幸運をもたらしました。Androidステガノグラフィ検出LSB

私はOpenCVを使って各フレームをRBGに変換し、各ピクセルからビットを読み取ってみましたが、ステガノグラフィは検出されませんでした。

カメラ機能を使って試してみましたが、ピクセル単位で開始文字列が認識されるかどうかを確認して、残りのピクセルの実際の隠しデータを読み取ることができます。

これは、肯定的な結果を得ることはほとんどありませんでしたが、データの読み込みは不可能でした。

これにアプローチする方法はありますか?

隠されたデータに関する少しの情報: 1.私はアルゴリズム上で動作していることを知っています。アプリケーションのBitmapで正確なイメージを読み込んだら、ステガノグラフィを検出してデコードします。しかし、私はそのような運がないカメラを使用しようとするとき。 2.グリッド内に8x5ピクセルの画像がありますので、画像の特定の1つの領域にしか存在せず、カメラビューでは検出できません。

必要に応じていくつかのコードを投稿することもできます。

ありがとうございました。

+0

デジタル画像にデータを埋め込んだ後、カメラでその画像を見ると、ピクセルの秘密を検出することができますか?開始文字列(1と0の束であればどれくらいですか)とは何ですか?また、どれくらいの頻度で肯定的な結果を得ましたか? – Reti43

+0

これは1行8画素の中に1と0の束です。それは内部にコードが埋め込まれていることを検出することです。私はしばしば検出から肯定的な結果を得ていましたが、実際のデータはジブリズムです –

答えて

0

あなたはまだあなたがそれを行う方法の詳細について明らかにしていないが、私はあなたが次のいくつかのフレーバーを行うと仮定します。

  • は、印刷
  • 、デジタル画像でこのステゴを秘密を埋め込みますイメージを表示するか、またはそれをPCに表示させてください。
  • 写真を撮って、埋め込まれた秘密を検出してください。

実際のところ、これは機能しません。 LSBピクセル埋め込みステガノグラフィは非常に壊れやすいテクニックです。抽出のためにステゴピクセル画像の完全なコピーが必要です。シンプルなデジタル操作でさえ、あなたの秘密を破壊するのに十分です。スケーリング、切り取り、回転はいくつか挙げられます。次に、あなたが写真と周囲の光を取る角度について心配する必要があります。そして、私たちは、PCモニターや印刷された写真に表示される色にも触れていません。

開始シーケンスに肯定的な理由があるのは、短いシーケンスを使用していて、運が良ければならないからです。撮影されたステゴ画像が真の値から各ピクセルのランダムな偏差を生み出すと仮定すると、時には幸運なことがあります。最初のピクセルの値が250で、それが248で撮影されたとします。両方の場合のLSBはまだ0です。

さらに、いくつかのシーケンスが出現する可能性が高くなります。ほとんどの写真では、色の勾配が滑らかであるため、隣接するピクセルは相関しています。つまり、写真の左上が暗く、右上が明るい場合、色はゆっくりと変化します。たとえば、最初の4ピクセルは値10を持ち、次の数は11を持ちます。 LSBに関しては、あなたはパターン00001111を持っています。私が説明したように、そこに撮影した画像に関係なく、かなり頻繁に出現する可能性があります。

+0

私は同じことを考えましたが、 使用するにはどうすればよいですか? DCTアルゴリズム? DWTエンコードと検出/デコードのアルゴリズム –

+0

可能かどうかわかりません。ステゴ画像の写真を撮ることは、写真の撮影状況に非常に敏感です。 – Reti43

+0

@BorceIvanovski元のstego画像を可能な限り**忠実に**再現するためにスナップショットを取ることを効果的に要求するいくつかの非常に厳しい条件の下では、可能です。 [ここにはアイデアがあります](https://stackoverflow.com/questions/30662050/image-based-steganography-that-survives-resizing)画像スケーリングに耐えることが難しいということです。 – Reti43