ImageSteg · Sembunyikan Data dalam Imej atau Fail Audio

Port pelayar steghide 0.5.1 yang merangkumi kedua-dua kaedahnya: piksel/LSB untuk BMP dan PNG, serta pekali DCT untuk JPEG — ditambah pembawa audio PCM WAV dan MP3. Sembunyikan fail atau mesej, kemudian dedahkannya semula dengan frasa laluan.

100% setempat

Fail dan rahsia anda tidak pernah meninggalkan peranti ini. Penyahkodan, pembenaman, penyulitan dan pengekstrakan semuanya berjalan dalam tab pelayar ini. Tiada apa-apa dimuat naik ke pelayan — jadi tiada data untuk dibocorkan di sana.

1 · Imej atau audio pembawa

Lepaskan imej atau fail audio JPEG, PNG, WebP, GIF, BMP, PCM WAV atau MP3 · dinyahkod setempat, tidak pernah dimuat naik

Bekas lebih besar memuatkan lebih banyak: imej menyediakan kira-kira satu bait bagi setiap lapan piksel, PCM WAV satu bait bagi setiap enam belas sampel, dan MP3 ruang yang tidak digunakan dalam bingkai audionya.

2 · Data untuk disembunyikan

Tiada fail dipilih

3 · Frasa laluan & pilihan

Tiga langkah mudah

Cara Menyembunyikan Fail dalam Imej atau Fail Audio

Tiada pemasangan atau muat naik: pilih imej, WAV atau MP3, tambah rahsia anda, simpan hasilnya.

1

Pilih imej atau fail audio pembawa

Pilih, lepaskan atau tampal imej, WAV atau MP3 yang akan membawa data. Fail lebih besar memuatkan lebih banyak, dan foto terperinci atau muzik paling baik menyembunyikan perubahan.

2

Tambah rahsia dan frasa laluan

Lampirkan sebarang fail atau taip mesej, kemudian pilih frasa laluan. Frasa laluan menentukan lokasi penyebaran data dan boleh menyulitkannya.

3

Muat turun dan kongsi

Simpan hasil sebagai BMP untuk keserasian steghide atau sebagai PNG untuk fail lebih kecil. Sesiapa yang mempunyai imej dan frasa laluan boleh mendedahkan data.

Algoritma steghide serta pembawa audio, dalam pelayar anda

Pemadanan Graf pada Piksel, Pekali DCT dan Sampel Audio

ImageSteg ialah port TypeScript steghide 0.5.1 yang merangkumi kedua-dua cabangnya: kaedah piksel/LSB untuk BMP dan PNG, serta kaedah DCT untuk JPEG. Selain itu, ia membawa data dalam audio PCM WAV dengan cara yang sama, dan pada hujung bingkai MP3 yang tidak digunakan. Tiada satu pun sekadar menyusuri fail mengikut urutan.

Pembenaman berasaskan graf

Sampel dikelompokkan menjadi bucu dan pemadanan berat minimum menentukan perubahan, jadi hanya kira-kira satu sampel bagi setiap nilai tersembunyi disentuh.

Steganografi JPEG DCT sebenar

Codec entropi JPEG terbina dalam membaca pekali DCT terkuantum, menyembunyikan data dalam paritinya dan mengekodkannya semula — pada titik proses yang sama tempat libjpeg steghide berhenti. Fail garis dasar dan progresif kedua-duanya berfungsi.

Penyebaran berpandukan frasa laluan

Pilih atur berbenih MD5 menyebarkan data ke seluruh imej, jadi muatan tersembunyi tidak disimpan dalam urutan yang boleh diramal.

Pemampatan dan checksum

zlib mengecilkan muatan sebelum pembenaman dan checksum CRC32 pilihan memberitahu anda serta-merta sama ada pengekstrakan boleh dipercayai.

Penyulitan AES-256 pilihan

Rijndael dalam mod CBC dengan penerbitan kunci yang sama seperti libmcrypt merahsiakan muatan walaupun seseorang mengesyaki imej itu.

