Lompat ke isi

Jaringan substitusi–permutasi: Perbedaan antara revisi

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Konten dihapus Konten ditambahkan
S Rifqi (bicara | kontrib)
penerjemahan dari en:Substitution–permutation network dengan penyesuaian
 
Kim Nansa (bicara | kontrib)
Fitur saranan suntingan: 2 pranala ditambahkan.
Tag: VisualEditor Suntingan perangkat seluler Suntingan peramban seluler Tugas pengguna baru Disarankan: tambahkan pranala
 
(3 revisi perantara oleh 2 pengguna tidak ditampilkan)
Baris 2: Baris 2:
Dalam [[kriptografi]], '''jaringan substitusi–permutasi''' ('''jaringan SP''', {{lang-en|substitution–permutation network}}, disingkat '''SPN''') adalah rangkaian operasi matematis yang terhubung berturut-turut dan dipakai dalam [[penyandian blok]], seperti [[Standar Enkripsi Lanjutan|AES (Rijndael)]], [[3-Way]], [[Kalyna]], [[Kuznyechik]], [[PRESENT]], [[SAFER]], [[SHARK (sandi)|SHARK]], dan [[Square (sandi)|Square]].
Dalam [[kriptografi]], '''jaringan substitusi–permutasi''' ('''jaringan SP''', {{lang-en|substitution–permutation network}}, disingkat '''SPN''') adalah rangkaian operasi matematis yang terhubung berturut-turut dan dipakai dalam [[penyandian blok]], seperti [[Standar Enkripsi Lanjutan|AES (Rijndael)]], [[3-Way]], [[Kalyna]], [[Kuznyechik]], [[PRESENT]], [[SAFER]], [[SHARK (sandi)|SHARK]], dan [[Square (sandi)|Square]].


Jaringan ini mengambil seblok teks asal dan kunci sebagai masukan, lalu menerapkan [[Kotak-S|substitusi (kotak-S)]] dan [[Kotak-P|permutasi (kotak-P)]] secara bergantian untuk membuat blok teks tersandi. Kotak-S dan kotak-P mengubah bit-bit subblok menjadi bit-bit lain. Umumnya, transformasi ini adalah operasi yang efisien dilakukan dalam perangkat keras, seperti XOR dan rotasi bit demi bit. Tiap kunci diterapkan untuk tiap ronde dalam bentuk kunci ronde yang dibuat darinya. Pada beberapa desain jaringan, kotak-S yang dipakai bergantung pada kunci tersebut.
Jaringan ini mengambil seblok teks asal dan kunci sebagai masukan, lalu menerapkan [[Kotak-S|substitusi (kotak-S)]] dan [[Kotak-P|permutasi (kotak-P)]] secara bergantian untuk membuat blok [[teks tersandi]]. Kotak-S dan kotak-P mengubah bit-bit subblok menjadi bit-bit lain. Umumnya, transformasi ini adalah operasi yang efisien dilakukan dalam [[perangkat keras]], seperti XOR dan rotasi bit demi bit. Tiap kunci diterapkan untuk tiap ronde dalam bentuk kunci ronde yang dibuat darinya. Pada beberapa desain jaringan, kotak-S yang dipakai bergantung pada kunci tersebut.


[[Dekripsi]] dapat dilakukan hanya dengan membalik prosesnya dengan menggunakan inversi kotak-S dan inversi kotak-P serta menerapkan kunci ronde dalam urutan yang dibalik.
[[Dekripsi]] dapat dilakukan hanya dengan membalik prosesnya dengan menggunakan inversi kotak-S dan inversi kotak-P serta menerapkan kunci ronde dalam urutan yang dibalik.
Baris 20: Baris 20:


