Sembunyikan Teks di Dalam Gambar
Sembunyikan pesan teks rahasia di dalam gambar dengan steganografi LSB, bisa dienkripsi AES-256-GCM, lalu ungkap kembali. Berjalan lokal, tanpa unggah.
Cara menyembunyikan pesan di dalam gambar
- Letakkan gambar di area unggah, atau klik area itu untuk memilihnya. PNG paling baik, tetapi gambar apa pun yang bisa dibuka browser Anda dapat dipakai: hasilnya selalu disimpan sebagai PNG baru.
- Di bagian Sembunyikan pesan, ketik teks Anda di Pesan rahasia. Baris Kapasitas menunjukkan berapa byte yang dipakai pesan dan berapa byte yang dapat ditampung gambar.
- Agar isinya tetap rahasia, centang Enkripsi pesan dengan frasa sandi (AES-256-GCM) dan ketik Frasa sandi. Tampilkan frasa sandi membantu Anda memeriksa apa yang diketik.
- Klik Sembunyikan pesan dan unduh PNG. File disimpan sebagai
nama-hidden.png, dan baris status memberi tahu berapa nilai warna yang diubah.
Cara mengungkap pesan tersembunyi
- Letakkan PNG di area unggah yang sama. Jika gambar berisi pesan yang disembunyikan oleh alat ini, sebuah catatan akan muncul begitu gambar dimuat.
- Jika pesan dienkripsi, ketik frasa sandi di Frasa sandi (hanya jika pesan dienkripsi).
- Klik Ungkap pesan tersembunyi. Teksnya muncul di bawah Pesan tersembunyi, siap disalin.
Semuanya berjalan di browser Anda: gambar, pesan, dan frasa sandi tidak pernah diunggah.
Cara kerjanya: bit paling tidak signifikan (LSB)
Setiap piksel menyimpan nilai merah, hijau, dan biru antara 0 dan 255. Alat ini mengganti bit terakhir (bit paling tidak signifikan) dari ketiga nilai itu dengan satu bit pesan Anda, piksel demi piksel menurut urutan baca. Misalnya, nilai merah 200 adalah 11001000 dalam biner; menyimpan bit 1 menghasilkan 11001001, yaitu 201. Nilai warna tidak pernah berubah lebih dari 1, selisih yang tidak bisa dilihat mata.
Hanya piksel yang sepenuhnya buram yang dipakai, dan kanal alfa tidak pernah disentuh. Piksel semitransparan dilewati karena browser tidak dapat menyimpan bit rendahnya dengan tepat. Sebelum pesan, alat ini menulis header 13 byte: tanda pengenal, penanda apakah pesan dienkripsi, panjang pesan, dan checksum CRC-32 yang mendeteksi data rusak.
Kapasitas kira-kira (jumlah piksel buram × 3 ÷ 8) − 13 byte. Foto 1000 × 1000 menampung sekitar 375.000 byte, jauh lebih banyak daripada pesan teks mana pun. Enkripsi menambah 49 byte (versi, jumlah iterasi, salt 16 byte, IV 12 byte, dan tag autentikasi 16 byte). Dengan enkripsi, kunci diturunkan dari frasa sandi Anda memakai PBKDF2-SHA-256 (600.000 iterasi) dan teks dienkripsi dengan AES-256-GCM, yang juga mendeteksi setiap perubahan.
Hal yang tidak dilakukan steganografi
Steganografi menyembunyikan keberadaan pesan; ini bukan keamanan yang kuat jika berdiri sendiri. Penyisipan LSB berurutan seperti ini mudah dideteksi dengan alat steganalisis (uji chi-kuadrat, analisis bidang LSB), dan siapa pun yang membuka gambar di alat ini dapat membaca pesan yang tidak dienkripsi. Jika isinya harus tetap pribadi, gunakan opsi enkripsi dengan frasa sandi yang panjang dan unik: perlindungannya hanya sekuat frasa sandinya. Bahkan begitu, enkripsi melindungi isi, bukan fakta bahwa ada sesuatu yang disembunyikan.
Bit tersembunyi juga rapuh. Kompresi ulang JPEG atau WebP, perubahan ukuran, pemangkasan, tangkapan layar, filter, serta sebagian besar media sosial dan aplikasi pesan (yang mengompres ulang dan sering mengubah format gambar) akan merusak pesan. Bagikan PNG sebagai file: lampiran email, tautan penyimpanan cloud, atau “kirim sebagai dokumen” di aplikasi pesan.
Penggunaan yang bertanggung jawab
Penggunaan yang baik antara lain teka-teki, escape game, tantangan CTF, menandai gambar milik Anda sendiri, mengajarkan cara kerja gambar digital, dan menyimpan catatan pribadi. Jangan gunakan untuk menghindari aturan tempat kerja atau sekolah maupun hukum, dan hormati gambar serta hak cipta orang lain.
Pertanyaan yang sering diajukan
Bisakah orang melihat bahwa gambar saya berisi pesan?
Tidak dengan melihatnya langsung: setiap nilai warna berubah paling banyak 1. Namun alat steganalisis sering kali dapat mendeteksi penyisipan LSB, dan alat ini sendiri menyatakan bahwa ada pesan saat gambar dimuat.
Mengapa pesan tersembunyi saya hilang?
Gambar kemungkinan telah dikompresi ulang, diubah ukurannya, atau dikonversi, misalnya oleh media sosial, aplikasi pesan, atau editor foto. Hanya file PNG yang persis sama yang menjaga bit-bitnya tetap utuh.
Bisakah saya memulai dari foto JPEG?
Bisa. Foto dibaca lalu hasilnya disimpan sebagai PNG, yang tidak mengurangi kualitas. Biarkan tetap PNG: menyimpannya lagi sebagai JPEG akan menghapus pesan.
Apa yang terjadi jika saya lupa frasa sandi?
Pesan tidak dapat dipulihkan. Tidak ada pintu belakang, dan frasa sandi yang salah ditolak oleh pemeriksaan autentikasi AES-GCM.
Mengapa file PNG lebih besar daripada aslinya?
PNG tidak mengurangi kualitas, sehingga biasanya lebih besar daripada JPEG dari foto yang sama. Itulah harga untuk menjaga setiap bit tersembunyi tetap utuh.
Alat terkait
- Enkripsi Teks Enkripsi dan dekripsi teks dengan frasa sandi di browser, memakai AES-256-GCM dan PBKDF2 600.000 iterasi. Tidak ada yang diunggah. Batasannya dijelaskan jujur.
- Penghapus Data EXIF Hapus data EXIF dan lokasi GPS dari foto sebelum dibagikan. Lossless untuk JPEG dan PNG, bisa banyak file sekaligus, tanpa unggah ke server.
- Konverter Gambar ke Base64 Konversi gambar ke Base64 atau data URI lengkap dengan kode CSS dan HTML siap pakai, atau dekode Base64 kembali ke gambar. Gratis, privat, tanpa unggah.
- Konverter Format Gambar Konversi gambar antar format PNG, JPG, WebP, BMP, dan ICO langsung di browser. Bisa banyak file sekaligus, tanpa unggah, gratis dan privat.