Simple cipher: deskripsi kode dan cipher populer

Daftar Isi:

Simple cipher: deskripsi kode dan cipher populer
Simple cipher: deskripsi kode dan cipher populer
Anonim

Kebutuhan untuk mengenkripsi korespondensi muncul di dunia kuno, dan sandi substitusi sederhana muncul. Pesan terenkripsi menentukan nasib banyak pertempuran dan memengaruhi jalannya sejarah. Seiring waktu, orang-orang menemukan metode enkripsi yang semakin canggih.

Kode dan sandi, omong-omong, adalah konsep yang berbeda. Yang pertama berarti mengganti setiap kata dalam pesan dengan kata kode. Yang kedua adalah mengenkripsi setiap simbol informasi menggunakan algoritma tertentu.

Setelah matematika mulai menyandikan informasi dan teori kriptografi dikembangkan, para ilmuwan menemukan banyak sifat berguna dari ilmu terapan ini. Misalnya, algoritma decoding telah membantu mengungkap bahasa mati seperti Mesir kuno atau Latin.

Steganografi

Steganografi lebih tua dari coding dan enkripsi. Kesenian ini sudah ada sejak lama. Secara harfiah berarti "tulisan tersembunyi" atau "tulisan sandi". Meskipun steganografi tidak cukup memenuhi definisi kode atau sandi, steganografi dimaksudkan untuk menyembunyikan informasi dari orang asing.mata.

Steganografi atau kriptografi
Steganografi atau kriptografi

Steganografi adalah sandi yang paling sederhana. Catatan tertelan yang dilapisi lilin adalah contoh khas, atau pesan di kepala yang dicukur yang bersembunyi di bawah rambut yang tumbuh. Contoh steganografi yang paling jelas adalah metode yang dijelaskan dalam banyak buku detektif berbahasa Inggris (dan tidak hanya), ketika pesan dikirimkan melalui surat kabar, di mana huruf-hurufnya ditandai secara tidak mencolok.

Kelemahan utama steganografi adalah bahwa orang asing yang penuh perhatian dapat menyadarinya. Oleh karena itu, untuk mencegah pesan rahasia agar tidak mudah dibaca, digunakan metode enkripsi dan pengkodean bersama dengan steganografi.

ROT1 dan sandi Caesar

Nama sandi ini adalah ROTate 1 huruf ke depan, dan diketahui banyak anak sekolah. Ini adalah sandi substitusi sederhana. Esensinya terletak pada kenyataan bahwa setiap huruf dienkripsi dengan menggeser abjad dengan 1 huruf ke depan. A -> B, B -> C, …, Z -> A. Misalnya, kami mengenkripsi frasa "Nastya kami menangis dengan keras" dan kami mendapatkan "general Obtua dspnlp rmbsheu".

Cipher ROT1 dapat digeneralisasi ke sejumlah offset yang berubah-ubah, kemudian disebut ROTN, di mana N adalah angka yang harus digeser enkripsi hurufnya. Dalam bentuk ini, sandi telah dikenal sejak zaman kuno dan disebut "sandi Caesar".

Cakram Cyrillic untuk sandi Caesar
Cakram Cyrillic untuk sandi Caesar

Caesar cipher sangat sederhana dan cepat, tetapi merupakan cipher permutasi tunggal yang sederhana dan oleh karena itu mudah untuk dipecahkan. Memiliki kelemahan seperti itu, hanya cocok untuk lelucon kekanak-kanakan.

Cipher transposisi atau permutasi

Jenis sandi permutasi sederhana ini lebih serius dan aktif digunakan belum lama ini. Selama Perang Saudara Amerika dan Perang Dunia I, itu digunakan untuk mengirim pesan. Algoritmanya terdiri dari mengatur ulang huruf di tempat - menulis pesan dalam urutan terbalik atau mengatur ulang huruf berpasangan. Sebagai contoh, mari kita mengenkripsi frasa "Kode Morse juga merupakan sandi" -> "akubza ezrom - hedgehog rfish".

Dengan algoritma yang baik yang menentukan permutasi arbitrer untuk setiap karakter atau kelompoknya, cipher menjadi tahan terhadap cracking sederhana. Tetapi! Hanya pada waktunya. Karena sandi mudah dipecahkan oleh kekerasan sederhana atau pencocokan kamus, hari ini semua ponsel cerdas dapat menangani dekripsinya. Oleh karena itu, dengan munculnya komputer, sandi ini juga masuk ke dalam kategori anak-anak.

