T

Text Machine

Alat teks andal, di browser Anda

Sandi Running Key

Enkode dan dekode sandi running-key, sebuah sandi Vigenère yang kuncinya adalah bentangan teks panjang alih-alih kata pendek yang berulang. Karena kunci sepanjang pesan dan tidak pernah berulang, pola periodik yang membongkar Vigenère biasa pun lenyap. Beralihlah antara enkode dan dekode dan amati perhitungan terbentuk secara langsung. Semuanya berjalan di browser Anda.

Running key

Tempel bentangan kunci yang panjang, secara tradisional halaman buku yang telah disepakati. Agar menjadi running key sejati, kunci harus setidaknya sepanjang pesan Anda. Hanya huruf yang dipakai untuk menggeser; huruf kapital dan huruf kecil diperlakukan sama, dan spasi, digit, atau tanda baca apa pun dalam kunci diabaikan.

Teks biasa
Teks sandi

Masukkan teks di atas untuk melihat hasil running-key di sini.

Cara menggunakan Sandi Running Key

  1. 1

    Pilih enkode atau dekode

    Pilih Enkode untuk mengubah teks biasa menjadi teks sandi running-key, atau Dekode untuk memulihkan teks biasa dari teks sandi. Running key yang sama dipakai untuk kedua arah.

  2. 2

    Tempel running key Anda

    Tempel bentangan teks panjang untuk dipakai sebagai kunci, secara tradisional halaman buku yang telah disepakati. Agar menjadi running key sejati, kunci seharusnya setidaknya sepanjang pesan Anda. Hanya hurufnya yang dipakai, dan besar-kecil huruf, spasi, serta tanda baca diabaikan.

  3. 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, menampilkan setiap titik di mana kunci pendek harus dililitkan dan berulang.

  4. 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 Running Key

Apa itu sandi running-key?

Sandi running-key adalah sandi substitusi polialfabetik, sebuah bentuk sandi Vigenère yang kuncinya berupa bentangan teks biasa yang panjang alih-alih kata kunci pendek yang berulang. Pengirim dan penerima menyepakati lebih dulu sebuah teks kunci, secara klasik edisi suatu buku tertentu yang dibuka pada halaman tertentu, lalu memakai huruf-hurufnya secara berurutan untuk menggeser pesan. Karena kunci setidaknya sepanjang pesan, ia tidak pernah perlu berulang, dan struktur siklik beraturan yang membuat sandi berkunci-berulang mudah dipecahkan pun lenyap begitu saja.

Kunci yang panjang dan tak berulang inilah yang membedakan sandi running-key. Sandi Vigenère biasa membongkar dirinya sendiri lewat periodisitas: kata kuncinya yang pendek berputar, dan irama itu dapat dideteksi serta diurai. Running key menyingkirkan irama itu sepenuhnya. Konsekuensinya, kunci kini berupa bahasa alami, dengan segala bias statistik yang dibawa teks Inggris, dan bias itu menjadi celah yang dimanfaatkan penyerang sebagai gantinya.

Cara kerja sandi running-key

Berilah nomor alfabet dari A sebagai 0 hingga Z sebagai 25. Tuliskan teks kunci di bawah pesan sehingga satu huruf kunci berada di bawah setiap huruf teks biasa. Untuk mengenkripsi, tambahkan setiap huruf kunci ke huruf di atasnya dan lilitkan mengelilingi alfabet dengan sisa pembagian terhadap 26, sehingga menghasilkan huruf teks sandi C = (P + K) mod 26. Perhitungannya persis tabel Vigenère; hanya sumber kuncinya yang berubah.

Untuk mendekripsi, penerima menuliskan teks kunci yang sama di bawah teks sandi lalu mengurangkan, memulihkan setiap huruf teks biasa dengan P = (C − K) mod 26. Seperti pada setiap varian Vigenère, hanya 26 huruf yang ditransformasikan: spasi, tanda baca, dan digit lewat begitu saja serta tidak memakai huruf kunci, sehingga kunci tetap sejajar dengan huruf-huruf pesan. Besar-kecil huruf dipertahankan, sehingga keluaran menjaga bentuk teks aslinya.

Contoh terselesaikan

