問題タブ [steganography]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - RGBレイヤーで2 ^ 12バイナリビットを非表示にする方法
2^12 バイナリ ビットを RGB レイヤーに隠したい。例 000011010000 この値を RGB レイヤーで非表示にしたい。2^12 ビットは、R 層の 0000 hide、G 層の 1101、B 層の 0000 のように 3 つの層に分割する必要があります。誰でもJavaでこれを行う方法を知っています..
android - アンドロイドステガノグラフィ
Androidにステガノグラフィを実装しようとしています...しかし、ビットマップは保存時に圧縮され、ピクセル値が変更されます。画像を保存する他の方法はありますか?
前もって感謝します!!
android - アンドロイドステガノグラフィ
私はAndroidでステガノグラフィを行っています。私のコードは次のとおりです。
私の問題は、このBitmap.compress()
メソッドでソース画像を保存するたびにpix[0]
、圧縮中に値が変化するため、元のデータを抽出できないことです。どうすればこれを修正できますか?
nlp - 160 ビットの回復可能な情報を含む合成英語フレーズを作成する
160 ビットのランダム データがあります。
楽しみのために、この情報を「保存」するための疑似英語フレーズを生成したいと思います。この情報をフレーズから復元できるようにしたいと考えています。
注:これはセキュリティ上の質問ではありません。他の誰かが情報を復元できるかどうか、または情報が存在するかどうかを検出できるかどうかは気にしません。
最も重要なものから最も重要でないものまで、より良いフレーズの基準:
- 短い
- 個性的
- 自然な見た目
ここで提案されている現在のアプローチ:
それぞれ 1024 個の名詞、動詞、形容詞の 3 つのリストを用意します (最も人気のあるものを選びます)。次のパターンでフレーズを生成し、単語ごとに 20 ビットを読み取ります。
さて、これは良いアプローチのように思えますが、フレーズが少し長すぎて、少し鈍すぎます。
ここで単語のコーパスを見つけました(Part of Speech Database)。
アドホック フィルタリングを行った後、このコーパスには次のものが含まれていると計算しました。
- 50690の使用可能な形容詞
- 123585 名詞
- 15301 動詞
- 13010 個の副詞 (パターンには含まれていませんが、回答で言及されています)
これにより、最大で使用できます
- 形容詞あたり 16 ビット (実際には 16.9 ですが、小数ビットの使用方法がわかりません)
- 名詞あたり 15 ビット
- 動詞あたり 13 ビット
- 副詞あたり 13 ビット
名詞-動詞-形容詞-動詞パターンの場合、これは句の「文」ごとに 57 ビットを提供します。これは、このコーパスから取得できるすべての単語を使用すると、4 つの文ではなく 3 つの文を生成できることを意味します (160 / 57 ≈ 2.8)。
まだ少し長すぎて退屈です。
どうすれば改善できますか?
私が試すことができると思うこと:
エンコードする前に何らかの方法でデータを圧縮してみてください。しかし、データは完全にランダムであるため、一部のフレーズのみが短くなります (そして、おそらくそれほどではありません)。
フレーズパターンを改善して、見栄えを良くします。
いくつかのパターンを使用し、句の最初の単語を使用して、将来のデコードでどのパターンが使用されたかを何らかの形で示します。(たとえば、最後の文字または単語の長さを使用します。) データの最初のバイトに従ってパターンを選択します。
...私は英語が得意ではないので、より良いフレーズ パターンを考え出すことができます。助言がありますか?
- パターンでより多くの言語学を使用します。時制の違いなど
...そのためには、今よりもはるかに優れた単語コーパスが必要になると思います。適切なものをどこで入手できますか?
nlp - 160ビットの回復可能な情報を含む疑似詩を生成します
160ビットのランダムデータがあります。
楽しみのために、この情報を「保存」するための英語の疑似詩を生成したいと思います。詩からこの情報を復元できるようにしたいと思います。(ここでの「詩」は、あらゆる種類の詩のあいまいな用語です。)
注:これはセキュリティの質問ではありません。他の誰かが情報を回復できるかどうか、または情報が存在するかどうかを検出できるかどうかは関係ありません。
より良い詩の基準:
- より良い麻酔
- より良い韻と足
- 独自性
- 短い長さ
受け入れられる詩は、それぞれ4行の3スタンザ以下であると言えます。(しかし、ソネットのような他の確立された形式の詩も同様に良いです。)
私はこのアイデアが好きですが、私は英語のコンピューターで生成された詩をどのように行うかについて完全に無知であると恐れています。(私は若い頃にロシア語用にそれをプログラムしましたが、その経験はここでは役に立たないようです。)
それで、何か手がかりはありますか?
注:私はすでに同様の質問をしました。両方のアプローチを試してみたいです。良い詩の基準が、並行する質問の良いフレーズとどのように異なるかに注意してください。これは「ただの楽しみ」であることを忘れないでください。
また、私はこれに注意する必要があります:いくらか関連する問題に関するRFC1605があります。ただし、実装の詳細は示唆されていないため、申し訳ありませんが、あまり役に立ちません。<g>
c# - mp3 ファイル内にデータを隠す
私は現在、mp3 ファイル内のデータを非表示にするプロジェクトに取り組んでいます...私がしたことは、すべての mp3 フレームの最後の BYTE をメッセージ ファイル (非表示にするファイル) からのバイトに置き換えたことです... 正常に動作します...ファイルを非表示にして、正常に抽出することもできました...しかし、外部データの追加により、結果のmp3ファイルにノイズが存在します。これは、間違いなく望ましくありません...どこで助けてくださいノイズを減らすためにデータをmp3に保存するには...
PS: mp3 を使用してデータを非表示にするツール -Mp3Stego が既にあります。ただし、圧縮されていないwavファイルを入力として受け取ります。しかし、入力としてmp3が必要です。
steganography - ステガノグラフィーを解読するアルゴリズム
ステガノグラフィーの背後にある基本的な考え方は何ですか?つまり、隠された情報をどのように取得しますか? それが画像で、その画像内に何らかのテキストがあるとします...どうすればそのテキストを取得できますか..
android - pngへの圧縮中にビットマップの色が変化する
私は現在、クラスプロジェクトとしてsteganogrpahyandroidアプリに取り組んでいます。画像を別の画像でエンコードし、エンコードされたビットマップを返すオブジェクトを作成しました。このコードは別のスレッドで実行されます。
ビットマップをエンコードした後、ビットマップをpng画像として保存するために作成したファイルブラウザアクティビティにビットマップを渡していました。この方法は小さい画像に対しては機能しますが、大きい画像がエンコードされてサブアクティビティに渡されると、アプリケーションはフリーズしてメインアクティビティに戻ります。
インテントを使用してアクティビティ間で送信するには大きなビットマップが大きすぎると想定していたため、画像を一時的な場所に保存し、画像の場所をサブアクティビティに渡すことにしました。次に、ユーザーが指定したpng画像を保存し、一時画像ファイルを削除します。
これにより、あるアクティビティから別のアクティビティに大きなビットマップを送信するという問題は解決されますが、私が解決できなかった新しい問題が発生しました。ファイルの場所をサブアクティビティに渡す前に保存された一時的な画像と、ファイルブラウザを使用して画像を再保存した後の画像ファイルの両方で、色がわずかに変更されています。この色の変化は肉眼では認識できませんが、画像をデコードするときに多くの問題が発生します。Bitmap.ConfigがARGB_8888からARGB_4444またはRGB_565に変更されていると思ったのですが、デバッグ後はそうではありませんでした。ビットマップはARGB_8888としてインスタンス化され、ARGB_8888ビットマップとして保存され、その間で変更されることはありません。ビットマップ全体をファイルブラウザアクティビティに渡し、両方の場所でビットマップをまったく同じように保存している場合でも、コードは機能します。私は他に何がこれを引き起こしているのかについては何も考えていません。他に何が問題を引き起こしている可能性があるかについての提案を探しています。申し訳ありませんが、どちらの場合も出力に画像を投稿するつもりでしたが、スタックオーバーフローでは評判レベルに達しませんでした。ありがとうございます。
matlab - 複数の入力行列によるブロック処理
私はステガノグラフィー用の画像を処理するmatlabに取り組んでいます。これまでの私の作業では、ブロック処理コマンド blockproc を使用して、画像をブロックに分割して作業してきました。私は今、シークレットとカバーの 2 つの画像で作業を開始しようとしていますが、1 つではなく 2 つの入力行列で blockproc を使用する方法が見つかりません。
これを行う方法を知っている人はいますか?