Perkara yang boleh dijangka

Kapasiti, Kelajuan dan Keserasian

Had praktikal menyembunyikan data dalam piksel imej.

BMP · PNGcabang piksel / LSB
JPEGcabang pekali DCT
0.2 %bahagian sampel yang biasanya disentuh
0 muat naiksemuanya kekal dalam pelayar anda

Keserasian: susun atur bit, pilih atur sampel dan penyulitan Rijndael/CBC mengikuti steghide 0.5.1, jadi output BMP dan JPEG boleh dibaca dengan steghide extract -sf image.bmp -p passphrase atau -sf image.jpg, dan fail yang dihasilkan oleh alat baris perintah steghide boleh dibaca di sini. Format output sentiasa sepadan dengan pembawa: pembawa JPEG menghasilkan JPEG, kerana muatannya berada dalam pekali yang hanya boleh dibawa oleh JPEG. PNG ditawarkan bersama BMP untuk pembawa piksel; CLI steghide tidak membaca PNG.

Cabang JPEG secara terperinci

Sokongan JPEG steghide memanggil fungsi libjpeg jpeg_read_coefficients(), yang menghentikan proses penyahkodan sejurus selepas penyahkodan Huffman — sebelum penyahkuantuman dan IDCT. Yang tinggal ialah pekali DCT terkuantum mentah. Pelayar tidak menyediakan API untuknya, jadi halaman ini membawa codec entropi JPEG sendiri dan bukannya penyahkod asli. Ia merangkumi fail garis dasar dan progresif, termasuk imbasan penghalusan penghampiran berturut-turut.

Menggunakan algoritma yang sama pada PNG

Pembenam tidak melihat format fail — ia hanya bekerja pada tatasusunan piksel yang dinyahkod, jadi kaedah BMP/LSB steghide digunakan pada PNG tanpa perubahan. Empat butiran penting dalam amalan:

Soalan dan jawapan

Soalan Lazim ImageSteg

Adakah ImageSteg percuma?

Ya. Menyembunyikan dan mendedahkan data adalah percuma, tanpa pendaftaran, tera air atau had saiz fail buatan.

Adakah imej atau fail rahsia saya dimuat naik?

Tidak. Penyahkodan, pembenaman, pemampatan dan penyulitan berjalan setempat dalam pelayar anda dengan JavaScript dan WebCrypto. Tiada apa-apa dihantar ke pelayan 73hi.

Format imej manakah yang disokong?

Mana-mana imej yang boleh dinyahkod oleh pelayar boleh menjadi pembawa piksel, manakala fail JPEG garis dasar atau progresif melalui cabang DCT steghide. Format output mengikut pembawa: JPEG masuk, JPEG keluar; pembawa piksel menghasilkan BMP serta salinan PNG. Alat baris perintah steghide membaca output BMP dan JPEG, tetapi bukan PNG.

Bagaimana mod JPEG menyembunyikan data?

Dalam pekali DCT terkuantum, tepat seperti alat baris perintah steghide. Halaman ini mengandungi codec entropi JPEG yang menyahkod imbasan hingga ke pekali, mengubah paritinya dan mengekodkannya semula.

Bolehkah saya menggunakan JPEG progresif?

Ya. Fail progresif dinyahkod melalui seluruh urutan imbasan — pemilihan spektrum dan penghalusan penghampiran berturut-turut — dan ditulis semula dengan cara yang sama, jadi hasilnya masih JPEG progresif yang membawa pekali asal.

Bagaimana dengan JPEG berkod aritmetik?

Disokong untuk pembacaan. Fail yang menggunakan pengekodan QM (aritmetik binari) menggantikan Huffman — SOF9 untuk jujukan, SOF10 untuk progresif — dinyahkod melalui penyahkod aritmetik yang sama seperti libjpeg, jadi pekalinya serupa. Hasil ditulis semula dengan pengekodan Huffman, seperti yang dilakukan oleh steghide.