Kode Morse

ABC adalah media pertukaran informasi dan tugas utamanya adalah membuat pesan lebih mudah dan lebih dimengerti untuk transmisi. Meskipun ini bertentangan dengan tujuan enkripsi. Namun demikian, ia bekerja seperti sandi yang paling sederhana. Dalam sistem Morse, setiap huruf, angka, dan tanda baca memiliki kodenya sendiri, yang terdiri dari kumpulan tanda hubung dan titik. Saat mengirim pesan menggunakan telegraf, tanda hubung dan titik mewakili sinyal panjang dan pendek.

Sirilik dan Latin dalam kode Morse
Sirilik dan Latin dalam kode Morse

Telegraf dan kode Morse… Morse adalah orang yang pertama kali mematenkan penemuan "nya" pada tahun 1840, meskipun perangkat serupa telah ditemukan di Rusia dan Inggris sebelum dia. Tapi siapa yang peduli sekarang … Telegraf dan alfabetKode Morse memiliki dampak yang sangat besar di dunia, memungkinkan transmisi pesan hampir seketika melalui jarak benua.

Substitusi monoalfabetik

Kode ROTN dan Morse yang dijelaskan di atas adalah contoh font pengganti monoalfabetik. Awalan "mono" berarti bahwa selama enkripsi, setiap huruf dari pesan asli diganti dengan huruf atau kode lain dari satu-satunya alfabet enkripsi.

Menguraikan sandi substitusi sederhana tidaklah sulit, dan ini adalah kelemahan utamanya. Mereka diselesaikan dengan enumerasi sederhana atau analisis frekuensi. Misalnya, diketahui bahwa huruf bahasa Rusia yang paling banyak digunakan adalah "o", "a", "i". Dengan demikian, dapat diasumsikan bahwa dalam ciphertext huruf yang paling sering muncul berarti "o", atau "a", atau "dan". Berdasarkan pertimbangan ini, pesan dapat didekripsi bahkan tanpa pencarian komputer.

Telah diketahui bahwa Mary I, Ratu Skotlandia dari tahun 1561 hingga 1567, menggunakan sandi substitusi monoalfabetik yang sangat kompleks dengan beberapa kombinasi. Namun musuh-musuhnya dapat menguraikan pesan-pesan itu, dan informasi itu cukup untuk menghukum mati sang ratu.

Gronsfeld cipher, atau substitusi polialfabetik

Cipher sederhana dinyatakan tidak berguna oleh kriptografi. Oleh karena itu, banyak dari mereka telah diperbaiki. Sandi Gronsfeld merupakan modifikasi dari sandi Caesar. Metode ini jauh lebih tahan terhadap peretasan dan terletak pada kenyataan bahwa setiap karakter informasi yang disandikan dienkripsi menggunakan salah satu alfabet yang berbeda, yang diulang secara siklis. Dapat dikatakan bahwa ini adalah aplikasi multi-dimensisandi substitusi paling sederhana. Faktanya, cipher Gronsfeld sangat mirip dengan cipher Vigenère yang dibahas di bawah ini.

Algoritme enkripsi ADFGX

Ini adalah sandi Perang Dunia I paling terkenal yang digunakan oleh orang Jerman. Cipher mendapatkan namanya karena algoritma enkripsi mengarahkan semua ciphergram ke pergantian huruf-huruf ini. Pilihan surat-surat itu sendiri ditentukan oleh kenyamanan mereka ketika ditransmisikan melalui saluran telegraf. Setiap huruf dalam cipher diwakili oleh dua. Mari kita lihat versi yang lebih menarik dari kotak ADFGX yang menyertakan angka dan disebut ADFGVX.

A D F G V X
A J Q A 5 H D
D 2 E R V 9 Z
F 8 Y Aku N K V
G U P B F 6 O
V 4 G X S 3 T
X W L Q 7 C 0

Algoritma kuadrat ADFGX adalah sebagai berikut:

  1. Pilih n huruf acak untuk kolom dan baris.
  2. Membangun matriks N x N.
  3. Masukkan alfabet, angka, karakter yang tersebar secara acak di atas sel ke dalam matriks.

Mari kita membuat persegi serupa untuk bahasa Rusia. Sebagai contoh, mari kita buat persegi ABCD:

A B B G D
A E/E N b/b A Saya/Y
B W V/F G/R З D
B Sh/Sh B L X Aku
G R M O Yu P
D F T T S U