== Kinerja ==
== Kinerja ==
Meski [[sandi Feistel]] yang menggunakan kotak-S (seperti [[Standar Enkripsi Data|DES]]) mirip dengan jaringan SP, ada beberapa perbedaan yang membuat keduanya hanya cocok untuk keadaan tertentu. Untuk sejumlah pengacakan dan penghamburan, jaringan SP memiliki paralelisme bawaan<ref>{{cite web |url=http://www.ddj.com/184410756 |title=Principles and Performance of Cryptographic Algorithms |authors=Bart Preneel, Vincent Rijmen, dan Antoon Bosselaers}}</ref> sehingga dapat dihitung lebih cepat daripada sandi Feistel untuk prosesor dengan banyak unit eksekusi.<ref>{{cite web |url=http://www.schneier.com/skein1.1.pdf |title=The Skein Hash Function Family |year=2008 |authors=[[Niels Ferguson]], [[Stefan Lucks]], [[Bruce Schneier]], Doug Whiting, [[Mihir Bellare]], Tadayoshi Kohno, [[Jon Callas]], dan Jesse Walker}}</ref> Prosesor dengan unit eksekusi yang sedikit (seperti [[kartu pintar]]) tidak dapat memanfaatkan paralelisme bawaan. Terlebih lagi, jaringan SP membutuhkan inversi kotak-S sehingga memerlukan penyimpanan lebih besar daripada sandi Feistel yang dapat disusun dari fungsi satu arah.
Meski [[sandi Feistel]] yang menggunakan kotak-S (seperti [[Standar Enkripsi Data|DES]]) mirip dengan jaringan SP, ada beberapa perbedaan yang membuat keduanya hanya cocok untuk keadaan tertentu. Untuk sejumlah pengacakan dan penghamburan, jaringan SP memiliki paralelisme bawaan<ref>{{cite web |url=http://www.ddj.com/184410756 |title=Principles and Performance of Cryptographic Algorithms |authors=Bart Preneel, Vincent Rijmen, dan Antoon Bosselaers}}</ref> sehingga dapat dihitung lebih cepat daripada sandi Feistel untuk prosesor dengan banyak unit eksekusi.<ref>{{cite web |url=http://www.schneier.com/skein1.1.pdf |title=The Skein Hash Function Family |year=2008 |authors=[[Niels Ferguson]], [[Stefan Lucks]], [[Bruce Schneier]], Doug Whiting, [[Mihir Bellare]], Tadayoshi Kohno, [[Jon Callas]], dan Jesse Walker |access-date=2020-10-10 |archive-date=2009-01-15 |archive-url=https://web.archive.org/web/20090115213250/http://www.schneier.com/skein1.1.pdf |dead-url=yes }}</ref> Prosesor dengan unit eksekusi yang sedikit (seperti [[kartu pintar]]) tidak dapat memanfaatkan paralelisme bawaan. Terlebih lagi, jaringan SP membutuhkan inversi kotak-S sehingga memerlukan penyimpanan lebih besar daripada sandi Feistel yang dapat disusun dari fungsi satu arah.


== Lihat pula ==
== Lihat pula ==
* [[Sandi Feistel]]
* [[Sandi Feistel]]
* [[Standar Enkripsi Lanjutan]], contoh algoritme yang menerapkan jaringan SP
* [[Standar Enkripsi Lanjutan]], contoh [[Algoritma|algoritme]] yang menerapkan jaringan SP


== Referensi ==
== Referensi ==
Baris 31: Baris 31:
== Bacaan lebih lanjut ==
== Bacaan lebih lanjut ==
* {{cite book |last1=Katz |first1=Jonathan |last2=Lindell |first2=Yehuda |year=2007 |title=Introduction to Modern Cryptography |publisher=CRC Press |isbn=978-1-5848-8551-1 |url=https://archive.org/details/Introduction_to_Modern_Cryptography}}
* {{cite book |last1=Katz |first1=Jonathan |last2=Lindell |first2=Yehuda |year=2007 |title=Introduction to Modern Cryptography |publisher=CRC Press |isbn=978-1-5848-8551-1 |url=https://archive.org/details/Introduction_to_Modern_Cryptography}}
* {{cite book |last=Stinson |first=Douglas R. |year=2006 |title=Cryptography. Theory and Practice |edition=3 |publisher=Chapman & Hall/CRC |isbn=1584885084 }}
* {{cite book |last=Stinson |first=Douglas R. |year=2006 |title=Cryptography. Theory and Practice |url=https://archive.org/details/cryptographytheo0000stin_k3r1 |edition=3 |publisher=Chapman & Hall/CRC |isbn=1584885084 }}


{{Kriptografi blok}}
{{Kriptografi blok}}

Revisi terkini sejak 8 Februari 2024 16.06

Sketsa jaringan substitusi–permutasi dengan tiga ronde yang mengenkripsi blok 16 bit. Kotak-S dinamai Si, kotak-P dinamai Pi, dan kunci ronde dinamai Ki.

Dalam kriptografi, jaringan substitusi–permutasi (jaringan SP, bahasa Inggris: substitution–permutation network, disingkat SPN) adalah rangkaian operasi matematis yang terhubung berturut-turut dan dipakai dalam penyandian blok, seperti AES (Rijndael), 3-Way, Kalyna, Kuznyechik, PRESENT, SAFER, SHARK, dan Square.

Jaringan ini mengambil seblok teks asal dan kunci sebagai masukan, lalu menerapkan substitusi (kotak-S) dan permutasi (kotak-P) secara bergantian untuk membuat blok teks tersandi. Kotak-S dan kotak-P mengubah bit-bit subblok menjadi bit-bit lain. Umumnya, transformasi ini adalah operasi yang efisien dilakukan dalam perangkat keras, seperti XOR dan rotasi bit demi bit. Tiap kunci diterapkan untuk tiap ronde dalam bentuk kunci ronde yang dibuat darinya. Pada beberapa desain jaringan, kotak-S yang dipakai bergantung pada kunci tersebut.

Dekripsi dapat dilakukan hanya dengan membalik prosesnya dengan menggunakan inversi kotak-S dan inversi kotak-P serta menerapkan kunci ronde dalam urutan yang dibalik.

Komponen pendukung

[sunting | sunting sumber]

Kotak-S menukar (substitusi) blok bit kecil dengan blok bit lainnya sesuai tabel yang telah ditentukan. Substitusi ini harus korespondensi satu-satu untuk menjamin proses dekripsi. Selanjutnya, panjang bit penukar harus sama dengan panjang bit asal. Hal ini berbeda dengan kotak-S pada umumnya yang dapat berbeda panjangnya, seperti yang dipakai dalam Standar Enkripsi Data (DES). Kotak-S bukan sekadar permutasi bit-bitnya. Kotak-S yang baik akan memiliki sifat bahwa mengganti satu bit pada masukan akan mengubah paling tidak setengah bit pada keluaran (efek salju longsor). Kotak ini juga memiliki sifat bahwa tiap bit keluaran bergantung pada tiap bit masukan.

Kotak-P adalah permutasi seluruh bit. Kotak-P menerima keluaran kotak-S dan menyebarkan tiap bit ke kotak-S yang lain. Kotak-P yang baik memiliki sifat bahwa bit hasil kotak-S disebar merata ke sebanyak mungkin kotak-S lain.

Untuk tiap ronde, kunci ronde (diambil dari kunci utama dengan operasi tertentu) digabungkan dalam operasi pengelompokkan tertentu, misal operasi XOR.

Sifat-sifat

[sunting | sunting sumber]

Kotak-S dan kotak-P tidak dapat memberikan kekuatan kriptografis sendirian. Kotak-S dapat diibaratkan sebagai sandi substitusi; kotak-P dapat diibaratkan sebagai sandi transposisi. Namun, jaringan SP yang baik dengan beberapa ronde kotak-S dan kotak-P telah memenuhi prinsip pengacakan dan penghamburan Shannon:

  • Bila salah satu bit teks asli diubah, lalu dimasukkan ke dalam kotak-S yang mengubah beberapa bit, lalu bit-bit tersebut disebar oleh kotak-P ke beberapa kotak-S, lalu diulang beberapa ronde, hasil keluarannya akan berubah total. Dengan kata lain, untuk blok teks asal acak, bila bit kesekian diganti, setengah hasil akan berubah. Begitu pula sebaliknya. Jaringan SP tidak mudah ditebak hanya dari perubahan yang kecil. Inilah yang menyebabkan jaringan ini memenuhi prinsip pengacakan Shannon.
  • Pengubahan salah satu bit pada kunci akan mengubah seluruh kunci ronde yang akan disebar ke seluruh blok sehingga teks hasil berubah dengan perubahan yang sulit dilacak. Inilah yang menyebabkan jaringan ini memenuhi prinsip penghamburan Shannon.
  • Meski penyerang dapat mengetahui teks asli dan hasil penyandiannya, pengacakan dan penghamburannya menyulitkan penyerang untuk mencari kuncinya.

Meski sandi Feistel yang menggunakan kotak-S (seperti DES) mirip dengan jaringan SP, ada beberapa perbedaan yang membuat keduanya hanya cocok untuk keadaan tertentu. Untuk sejumlah pengacakan dan penghamburan, jaringan SP memiliki paralelisme bawaan[1] sehingga dapat dihitung lebih cepat daripada sandi Feistel untuk prosesor dengan banyak unit eksekusi.[2] Prosesor dengan unit eksekusi yang sedikit (seperti kartu pintar) tidak dapat memanfaatkan paralelisme bawaan. Terlebih lagi, jaringan SP membutuhkan inversi kotak-S sehingga memerlukan penyimpanan lebih besar daripada sandi Feistel yang dapat disusun dari fungsi satu arah.

Lihat pula

[sunting | sunting sumber]

Referensi

[sunting | sunting sumber]
  1. ^ Bart Preneel, Vincent Rijmen, dan Antoon Bosselaers. "Principles and Performance of Cryptographic Algorithms". 
  2. ^ Niels Ferguson, Stefan Lucks, Bruce Schneier, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon Callas, dan Jesse Walker (2008). "The Skein Hash Function Family" (PDF). Diarsipkan dari versi asli (PDF) tanggal 2009-01-15. Diakses tanggal 2020-10-10. 

Bacaan lebih lanjut

[sunting | sunting sumber]