ImageSteg · Sembunyikan Data dalam Gambar atau Berkas Audio

Port steghide 0.5.1 untuk browser dengan kedua metodenya: piksel/LSB untuk BMP dan PNG, serta koefisien DCT untuk JPEG — ditambah media pembawa audio PCM WAV dan MP3. Sembunyikan berkas atau pesan, lalu ungkap kembali dengan frasa sandi.

100% lokal

Berkas dan rahasia Anda tidak pernah meninggalkan perangkat ini. Dekode, penyisipan, enkripsi, dan ekstraksi semuanya berjalan dalam tab browser ini. Tidak ada yang diunggah ke server, sehingga tidak ada data di server yang bisa bocor.

1 · Gambar atau audio pembawa

Letakkan gambar atau berkas audio JPEG, PNG, WebP, GIF, BMP, PCM WAV, atau MP3 · didekode secara lokal, tidak pernah diunggah

Kontainer lebih besar menampung lebih banyak: gambar sekitar satu byte per delapan piksel, PCM WAV satu byte per enam belas sampel, dan MP3 sebanyak ruang tak terpakai pada bingkai audionya.

2 · Data untuk disembunyikan

Tidak ada berkas dipilih

3 · Frasa sandi & opsi

Tiga langkah sederhana

Cara Menyembunyikan Berkas dalam Gambar atau Audio

Tanpa pemasangan dan unggahan: pilih gambar, WAV, atau MP3, tambahkan rahasia, lalu simpan hasilnya.

1

Pilih gambar atau berkas audio pembawa

Muat, letakkan, atau tempel gambar, WAV, atau MP3 yang akan membawa data. Berkas lebih besar menampung lebih banyak, dan foto ramai atau musik paling baik menyamarkan perubahan.

2

Tambahkan rahasia dan frasa sandi

Lampirkan berkas atau ketik pesan, lalu pilih frasa sandi. Frasa sandi menentukan lokasi penyebaran data dan dapat mengenkripsinya.

3

Unduh dan bagikan

Simpan hasil sebagai BMP untuk kompatibilitas steghide atau PNG untuk berkas lebih kecil. Siapa pun yang memiliki gambar dan frasa sandi dapat mengungkap data.

Algoritma steghide ditambah media pembawa audio, di browser Anda

Pencocokan Graf pada Piksel, Koefisien DCT, dan Sampel Audio

ImageSteg merupakan port TypeScript steghide 0.5.1 yang mencakup kedua cabangnya: metode piksel/LSB untuk BMP dan PNG, serta metode DCT untuk JPEG. Selain itu, data dibawa dalam audio PCM WAV dengan cara yang sama, serta pada bagian akhir bingkai MP3 yang tidak terpakai. Tidak satu pun sekadar menyusuri berkas secara berurutan.

Penyisipan berbasis graf

Sampel dikelompokkan menjadi simpul, lalu pencocokan berbobot minimum menentukan perubahan, sehingga hanya sekitar satu sampel per nilai tersembunyi yang disentuh.

Steganografi JPEG DCT sesungguhnya

Codec entropi JPEG bawaan membaca koefisien DCT terkuantisasi, menyembunyikan data pada paritasnya, lalu mengenkode ulang — titik pemrosesan yang sama tempat libjpeg steghide berhenti. Berkas baseline dan progresif sama-sama didukung.

Penyebaran berdasarkan frasa sandi

Permutasi dengan seed MD5 menyebarkan data ke seluruh gambar, sehingga muatan tersembunyi tidak disimpan dengan urutan yang dapat diprediksi.

Kompresi dan checksum

zlib memperkecil muatan sebelum penyisipan, dan checksum CRC32 opsional langsung menunjukkan apakah hasil ekstraksi dapat dipercaya.

Enkripsi AES-256 opsional

Rijndael dalam mode CBC dengan derivasi kunci yang sama seperti libmcrypt menjaga kerahasiaan muatan meskipun seseorang mencurigai gambar.

Yang dapat diharapkan

Kapasitas, Kecepatan, dan Kompatibilitas

Batas praktis menyembunyikan data di dalam piksel gambar.

BMP · PNGcabang piksel / LSB
JPEGcabang koefisien DCT
0.2 %proporsi umum sampel yang diubah
0 unggahansemuanya tetap di browser Anda

Kompatibilitas: susunan bit, permutasi sampel, dan enkripsi Rijndael/CBC mengikuti steghide 0.5.1, sehingga keluaran BMP dan JPEG dapat dibaca dengan steghide extract -sf image.bmp -p passphrase atau -sf image.jpg, dan berkas dari alat baris perintah steghide dapat dibaca di sini. Format keluaran selalu mengikuti pembawa: pembawa JPEG menghasilkan JPEG karena muatan berada dalam koefisien yang hanya dapat dibawa JPEG. PNG disediakan bersama BMP untuk pembawa piksel; CLI steghide tidak membaca PNG.

Rincian cabang JPEG

Dukungan JPEG steghide memanggil fungsi libjpeg jpeg_read_coefficients(), yang menghentikan alur dekode tepat setelah dekode Huffman — sebelum dekuantisasi dan IDCT. Yang tersisa adalah koefisien DCT mentah terkuantisasi. Browser tidak menyediakan API untuknya, sehingga halaman ini memakai codec entropi JPEG sendiri, bukan dekoder bawaan. Codec mendukung berkas baseline dan progresif, termasuk pemindaian penyempurnaan pendekatan berturut-turut.

Menerapkan algoritma yang sama pada PNG

Penyisip tidak melihat format berkas — hanya bekerja pada larik piksel yang didekode, sehingga metode BMP/LSB steghide berlaku tanpa perubahan pada PNG. Empat hal penting dalam praktik:

