T

Text Machine

Alat teks andal, di browser Anda

Pemecah Vigenère

Tempel teksandi Vigenère dan pulihkan kata kunci serta pesan aslinya tanpa mengetahui kuncinya. Pemecah ini menemukan panjang kunci dari indeks kebetulan, mengonfirmasikannya dengan pemeriksaan Kasiski, memecahkan setiap kolom sebagai sandi Caesar, dan memilih dekripsi yang paling mirip bahasa Inggris. Semuanya berjalan di peramban Anda.

Coba contoh:

Teksandi Vigenère

Tempel teksandi Vigenère di atas, dan kunci yang dipulihkan, pesan yang didekripsi, serta analisis panjang kunci akan muncul di sini. Makin banyak teks yang Anda berikan, makin andal jawabannya.

Cara menggunakan Pemecah Sandi Vigenère

  1. 1

    Tempel teksandinya

    Salin teks terenkripsi Vigenère dan tempel ke dalam kotak. Satu paragraf atau lebih memberi hasil terbaik; huruf dibaca tanpa memperhatikan huruf besar-kecil, dan spasi, angka, serta tanda baca diabaikan saat memecahkan.

  2. 2

    Baca kunci yang dipulihkan

    Pemecah menampilkan kata kunci yang paling mungkin di bagian atas. Salin dengan satu klik — Anda dapat menempelkannya ke alat Sandi Vigenère untuk memverifikasi bahwa ia mendekripsi pesan yang sama.

  3. 3

    Baca pesan yang didekripsi

    Di bawah kunci, teks asli lengkap muncul dengan huruf besar, spasi, dan tanda baca aslinya dipulihkan. Salin untuk menyimpan hasilnya.

  4. 4

    Periksa bukti panjang kunci

    Diagram indeks kebetulan dan panel Kasiski menunjukkan mengapa panjang kunci itu dipilih. Jika sebuah hasil tampak meleset, klik panjang yang berbeda dalam diagram untuk memaksa pemecahan, atau perlebar panjang kunci maksimum.

  5. 5

    Bagikan atau bersihkan

    Salin tautan yang dapat dibagikan yang membuka kembali alat dengan teksandi persis Anda — teks itu menumpang di bagian URL setelah tanda pagar, yang tidak pernah sampai ke server. Bersihkan mengembalikan semuanya ke awal.

Membobol sandi Vigenère, dijelaskan

Apa yang dilakukan alat ini

Sandi Vigenère menyembunyikan pesan dengan menggeser setiap huruf sejumlah yang berbeda, mengikuti sebuah kata kunci yang berulang. Selama tiga abad gagasan sederhana itu membuatnya dijuluki le chiffre indéchiffrable — sandi yang tak terpecahkan — karena trik biasa menghitung frekuensi huruf gagal melawannya. Alat ini tetap memecahkannya, secara otomatis, tanpa Anda harus memberikan kuncinya. Tempel teksandinya dan ia mengembalikan kata kunci yang paling mungkin serta pesan yang didekripsi.

Ia bekerja seperti seorang kriptanalis manusia, hanya lebih cepat: ia mencari tahu seberapa panjang kuncinya, membagi pesan menjadi sebanyak itu sandi Caesar yang terpisah, memecahkan masing-masing, lalu memeriksa bahwa hasilnya benar-benar terbaca seperti bahasa Inggris. Tanpa kunci, tanpa tebakan, dan tidak ada yang meninggalkan peramban Anda — seluruh serangan berjalan di mesin Anda sendiri.

Mengapa sandi Vigenère dapat dipecahkan

Sebuah kata kunci sepanjang L mengenkripsi setiap huruf ke-L dengan geseran yang sama. Jadi jika Anda mengambil huruf ke-1, ke-(L+1), ke-(2L+1), dan seterusnya, setiap huruf dalam kelompok itu digeser dengan jumlah yang sama — mereka membentuk sebuah sandi Caesar biasa. Hal yang sama berlaku untuk masing-masing dari L posisi awal. Sebuah sandi Vigenère karena itu bukan satu masalah sulit, melainkan L masalah mudah yang ditumpuk bersama, dan satu-satunya hal yang berdiri di antara Anda dan teks asli adalah menemukan L.