Enkripsi pesan HELLO menggunakan running key KEYBOARD. Sejajarkan kelima huruf kunci pertama K, E, Y, B, O di bawah pesan lalu tambahkan: H tambah K adalah R, E tambah E adalah I, L tambah Y adalah J, L tambah B adalah M, dan O tambah O adalah C. Teks sandinya adalah RIJMC. Perhatikan bahwa, tidak seperti sandi autokey, huruf kunci berasal murni dari teks kunci yang disepakati dan sama sekali tidak berkaitan dengan teks biasa.

Untuk mendekripsi RIJMC Anda menuliskan kunci yang sama KEYBOARD di bawahnya lalu mengurangkan: R kurang K adalah H, I kurang E adalah E, J kurang Y adalah L, M kurang B adalah L, dan C kurang O adalah O, memulihkan HELLO. Seluruh pesan dapat dibaca dalam satu kali jalan karena kunci diketahui sepenuhnya sejak awal, tanpa umpan balik huruf demi huruf yang harus ditunggu.

Running-key versus Vigenère berkunci-berulang

Sandi Vigenère baku mengulang kata kunci pendek di sepanjang seluruh pesan: dengan kunci KEY alirannya adalah KEYKEYKEY dan seterusnya. Pengulangan itu adalah cacat fatalnya, karena panjang kunci dapat dipulihkan dengan pemeriksaan Kasiski atau indeks kebetulan, setelah itu setiap kolom menjadi pergeseran Caesar sederhana yang dipecahkan dengan analisis frekuensi. Sandi running-key memakai aturan penambahan yang identik tetapi kunci yang sepanjang pesan, sehingga tidak ada periode untuk ditemukan dan uji klasik itu tidak berlaku langsung.

Bahayanya adalah memakai kunci yang terlalu pendek. Jika running key lebih pendek daripada pesan, ia harus dililitkan kembali ke awalnya, dan pada saat itu ia menjadi Vigenère berkunci-berulang biasa dengan segala kelemahan sandi itu. Mengenkripsi HELLO dengan kunci tiga huruf KEY, misalnya, dililitkan sehingga memberi RIJVS — persis hasil Vigenère berulang. Alat ini menandai huruf kunci mana pun yang dipakai ulang sehingga Anda dapat melihat sandi merosot, dan running key yang baik seharusnya selalu setidaknya sepanjang teks.

Running-key versus sandi autokey

Sandi running-key dan autokey adalah kerabat dekat: keduanya memakai kunci sepanjang pesan sehingga tidak ada yang berulang, dan keduanya menyederhana menjadi penambahan modular yang sama. Bedanya terletak pada dari mana kunci panjang itu berasal. Sandi running-key mengambil kuncinya dari teks eksternal yang dibagikan bersama, seperti halaman buku yang telah disepakati, sedangkan sandi autokey membangun kunci panjangnya dari kata kunci pemicu pendek yang diikuti oleh teks biasa itu sendiri.

Perbedaan itu membentuk cara masing-masing diserang. Sandi autokey hanya butuh rahasia bersama yang sangat kecil, yaitu pemicunya, tetapi karena sebagian kuncinya adalah teks biasa, menebak kata yang umum dan menyeretnya melintasi pesan menyingkapkan lebih banyak teks. Sandi running-key membutuhkan kedua pihak memegang teks kunci yang sama, tetapi kelemahannya bersifat statistik: baik pesan maupun kunci sama-sama bahasa alami, sehingga seorang analis dapat mengadu kata-kata yang mungkin satu sama lain hingga muncul pembelahan yang konsisten.

Cara memecahkan sandi running-key

Karena kunci tidak pernah berulang, pemeriksaan Kasiski dan indeks kebetulan tidak menggigit sebagaimana pada Vigenère berulang. Sebagai gantinya, serangan klasik memanfaatkan fakta bahwa setiap huruf teks sandi adalah jumlah dari dua huruf yang keduanya diambil dari bahasa biasa. Bahasa Inggris sangat redundan, sehingga hanya sedikit pasangan huruf teks-biasa-dan-kunci yang masuk akal bagi suatu huruf teks sandi, dan kata-kata umum dalam salah satu aliran meninggalkan jejak yang dapat dideteksi.

