
Sandi Klasik: Caesar, ROT13, Atbash, dan Affine
Bagaimana cara kerja sandi Caesar, ROT13, Atbash, affine, dan sandi kata kunci, cara memecahkannya dengan menghitung huruf, dan mengapa tidak satu pun dari sandi tersebut aman saat ini.
Selama lebih dari dua ribu tahun, orang-orang telah menyembunyikan pesan secara terbuka. Trik paling awal adalah dengan mengganti setiap huruf dengan huruf lain menggunakan aturan yang tetap. Metode ini menyenangkan untuk digunakan dan merupakan titik awal yang sempurna untuk kriptografi, tetapi setiap metode dapat dipecahkan oleh seorang penyerang yang sabar dengan menggunakan pensil. Panduan ini menjelaskan cara kerja lima sandi klasik dan mengapa tidak satu pun dari sandi tersebut dapat melindungi Anda saat ini.
Teks polos, teks terenkripsi, dan kunci.
Pesan asli adalah plaintext. Versi yang diacak adalah ciphertext. Cipher adalah aturan yang mengubah satu menjadi yang lain, sedangkan key adalah detail rahasia yang menentukan pengacakan yang tepat.
Kebiasaan baik yang sudah ada sejak tahun 1800-an adalah berasumsi bahwa musuh mengetahui metode cipher dan hanya key yang dirahasiakan. Semua hal di bawah ini harus dinilai berdasarkan standar tersebut: jika seseorang tahu apa yang kamu lakukan tetapi tidak mengetahui key-mu, apakah mereka tetap bisa membaca pesanmu?
Pergeseran Caesar: geser alfabet.
Caesar shift menggeser setiap huruf ke depan sebanyak jumlah tetap. Gunakan pergeseran 3, maka A ditulis sebagai D, B sebagai E, sementara Z kembali ke C. Penulis Romawi Suetonius melaporkan bahwa Julius Caesar menggunakan cara ini pada surat-surat militer.
Jumlah pergeseran adalah key-nya. Siapa pun yang mengetahuinya dapat menggeser huruf kembali. Masalahnya, hanya ada sedikit key: hanya 25 pergeseran yang berguna. Penyerang cukup mencoba semuanya, yaitu pencarian brute-force yang memerlukan satu menit jika dilakukan dengan tangan dan sama sekali tidak memerlukan waktu di komputer.
ROT13
ROT13 menetapkan Caesar shift pada 13 posisi. Karena alfabet memiliki 26 huruf, dua kali pergeseran 13 akan mengembalikanmu ke awal. Enkripsi dan dekripsi merupakan operasi yang sama. Forum menggunakannya untuk menyembunyikan spoiler karena cara ini mencegah orang melihatnya sekilas, bukan karena benar-benar melindungi apa pun.
Atbash: alfabet yang dibalik
Atbash menuliskan alfabet secara terbalik di bawah alfabet itu sendiri, sehingga A berpasangan dengan Z, B dengan Y, C dengan X, dan seterusnya. Cara ini berasal dari alfabet Ibrani dan muncul dalam beberapa teks kuno.
Seperti ROT13, cara ini tidak memiliki key sama sekali dan dapat membalik dirinya sendiri: cerminkan lagi dan kamu kembali ke awal. Karena itu, cara ini adalah teka-teki, bukan pengaman. Begitu seseorang mengenali polanya, setiap pesan yang pernah ditulis dengan cara ini akan terbuka.
Sandi afinis: kalikan, lalu geser.
Beri setiap huruf sebuah angka, A = 0 hingga Z = 25. Sandi afin mengambil angka itu, mengalikannya dengan a, menambahkan b, lalu berputar kembali setelah 26:
E(x) = (a·x + b) mod 26
Atur a = 1 dan kamu kembali ke pergeseran Caesar biasa. Perkalian membuat huruf-huruf yang berdekatan menjadi berjauhan, sehingga hasilnya terlihat lebih acak.
Namun, ada satu masalah. Agar dekripsi dapat bekerja, setiap huruf teks sandi harus berasal dari tepat satu huruf teks asli. Ini hanya terjadi jika a tidak memiliki faktor persekutuan dengan 26. Jadi, a = 3 dan a = 5 bisa digunakan, tetapi a = 2 atau a = 13 tidak bisa, karena keduanya akan mengirim dua huruf berbeda ke tempat yang sama. Hanya 12 nilai a yang diperbolehkan. Jika digabungkan dengan 26 nilai b, ada 312 kunci. Lebih baik daripada 25, tetapi masih sangat sedikit bagi komputer.
Substitusi kata kunci: perubahan apa pun.
Mengapa setiap huruf harus dipindahkan dengan aturan tertentu? Sandi substitusi memungkinkan kuncinya berupa alfabet apa pun yang diacak. Agar pengacakan mudah diingat, tulis kata kunci terlebih dahulu, hapus huruf yang berulang, lalu tambahkan huruf-huruf yang belum digunakan secara berurutan. Kata kunci ZEBRAS menghasilkan alfabet kunci ZEBRASCDFGHIJKLMNOPQTUVWXY, sehingga A menjadi Z, B menjadi E, C menjadi B, dan seterusnya.
Jumlah pengacakan yang mungkin adalah 26 faktorial, sekitar 4 × 10²⁶. Mencoba semuanya tidak mungkin dilakukan, jadi selama berabad-abad sandi substitusi dianggap tidak dapat dipecahkan. Ternyata tidak demikian.
Mengapa tidak satu pun dari metode ini yang aman saat ini.
Sandi substitusi memiliki kebiasaan yang fatal: sebuah huruf selalu berubah menjadi huruf yang sama. Jadi, pola bahasa tetap terlihat. Dalam bahasa Inggris, E paling sering muncul, lalu T, A, dan O, sedangkan Q dan Z jarang muncul. Para cendekiawan di dunia Islam menjelaskan analisis frekuensi sekitar abad kesembilan: hitung huruf-huruf dalam teks sandi, cocokkan huruf yang paling sering dengan E, lalu gunakan pola kata (kata yang hanya terdiri dari satu huruf kemungkinan besar adalah A atau I) untuk mengisi sisanya.
Pesan yang lebih panjang memberikan statistik yang lebih baik, jadi ruang kunci yang sangat besar pun tidak membantu. Sandi modern dirancang agar teks sandi tidak menunjukkan pola seperti itu, dan keamanannya bergantung pada kunci yang terlalu besar untuk ditebak. Untuk hal yang benar-benar penting, gunakan alat modern yang telah teruji dengan baik, jangan pernah membuat skemamu sendiri.
Cara menjelajahi ini di laboratorium.
Lab Kode & Sandi memberimu roda sandi yang bisa diputar, serta alat untuk menghitung huruf dan menguji tebakan. Urutan yang baik untuk menjelajahi dunia pertama yang gratis:
- Mulailah dengan Pergeseran Caesar dan coba pecahkan satu sandi.
- Lihat perilaku inversi-sendiri di ROT13, lalu Atbash.
- Uji pengali mana yang bisa digunakan di Affine: kalikan, lalu geser.
- Buat kunci acak di Substitusi kata kunci.
Ini adalah model pembelajaran sederhana dari sandi-sandi bersejarah. Model ini dibuat untuk membangun pemahaman tentang kunci dan serangan, bukan untuk melindungi pesan sungguhan.
- Kunci menentukan pengacakan; anggap penyerang mengetahui metodenya.
- Caesar hanya memiliki 25 kunci yang berguna, sedangkan ROT13 dan Atbash tidak memiliki kunci rahasia.
- Pengali affine harus tidak memiliki faktor persekutuan dengan 26, sehingga tersisa 12 nilai yang valid.
- Substitusi kata kunci memiliki ruang kunci yang sangat besar, tetapi dapat dipecahkan dengan analisis frekuensi huruf.
Pergeseran Caesar
Setiap huruf digeser dengan jarak yang sama.. Sekitar 6 menit. Gratis, tanpa akun, berjalan di browser.
Pelajaran gratis lainnya dari panduan ini
Simulasi di Novareka adalah model pembelajaran yang sengaja disederhanakan. Simulasi ini menunjukkan cara kerja suatu gagasan, bukan pengganti saran profesional, medis, atau teknik.
Lab dalam panduan ini
Lanjut membaca
Semua panduan →
Penjelasan
Penjelasan
Penjelasan
