Dalam kriptografi, **pengacakan** dan **penghamburan** (disebut juga **prinsip Shannon**, bahasa Inggris: *confusion and diffusion*) adalah dua sifat operasi penyandian aman yang diperkenalkan oleh Claude Shannon pada tahun 1945 dalam laporan rahasianya, *A Mathematical Theory of Cryptography*. Sifat-sifat ini dibuat untuk menggagalkan penerapan analisis kriptografi dan statistika.

Konsep-konsep ini juga penting dalam desain fungsi hash dan pembangkit bilangan acak semu yang sangat mementingkan dekolerasi antarnilai yang dihasilkan.

Definisi
--------

### Pengacakan (*confusion*)

Pengacakan berarti bahwa tiap bit teks tersandi harus bergantung pada beberapa bagian kunci sehingga menyembunyikan hubungan antara keduanya.

Sifat pengacakan menyembunyikan hubungan antara teks tersandi dan si kunci.

Sifat ini menyulitkan pencarian kunci dari teks tersandi dan, bila salah satu bit diganti, perhitungan sebagian besar atau seluruh teks tersandi akan terdampak.

Pengacakan meningkatkan ambiguitas teks tersandi dan dipakai dalam penyandian blok ataupun aliran.

### Penghamburan (*diffusion*)

Penghamburan berarti bahwa, bila kita mengganti satu bit pada teks asal, secara statistik, setengah teks tersandi harus berubah; begitu pula sebaliknya. Karena bit hanya memiliki dua nilai, ketika dihitung ulang untuk teks asal yang berbeda, setengah dari bit-bit tersebut harus berganti nilai.

Sifat penghamburan menyembunyikan hubungan antara teks tersandi dan teks asal.

Sifat ini menyulitkan penyerang yang ingin mengetahui teks asal. Sifat ini juga meningkatkan kemubaziran (redundansi) teks asal dengan menghamburkannya melintasi baris dan kolom; hal ini diperoleh dengan algoritme transposisi dan hanya dipakai oleh penyandian blok.

Teori
-----

Dalam definisi asli Shannon, *pengacakan* (*confusion*) merujuk kepada usaha untuk membuat hubungan antara teks tersandi dan kunci simetris serumit mungkin; *penghamburan* (*diffusion*) merujuk kepada pelenyapan stuktur statistik teks asli terhadap kumpulan teks tersandi. Kompleksitas ini biasa diimplementasikan melalui rangkaian substitusi dan permutasi. Singkatnya, ketidakseragaman apa pun dalam teks asli harus dihamburkan secara merata dan luas dalam teks tersandi supaya ketidakseragaman semakin sulit dideteksi.

Secara khusus, untuk masukan acak, bila salah satu bit dibalik, peluang tiap bit pada keluaran berubah adalah setengah (50%)—ini disebut kriteria salju longsor ketat. Secara umum, untuk tiap bit yang dibalik, ada peluang bahwa tiap bit pada keluaran berubah sebesar setengah (50%).

Salah satu tujuan pengacakan adalah untuk menyulitkan pencarian kunci, meski penyerang memiliki banyak pasangan teks asli dan teks hasil penyandiannya dengan kunci yang sama. Maka, tiap bit pada teks tersandi seharusnya bergantung pada keseluruhan kunci. Secara khusus, penggantian satu bit kunci akan mengubah seluruh teks tersandi. Cara sederhana untuk meraih pengacakan dan penghamburan adalah penggunaan jaringan substitusi–permutasi. Dalam sistem ini, teks asli dan kunci hampir memiliki peran yang sama dalam menghasilkan teks tersandi sehingga cara ini menjamin pengacakan dan penghamburan.[*butuh rujukan*]

Penerapan dalam enkripsi
------------------------

Pendesainan metode enkripsi menggunakan kedua prinsip pengacakan dan penghamburan.

Pengacakan berarti bahwa proses tersebut mengubah data secara drastis dari masukan ke keluaran, misal dengan memetakan data dengan tabel nonlinear yang dihitung dari kunci. Ada banyak cara untuk membalikkan perhitungan linear. Jadi, semakin nonlinear, semakin banyak alat analisis yang kesulitan.

Penghamburan berarti bahwa mengganti satu karakter masukan akan mengganti banyak karakter pada keluaran. Bila dilakukan dengan baik, tiap bagian masukan akan mengubah tiap bagian keluaran sehingga menyulitkan analisis. Tidak ada penghamburan yang sempurna: ia selalu berbentuk pola tertentu. Penghamburan yang baik akan menyebarkan dengan luas pada keluaran dan, kalau ada pola tertentu, mereka saling mengacak. Hal ini membuat pola semakin sulit untuk dilacak dan membutuhkan lebih banyak analisis data untuk meretasnya.

### Analisis AES

Standar Enkripsi Lanjutan (AES) memiliki pengacakan dan penghamburan yang baik. Tabel pengacakannya sangat nonlinear dan bagus untuk menghancurkan pola. Tahapan penghamburannya menyebarkan tiap bagian masukan ke tiap bagian keluaran, yaitu mengubah satu bit masukan akan mengubah setengah dari bit-bit keluaran. Baik pengacakan maupun penghamburan diulangi beberapa kali untuk tiap masukan untuk meningkatkan jumlah pengacakan. Kunci rahasia dicampurkan pada tiap tahap sehingga penyerang tidak dapat menghitung lebih awal yang dilakukan oleh penyandiannya.

