Secara sadar, saya tidak yakin ini memengaruhi kekuatan enkripsi Anda.
Saya telah memeriksa kode sumbernya dan selama saya menafsirkan apa yang saya baca dengan benar, Anda tidak perlu khawatir tentang hal ini.
Kode ini milik modul 'stdrng'. Setidaknya pada Fedora 23 ini dibangun ke dalam kernel daripada diekspor sebagai modul kernel.
Saat stdrng diinisialisasi untuk pertama kali, panggilan berikut terjadi.
Dalam crypto/drbg.c inisialisasi dimulai di sini.
1997 module_init(drbg_init);
Ini mendaftarkan semua drbgs yang diketahui sistem..
1985 for (j = 0; ARRAY_SIZE(drbg_cores) > j; j++, i++)
1986 drbg_fill_array(&drbg_algs[i], &drbg_cores[j], 1);
1987 for (j = 0; ARRAY_SIZE(drbg_cores) > j; j++, i++)
1988 drbg_fill_array(&drbg_algs[i], &drbg_cores[j], 0);
Itu kemudian meneruskannya ke fungsi pembantu yang melakukan inisialisasi:
1989 return crypto_register_rngs(drbg_algs, (ARRAY_SIZE(drbg_cores) * 2));
Di crypto/rng.c
ini hanya mengulangi setiap rng untuk mendaftarkannya..
210 for (i = 0; i < count; i++) {
211 ret = crypto_register_rng(algs + i);
212 if (ret)
213 goto err;
214 }
Fungsi ini melakukan banyak langkah inisialisasi lalu memanggil fungsi lain untuk alokasi.
196 return crypto_register_alg(base);
Yang tidak begitu jelas adalah apa yang terjadi selama pendaftaran.
Modul lain disebut tcrypt
juga dibangun ke dalam kernel menerima pemberitahuan tentang algoritma baru yang dimasukkan. Setelah melihat algoritme terdaftar baru, ia menjadwalkan pengujiannya. Inilah yang menghasilkan keluaran yang Anda lihat di layar.
Saat pengujian selesai, algoritme masuk ke status TERUJI. Jika tes gagal, saya bayangkan (Saya tidak dapat menemukan bit yang menghasilkan perilaku ini) tidak dapat dipilih untuk penelusuran jika Anda memberikan tanda yang tepat.
Lulus atau tidaknya tes pasti disimpan secara internal.
Selain itu, memanggil generator nomor acak psudeo menyebabkan daftar algoritme diulang dari prngs dalam urutan kekuatan seperti yang ditentukan oleh catatan ini di crypto/drbg.c
107 /*
108 * The order of the DRBG definitions here matter: every DRBG is registered
109 * as stdrng. Each DRBG receives an increasing cra_priority values the later
110 * they are defined in this array (see drbg_fill_array).
111 *
Karena yang terkuat tidak gagal (hmac sha256), kecil kemungkinannya Anda menggunakan yang gagal meskipun mereka dapat dipilih.
Untuk meringkas -
- Ini terjadi ketika
stdrng
modul diperlukan untuk sesuatu. - Memuat semua algoritme yang diketahui.
- Semua algoritme yang dimuat akan diuji. Beberapa bisa gagal (mengapa tidak dipertimbangkan dalam jawaban ini).
- Pengujian algoritme yang gagal seharusnya tidak tersedia untuk dipilih nanti.
- PRNGS diurutkan berdasarkan kekuatan dan PRNGS kuat yang lulus akan dicoba terlebih dahulu.
- Hal-hal yang bergantung pada
stdrng
semoga tidak menggunakan algoritme ini sebagai dasar untuk sumber PRNG mereka.
Anda dapat melihat algo mana yang berhasil dan lulus tes menggunakan perintah berikut:
grep -EC5 'selftest.*passed' /proc/crypto
Anda juga dapat melihat prioritas pemilihan dengan bidang 'prioritas'. Semakin tinggi nilainya semakin kuat PRNG menurut pembuat modul.
Jadi, senang salah di sini karena saya tidak menganggap diri saya seorang programmer kernel tetapi, sebagai kesimpulan -
Ketika stdrng
memuat tampaknya memilih algoritme lain dari daftar algo yang dapat diterima yang dianggap lebih kuat daripada algoritme yang gagal, ditambah algoritme yang gagal kemungkinan besar tidak akan dipilih.
Karena itu, saya percaya bahwa ini tidak ada risiko tambahan bagi Anda saat menggunakan luks.