Matriks ini terlihat aneh karena deretan sel berisi dua huruf. Ini dapat diterima, makna pesan tidak hilang. Itu dapat dengan mudah dipulihkan. Enkripsi frasa "Compact cipher" menggunakan tabel ini:

1 2 3 4 5 6 7 8 9 10 11 12 13 14
Frasa K O M P A K T N S Y Ш & F R
Cipher bw gv gb dimana ag bw db ab dg neraka wa neraka bb ha

Jadi, pesan terenkripsi terakhir terlihat seperti ini: "bvgvgbgdagbvdbabdgvdvaadbbga". Tentu saja, Jerman melakukan jalur serupa melalui beberapa sandi lagi. Dan pada akhirnya ternyata sangat stabiluntuk memecahkan pesan terenkripsi.

Vigenère cipher

Cipher ini adalah urutan besarnya lebih tahan terhadap retak daripada yang monoalphabetic, meskipun cipher pengganti teks sederhana. Namun, karena algoritme yang kuat, sudah lama dianggap tidak mungkin untuk diretas. Penyebutan pertama tanggal kembali ke abad ke-16. Vigenère (seorang diplomat Prancis) secara keliru dikreditkan sebagai penemunya. Untuk lebih memahami apa yang dipertaruhkan, pertimbangkan tabel Vigenère (kotak Vigenre, tabula recta) untuk bahasa Rusia.

Meja Vigenère dengan alfabet Rusia
Meja Vigenère dengan alfabet Rusia

Mari kita mulai mengkodekan frasa "Kasperovich tertawa". Tetapi agar enkripsi berhasil, kata kunci diperlukan - biarkan itu menjadi "kata sandi". Sekarang mari kita mulai enkripsi. Untuk melakukan ini, kami menulis kunci berkali-kali sehingga jumlah huruf darinya sesuai dengan jumlah huruf dalam frasa terenkripsi, dengan mengulangi kunci atau memotong:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Frasa: K A С P E R O B & W С M E E T С Aku
Kunci P A R O L b P A R O L b P A R O L

Sekarang, dengan menggunakan tabel Vigenère, seperti pada bidang koordinat, kami mencari sel yang merupakan perpotongan dari pasangan huruf, dan kami mendapatkan: K + P=b, A + A=B, C + P=C, dst.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Cipher: b B B Yu С N Yu G Sch F E Y X F G A L

Kami mengerti bahwa "Kasperovich tertawa"="bvusnyugschzh eykhzhgal".

Memecahkan sandi Vigenère sangat sulit karena analisis frekuensi perlu mengetahui panjang kata kunci agar berfungsi. Jadi peretasannya adalah membuang panjang kata kunci secara acak dan mencoba memecahkan pesan rahasianya.

Juga harus disebutkan bahwa selain kunci yang benar-benar acak, tabel Vigenère yang sama sekali berbeda dapat digunakan. Dalam hal ini, kotak Vigenère terdiri dari alfabet Rusia tertulis baris demi baris dengan pergeseran satu. Yang merujuk kita ke cipher ROT1. Dan seperti di Caesar cipher, offsetnya bisa apa saja. Selain itu, urutan hurufnya tidak harus abjad. Dalam hal ini, tabel itu sendiri dapat menjadi kunci, tanpa mengetahui mana yang tidak mungkin untuk membaca pesan, bahkan mengetahui kuncinya.

Kode

Kode nyata terdiri dari kecocokan untuk masing-masingkata-kata dari kode yang terpisah. Untuk bekerja dengan mereka, yang disebut buku kode diperlukan. Sebenarnya, ini adalah kamus yang sama, hanya berisi terjemahan kata menjadi kode. Contoh kode yang khas dan disederhanakan adalah tabel ASCII - sandi internasional dari karakter sederhana.

tabel kode ASCII
tabel kode ASCII

Keuntungan utama dari kode adalah sangat sulit untuk diuraikan. Analisis frekuensi hampir tidak berfungsi saat diretas. Kelemahan dari kode-kode itu sebenarnya adalah buku-buku itu sendiri. Pertama, persiapan mereka adalah proses yang kompleks dan mahal. Kedua, untuk musuh mereka berubah menjadi objek yang diinginkan dan intersepsi bahkan bagian dari buku memaksa Anda untuk mengubah semua kode sepenuhnya.