Tanya jawab

Pertanyaan Umum tentang ImageSteg

Apakah ImageSteg gratis digunakan?

Ya. Penyembunyian dan pengungkapan data gratis, tanpa pendaftaran, tanda air, atau batas ukuran berkas buatan.

Apakah gambar atau berkas rahasia saya diunggah?

Tidak. Dekode, penyisipan, kompresi, dan enkripsi berjalan secara lokal di browser dengan JavaScript dan WebCrypto. Tidak ada yang dikirim ke server 73hi.

Format gambar apa yang didukung?

Semua gambar yang dapat didekode browser dapat menjadi pembawa piksel, dan berkas JPEG baseline atau progresif diproses melalui cabang DCT steghide. Format keluaran mengikuti pembawa: JPEG masuk, JPEG keluar; pembawa piksel menghasilkan BMP dan salinan PNG. Alat baris perintah steghide membaca keluaran BMP dan JPEG, tetapi bukan PNG.

Bagaimana mode JPEG menyembunyikan data?

Dalam koefisien DCT terkuantisasi, persis seperti alat baris perintah steghide. Halaman menyertakan codec entropi JPEG yang mendekode pemindaian hingga koefisien, mengubah paritasnya, lalu mengenkodenya kembali.

Bisakah saya memakai JPEG progresif?

Ya. Berkas progresif didekode melalui seluruh urutan pemindaiannya — pemilihan spektral dan penyempurnaan pendekatan berturut-turut — lalu ditulis ulang dengan cara yang sama, sehingga hasil tetap JPEG progresif dengan koefisien asli.

Bagaimana dengan JPEG berkode aritmetika?

Didukung untuk pembacaan. Berkas dengan pengodean QM (aritmetika biner), bukan Huffman — SOF9 untuk berurutan, SOF10 untuk progresif — didekode dengan dekoder aritmetika yang sama seperti libjpeg, sehingga koefisien identik. Hasil ditulis ulang dengan pengodean Huffman seperti steghide.

Berapa banyak data yang dapat disembunyikan?

Sekitar satu byte muatan per delapan piksel, dikurangi ruang header, nama berkas tersimpan, dan overhead enkripsi opsional. Alat menampilkan kapasitas yang dapat digunakan setelah gambar dipilih.

Bisakah alat baris perintah steghide membaca hasilnya?

Ya, jika Anda mengunduh BMP. Susunan bit, permutasi sampel berdasarkan frasa sandi, dan enkripsi Rijndael/CBC mengikuti steghide 0.5.1.

Mengapa ekstraksi gagal setelah gambar diedit?

Muatan disimpan dalam nilai piksel individual. Kompresi ulang, perubahan ukuran, filter, atau konversi ke format dengan kehilangan kualitas seperti JPEG merusaknya. Simpan BMP asli atau salinan PNG tanpa kehilangan kualitas.

Bisakah saya menyembunyikan dua rahasia dalam gambar yang sama?

Tidak dengan menyisipkan dua kali ke satu berkas. Proses kedua memilih posisi acaknya sendiri di seluruh pembawa dan menimpa sebagian muatan pertama. Karena data dikompres sebelum dienkripsi, sedikit bit yang berubah membuat seluruh pesan tidak terbaca — hilang sepenuhnya, bukan sebagian. Alat baris perintah steghide asli berperilaku sama. Memakai frasa sandi yang sama juga tidak membantu: posisi yang sama ditulis ulang dari awal sehingga hanya pesan terbaru bertahan. Untuk lapisan sesungguhnya, gunakan berkas bersarang: sembunyikan rahasia pertama dalam gambar kecil, unduh hasilnya, lalu sembunyikan seluruh berkas itu dalam gambar lebih besar dengan frasa sandi kedua. Setiap lapisan tetap identik per byte karena dibawa sebagai data terlindungi, bukan piksel yang dimodifikasi.

Apakah membuka gambar yang sudah berisi data tersembunyi merusaknya?

Tidak. Pemuatan berkas hanya membaca byte: pembawa JPEG langsung menuju koefisien DCT terkuantisasi tanpa transformasi invers atau kuantisasi ulang, dan pembawa piksel didekode tanpa kehilangan data, sehingga data tersembunyi tetap utuh. JPEG mungkin disimpan dengan ukuran sedikit berbeda karena pengodean entropi ditulis ulang, tetapi itu tidak memengaruhi muatan. Anda dapat membuka berkas dari orang lain dan mengungkap isinya dengan aman.

Bisakah ImageSteg membantu melindungi hak cipta saya?

Ya. Sisipkan pemberitahuan hak cipta atau bukti kepemilikan langsung ke foto. Data berada di piksel atau koefisien JPEG dan tidak terlihat saat dilihat biasa, sehingga gambar dapat dibagikan secara publik tanpa diketahui. Jika seseorang menggunakannya tanpa izin, tanda tersembunyi tetap di dalam berkas. Saat Anda menerbitkan gambar yang sama di platform pihak ketiga untuk mendokumentasikan pelanggaran, salinan tersebut juga membawa bukti Anda untuk mendukung permintaan penghapusan atau klaim.

Bisakah saya menyembunyikan pesan yang terlalu malu saya ucapkan langsung?

Tentu. Sembunyikan pesan seperti "Aku mencintaimu" — atau apa pun yang sulit diucapkan langsung — di foto keseharian, lalu gunakan tanggal lahir penerima sebagai frasa sandi. Kirim foto dan minta mereka membukanya di ImageSteg (atau kunjungi 73hi.com/image-steg.html). Hanya orang yang tahu frasa sandinya dapat mengungkap kata-katanya, sehingga Anda dapat mengekspresikan diri tanpa canggung mengatakannya langsung.