485 / 691MIX-H

Entropy Mixing

Pencampuran entropi

Entropy Mixing menggabungkan masukan untuk menghasilkan nilai rahasia. Manfaatnya bergantung pada ketakterdugaan, ketergantungan, dan mekanisme konkret; jumlah sumber serta panjang hash saja tidak menentukan keamanan.

Pencampuran entropi mengolah beberapa masukan menjadi keadaan atau keluaran bersama. Data yang diberikan, entropi yang terbukti, dan ekspansi deterministik selanjutnya harus dibedakan. Dua nama antarmuka belum tentu berarti dua sumber independen.

NIST SP 800-90B menyatakan bahwa entropi gabungan sumber yang saling bergantung dapat sulit diperkirakan. Waktu kedatangan paket dan akses disk bisa berkaitan. Estimasi terpisahnya tidak bisa langsung dijumlahkan tanpa model terdokumentasi. [NIST SP 800-90B — Additional noise sources]

RFC 4086 memakai XOR sebagai contoh pencampuran sederhana. Masukan seragam yang independen menjaga keseragaman hasil, tetapi salinan masukan yang sama menghasilkan X XOR X = 0. Ini menggambarkan ketergantungan, bukan resep membangun dompet. [RFC 4086 — Mixing and randomness requirements]

Pencampuran kuat dapat memusatkan ketidakpastian yang tersedia; hash deterministik dari masukan yang diketahui tetap dapat diprediksi. RFC 4086 membedakan pencampuran dan ekspansi. Panjang hasil atau penambahan konstanta yang diketahui tidak membuktikan jumlah entropi baru yang setara. [RFC 4086 — Mixing and randomness requirements]

NIST SP 800-90B mengizinkan masukan derau tambahan digabungkan dengan sumber utama melalui conditioning yang disetujui, tetapi tidak mengakuinya sebagai entropi tambahan dalam aturan tersebut. Ini aturan penilaian, bukan pernyataan bahwa sumber lain tidak pernah membantu. [NIST SP 800-90B — Additional noise sources]

Dalam OpenSSL 3.5, RAND_add() mencampurkan num byte; randomness memperkirakan entropi dalam byte antara nol dan num. Panjang buffer saja tidak membenarkan estimasi itu. Generator bawaan biasanya melakukan seeding dan reseeding otomatis dari sumber sistem. [OpenSSL 3.5 — RAND_add and FIPS reseeding]

Dokumentasi OpenSSL 3.5 menyatakan bahwa dalam mode FIPS data aplikasi hanya masukan tambahan, bukan sumber entropi tepercaya. Pencampurannya tidak dihitung sebagai reseed penuh. Memanggil RAND_add() saja tidak membuktikan pembaruan tersebut. [OpenSSL 3.5 — RAND_add and FIPS reseeding]

RFC 5869 membedakan HKDF-Extract dan HKDF-Expand. Yang pertama memusatkan entropi masukan, yang kedua menurunkan panjang yang diperlukan. Parameter info mengikat hasil ke konteks aplikasi; ia bukan pengganti bahan awal berkualitas atau bukti entropi baru. [RFC 5869 — HKDF extraction, expansion and independence]

Peninjauan harus mengidentifikasi asal masukan, ketergantungan, kemampuan penyerang, dan mekanisme konkret. RFC 5869 secara tegas membahas independensi serta manipulasi salt. Daftar sumber atau uji tampilan acak saja tidak membuktikan konstruksi tetap aman setelah sebuah sumber gagal. [RFC 5869 — HKDF extraction, expansion and independence]

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.

DOC · 001NIST SP 800-90B — Additional noise sourcesSpesifikasi ↗DOC · 002RFC 4086 — Mixing and randomness requirementsSpesifikasi ↗DOC · 003OpenSSL 3.5 — RAND_add and FIPS reseedingDokumentasi ↗DOC · 004RFC 5869 — HKDF extraction, expansion and independenceSpesifikasi ↗
Utamakan sumber · Bukan nasihat investasi