Berapa banyak data boleh saya sembunyikan?

Kira-kira satu bait muatan bagi setiap lapan piksel, ditolak ruang untuk pengepala, nama fail tersimpan dan tambahan penyulitan pilihan. Alat menunjukkan kapasiti yang boleh digunakan selepas anda memilih imej.

Bolehkah alat baris perintah steghide membaca hasilnya?

Ya, jika anda memuat turun BMP. Susun atur bit, pilih atur sampel berasaskan frasa laluan dan penyulitan Rijndael/CBC mengikuti steghide 0.5.1.

Mengapa pengekstrakan gagal selepas menyunting imej?

Muatan disimpan dalam nilai piksel individu. Pemampatan semula, perubahan saiz, penapisan atau penukaran kepada format kehilangan seperti JPEG memusnahkannya. Simpan BMP asal atau salinan PNG tanpa kehilangan.

Bolehkah saya menyembunyikan dua rahsia dalam imej yang sama?

Bukan dengan membenam dua kali dalam satu fail. Pusingan kedua memilih kedudukan rawaknya sendiri di seluruh pembawa dan menulis ganti sebahagian muatan pertama. Oleh sebab data dimampatkan sebelum disulitkan, beberapa bit yang berubah menjadikan seluruh mesej tidak boleh dibaca — anda kehilangannya sepenuhnya, bukan sebahagian. Alat baris perintah steghide asal berfungsi dengan cara yang sama. Menggunakan semula frasa laluan yang sama juga tidak membantu: ia menulis semula kedudukan yang sama dari awal, jadi hanya mesej terbaru kekal. Untuk lapisan sebenar, sarangkan fail — sembunyikan rahsia pertama dalam imej kecil, muat turun hasilnya, kemudian sembunyikan seluruh fail itu dalam imej lebih besar dengan frasa laluan kedua. Setiap lapisan kekal utuh bait demi bait kerana dibawa sebagai data terlindung, bukannya piksel yang diubah.

Adakah membuka imej yang sudah mengandungi data tersembunyi memusnahkannya?

Tidak. Memuatkan fail hanya membaca baitnya: pembawa JPEG terus diproses kepada pekali DCT terkuantum tanpa transformasi songsang atau pengkuantuman semula, dan pembawa piksel dinyahkod tanpa kehilangan, jadi data tersembunyi kekal utuh. JPEG mungkin disimpan pada saiz fail sedikit berbeza kerana pengekodan entropi ditulis semula, tetapi ini tidak menjejaskan muatan. Anda boleh membuka fail yang disediakan oleh orang lain dan mendedahkan kandungannya dengan selamat.

Bolehkah ImageSteg membantu melindungi hak cipta saya?

Ya. Benamkan notis hak cipta atau bukti pemilikan terus dalam foto. Data berada dalam piksel (atau pekali JPEG) dan tidak kelihatan semasa paparan biasa, jadi anda boleh berkongsi imej secara terbuka tanpa disedari sesiapa. Jika seseorang menggunakannya semula tanpa kebenaran, tanda tersembunyi masih berada dalam fail — dan apabila anda menerbitkan imej yang sama pada platform pihak ketiga untuk mendokumenkan pelanggaran, salinan itu turut membawa bukti anda bagi menyokong permintaan penurunan atau tuntutan.

Bolehkah saya menyembunyikan mesej yang saya malu untuk katakan secara bersemuka?

Boleh. Sembunyikan mesej seperti "Saya sayang awak" — atau apa-apa yang sukar diucapkan bersemuka — dalam foto biasa daripada kehidupan harian, dan tetapkan frasa laluan kepada tarikh lahir penerima. Hantar foto itu dan minta mereka membukanya pada ImageSteg (atau lawati 73hi.com/image-steg.html) untuk membukanya. Hanya orang yang mengetahui frasa laluan boleh mendedahkan perkataan itu, jadi anda boleh meluahkan perasaan tanpa rasa kekok mengucapkannya.