Hal-hal tersebut tidak akan terjadi jika tahap pengacakan tunggal berdasar pada kunci. Pola masukan akan mengalir utuh ke keluaran. Ia mungkin akan tampak acak untuk manusia. Namun, para analis akan menemukan pola yang jelas dan penyandiannya dapat dipatahkan.

Lihat pula
----------

* Jaringan substitusi–permutasi
* Efek salju longsor

Referensi
---------

1. ↑  "Information Theory and Entropy". *Model Based Inference in the Life Sciences: A Primer on Evidence* (dalam bahasa Inggris). Springer New York. 1 Januari 2008. hlm. 51–82. doi:10.1007/978-0-387-74075-1\_3. ISBN 978-0-3877-4073-7.
2. ↑  Stallings, William (2014). *Cryptography and Network Security* (edisi ke-6). Upper Saddle River: Prentic Hall. hlm. 67–68. ISBN 978-0-1333-5469-0.
3. ↑  William, Stallings (2017). *Cryptography and Network Security: Principles and Practice, Global Edition*. Pearson. hlm. 177. ISBN 1292158581.

Daftar pustaka
--------------

* Shannon, Claude E. (1 September 1945). *A Mathematical Theory of Cryptography*. Bell System Technical Memo MM 45-110-02.
* Shannon, Claude E. (1949). "Communication Theory of Secrecy Systems" (PDF). *Bell System Technical Journal*. **28** (4): 656–715. Diarsipkan dari versi asli (PDF) tanggal 2007-06-05. Diakses tanggal 2020-10-12.
* Wade Trappe; Lawrence C. Washington (2006). *Introduction to Cryptography with Coding Theory* (edisi ke-2). Pearson Prentice Hall.

| * l
* b
* s
Penyandian blok |
| --- |
| Algoritme umum | 
* AES
* Blowfish
* DES (penjelasan teknis, Triple DES)
* Serpent
* Twofish

 |
| Algoritme kurang umum | 
* ARIA
* Camellia
* CAST-128
* GOST
* IDEA
* LEA
* RC2
* RC5
* RC6
* SEED
* Skipjack
* TEA (XTEA)

 |
| Algoritme lainnya | 
* 3-Way
* Akelarre
* Anubis
* BaseKing
* BassOmatic
* BATON
* BEAR dan LION
* CAST-256
* Chiasmus
* CIKS-1
* CIPHERUNICORN-A
* CIPHERUNICORN-E
* CLEFIA
* CMEA
* Cobra
* COCONUT98
* Crab
* Cryptomeria/C2
* CRYPTON
* Sandi-CS
* DEAL
* DES-X
* DFC
* E2
* FEAL
* FEA-M
* FROG
* G-DES
* GOST
* Grand Cru
* Hasty Pudding cipher
* Hierocrypt
* ICE
* IDEA NXT
* Intel Cascade Cipher
* Iraqi
* Kalyna
* KASUMI
* KeeLoq
* KHAZAD
* Khufu dan Khafre
* Sandi-KN
* Kuznyechik
* Ladder-DES
* Libelle
* LOKI (97, 89/91)
* Lucifer
* M6
* M8
* MacGuffin
* Madryga
* MAGENTA
* MARS
* Mercy
* MESH
* MISTY1
* MMB
* MULTI2
* MultiSwap
* New Data Seal
* NewDES
* Nimbus
* NOEKEON
* NUSH
* PRESENT
* Q
* RC6
* REDOC
* Red Pike
* S-1
* SAFER
* SAVILLE
* SC2000
* SHACAL
* SHARK (penyandian)
* Simon
* SM4
* Speck
* Spectr-H64
* Square
* SXAL/MBAL
* Threefish
* Treyfer
* UES
* xmx
* XXTEA
* Zodiac

 |
| Desain | 
* Efek salju longsor
* Jaringan substitusi–permutasi
* Kotak-S
* Kotak-P
* Pemutihan kunci (Transformasi pemutihan)
* Pengacakan dan penghamburan
* Penjadwalan kunci
* Sandi Feistel
* Skema Lai–Massey
* Sandi produk
* Ukuran blok
* Ukuran kunci

 |
| Penyerangan(analisis kriptografi) | 
* Serangan brutal (EFF DES cracker)
* MITM (Biclique attack, 3-subset MITM attack)
* Linear (Piling-up lemma)
* Differential (Impossible
* Truncated
* Higher-order)
* Differential-linear
* Distinguishing (Known-key)
* Integral/Square
* Boomerang
* Mod *n*
* Related-key
* Slide
* Rotational
* Timing
* XSL
* Interpolation
* Partitioning
* Davies'
* Rebound
* Weak key
* Tau
* Chi-square
* Time/memory/data tradeoff

 |
| Standardisasi | 
* Proses AES
* CRYPTREC
* NESSIE

 |
| Peralatan/perkakas | 
* Vektor inisialisasi
* Mode operasi
* Bantalan

 |