Setelah panjang kunci diketahui, setiap kolom mempertahankan frekuensi huruf bahasa Inggris yang timpang, hanya dilabeli ulang oleh satu geseran. Itulah situasi yang persis dirancang untuk diserang oleh analisis frekuensi klasik. Seluruh seni membobol Vigenère, dengan demikian, bermuara pada satu pertanyaan: seberapa panjang kuncinya?

Menemukan panjang kunci dengan indeks kebetulan

Indeks kebetulan mengukur seberapa besar peluang dua huruf yang dipilih secara acak dari sebuah teks itu sama. Bahasa Inggris biasa berada di sekitar 0.066 karena hurufnya digunakan begitu tidak merata; teks yang sepenuhnya acak mendekati 0.038. Ketika Anda membagi teksandi menjadi jumlah kolom yang benar, setiap kolom menjadi monoalfabetik dan indeks kebetulannya melonjak kembali ke arah nilai bahasa Inggris. Bagi menjadi jumlah yang salah, dan kolom-kolomnya tetap rata, tampak acak di sekitar 0.038.

Alat ini mencoba setiap panjang kunci dari satu hingga maksimum yang Anda pilih, mengukur rata-rata indeks kebetulan kolom untuk masing-masing, dan menggambar hasilnya sebagai diagram batang. Panjang yang sebenarnya menonjol sebagai batang yang tinggi — dan begitu pula kelipatannya, karena panjang sepuluh juga membuat setiap kelompok lima sejajar. Ambiguitas kelipatan itulah sebabnya alat ini tidak sekadar memercayai batang tertinggi, sebagaimana dijelaskan oleh bagian-bagian berikutnya.

Pemeriksaan Kasiski

Ada cara kedua yang lebih tua untuk menemukan panjang kunci, ditemukan oleh Friedrich Kasiski pada 1863. Ketika sebuah kata umum seperti THE sejajar dengan bagian kata kunci yang sama dua kali, ia terenkripsi menjadi urutan teksandi yang sama pada kedua kali itu. Jarak antara dua pengulangan semacam itu pasti merupakan kelipatan bulat dari panjang kunci — sehingga panjang kunci membagi jarak tersebut. Temukan beberapa urutan berulang, ukur jaraknya, dan panjang kunci bersembunyi di antara faktor-faktor persekutuan jarak-jarak itu.

Alat ini memindai teksandi untuk urutan berulang tiga huruf, mengumpulkan jarak di antaranya, dan menghitung berapa banyak jarak yang dibagi oleh setiap kandidat faktor. Faktor dengan dukungan terbanyak adalah panjang kunci yang paling mungkin. Ini ditampilkan sebagai panel bukti terpisah, terlepas dari indeks kebetulan, sehingga dua teknik yang berbeda dapat sepakat atas jawabannya.

Memecahkan setiap kolom dan membaca kata kuncinya

Dengan panjang kunci sudah pasti, setiap kolom adalah sebuah sandi Caesar, dan sandi Caesar runtuh seketika. Untuk setiap kolom, pemecah mencoba seluruh dua puluh enam geseran dan mempertahankan yang huruf hasil dekodenya paling cocok dengan frekuensi bahasa Inggris yang diharapkan, diukur dengan uji chi-kuadrat. Geseran pemenang untuk sebuah kolom adalah satu huruf dari kata kunci: geseran sebelas adalah L, geseran empat adalah E, dan seterusnya. Baca geseran pemenang secara berurutan dan kata kunci mengeja dirinya sendiri.

Mendekripsi seluruh pesan dengan kata kunci yang dipulihkan itu mengembalikan teks aslinya, dengan huruf besar, spasi, dan tanda baca asli ditempatkan kembali persis di tempatnya semula. Jika kunci yang dipulihkan kebetulan merupakan pengulangan — misalnya LEMONLEMON padahal kunci sebenarnya adalah LEMON — alat ini menciutkannya ke periode terpendeknya, sehingga Anda selalu melihat kata kunci yang sebenarnya dan paling ringkas.

Pecahkan dulu, lalu verifikasi — mengapa bigram penting