Pada abad ke-20, banyak negara menggunakan kode untuk mentransfer data rahasia, mengubah buku kode setelah jangka waktu tertentu. Dan mereka juga aktif berburu buku tetangga dan lawan.

Enigma

Semua orang tahu bahwa Enigma adalah mesin sandi utama Nazi selama Perang Dunia II. Struktur Enigma mencakup kombinasi sirkuit listrik dan mekanik. Bagaimana cipher akan berubah tergantung pada konfigurasi awal Enigma. Pada saat yang sama, Enigma secara otomatis mengubah konfigurasinya selama operasi, mengenkripsi satu pesan dalam beberapa cara di seluruh panjangnya.

Berbeda dengan sandi yang paling sederhana, "Enigma" memberikan triliunan kemungkinan kombinasi, yang membuat pemecahan informasi terenkripsi menjadi hampir mustahil. Pada gilirannya, Nazi memiliki kombinasi tertentu yang disiapkan untuk setiap hari, yang merekadigunakan pada hari tertentu untuk mengirim pesan. Oleh karena itu, meskipun Enigma jatuh ke tangan musuh, Enigma tidak melakukan apa pun untuk mendekripsi pesan tanpa memasukkan konfigurasi yang benar setiap hari.

Mesin sandi Enigma Nazi
Mesin sandi Enigma Nazi

Hack "Enigma" secara aktif diadili selama seluruh kampanye militer Hitler. Di Inggris, pada tahun 1936, salah satu perangkat komputasi pertama (mesin Turing) dibangun untuk ini, yang menjadi prototipe komputer di masa depan. Tugasnya adalah mensimulasikan operasi beberapa lusin Enigma secara bersamaan dan menjalankan pesan Nazi yang dicegat melalui mereka. Tetapi bahkan mesin Turing hanya sesekali dapat memecahkan pesan tersebut.

Enkripsi kunci publik

Algoritme enkripsi paling populer, yang digunakan di mana saja dalam teknologi dan sistem komputer. Esensinya terletak, sebagai suatu peraturan, di hadapan dua kunci, salah satunya ditransmisikan secara publik, dan yang kedua adalah rahasia (pribadi). Kunci publik digunakan untuk mengenkripsi pesan dan kunci pribadi digunakan untuk mendekripsi.

Algoritma enkripsi kunci publik
Algoritma enkripsi kunci publik

Kunci publik paling sering berupa bilangan yang sangat besar yang hanya memiliki dua pembagi, tidak termasuk satu dan bilangan itu sendiri. Bersama-sama, kedua pembagi ini membentuk kunci rahasia.

Mari kita perhatikan contoh sederhana. Biarkan kunci publik menjadi 905. Pembaginya adalah angka 1, 5, 181 dan 905. Kemudian kunci rahasianya adalah, misalnya, angka 5181. Apakah Anda mengatakan terlalu mudah? Bagaimana jika dalam peran?nomor publik akan menjadi nomor dengan 60 digit? Secara matematis sulit menghitung pembagi suatu bilangan besar.

Untuk contoh yang lebih jelas, bayangkan Anda menarik uang dari ATM. Saat membaca kartu, data pribadi dienkripsi dengan kunci publik tertentu, dan di sisi bank, informasi didekripsi dengan kunci rahasia. Dan kunci publik ini dapat diubah untuk setiap operasi. Dan tidak ada cara untuk menemukan pembagi kunci dengan cepat saat mencegatnya.

Ketahanan font

Kekuatan kriptografi dari algoritma enkripsi adalah kemampuannya untuk menahan peretasan. Parameter ini adalah yang paling penting untuk enkripsi apa pun. Jelas, sandi substitusi sederhana, yang dapat didekripsi oleh perangkat elektronik apa pun, adalah salah satu yang paling tidak stabil.

Saat ini, tidak ada standar seragam yang dapat digunakan untuk menilai kekuatan sandi. Ini adalah proses yang melelahkan dan panjang. Namun, ada sejumlah komisi yang telah menghasilkan standar di bidang ini. Misalnya, persyaratan minimum untuk Standar Enkripsi Lanjutan atau algoritma enkripsi AES yang dikembangkan oleh NIST USA.

Untuk referensi: cipher Vernam diakui sebagai cipher yang paling tahan terhadap kerusakan. Pada saat yang sama, keuntungannya adalah, menurut algoritmanya, ini adalah sandi yang paling sederhana.

Direkomendasikan: