Bagaimana DES bisa memiliki 6x4 S-Box dan masih bisa dibalik?


12

Bukankah data akan hilang ketika memetakan nilai 6-bit ke nilai 4-bit di S-Box DES? Jika demikian, bagaimana kita membalikkannya sehingga output yang benar muncul?


3
Ini mungkin pertanyaan yang sangat menarik, tetapi saya akan mencoba membuatnya lebih mandiri sehingga Anda dapat memperoleh jawaban yang layak. Cobalah untuk memberikan lebih banyak informasi latar belakang.
Dave Clarke

2
Sementara Sadeq punya jawaban, masih akan berguna untuk mengklarifikasi pertanyaan. Pertama, apa itu S-Box di DES?
Suresh Venkat

5
Sebuah cipher berbasis Feistel membagi input menjadi dua string bit dengan panjang yang sama dan (32 bit pada DES) dan kemudian berulang kali menerapkan operasi yang dijelaskan oleh Sadeq di bawah ini (pada DES, iterasi 16 kali). Dalam DES, sebuah -box adalah 6-bit untuk 4-bit fungsi yang merupakan komponen dari pelaksanaan . The -boxes memiliki beberapa sifat statistik yang menarik, yang tujuannya tetap jelas selama lima belas tahun. Banyak orang curiga mereka membuat DES lebih mudah patah. Akhirnya, ditemukan sifat-sifat S-box yang membuat DES tahan terhadap pembacaan sandi diferensial. R S F SLRSFS
Peter Shor

3
@ Suresh: Cipher klasik dibagi menjadi dua jenis: Cipher substitusi (seperti Caesar), dan cipher permutasi (seperti transposisi Columnar). Kemudian, menjadi jelas bahwa kedua jenis tidak memberikan keamanan yang cukup. Cipher blok modern memanfaatkan kedua transformasi. Secara khusus, mereka memiliki P-box (= Kotak permutasi), dan S-box (= Kotak pergantian).
MS Dousti

3
@ Suresh: Saya sangat setuju dengan Anda. Sementara S-Boxes terkenal dengan kriptografi, saya percaya OP harus mengajukan pertanyaan dengan cara yang menguntungkan semua orang, bukan sebagian kecil dari komunitas.
MS Dousti

Jawaban:


25

DES adalah cipher berbasis Feistel . Dalam sandi semacam itu, fungsi tidak perlu dapat dibalik. Inilah alasannya:F

Di setiap putaran, operasi berikut diterapkan:

Untuki=0,1,,n

Li+1=Ri

Ri+1=LiF(Ri,Ki)

Dekripsi dilakukan sebagai berikut:

Ri=Li+1

Li=Ri+1F(Li+1,Ki)

Seperti yang Anda lihat, dekripsi tidak perlu untuk dapat dibalik. (Karena dekripsi tidak perlu menghitung .)F - 1FF1


4

Lihat Bab 5 buku teks "Pengantar Kriptografi Modern" oleh Katz dan Lindell.


1

Tanpa membahas semua omong kosong matematika tentang Feistel (yang saya belum 100% mengerti), jika Anda melihat gambar ini dari Wikipedia:

Langkah Enkripsi DES

Anda dapat melihat bahwa walaupun 8 s-box memang mengompresi 48 bit menjadi 32, hanya 32 bit entropi yang berasal dari plaintext , oleh karena itu Anda bisa mendapatkan 16 bit lainnya dari kunci ketika mendekripsi, yang merupakan keajaiban yang dilakukan oleh fungsi Feistel yang disebutkan sebelumnya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.