Pemecah yang naif memilih panjang kunci dari indeks kebetulan lalu berhenti. Itu keliru dalam dua kasus yang umum: pesan yang berulang dapat mengganggu statistiknya, dan panjang yang sebenarnya mudah tertukar dengan pembaginya. Alat ini menghindari jebakan itu dengan memecahkan pada setiap kandidat panjang lalu menilai hasilnya berdasarkan seberapa mirip setiap dekripsi dengan bahasa Inggris yang sesungguhnya — pecahkan dulu, verifikasi kemudian.

Penilainya bukan frekuensi huruf tunggal, yang ternyata mudah sekali ditipu: kunci yang sedikit salah bisa menghasilkan teks kacau yang kebetulan memiliki campuran huruf yang masuk akal. Sebagai gantinya, alat ini menilai setiap dekripsi berdasarkan bigramnya — kemungkinan setiap pasangan huruf yang berdampingan, dipelajari dari kumpulan besar teks bahasa Inggris. Bahasa Inggris yang sesungguhnya kaya akan pasangan seperti TH, HE, dan ER serta hampir tidak pernah memuat QJ atau ZX, sehingga satu huruf kunci yang salah menyuntikkan pasangan yang mustahil dan menjatuhkan nilainya. Dekripsi dengan kecocokan bigram terbaik menang, dan seri dimenangkan oleh kunci yang lebih pendek, itulah sebabnya sebuah sandi Caesar biasa dengan tepat terselesaikan menjadi kunci satu huruf.

Seberapa banyak teks yang Anda perlukan, dan kapan ia kesulitan

Karena setiap kolom dipecahkan dengan analisis frekuensi, yang penting adalah berapa banyak huruf yang jatuh ke setiap kolom — yaitu, panjang total dibagi panjang kunci. Dengan kira-kira empat puluh huruf atau lebih per kolom, pemulihannya biasanya tepat, baik kunci maupun teks asli. Satu paragraf dua ratus huruf dengan mudah membobol kunci pendek; kunci yang lebih panjang sepanjang selusin huruf membutuhkan beberapa ratus huruf teksandi agar pasti.

Ketika teksandi pendek relatif terhadap kuncinya, kolom-kolom menjadi tipis dan penghitungan frekuensi per kolom menjadi berderau. Pemecah tetap mengembalikan upaya terbaiknya — sering kali nyaris tepat dengan selisih satu atau dua huruf kunci tetapi masih terbaca — daripada tidak sama sekali. Jika sebuah hasil tampak hampir benar, solusi yang biasa adalah cukup menambah teksandi, atau menggeser panjang kunci secara manual menggunakan diagram. Sandi ini hanya bertahan ketika memang benar-benar tidak ada cukup teks untuk diukur.

Pertanyaan yang sering diajukan

