Sandi Gronsfeld
Enkode dan dekode sandi Gronsfeld, sandi Vigenère yang disederhanakan yang memakai serangkaian digit pendek sebagai kuncinya. Setiap digit menggeser huruf pesan yang bersesuaian, dan kunci berulang di sepanjang teks. Beralihlah antara enkode dan dekode dan amati perhitungan terbentuk secara langsung. Semuanya berjalan di browser Anda.
Digit kunci
Masukkan kunci sebagai serangkaian digit 0 hingga 9, seperti 31415. Setiap digit menentukan seberapa jauh huruf pesan yang bersesuaian digeser, dan kunci berulang di sepanjang teks. Hanya digit yang dipakai; huruf, spasi, atau tanda baca apa pun yang diketik ke dalam kunci diabaikan.
Masukkan teks di atas untuk melihat hasil Gronsfeld di sini.
Cara menggunakan Sandi Gronsfeld
- 1
Pilih enkode atau dekode
Pilih Enkode untuk mengubah teks biasa menjadi teks sandi Gronsfeld, atau Dekode untuk memulihkan teks biasa dari teks sandi. Kunci numerik yang sama dipakai untuk kedua arah.
- 2
Masukkan kunci numerik
Ketik kunci sebagai serangkaian digit 0 hingga 9, seperti 31415. Setiap digit menentukan pergeseran untuk huruf yang sejajar dengannya, dan kunci berulang di sepanjang pesan. Huruf, spasi, dan tanda baca dalam kunci diabaikan.
- 3
Ketik atau tempel teks Anda
Masukkan pesan yang ingin Anda konversi. Sandi berjalan otomatis saat Anda mengetik, dan perhitungan huruf demi huruf diperbarui secara langsung di bawah sehingga Anda dapat melihat setiap pergeseran.
- 4
Baca, salin, dan bagikan
Baca hasilnya, lalu salin, unduh sebagai berkas teks, atau bagikan tautan yang membuka kembali alat ini dengan kunci, arah, dan teks Anda yang persis sama. Semuanya tetap di browser Anda.
Memahami Sandi Gronsfeld
Apa itu sandi Gronsfeld?
Sandi Gronsfeld adalah sandi substitusi polialfabetik yang bekerja persis seperti sandi Vigenère tetapi mengambil kuncinya sebagai serangkaian digit pendek alih-alih sebuah kata kunci. Setiap digit dari 0 hingga 9 memberi tahu Anda seberapa jauh menggeser huruf pesan yang bersesuaian, dan digit berulang di sepanjang teks. Karena huruf teks biasa yang sama dapat menjadi beberapa huruf teks sandi yang berbeda bergantung pada posisinya, sandi ini menyembunyikan pola frekuensi huruf sederhana yang membongkar pergeseran Caesar biasa.
Sandi ini dinamai dari Johann Franz, Count of Gronsfeld, seorang diplomat dan prajurit abad ketujuh belas, dan ia digambarkan oleh ilmuwan Gaspar Schott dalam karyanya tahun 1665 tentang tulisan rahasia. Daya tariknya bersifat praktis: kunci numerik mudah diingat dan mudah dikirim, misalnya sebagai sebuah tanggal atau angka yang mudah diingat, tanpa harus menyepakati kata rahasia terlebih dahulu. Karena alasan itu sandi Gronsfeld benar-benar dipakai dalam korespondensi dan kemudian pada era telegraf.
Cara kerja sandi Gronsfeld
Berilah nomor alfabet dari A sebagai 0 hingga Z sebagai 25. Tuliskan kunci numerik di bawah pesan, mengulanginya sesering yang diperlukan agar satu digit berada di bawah setiap huruf. Untuk mengenkripsi, tambahkan setiap digit kunci ke huruf di atasnya dan lilitkan mengelilingi alfabet dengan sisa pembagian terhadap 26, sehingga huruf teks sandinya adalah C = (P + K) mod 26. Untuk mendekripsi Anda mengurangkan, P = (C − K) mod 26, yang membatalkan pergeseran dan mengembalikan huruf aslinya.
Hanya 26 huruf yang digeser. Spasi, tanda baca, dan bahkan digit yang muncul dalam pesan itu sendiri lewat begitu saja dan tidak memakai digit kunci, sehingga kunci tetap sejajar dengan huruf yang penting. Besar-kecil huruf dipertahankan, sehingga huruf kapital tetap kapital dan huruf kecil tetap kecil. Karena setiap digit berada di antara 0 dan 9, setiap posisi memakai satu dari hanya sepuluh pergeseran yang mungkin, yang merupakan ciri khas sandi Gronsfeld.
Contoh terselesaikan
Enkripsi pesan HELLO dengan kunci numerik 31415. Mengulang kunci menyejajarkan digit 3, 1, 4, 1, 5 di bawah huruf H, E, L, L, O. Menggeser setiap huruf maju sebesar digitnya memberi H tambah 3 adalah K, E tambah 1 adalah F, L tambah 4 adalah P, L tambah 1 adalah M, dan O tambah 5 adalah T. Teks sandinya adalah KFPMT.
Untuk mendekripsi KFPMT dengan kunci 31415 yang sama, kurangkan setiap digit. K kurang 3 adalah H, F kurang 1 adalah E, P kurang 4 adalah L, M kurang 1 adalah L, dan T kurang 5 adalah O, yang mengeja HELLO lagi. Langkah enkode dan dekode adalah bayangan cermin satu sama lain, sehingga satu-satunya yang dibutuhkan penerima adalah kunci numerik yang sama.
Gronsfeld versus Vigenère
Sandi Gronsfeld paling baik dipahami sebagai sandi Vigenère dengan kunci yang dibatasi. Sebuah kata kunci Vigenère mengubah setiap hurufnya menjadi pergeseran dari 0 hingga 25, memakai seluruh alfabet. Kunci Gronsfeld hanya pernah memakai pergeseran 0 sampai 9, yang sama dengan huruf kata kunci Vigenère A hingga J. Jadi kunci Gronsfeld 31415 berperilaku identik dengan kata kunci Vigenère DBEBF, karena D adalah pergeseran 3, B adalah pergeseran 1, E adalah pergeseran 4, dan seterusnya.
Pembatasan ini adalah sebuah kompromi. Keuntungannya adalah kemudahan: sebuah angka lebih sederhana untuk diingat, didiktekan, atau dibawa daripada sebuah kata, dan tidak ada konversi alfabet-ke-pergeseran untuk dilakukan di kepala Anda. Biayanya adalah kekuatan. Karena hanya sepuluh dari dua puluh enam pergeseran yang mungkin yang pernah dipakai di setiap posisi, ruang kunci jauh lebih kecil daripada kunci Vigenère penuh dengan panjang yang sama, yang membuat sandi Gronsfeld lebih mudah dipecahkan.
Mengapa memakai angka sebagai kunci?
Kunci numerik adalah inti dari sandi Gronsfeld. Orang pandai mengingat angka yang sudah berarti sesuatu bagi mereka, seperti tanggal lahir, nomor jalan, atau digit pembuka sebuah konstanta yang akrab seperti pi. Dua korespondan dapat menyepakati angka semacam itu dengan cepat dan merekonstruksinya dari ingatan, tanpa menuliskan kata rahasia yang mungkin ditemukan.
Angka juga berpindah dengan bersih. Pada era telegraf, kunci yang terbuat dari digit dapat dikirim dan dicatat dengan kemungkinan kesalahan yang lebih kecil daripada sebuah kata, dan ia tidak butuh buku kode khusus. Kepraktisan itulah sebabnya sandi Gronsfeld tetap populer untuk tulisan rahasia sehari-hari lama setelah metode yang lebih kuat ada, dan sebabnya ia masih muncul hari ini dalam teka-teki dan pengajaran.
Cara memecahkan sandi Gronsfeld
Gronsfeld adalah sandi berkunci-berulang, sehingga ia jatuh pada serangan yang sama yang memecahkan Vigenère, hanya lebih mudah. Langkah pertama adalah menemukan panjang kunci. Alat klasik untuk ini adalah pemeriksaan Kasiski, yang mengukur jarak antara kelompok huruf yang berulang, dan indeks kebetulan, yang mendeteksi seberapa timpang frekuensi hurufnya. Begitu panjang kunci diketahui, teks sandi terpecah menjadi kolom-kolom yang masing-masing digeser oleh satu digit.
Menyelesaikan setiap kolom adalah tempat Gronsfeld lebih lemah daripada Vigenère. Setiap kolom digeser oleh satu dari hanya sepuluh nilai yang mungkin, sehingga penyerang cukup mencoba kesepuluhnya dan memilih pergeseran yang membuat kolom terbaca seperti bahasa normal. Dengan kunci pendek, seluruh kunci bahkan dapat ditemukan dengan brute force, karena hanya ada sepuluh pilihan per digit. Karena itu pesan Gronsfeld hanya seaman kuncinya yang panjang, tak terduga, dan tak pernah dipakai ulang.
Apakah sandi Gronsfeld aman?
Tidak. Menurut standar modern, sandi Gronsfeld tidak menawarkan keamanan nyata. Ruang kunci per-hurufnya yang kecil dan kuncinya yang berulang membuatnya cepat dipecahkan dengan metode pensil-dan-kertas, dan sepele bagi komputer. Ia tergolong sejarah sandi tangan, di mana nilainya adalah kemudahan kunci numerik alih-alih ketahanan serius terhadap analisis.
Saat ini sandi Gronsfeld dinikmati untuk pembelajaran dan rekreasi. Ia adalah cara yang jelas dan ramah untuk melihat bagaimana kunci numerik menggerakkan pergeseran polialfabetik, dan ia muncul secara teratur dalam perburuan teka-teki, escape room, geocaching, dan tantangan capture-the-flag. Untuk melindungi informasi sungguhan, Anda sebaiknya mengandalkan algoritma modern yang teruji baik seperti AES sebagai gantinya.
Pertanyaan yang sering diajukan
Apa itu sandi Gronsfeld?
Bagaimana cara kerja sandi Gronsfeld?
Apa beda Gronsfeld dengan sandi Vigenère?
Bisakah Anda menunjukkan contoh sandi Gronsfeld?
Kunci apa yang sebaiknya saya pakai?
Bagaimana cara saya mendekode sandi Gronsfeld?
Mengapa kunci memakai angka alih-alih huruf?
Apakah sandi mengubah spasi, digit, dan tanda baca?
Apakah digit kunci 0 diperbolehkan?
Bagaimana cara memecahkan sandi Gronsfeld?
Apakah sandi Gronsfeld aman?
Apakah teks saya diunggah ke server?
Alat terkait
Lanjutkan dengan alat praktis ini