Kriptanalisis pembezaan ialah satu bentuk analisis kriptografi yang digunakan terutamanya untuk menyekat sifir, yang melibatkan menganalisis kesan perbezaan tertentu dalam pasangan input ke atas perbezaan pada output. Kaedah ini telah diperkenalkan oleh Eli Biham dan Adi Shamir pada akhir 1980-an dan sejak itu telah menjadi alat asas dalam kit alat cryptanalyst. Standard Penyulitan Data (DES), algoritma kunci simetri untuk penyulitan data digital, telah menjadi salah satu subjek utama analisis kriptografi pembezaan.
Algoritma DES, yang direka oleh IBM pada awal 1970-an dan diterima pakai sebagai piawaian persekutuan pada tahun 1977 oleh Institut Piawaian dan Teknologi Kebangsaan (NIST), beroperasi pada blok data 64-bit menggunakan kunci 56-bit. DES menggunakan 16 pusingan rangkaian Feistel, di mana setiap pusingan terdiri daripada satu siri penggantian dan pilih atur yang ditentukan oleh jadual utama.
Untuk memahami sama ada DES boleh dipecahkan oleh analisis kriptografi pembezaan, adalah penting untuk mempertimbangkan spesifikasi kedua-dua struktur DES dan prinsip analisis kriptografi pembezaan.
Struktur DES dan Jadual Utama
DES dibina atas gabungan operasi gantian dan pilih atur. Setiap pusingan DES melibatkan langkah-langkah berikut:
1. Pengembangan (E-kotak): Separuh blok 32-bit dikembangkan kepada 48 bit menggunakan pilih atur pengembangan.
2. Pencampuran Kunci: Separuh blok yang diperluaskan adalah XORed dengan kunci bulat yang diperoleh daripada kunci utama menggunakan jadual kunci.
3. Penggantian (kotak-S): Hasil 48-bit dibahagikan kepada lapan segmen 6-bit, setiap satunya dilalui melalui kotak S yang sepadan untuk menghasilkan output 4-bit. Lapan output 4-bit digabungkan untuk membentuk blok 32-bit.
4. Permutasi (Kotak P): Blok 32-bit diubah suai menggunakan jadual pilih atur tetap.
5. XOR dan Swap: Blok yang diubah suai di XOR dengan separuh lagi blok data, dan bahagian itu ditukar.
Jadual kekunci menjana satu siri 16 kekunci bulat, setiap satu 48 bit panjang, daripada kekunci 56-bit asal. Proses ini melibatkan operasi pilihan tetap dan anjakan bulat kiri.
Prinsip Kriptanalisa Berbeza
Kriptanalisis pembezaan melibatkan kajian bagaimana perbezaan dalam pasangan teks biasa merambat melalui sifir untuk menghasilkan perbezaan dalam teks sifir. Idea asas adalah untuk memilih pasangan teks biasa yang mempunyai perbezaan tertentu, menyulitkannya, dan menganalisis perbezaan teks sifir yang terhasil. Dengan memerhatikan bagaimana perbezaan ini berkembang melalui pusingan sifir, penyerang boleh membuat kesimpulan maklumat tentang kunci.
Konsep utama dalam kriptanalisis pembezaan termasuk:
- Pembezaan: Perbezaan XOR antara dua nilai. Sebagai contoh, jika
and
ialah dua teks biasa, perbezaannya ialah
.
- Ciri-ciri: Urutan perbezaan yang menerangkan cara pembezaan input merambat melalui pusingan sifir.
- Kebarangkalian: Kemungkinan pembezaan input yang diberikan akan menghasilkan pembezaan output tertentu selepas beberapa pusingan tertentu.
Permohonan kepada DES
DES direka khusus untuk menentang analisis kriptografi pembezaan, yang tidak diketahui umum pada masa reka bentuknya tetapi difahami oleh IBM dan NSA. Kotak-S dalam DES telah dipilih dengan teliti untuk meminimumkan kebarangkalian ciri-ciri pembezaan, menjadikan analisis kriptografi pembezaan lebih sukar.
Walau bagaimanapun, Biham dan Shamir menunjukkan bahawa DES tidak kebal terhadap analisis kriptografi pembezaan. Mereka menunjukkan bahawa, walaupun DES 16 pusingan penuh tahan terhadap serangan pembezaan praktikal, versi pusingan kecil bagi sifir adalah terdedah. Khususnya, mereka membangunkan serangan ke atas DES dengan kurang daripada 16 pusingan.
Sebagai contoh, serangan ke atas DES 8 pusingan boleh dijalankan dengan kerumitan kira-kira
teks biasa yang dipilih, yang jauh lebih cekap daripada serangan kekerasan pada ruang utama penuh. Untuk DES 16 pusingan penuh, kerumitan kriptanalisis pembezaan adalah lebih tinggi, menjadikannya tidak praktikal dengan sumber pengiraan yang tersedia pada masa penyelidikan mereka.
Contoh Kriptanalisa Pembezaan pada DES
Untuk menggambarkan cara kriptanalisis pembezaan berfungsi, pertimbangkan contoh ringkas dengan DES pusingan terkurang:
1. Pilih Pembezaan: Pilih pembezaan input tertentu
. Untuk kesederhanaan, andaikan
hanya mempengaruhi beberapa bit sahaja.
2. Hasilkan Pasangan Teks Biasa: Hasilkan sebilangan besar pasangan teks biasa
seperti itu
.
3. Sulitkan Pasangan Teks Biasa: Sulitkan setiap pasangan untuk mendapatkan teks sifir
.
4. Analisis Perbezaan Output: Kira perbezaan keluaran
bagi setiap pasangan.
5. Kenal pasti ciri-ciri: Kenal pasti corak dalam pembezaan keluaran yang mencadangkan ciri khusus struktur dalaman sifir.
6. Infer Maklumat Utama: Gunakan ciri yang dikenal pasti untuk membuat kesimpulan maklumat tentang kekunci bulat, dan akhirnya kunci utama.
Pertimbangan Praktikal
Walaupun kriptanalisis pembezaan ialah alat yang berkuasa, aplikasi praktikalnya kepada DES memerlukan sumber pengiraan yang ketara dan sejumlah besar plainteks pilihan. Amalan kriptografi moden telah berkembang untuk menggunakan algoritma yang lebih kompleks dan selamat, seperti Piawaian Penyulitan Lanjutan (AES), yang direka bentuk untuk menentang bukan sahaja analisis kriptografi pembezaan tetapi juga pelbagai serangan kriptanalitik yang lain.
Kriptanalisis pembezaan ialah teknik yang mantap dalam bidang kriptografi yang boleh digunakan untuk menganalisis dan, dalam beberapa kes, memecahkan sifir blok seperti DES. Walaupun DES 16 pusingan penuh tahan terhadap serangan pembezaan praktikal, versi pusingan kecil DES terdedah. Reka bentuk DES, terutamanya kotak-Snya, mencerminkan kesedaran tentang prinsip analisis kriptografi pembezaan, menunjukkan kepentingan reka bentuk kriptografi yang teliti dalam memastikan keselamatan.
Soalan dan jawapan terbaru lain mengenai Standard Penyulitan Data (DES) - Jadual utama dan penyahsulitan:
- Antara kriptanalisis linear dan pembezaan yang berkesan untuk memecahkan DES?
- Bagaimanakah sirptanalisis linear boleh memecahkan sistem kripto DES?
- Bolehkah dua input berbeza x1, x2 menghasilkan output yang sama y dalam Data Encryption Standard (DES)?
- Adakah kriptanalisis pembezaan lebih cekap daripada kriptanalisis linear dalam memecahkan sistem kripto DES?
- Bagaimanakah DES berfungsi sebagai asas untuk algoritma penyulitan moden?
- Mengapakah panjang kunci dalam DES dianggap agak pendek mengikut piawaian hari ini?
- Apakah struktur rangkaian Feistel dan bagaimana ia berkaitan dengan DES?
- Bagaimanakah proses penyahsulitan dalam DES berbeza daripada proses penyulitan?
- Apakah tujuan jadual utama dalam algoritma DES?
- Bagaimanakah memahami jadual utama dan proses penyahsulitan DES menyumbang kepada kajian kriptografi klasik dan evolusi algoritma penyulitan?