Metode praktisnya, yang sering dikreditkan kepada William Friedman, adalah menebak kata yang mungkin, menguranginya dari sepenggal teks sandi seolah-olah ia adalah kunci, lalu melihat apakah aliran yang lain keluar tampak seperti bahasa. Tebakan yang benar dalam kunci menyingkapkan serpihan teks biasa, dan tebakan yang benar dalam teks biasa menyingkapkan serpihan kunci; setiap serpihan kemudian dapat diperpanjang ke luar dan kedua aliran diurai satu sama lain. Memakai ulang teks kunci yang sama untuk lebih dari satu pesan adalah fatal, karena mengurangkan dua teks sandi menghapus kunci bersama dan menyisakan kedua teks biasa yang tergabung.

Dari running key ke one-time pad

Sandi running-key adalah leluhur konseptual langsung dari one-time pad, satu-satunya sandi yang terbukti tak terpecahkan. Resepnya hampir sama: ambil kunci sepanjang pesan dan tambahkan huruf demi huruf. One-time pad menambahkan tiga syarat ketat — kunci harus benar-benar acak, setidaknya sepanjang pesan, dan tidak pernah dipakai ulang. Penuhi ketiganya dan setiap kemungkinan teks biasa sama-sama konsisten dengan teks sandi, sehingga tidak ada analisis yang dapat mengunggulkan yang asli.

Running key gagal memenuhi syarat-syarat itu persis. Bentangan buku tidaklah acak; ia adalah bahasa Inggris yang berstruktur, yang frekuensi huruf dan kata-kata umumnya memberi analis pijakan yang dijelaskan di atas. Jadi meskipun sandi running-key secara berarti lebih kuat daripada Vigenère berulang, ia tidak menawarkan keamanan nyata menurut standar modern dan tidak boleh menjaga rahasia sungguhan. Ia paling baik dinikmati sebagai pelajaran yang gamblang dalam sejarah kriptografi serta sajian baku dalam perburuan teka-teki, escape room, dan tantangan capture-the-flag; untuk perlindungan sejati, pakai algoritma modern yang teruji baik seperti AES.

Pertanyaan yang sering diajukan

Apa itu sandi running-key?
Sandi running-key adalah sandi Vigenère yang kuncinya berupa bentangan teks panjang, seperti halaman dari buku yang telah disepakati, alih-alih kata kunci pendek yang berulang. Karena kunci sepanjang pesan dan tidak pernah berulang, ia menghindari pola siklik yang membuat sandi Vigenère biasa mudah dipecahkan. Ia kadang disebut sandi buku ketika kuncinya diambil dari sebuah buku.
Bagaimana cara kerja sandi running-key?
Berilah nomor alfabet A sebagai 0 hingga Z sebagai 25 dan tuliskan teks kunci di bawah pesan, satu huruf kunci per huruf pesan. Untuk mengenkripsi, tambahkan setiap huruf kunci ke huruf pesan modulo 26: C = (P + K) mod 26. Untuk mendekripsi, kurangkan dengan kunci yang sama: P = (C − K) mod 26. Hanya huruf yang diubah; spasi, digit, dan tanda baca lewat tanpa tersentuh.
Apa beda sandi running-key dengan sandi Vigenère?
Keduanya memakai aturan penambahan yang sama, tetapi sandi Vigenère mengulang kata kunci pendek di sepanjang pesan sedangkan sandi running-key memakai kunci sepanjang pesan yang tidak pernah berulang. Itu menyingkirkan periode yang akan ditemukan pemeriksaan Kasiski atau indeks kebetulan. Jika running key terlalu pendek dan harus berulang, ia merosot kembali menjadi Vigenère berkunci-berulang biasa.
Bisakah Anda menunjukkan contoh sandi running-key?
Mengenkripsi HELLO dengan running key KEYBOARD memberi RIJMC. Menyejajarkan huruf kunci K, E, Y, B, O di bawah pesan: H tambah K adalah R, E tambah E adalah I, L tambah Y adalah J, L tambah B adalah M, dan O tambah O adalah C. Mendekripsi RIJMC dengan kunci yang sama KEYBOARD memulihkan HELLO dalam satu kali jalan.
Apa yang sebaiknya saya pakai sebagai running key?
Pakai bentangan teks panjang apa pun yang Anda dan penerima sama-sama miliki, secara klasik halaman buku tertentu yang telah disepakati. Kunci sebaiknya setidaknya sepanjang pesan Anda agar tidak pernah perlu berulang. Hanya hurufnya yang dipakai, dan huruf kapital serta huruf kecil diperlakukan sama, sehingga tanda baca dan spasi dalam kunci tidak menjadi masalah.
Apa yang terjadi jika kunci saya lebih pendek daripada pesan?
Kunci dililitkan kembali ke awalnya dan mulai berulang, yang mengubah sandi running-key menjadi Vigenère berkunci-berulang biasa dan membukanya terhadap serangan yang lazim. Alat ini menandai huruf kunci yang dipakai ulang sehingga Anda dapat melihat persis di mana itu terjadi. Agar menjadi running key sejati, selalu pakai teks yang setidaknya sepanjang pesan yang Anda enkripsi.
Apa beda antara sandi running-key dan autokey?
Keduanya memakai kunci tak berulang sepanjang pesan, tetapi berbeda dalam hal dari mana kunci berasal. Sandi running-key mengambil kuncinya dari teks eksternal yang dibagikan bersama seperti sebuah buku, sedangkan sandi autokey membangun kuncinya dari kata kunci pemicu pendek yang diikuti oleh teks biasa itu sendiri. Autokey hanya butuh rahasia bersama yang sangat kecil; running key butuh kedua pihak memegang teks kunci yang sama.
Apakah sandi running-key sama dengan sandi buku?
Ia adalah satu jenis sandi buku. Ketika teks kunci yang panjang diambil dari buku yang telah disepakati, sandi running-key sering disebut sandi buku. Nama sandi buku juga dipakai untuk skema berbeda yang mengganti kata dengan nomor halaman, baris, dan kata, sehingga istilah itu dapat berarti salah satunya, tetapi di sini ia merujuk pada penggunaan teks buku sebagai running key Vigenère.
Apakah sandi mengubah spasi, digit, dan tanda baca?
Tidak. Hanya 26 huruf yang ditransformasikan. Spasi, tanda baca, dan digit apa pun dalam pesan lewat tanpa berubah serta tidak memakai huruf kunci, sehingga kunci tetap sejajar dengan huruf. Besar-kecil huruf dipertahankan, sehingga keluaran menjaga bentuk teks asli Anda.
Bagaimana cara memecahkan sandi running-key?
Karena kunci tidak pernah berulang, alat berkunci-berulang tidak berlaku. Sebagai gantinya, para analis memanfaatkan fakta bahwa baik pesan maupun kunci sama-sama bahasa biasa: setiap huruf teks sandi adalah jumlah dari dua huruf yang bias, sehingga menebak kata yang mungkin dalam salah satu aliran dan menggesernya melintasi teks menyingkapkan serpihan yang cocok yang dapat diperpanjang. Memakai ulang satu teks kunci untuk beberapa pesan membongkarnya seketika.
Apakah sandi running-key berkaitan dengan one-time pad?
Ya, sangat erat. One-time pad memakai kunci sepanjang pesan dan menambahkannya dengan cara yang sama, tetapi ia mensyaratkan kunci benar-benar acak dan tidak pernah dipakai ulang, yang membuatnya tak terpecahkan. Running key memakai teks buku yang berstruktur alih-alih huruf acak, dan struktur statistik itulah persis yang memungkinkannya diserang, sehingga ia tidak mencapai kerahasiaan sempurna one-time pad.
Apakah sandi running-key aman, dan apakah teks saya diunggah?
Ia lebih kuat daripada Vigenère berkunci-berulang tetapi tetap tidak aman: kunci berbahasa-alami dapat diserang secara statistik, jadi pakai algoritma modern seperti AES untuk rahasia sungguhan. Data Anda tetap privat di sini terlepas dari itu — semua enkode dan dekode terjadi di browser Anda, dan bahkan tautan berbagi pun menyimpan teks Anda di bagian URL setelah tanda pagar, yang tidak pernah dikirim browser ke server.

Alat terkait

Lanjutkan dengan alat praktis ini

Sandi Vigenère

Sandi Beaufort

Sandi Gronsfeld

Sandi Autokey

Sandi Porta

Sandi Trithemius