Entropy Mixing adalah proses ketika generator mengolah beberapa masukan bersama. Tujuannya dapat berupa pemanfaatan ketidakpastian dari berbagai sumber alih-alih mengandalkan satu sumber saja. Namun, tambahan data bukan tambahan entropi: salinan informasi yang sudah diketahui tidak menambah rahasia baru. Keamanan bergantung pada sumber tertentu dan cara penggabungan yang telah divalidasi.
Bayangkan dua catatan tentang kejadian yang sama. Nama berkasnya berbeda, tetapi catatan kedua tidak menambah hal tak diketahui yang independen. Waktu kedatangan paket dan akses disk juga dapat saling terkait. NIST SP 800-90B mengingatkan bahwa perkiraan entropi sumber yang bergantung satu sama lain tidak dapat begitu saja dijumlahkan. Tentukan dahulu apa yang tetap tidak pasti jika penyerang juga mengetahui masukan lainnya. [1]
Hash adalah sidik jari yang dihitung dari data. Namun, jika penyerang mengetahui semua masukan, ia dapat menghitung hasil yang sama. Hash panjang maupun konstanta publik tambahan tidak membuat data itu menjadi rahasia. RFC 4086 membedakan pencampuran ketidakpastian yang tersedia dari pembuatan nilai tambahan secara deterministik. Pencampuran yang dirancang dengan benar memanfaatkan apa yang benar-benar disediakan sumber; tidak menggantikan entropi yang tidak ada. [2]
XOR membandingkan bit: bit yang sama menghasilkan nol, yang berbeda menghasilkan satu. Jadi X XOR X = 0: mencampur nilai dengan salinannya menghilangkan seluruh ketidakpastian di sini. Sebaliknya, jika satu masukan acak seragam dan independen dari yang lain, hasilnya tetap seragam. RFC 4086 memakai contoh ini untuk menunjukkan pentingnya asumsi. Ini bukan petunjuk merakit generator dompet sendiri. [2]
Saat menilai suatu rancangan, tanyakan asal masukan dan apa yang dapat dilakukan penyerang terhadapnya. HKDF, metode untuk menurunkan kunci kriptografis, memakai masukan tambahan bernama salt. Masukan ini tidak harus rahasia, tetapi RFC 5869 mengasumsikannya independen dari data awal kunci dan meminta aplikasi mencegah penyerang memilih atau mengubahnya. Salt di sini adalah nama parameter. Daftar sumber atau hasil yang terlihat acak saja tidak menjamin keamanan ketika sebuah sumber gagal. [4]
NIST SP 800-90B bertumpu pada satu sumber derau utama. Keluaran sumber lain boleh ditambahkan ke datanya jika semuanya melewati metode pengolahan yang disetujui, disebut conditioning. Namun, dalam kerangka ini sumber tambahan tidak diakui memberikan entropi tambahan. Lebih banyak masukan tidak otomatis menaikkan jumlah yang diakui. Ini aturan penilaian tertentu, bukan pernyataan bahwa sumber lain tidak pernah membantu. [1]
Perbedaannya terlihat dalam OpenSSL 3.5, pustaka kriptografi yang dapat digunakan program untuk enkripsi dan angka acak. Fungsi RAND_add() mencampurkan data dari buffer, yaitu area memori yang disediakan untuk menyimpannya. num menentukan jumlah byte yang dibaca; randomness memperkirakan entropinya dalam byte dari nol hingga num. Ukuran area memori tidak membuktikan estimasi tersebut. Generator bawaan biasanya menginisialisasi diri dan mengisi kembali entropi secara otomatis dari sumber sistem. [3]
Memasukkan entropi baru ke generator disebut reseeding. Ini berbeda dari menambah sembarang data. Dokumentasi OpenSSL 3.5 menyatakan bahwa dalam mode FIPS, yang mengikuti aturan untuk modul kriptografi, data dari aplikasi tidak diterima sebagai sumber entropi tepercaya. Data itu hanya dicampurkan sebagai masukan tambahan dan tidak dihitung sebagai reseed penuh. Memanggil RAND_add() saja karena itu tidak membuktikan pembaruan tersebut. [3]
HKDF dalam RFC 5869 membagi pekerjaan menjadi HKDF-Extract dan HKDF-Expand. Langkah pertama memusatkan entropi masukan yang tersedia ke dalam kunci perantara; langkah kedua menurunkan data dengan panjang yang diperlukan dari kunci itu. Proses ini tidak memperoleh rahasia independen baru. Parameter info dapat mengaitkan hasil dengan tujuan penggunaannya, misalnya menjelaskan fungsi kunci turunan. Konteks tersebut tidak menggantikan data awal berkualitas dan tidak membuktikan terciptanya entropi. [4]
Untuk gambaran yang lebih utuh, baca entri ini bersama Cryptographic Entropy, CSPRNG, True Random Number Generator, Seed Generation. Entri ini juga dirujuk dari Dice Roll Entropy, True Random Number Generator.