Benarkah Anda bisa membobol sandi Vigenère tanpa kunci?
Ya. Sebuah sandi Vigenère dengan kunci berulang adalah beberapa sandi Caesar yang disisipkan, dan sandi Caesar runtuh oleh analisis frekuensi. Pemecah mencari tahu panjang kunci, membagi pesan menjadi sebanyak itu kolom, memecahkan masing-masing, dan membaca kata kunci dari hasilnya — semuanya tanpa Anda mengetahui kuncinya terlebih dahulu.
Bagaimana pemecah menemukan panjang kunci?
Dua cara sekaligus. Ia mengukur rata-rata indeks kebetulan untuk setiap kandidat panjang — panjang yang benar dan kelipatannya mendapat nilai mendekati 0.066, seperti bahasa Inggris, sementara panjang yang salah tampak acak di sekitar 0.038 — dan ia menjalankan pemeriksaan Kasiski, memfaktorkan jarak antara urutan berulang. Panjang yang disetujui kedua metode itu hampir selalu benar.
Apa itu indeks kebetulan?
Itu adalah peluang bahwa dua huruf yang diambil secara acak dari sebuah teks itu sama. Bahasa Inggris sekitar 0.066 karena hurufnya digunakan tidak merata; teks acak sekitar 0.038. Ketika teksandi dibagi menjadi jumlah kolom yang benar, setiap kolom tampak seperti bahasa Inggris lagi, dan begitulah cara alat ini mendeteksi panjang kunci.
Apa itu pemeriksaan Kasiski?
Sebuah metode yang dipublikasikan oleh Friedrich Kasiski pada 1863. Ketika sebuah kata yang berulang sejajar dengan bagian kunci yang sama, ia terenkripsi secara identik, dan jarak antara pengulangan-pengulangan itu merupakan kelipatan dari panjang kunci. Dengan mengumpulkan jarak-jarak semacam itu dan melihat faktor-faktor persekutuannya, Anda memulihkan kandidat panjang kunci secara terpisah dari statistik frekuensi.
Mengapa kunci yang dipulihkan bisa sedikit salah?
Setiap kolom dipecahkan dengan analisis frekuensi, yang memerlukan cukup huruf agar andal. Jika teksandi pendek relatif terhadap panjang kunci, beberapa kolom memiliki terlalu sedikit huruf dan satu atau dua huruf kunci bisa meleset. Teks aslinya biasanya tetap terbaca; solusinya adalah menambah teksandi, atau menggeser panjang kunci secara manual dalam diagram.
Seberapa banyak teksandi yang saya perlukan?
Targetkan setidaknya empat puluh huruf per kolom — yaitu panjang total dibagi panjang kunci. Kunci pendek terbobol dengan mudah dari satu paragraf, sementara kunci panjang sepanjang selusin huruf membutuhkan beberapa ratus huruf teksandi untuk pemulihan yang tepat. Lebih banyak teks selalu lebih baik.
Mengapa alat ini memeriksa bigram alih-alih sekadar frekuensi huruf?
Frekuensi huruf tunggal dapat ditipu — kunci yang sedikit salah kadang menghasilkan teks kacau dengan campuran huruf yang masuk akal. Kecocokan bigram menilai setiap pasangan huruf yang berdampingan terhadap bahasa Inggris yang sesungguhnya, di mana TH dan HE umum sementara QJ atau ZX praktis tidak pernah muncul. Kunci yang salah menyuntikkan pasangan yang mustahil dan mendapat nilai buruk, sehingga dekripsi yang benar-benar bahasa Inggris yang menang.
Bisakah saya memaksa panjang kunci tertentu?
Ya. Klik batang mana pun dalam diagram panjang kunci untuk memecahkan pada panjang persis itu, dan tekan Otomatis untuk kembali ke deteksi otomatis. Anda juga dapat menaikkan panjang kunci maksimum yang dicari alat jika Anda menduga kuncinya panjang. Ini berguna ketika Anda sudah mengetahui atau dapat menebak panjangnya.
Apakah ia berfungsi pada Beaufort, Gronsfeld, atau sandi polialfabetik lainnya?
Pemecah ini menargetkan sandi Vigenère standar dengan kunci berulang. Kerabat dekatnya seperti Gronsfeld (Vigenère numerik) sering kali sebagian menyerah, tetapi varian Beaufort dan autokey menggunakan aritmetika yang berbeda dan mungkin tidak. Jika Anda tidak yakin sandi mana yang Anda miliki, jalankan Pengidentifikasi Sandi terlebih dahulu, lalu gunakan alat yang sesuai.
Apakah teksandi saya dikirim ke server?
Tidak. Seluruh serangan berjalan di peramban Anda, sehingga teks Anda tidak pernah diunggah, dicatat, atau disimpan. Bahkan tautan berbagi menyimpan teksandi Anda di bagian URL setelah tanda pagar, yang tidak pernah dikirim peramban ke server, jadi tetap pribadi kecuali Anda memilih untuk membagikannya.
Apa bedanya ini dengan alat Sandi Vigenère?
Alat Sandi Vigenère mengenkode dan mendekode ketika Anda sudah mengetahui kuncinya. Pemecah ini untuk saat Anda tidak mengetahuinya: ia memulihkan kunci dan teks asli dari teksandi saja. Gunakan pemecah untuk membobol sebuah pesan, lalu alat sandi untuk memastikan kunci mengenkripsinya kembali dengan persis.

Alat terkait

Lanjutkan dengan alat praktis ini

Konverter Unix Timestamp

Konverter JSON ↔ CSV

Konverter CSV ke JSON

Konverter JSON ↔ YAML

Konverter Teks ke Biner

Konverter Teks ke Hex